Repository navigation
feat(threshold): add authenticated certificate core. Details: TC-2222 - #487
Merged
Merged
Conversation
Details: TC-2222
Details: TC-2222
test-ruling: TC-2222 Details: TC-2222
samgbafa
force-pushed
the
skgbafa/tc-2222-threshold-cert-core
branch
from
October 29, 2026 23:33
6c14b72 to
5cd7867
Compare
samgbafa
marked this pull request as ready for review
October 29, 2026 23:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TC-2222: authenticated ceremony and certificate core
Adds the S0.2 library surface in
tinycloud-threshold:The crate remains disconnected from the node runtime. DKG/resharing execution, durable installation/retirement, and trusted log-head selection remain with their existing later-slice/integration contracts. Receipt signatures are installation claims; the library does not implement persistence or erasure.
Stack and commits
00643ae8b445e019b45a03923caf65400102825d; PR target ismain.53145ce3fc872bd8aa2fcc9296b7f382227faee6; owned implementation/vector commit:90ef643cc13e607cf19e1f1803a74cc5c78d9a83.999ec5dfbf7ba31cfd69448beb00175d91256a5c; separate approved SPEC/README reapplication and mechanically checked intermediate:6b409d647b85bf32e42c4f1d9ba2d8f8342ce435. Older shared commits were excluded from replay.5cd7867d831fb153c9dc522031caf3857b2aa9d2, adding one owner-signature test (26 insertions, no deletions) atop that intermediate.tinycloud-bot[bot]identity.test-ruling: TC-2222
Exercised verification
Construction evidence
cargo test --locked -p tinycloud-thresholdproduced the authorized unresolved-symbol compiler RED before the fresh implementation; this was a compiler failure, not a runtime behavioral failure. An earlier prepared draft was deleted before that run.Reviewed frozen-head evidence, retained at its exact pin
At head
6c14b7227a0640a4f72fed496cb99938134c37aeon base31d2b2c3866483b119501e4a5041a0d0a104737c:cargo test --locked -p tinycloud-threshold: 61 passed, 0 failed, 0 ignored.cargo clippy --locked -p tinycloud-threshold --all-targets -- -D warnings: passed.cargo fmt -p tinycloud-threshold -- --check: passed.cfg(test). It replayed all 18 committed JSON cases through the public certificate, DID-signature, ceremony/closure, fault and activation APIs. Output endedCONSUMER PASS cases=18 cfg_test=false; wrong-anchor/signature and closure-order mutations were also rejected. No private candidate constructor or product scaffold was added; temporary source/executable were removed.Actual-main cutover and test-only head
The byte-identical cutover and fresh shared composition were checked at intermediate
6b409d647b85bf32e42c4f1d9ba2d8f8342ce435on actual main00643ae8b445e019b45a03923caf65400102825d. All five owned files, shared crate files and both docs matched the approved frozen head. Main's other lock records were preserved; only the existing test-verifier edge was added.At final head
5cd7867d831fb153c9dc522031caf3857b2aa9d2:cargo test --locked -p tinycloud-threshold: 62 passed, 0 failed, 0 ignored.-D warningsandcargo fmt -p tinycloud-threshold -- --check: passed.CertError::InvalidSignature. A bounded disposable mutation experiment compiled successfully and produced the intended runtime assertion failure, validating this test's sensitivity; the copy was deleted.Dependencies and provenance
Runtime dependencies are unchanged:
blst(=0.3.16),sha2,zeroize,subtle,rand_core, andthiserror. The added dev dependency is exactlyed25519-dalek2.2.0, already resolved in the parent lockfile. Existing test dependencies remainproptest,rand_chacha,serde,serde_json, andhex. The pinned dependency-policy check passed.Consulted TinyCloud's protocol specification and its defined interfaces, plus the existing S0.1 types, codecs, curve boundary and test-only dealer. The new certificate tests reuse that dealer; no production dealer or alternate cryptographic wrapper was added.
The documentation owner additionally consulted the
ed25519-dalek2.2.0 crate metadata/README, without opening dependency implementation or source links.Details: TC-2222