wai: stage receipts — chains per key and track, verified by inclusion, and the stage and delivery-gap claims #171
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/w1-5-stage-receipts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stage receipts: what a sink presented and what delivery reached, signed, with every object's fate, and receipt chains that a relay cannot splice, replay or hold back.
Chains per publisher key and track.
signer_pubkey,track_alias), which settles §6.1's two readings.group_id, and its history cannot be replayed as new.group_idthat arrived fresh. A group below the edge is exempt, so a gap of any length fills in any order. A rewritten link cannot move the edge.parent_not_held, as the CHANGELOG states.Verified by inclusion. An object receipt checked against its group's Merkle root, without the object's bytes, is
inclusion-verified, and is never read as delivered. A relay forwards the receipts of objects it does not forward.The
stageclaim (jwp-receipts §2.4.10). A sink signs:Its rules tie the units to the objects unit by unit. Layers nest within the layer below. A partial object counts fewer units than it covers. Arrived objects carry bytes. Two applied objects never claim one unit.
The
delivery-gapclaim (§2.4.11): a relay states what it did not forward, under its own authority (§7.5).StageObserver. The reference sink states its ownstageclaim from what it saw. Each base carries an epoch that changes when the sink forgets it, so no claim spans a base the sink forgot and decoded again. Every staged-conformance case replays through the sink and the observer, and each claim states exactly what the sink did.Corpora and verifiers.
group_chain_breakis the one changed, as its section now distinguishes a gap from a fork.Text:
Checked locally on macOS arm64:
The forge CI runs on this pull request.
🤖 Generated with Claude Code
stageanddelivery-gapclaim classes, with their corpus, Python verifier and differential 1b05d53833stageanddelivery-gapauthorities, in the key-discovery corpus 24ae686bcdstageclaim from what it observed 83e98954cb