Repository navigation
Conversation
fda4b4a to
12170d4
Compare
Primitive checker coverage and N1 base
Current-parent command, with private tool homes: The new test supplies cloned JSON to the real CLI through
The U row has a separate semantic probe: substituting the original valid tuple in memory makes unwrap succeed, and the real CLI exits 1 on its expected-error comparison. This is distinct from its one-byte error-label probe; no assertion is made that an arbitrary ciphertext byte change changes the unwrap verdict. The primitive fixture object is unchanged across the original parent, N1 parent and checker head: Independent review of this exact head remains outstanding. This records exercised local checks, not item-10 acceptance or a merge request. Details: TC-2219 |
Primitive checker constant inputs
The Pedersen derivation message is the compiled SPEC literal
The existing test assertions and committed fixture are unchanged. The primitive JSON SHA-256 remains Executed after the code delta, using isolated tool homes: These results are for the stated d91 ancestry. The live parent branch was subsequently observed at Details: TC-2219 |
7bb34b0 to
730e4d7
Compare
Checked primitive checker parent update
Restacked the existing owned checker commits, including the SPEC-literal Pedersen message, actual hash computation, alternate-message/matching-point rejection test and README behavior note. No additional source changes or fixture updates were made during this restack. Executed on this exact parent/head with isolated tool homes: One explicit corrected-path CLI probe cloned the primitive document in memory, set the Pedersen message to The public fixture remains unchanged after both runs. Its SHA-256 is The new head was published with an explicit old-head lease. Exact-head independent delta review remains outstanding; no integration or merge is requested here. Details: TC-2219 |
Primitive vector checker
Computes the S0.1 primitive vectors in a separate TypeScript implementation session using
@noble/curves2.4.0 and a frozen Bun lockfile. The existing threshold CI command runs the checker tests, typecheck and real CLI.skgbafa/tc-2219-threshold-checkerskgbafa/tc-2219-threshold-s0-1(parent feat(threshold): add context-bound derivation and FullIdent wrapping #482)8e052208d2e2023b05ef8e522c01395c3f289002fda4b4af8ba4e24544ac8c46521fcfb6ea985797tinycloud-threshold/vectors/check/**(13 new files).Computations
H1 with the specified DST; Pedersen h; H3 modulo r with L=48; H2/H4; generator and 5/7 reduced pairings with the SPEC GT tower serialization; FullIdent wrapping from explicit sigma and unwrapping; each encrypted share's two equations; all three 2-of-3 combinations and unwrapping with each derived key.
Checks canonical context/identity/request bytes, the amended 259-byte encoded shares, matching supplied/stored RequestDigest values and response signing preimages. Every negative record executes its decoder, verification or unwrap operation and compares the actual typed result. Share c1/c2 are public group inputs; c3 is recomputed from the explicit scalar share and transport scalar. Producer RNG state is not reconstructed.
Exercised verification
Bun 1.4.4, with private tool homes:
The tests were written before the checker implementation; the initial computation test failed before implementation. Independently chosen protocol cases cover point/scalar encodings, both share equations, identity c3, request/signing bindings, combine binding precedence, duplicate indices, zero aggregate randomness and FullIdent errors. Additional runs of the real CLI against a throwaway perturbed
pairing_5_7expected GT output and an empty case set each exited 1. Throwaway JSON inputs were removed. Both test files run throughbun run checkin the existing threshold CI lane.A read-only GitHub API check reported parent #482 open, draft, on
skgbafa/tc-2219-threshold-s0-1at the base above. No Rust command was run in this checker lane.Provenance
The checker was written in a separate session from SPEC, public JSON vectors and the JSON-only schema/byte-layout handoff. No Rust source, Rust tests, Rust diffs or Rust implementation traces were opened. Dependency implementation files were not opened or used as design inputs.
tinycloud-threshold/SPEC.md§§3.1–3.6 plus S0.1 appendixtinycloud-threshold/vectors/v1/primitives.jsonand JSON-only schema/byte-layout handoffRuntime dependencies:
@noble/curves2.4.0 and@noble/hashes2.4.0 (MIT). Development dependencies: 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,csstype3.2.3 (MIT). Versions and integrity digests are frozen inbun.lock.Details: TC-2219