docs(ledger): update the verification contract now that anchoring has shipped - #9420
Conversation
… shipped Row 1 of what-you-can-verify.mdx and the decision-ledger's own doc comments still said external anchoring was tracked-but-not-built (#9122's honest-limit framing), but #9269-9274 landed it. Precisely restate what's actually closed (a wholesale rewrite before an already- published anchor now requires forging its signature or fabricating matching evidence at an external mirror) and what still isn't (a rewrite made since the last checkpoint, followed by ordinary appends, still gets silently absorbed into every future anchor -- anchoring bounds how far back an undetected rewrite could reach, it doesn't make every row checkable in real time). Publish the end-to-end verifier walkthrough as runnable commands, and present the optional Bittensor backend (#9277, not yet shipped) as its own clearly-labeled corroboration, never folded into the default two-backend claim. Closes #9275.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | b0a00a4 | Commit Preview URL Branch Preview URL |
Jul 27 2026, 05:43 PM |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-27 17:59:46 UTC
Review summary Nits — 7 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. Scroll preview
A short scroll-through clip (desktop) — click either thumbnail to open the full animation. Evidence for scroll-linked behavior a single screenshot can't show. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Bundle ReportChanges will increase total bundle size by 73 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: loopover-uiAssets Changed:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9420 +/- ##
=======================================
Coverage 89.53% 89.53%
=======================================
Files 843 843
Lines 109913 109913
Branches 26184 26184
=======================================
Hits 98411 98411
Misses 10239 10239
Partials 1263 1263
Flags with carried forward coverage won't be shown. Click here to find out more.
|


Summary
Sub-issue of #9267 (external decision-ledger anchoring). Now that #9269-#9274 have all landed on
main, the "tamper-evident, not tamper-proof, external anchoring tracked-but-not-built" framing published in what you can verify (row 1) and stated inmigrations/0180_decision_ledger.sql's own header comment was stale.migrations/0180_decision_ledger.sql's header andsrc/review/decision-record.ts's two matching "HONEST LIMIT" comments (module header +verifyDecisionLedger's own doc comment, which previously said "the exact shape a future external-anchoring job would need") no longer describe anchoring in the present-tense-future; they describe what's actually running today.Closes #9275.
Test plan
ledgerRowHashcomputation, and the actual exportedverifyLedgerAnchorSignature/anchorKeyById/parseAnchorPublicKeys/ledgerRowHashfunctions — confirmednode --experimental-strip-typescannot resolve these modules' extensionless relative imports (house convention: that flag is for self-contained scripts only), switched the walkthrough tonpx tsx -ewith an async IIFE (tsx's-edoesn't support bare top-level await), and re-verified end to end: signature check prints "signature OK", row-hash check prints "row hash OK -- anchor matches the live chain"npx tsc --noEmitcleannpx vitest run test/unit/decision-record.test.ts— 32/32 (comment-only changes, no behavior touched)npx tsx scripts/check-docs-drift.tscleannpx tsx scripts/check-migrations.tsclean (comment-only migration change, still 199 contiguous)npm --workspace @loopover/ui run format:checkcleannpx vitest runondocs-nav.test.tsx,docs-source-server-isolation.test.ts,docs-mdx-eager-scope.test.ts— 58/58