Skip to content

sharechain/v37: consensus fixes + Merkle lane digest + messaging reservations - #88

Merged
frstrtr merged 1 commit into
v37-devfrom
v37/consensus-fixes
Jun 12, 2026
Merged

sharechain/v37: consensus fixes + Merkle lane digest + messaging reservations#88
frstrtr merged 1 commit into
v37-devfrom
v37/consensus-fixes

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Lands the post-base-library V37 authoring work onto v37-dev (follows PR #84 which landed the base library). Folds 8 authoring-branch commits; source history retained on the authoring branch (tip 7a416aa).

Scope (src/sharechain/v37/ only — 6 files, +744/-70)

  • Consensus fix: lane digest keyed by canonical identity, not intern ids
  • Merkle lane digest with inclusion proofs (tamper/index/stale-root rejection tests)
  • Reassessment: inv-decay headroom guard, rewind fold undo
  • Review fixes: rewind/rebuild boundary, descriptor binding, geometry guards
  • Messaging reservations: V36 authority share messaging at L0; reserve L0F_MINER_MSG
  • Notes: OQ-10 (V36 authority keys carry forward), OQ-11 (fold-bounded message visibility)
  • Spec errata folded: E-1 Q62, E-2 wider comp/sum storage, E-3 lane-geometry validity, E-4 canonical-identity digest order, E-5 journal does not cross rebuilds

Verification

  • Standalone (header-only, stdlib-only): `g++ -std=c++20 -O2 src/sharechain/v37/test/v37_test.cpp` → 100509 checks, 0 failures; reproduced on the workstation. Also clean under ASan/UBSan on the authoring host.
  • Consensus gate: independent full-scan reference matches incremental accumulators bit-exact across two geometries, through epoch rebuilds/folds/evictions.

Integration follow-ups (tracked in IMPLEMENTATION-NOTES.md — NOT in this PR)

  1. Donation adapter (consensus decision — operator): V37 has no V36 65535-donation equivalent; unresolved = donation outputs silently unpaid post-migration.
  2. att(uint288)->w_raw(u64) clamp assert; 3. multi-head Lane + rebuild-from-tracker API at integration; 4. full in-tree CI build (test target gated on BUILD_TESTING); 5. agreement tests before any core/ helper swap; 6. messaging wiring (ENVELOPE_MINER in share_check, view-layer index).

ci-steward / btc-heap-opt: full CI build verification. Merge held for operator.

…ations

Folds the post-base-library work from the v37 MRR roundabout authoring
branch (8 commits) onto the landed base library (PR #84). Source-of-truth
commit history retained on the authoring branch (tip 7a416aa).

- reassessment fixes: inv-decay headroom guard, rewind fold undo
- consensus fix: lane digest keyed by canonical identity, not intern ids
- review fixes: rewind/rebuild boundary, descriptor binding, geometry guards
- reflect V36 authority share messaging at L0
- reserve L0F_MINER_MSG for permissionless miner messages
- Merkle lane digest with inclusion proofs
- notes: OQ-10 (V36 authority keys carry forward), OQ-11 (fold-bounded message visibility)

Spec errata folded: E-1 Q62, E-2 wider comp/sum storage, E-3 lane-geometry
validity, E-4 digest in canonical-identity order, E-5 journal does not cross
rebuilds. Header-only, stdlib-only. Standalone test: 100509 checks, 0 failures
(g++ 13.3 -O2 and again under ASan/UBSan).
@frstrtr
frstrtr merged commit 10601ae into v37-dev Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant