|
2 | 2 |
|
3 | 3 | Repo-local, publish=false sidecar verifier for ordvec index manifests. |
4 | 4 |
|
5 | | -It verifies index bytes, probed header metadata, row identity, optional |
6 | | -calibration profile references, and attestation shape before a caller loads an |
7 | | -ordvec index. It does not sign artifacts, manage keys, call networks, mutate |
8 | | -index files, decide deployment trust policy, compute calibration statistics, or |
9 | | -change the C ABI. |
| 5 | +It verifies index bytes, probed header metadata, row identity, named auxiliary |
| 6 | +artifacts, optional calibration profile references, and attestation shape before |
| 7 | +a caller loads an ordvec index. It does not sign artifacts, manage keys, call |
| 8 | +networks, mutate index files, decide deployment trust policy, compute |
| 9 | +calibration statistics, or change the C ABI. |
10 | 10 |
|
11 | 11 | ```sh |
12 | 12 | cargo run -p ordvec-manifest -- create \ |
@@ -54,11 +54,21 @@ returned or cached. These limits bound metadata parsing and report/cache |
54 | 54 | growth; hashing an index or calibration profile is still proportional to the |
55 | 55 | artifact bytes being verified. |
56 | 56 |
|
| 57 | +Manifests may declare `auxiliary_artifacts` for caller-owned sidecars that |
| 58 | +should be integrity-checked with the same path policy as the primary index. |
| 59 | +Each entry has a stable `name`, relative `path`, lowercase SHA-256 digest, |
| 60 | +`file_size_bytes`, and a `required` flag that defaults to `true`. Required |
| 61 | +members fail verification when missing, tampered, size-mismatched, or rejected |
| 62 | +by path policy. Optional members are reported as verified when present or as |
| 63 | +`optional_absent` with a stable reason code when absent. The verifier checks |
| 64 | +bytes only; application semantics remain with the caller. |
| 65 | + |
57 | 66 | With `--features sqlite`, the `sqlite verify` and `sqlite activate` subcommands |
58 | 67 | add a local cache/audit log plus one active-manifest pointer. This is not a |
59 | 68 | full named registry. `sqlite verify --use-cache` reuses only reports whose |
60 | | -manifest, verification options, artifact bytes, row-identity bytes, and |
61 | | -calibration profile bytes still match; otherwise it runs fresh verification and |
62 | | -stores a new report. `sqlite activate --force` writes the active pointer even |
63 | | -when verification fails, emits a `sqlite_activation_forced` warning in JSON |
64 | | -output, and exits zero because it did mutate activation state. |
| 69 | +manifest, verification options, artifact bytes, row-identity bytes, |
| 70 | +calibration profile bytes, and declared auxiliary artifact states/bytes still |
| 71 | +match; otherwise it runs fresh verification and stores a new report. |
| 72 | +`sqlite activate --force` writes the active pointer even when verification |
| 73 | +fails, emits a `sqlite_activation_forced` warning in JSON output, and exits zero |
| 74 | +because it did mutate activation state. |
0 commit comments