Repository navigation
Check certificate-core vectors; Details: TC-2223 - #489
Conversation
6c14b72 to
5cd7867
Compare
3b50544 to
2465ad6
Compare
Mechanical checker restack
Replayed only the single owned checker commit. No implementation or test edits were made. Canonical bot author and committer were explicit and verified; author date and commit message were preserved. Previous review evidence and pinned checkouts were retained. Complete byte identityThe recursive 25-file checker manifests are identical, including file modes and every blob ID. The complete subtree identity also preserves package/lock pins, compiled constants, tests, docs and corpus qualifications.
Exercised post-restack checkExactly one frozen install/full checker entry was run at the new exact head, using fresh isolated tool homes: Immediately before pushing, B's API snapshot still matched the recorded exact head and branch, main base This is mechanical carry evidence for unchanged checker bytes on the stated parent, not a new crypto-review round, merge/fold action or full S0.5 claim. No Rust/source/parent-diff inspection, fixture edits, P3 work or new agents were involved. Edits are frozen at the new head. Details: TC-2223 |
2465ad6 to
b234621
Compare
Final main-parent checker carry
Replayed only the single owned checker commit. All fourteen changed files remain byte-identical to the previous reviewed carry. The complete 25-entry checker manifest, including modes and blob IDs, is identical; the complete checker tree remains
Canonical bot author and committer were passed explicitly and verified. The original author date and full commit message were preserved. Old head/base refs, manifests, review evidence and prior receipts are retained. Exactly one post-restack isolated invocation ran at the new head: Retargeting to The new head is frozen for owner-seated Opus mechanical identity/composition carry and normal CI. This parent-only move does not add implementation, producer/fixture or P3 changes, repeat unchanged crypto review, merge/fold, or claim full S0.5 completion. Existing mutation and fixture-anchor qualifications remain unchanged. Details: TC-2223 |
Details: TC-2223
Independent certificate-core checker portion
Adds certificate-core computation to the existing pinned noble checker and real CLI. The default CLI checks both committed primitive and certificate documents; an explicit path checks that document only. The existing frozen-install /
bun run checkentry runs all new tests, typechecking and both CLI paths.skgbafa/tc-2223-threshold-cert-checkerskgbafa/tc-2222-threshold-cert-core(feat(threshold): add authenticated certificate core. Details: TC-2222 #487)6c14b7227a0640a4f72fed496cb99938134c37ae3b5054415665446347a37a20336eb068af848a74tinycloud-threshold/vectors/check/**.tinycloud-bot[bot] <348376441+tinycloud-bot[bot]@users.noreply.github.com>before push.Computations and boundaries
Executes all 18 current certificate records: canonical certificate decoding/encoding, member and commitment validation, externally anchored owner signatures, certificate and statement hashes, G2 public-share evaluations and pinned lineage; ceremony authorizations; member/owner signatures and ordered-list/recursive closed-round hashes; readiness preimages, canonical receipt encodings/hashes, binary-lexicographic hash ordering and activation; amended 259-byte signed-share Fault/NotAFault outcomes; and actual negative decoder/quorum/budget results.
All 17 synthetic-DID seed/public-key mappings are independently derived and verified with noble. They are a test signing directory, not a production DID resolver. Fixed metadata, domain tags, bounds and roles are compiled into the checker. Legitimate identities, keys and messages remain inputs.
Reference maps index recomputed input-body digests and return objects only after verification. Expected-output digests never establish authority. Unresolved, ambiguous and unanchored references are rejected. Two fixture-only omitted-anchor conventions are documented and tested:
pinned_predecessorand that verified certificate's rooted external anchor. The authorization body's deliberately stale current digest does not choose the trusted predecessor.These are fixture cross-reference conventions, not production trust or freshness defaults. Closed-round checking preserves exact raw payloads and owner order under the trusted owner relay; it does not compute DKG phase outcomes. Receipt signatures are checked before counting/hashing/sorting, including surplus receipts. Fault attribution follows certificate/context/helper/member-signature validation before share equations.
Scope boundary: this is the certificate-core checker portion only. DKG/resharing execution and transcript outcome recomputation, and full S0.5 completion, remain pending. Producer API execution is separate from these independent checker results. No Rust, producer, fixture, shared manifest/lockfile, workflow or old checker branch changes are included.
Exercised verification
Tests were written before implementation. The initial behavior test invoked the real existing CLI on the legitimate certificate document and observed:
After implementation, in isolated tool homes on the exact base/head:
The six new test files exercise independent parameters/identities, canonical boundaries, external anchoring, lineage, signed cohort selection without fallback, raw-payload retention, signature-before-quorum ordering, fault precedence, expected-digest independence, failed-verification cache behavior, unresolved/ambiguous references, record-order independence, every signing-key mapping and fixed-constant substitutions. Existing primitive test assertions are unchanged and all existing scenarios ran.
Chosen single-byte real-CLI matrix
Each mutation uses an independent in-memory clone supplied to the real CLI through
/dev/stdin; the committed input is not rewritten. Every listed probe checked one changed decoded field byte and CLI exit exactly 1. Offsets are decimal and zero-based; byte values/masks are hexadecimal.The trailing-byte row additionally substitutes a valid body, proving actual decoder success disagrees with its declared error. Overflow and duplicate rows also substitute a valid budget and unique receipts, respectively, proving semantic success disagrees with the declared errors. Their one-byte reference probes are not direct repairs of the budget/duplicate signature. No arbitrary-bit-flip claim is made. The previously qualified primitive U probes are preserved.
Read-only input hashes
65d593185e97726837f6538f9dc1d5c8a9dfb8bf6c6259d1ff0fba5ce48541b2654ab5445323840e78d930889d0db6aed19eafa2894f7db0c7a743a8ead12d920be4d88a087b4db74c5c4a1a53597da1b3ef8719dd94f64643f08def2af8f653Both committed JSON hashes were checked after the full run and remain unchanged. A read-only GitHub API check confirmed B #487 open/draft at the exact base above before publication.
Provenance and dependencies
This portion was written in the existing independent checker session from the immutable JSON-only B handoff, approved Rust-free byte inventory and clarified cross-reference conventions, existing independently written checker utilities, and noble-curves 2.4.0 API documentation. No Rust source/tests/diffs, dependency implementation source or other threshold implementation was opened. Private briefs/reviews are not reproduced here.
No dependency versions changed. Runtime packages remain
@noble/curves2.4.0 and@noble/hashes2.4.0 (MIT). Development packages remain TypeScript 5.9.3 (Apache-2.0);@types/bun1.3.1,bun-types1.3.1,@types/node26.6.6,undici-types8.9.0,@types/react19.3.0 andcsstype3.2.3 (MIT). Existing exact-version registry/license provenance and frozen integrity digests are preserved.Details: TC-2223