Files
ruvnet__ruflo/v3/docs/spec/examples/promotion-commit.example.json
ruv a914ebdc69 docs(spec): witness/receipt contract extracted from ADR-322C
Makes ADR-322C's verification protocol consumable as a cross-repo
witness/promotion contract without reading ruflo source, for
ruvnet/rvm#35, ruvnet/autogenous#10, and ruvnet/RuVector#840.

Extraction only - no new decisions. Every normative statement cites
ADR-322/322A/322C/381 or the implementing source. Adds:

- v3/docs/spec/witness-receipt-contract.md: record types, JCS
  canonicalization, identity derivation, signature construction with
  domain prefixes byte-exact, evidence grades, step-by-step verification,
  versioning, and the per-epoch alpha-ledger caveat.
- v3/docs/spec/schemas/: draft 2020-12 schemas for the receipt and
  promotion commit, plus a PROPOSED-EXTENSION anchor record.
- v3/docs/spec/examples/: fixtures generated by running
  flywheel-receipt.ts itself, so the signature and content IDs are real.
- v3/docs/spec/conformance-checklist.md: testable criteria for consumers.

Four gaps between ADR-322C and main are recorded rather than papered over:
the bootstrap PRNG lives only in source (G1); the signed ledger head under
ruflo/flywheel-ledger-head/v1 is specified but unimplemented, the chain is
an unsigned SHA-256 chain (G2); verifyFlywheelReceipt has no unknown-field
whitelist, so a producer-emitted unknown field verifies - the schemas'
additionalProperties:false is the only enforcement (G3); and Flywheel
projection stays disabled (G4).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:37:11 -04:00

17 lines
802 B
JSON

{
"commit": {
"transactionId": "0198f2a0-0000-7000-8000-00000000e5f6",
"receiptId": "sha256:783fd640aadaf1092465a4f4c950a8ae7a99980856b166acd2451d0cccec2398",
"lineageId": "0198f2a0-0000-7000-8000-00000000a1b2",
"sequence": 1,
"previousLedgerHead": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
"baselineRef": "sha256:3f786850e387550fdab836ed7e6dc881de23001b0b4b1b0f0a1a2b3c4d5e6f70",
"candidateId": "sha256:61c84d2769efc8fa1f5e76d2c3d645763cf013a38fa658edaccaede460a172a2",
"servingEpoch": 1,
"proposer": "local",
"promotedAt": 1787097660000,
"commitId": "sha256:ac5ced28e6f8885e0ea90299791971d30d965f715191c94e999ec1ad29327e4b"
},
"ledgerHead": "sha256:faa8ed99d82ce36636aa67f95a52dacc8af2a82f61c5d42fd943a979a83d48aa"
}