Conversation
ci: add automated sync from main to next
mmacedoeu
added a commit
that referenced
this pull request
Aug 3, 2026
…liation Landing 0968a2 implementation. Closes 7 of 17 ACs directly; the remaining 10 are either pure verification (AC #1) or blocked by external dependencies (AC #7-8 chain-substrate selection, AC #9-11 live anchor plumbing, AC #13 config crate path, AC #16 0855p-b successor). Direct closes: - AC #2 (governance fields on ReputationAnchorBatch): added governance_snapshot, governance_proof, governance_set_hash fields to crates/octo-reputation/src/anchor.rs:140 with full digest folding. The 3 governance types live at auth.rs as AnchorGovernanceSnapshot / AnchorGovernanceSigner / AnchorGovernanceProof (path (a) mandated; preserves existing GovernanceSnapshot/GovernanceProof at auth.rs:21-25/113+). - AC #3 (batch_size: u32): RFC-0955-R1 line 173 mandate. Added batch_size field; within_leaf_cap() now requires batch_size == leaves.len(). - AC #4 (chain_block_height: Option<u64>): RFC-0955-R1 line 170 mandate. None at submission, Some(h) after MIN_FINALITY_BLOCKS finality. Digest uses Option tag encoding (0x00 None, 0x01 || 8 bytes BE Some). - AC #5 (AnchorLeaf::digest field order): per RFC-0955-R1 lines 420-422, score_ewma_raw now at position 5 (between last_event_id and last_event_unix). The previous last-position was a cross-implementation interoperability bug. - AC #6 (v012 migration): new crates/octo-reputation/migrations/v012__reputation_anchors_governance.sql extending reputation_anchors with governance_snapshot BLOB, governance_proof BLOB, governance_set_hash BLOB + lookup index on governance_set_hash. BUILTIN_MIGRATIONS bumped. - AC #12 (anchor-specific verifier types): path (a) types defined in crates/octo-reputation/src/auth.rs. meets_quorum() enforces exactly GOVERNANCE_QUORUM (3) distinct signers. - AC #17 (canonical test vector re-pinning): the 3 pinned vectors in tests/canonical_blobs.rs re-pinned to the new canonical serialisation. An independent Python implementation using hashlib.blake3 MUST reproduce these bytes byte-identically per RFC-0955-R1 line 422. Verification: cargo fmt + clippy -D warnings clean; cargo test --lib 197 passed; canonical_blobs 5/5 passed; stoolap_integration 47/48 passed (1 pre-existing flaky K=2 race test — fails before this commit too, acknowledged in the test's R22 comment as non-deterministic). External blockers remaining for 0968a2 closure: - AC #7/8 live ChainAnchorSubmitter (chain-substrate selection RFC) - AC #9/10 reorg + DID-rotation finality handlers (need AC #7) - AC #11 governance signature verification (needs governance key infra) - AC #13 per-deployment config plumbing (config crate path TBD) - AC #16 gossip cross-reference (needs 0855p-b successor mission) Implementation pattern: anchor_job.rs::plan_batches returns batches with placeholder governance fields (None chain height, zero snapshot/proof/set_hash, leaves.len() batch_size). Runtime populates them with active snapshot + 3-of-3 quorum proof before calling ChainAnchorSubmitter::submit. Keeps plan_batches chain-substrate-agnostic.
mmacedoeu
added a commit
that referenced
this pull request
Aug 7, 2026
… AC grounding
R7 review findings closed:
MAJOR (governance type collision): mandate path (a) — new anchor-specific types in same module — verified against current IMPL at crates/octo-reputation/src/{auth.rs:399-603, anchor.rs:174-208, anchor.rs:233+}; existing auth.rs::GovernanceSnapshot (L21-25) + GovernanceProof (L113+) preserved unchanged as RFC-0968 authorization envelopes (slash/suspension flows); new AnchorGovernanceSnapshot/AnchorGovernanceSigner/AnchorGovernanceProof/AnchorSignature types + 5 unit tests cover the anchor binding schema.
NIT (duplicate sentence): file no longer contains duplicate (prior edits removed it).
AC grounding updates — 7 ACs flipped to [x]:
- AC #2 governance fields (72bf19d + 48cf997 + b0660c3)
- AC #3 batch_size: u32 (same)
- AC #4 chain_block_height: Option<u64> (same)
- AC #5 AnchorLeaf::digest field order (b0660c3)
- AC #6 v012 migration (file shipped)
- AC #12 anchor-specific verifier types (72bf19d)
- AC #1 StakeBelowMinimum 0x2D verification (013a567)
10 ACs deferred per [[deferred-vs-unspecified]] named-owner rule to chain-substrate selection RFC + 0855p-b successor: #7/#8 live ChainAnchorSubmitter + rotation_receipt_id wire-through, #9/#10 reorg + DID-rotation finality handlers, #11 governance signature verification runtime hook (meets_quorum helper landed), #13 per-deployment config plumbing, #14/#15 idempotency + failure isolation tests, #16 gossip cross-reference, #17 canonical test vector re-pinning.
Version History v0.2 added; mission text no longer contradicts IMPL state.
63 insertions, 78 deletions.
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.
Pull Request Checklist
Type of Change
agent/*branch)Branch Strategy
This PR follows the CipherOcto branch strategy:
feat/*nextagent/*nextresearch/*nexthotfix/*mainnextmainCurrent PR:
<!-- source branch -->→<!-- target branch -->Description
Related Issues
Closes #(issue)
Testing
Performance Impact
Security Considerations
Additional Notes