feat: harden reviewed registry releases
All checks were successful
Standalone registry checks / check (push) Successful in 3m43s

This commit is contained in:
Nic Weyand 2026-09-13 01:19:27 -04:00
commit e83f43d00f
Signed by: nicweyand
SSH key fingerprint: SHA256:2te+ycJIQON/Wo/dH6+ZkFSQ4HnHWpetV2azx9E65dQ
37 changed files with 2856 additions and 286 deletions

View file

@ -4,10 +4,11 @@
Use `argand_site_registry::query::Registry::open(generation, trusted_pin)` once per
immutable generation and reuse the reader. `lookup(query, limit)` returns evidence
and complete ambiguity counts; `resolve(query, locale, country, now)` returns an
optional reviewed candidate. Check the compiled example and API docs for exact
types. `selection_context` binds the full alternative set for downstream query
review. Preserve the returned provenance, scopes, counts and attribution.
and complete ambiguity counts; `resolve_explained` returns a reviewed candidate or
a typed abstention reason with counts. Exact reverse views cover entity IDs,
URLs/domains, popularity and Curlie categories. Check the compiled example and API
docs for exact types. `selection_context` binds the full alternative set for
downstream query review. Preserve returned provenance, scopes, counts and attribution.
For local integration, point a Cargo dependency at
`crates/argand-site-registry` inside an extracted standalone source tree. Once an
@ -17,7 +18,8 @@ Both crates remain in this workspace; the atomic helper is a relative dependency
## CLI and other languages
`lookup`, `resolve`, `verify` and the other commands emit JSON. The Python example
`lookup`, `resolve`, `entity`, `lookup-web`, `popularity`, `category`, `stats`,
`evaluate`, `verify` and the other commands emit JSON. The Python example
passes arguments directly to the native executable, preserving query text and the
entire response. A nonzero exit is an error. `destination: null` is a successful
abstention, not a request to pick the first lookup candidate. Render source names
@ -37,8 +39,10 @@ omits descriptions and includes fact provenance plus an attribution envelope.
It is an assertion export, not a self-contained signed list of admitted routes.
Raw SQL inspection is useful for audit; it does not implement resolution policy.
Code version 0.1.0 is an initial interface. Schema/rule contracts are versioned
independently in receipts. Unsupported contracts fail closed. Pin source releases,
Code version 0.2.0 uses schema version 2 and `argand.site-rules/v2`.
It adds authenticated reviewer proofs, exact immutable SQLite opening, typed diffs
and audit/evaluation APIs. Schema/rule contracts remain versioned independently in
receipts. Unsupported contracts fail closed. Pin source releases,
compile consumers and replay fixed fixtures before upgrades. Preserve import and
review history; never mutate complete generations to migrate them.