docs(protocol): document uniform server-side chain-anchor enforcement on dig.fetchRange - #67
Merged
Merged
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
… on dig.fetchRange The dig.fetchRange peer-serve arm now enforces the same chain-anchor pin as dig.getContent and the /s read path (dig-node #1764/#1765): a serving peer fails closed with -32005 ROOT_NOT_ANCHORED for an unanchored/no-confirmed-generation store, an unreachable chain, or a superseded/forged requested root, rather than streaming an unanchored generation. Adds a normative Server-side enforcement section to peer-network.md, broadens the verification-and-provenance + dig-rpc -32005 prose, clarifies source is orthogonal to verification, and regenerates the OpenRPC + error-code artifacts from dig-spec.mjs. Co-Authored-By: Claude <noreply@anthropic.com>
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.
Coherence companion to dig-node PR #188 (closes DIG-Network/dig_ecosystem#1764 + #1765).
What changed in the protocol
The
dig.fetchRangepeer-serve arm now enforces the same chain-anchor pin asdig.getContentand the/sread path: a serving peer fails closed with-32005 ROOT_NOT_ANCHOREDfor a store with no confirmed on-chain generation, an unreachable chain, or a client-named superseded/forged root — rather than streaming an unanchored generation. Previously the anchor gate was reader-side only on this path; it is now enforced server-side too (defense-in-depth). The docs frameddig.fetchRangeverification as reader-side; this corrects and completes that.Edits
docs/protocol/peer-network.md— new normative Server-side enforcement section (#server-side-enforcement); thedig.fetchRangerange-error table gains the-32005row; the "advisory echo" root note + "Any source, one root" rule now point at the server-side gate.docs/protocol/verification-and-provenance.md— "uniform pinning on every serve path" (was "on the read path"); adds thatdig.fetchRangeenforces the identical gate; a new paragraph clarifying source is orthogonal to verification (a peer/gateway-served resource is exactly as verified as a local one — the reader re-binds every response to its own pinned root) and that unverified only happens under theDIG_NODE_PIN=offdev opt-out.docs/protocol/dig-rpc.md— the-32005row + the node-profile methods paragraph note thedig.fetchRangeserve-arm enforcement.scripts/dig-spec.mjs(source of truth) —dig.fetchRangedescription + theROOT_NOT_ANCHOREDcatalog prose updated;static/openrpc.json/openrpc-node.json/error-codes.jsonregenerated from it (drift-gate consistent).Self-contained, positive-voice, no internal-file references.
package.json0.12.2 → 0.13.0 (minor — a new documented protocol section + regenerated machine contracts).Generated by Claude Code