bind every graph run to the document it loaded (ADR-0030) - #133
Merged
Conversation
A client can fetch a configured graph document and run its matrix in two calls with an edit between them, and the matrix payload carried no digest of the document its run loaded — so a join of rows and structure could silently span revisions. The suite entry, its validation twin, and the direct test envelope now carry graphSha256, the bare-hex digest of the exact bytes the run decoded, read off the one load; equality with the served document's own sha256 proves one revision, and the member is absent exactly when the document did not load, beside the detail that says why. The value existed at the right moment all along — graph.Load computes it and the lock pins it — and only the wire omitted it. Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Brian Jin <35789537+kikashy@users.noreply.github.com>
…g test discriminate (review round 1) - GraphValidation (direct single-graph validate) gains required graphSha256, populated from the one load its command performed — the ADR promised the validation surface and the direct envelope was missed (round-1 MEDIUM). - Tests now assert the wire, not the Go field: raw-JSON presence on all four payloads, raw-JSON absence (not emptiness) on both failed walk entries, a planted impossible digest proving the direct test envelope echoes the handed document, and digest retention across a post-load rows failure. - ADR/changelog narrowed to what ships: matrix runs and validations (evaluate composite excluded as before), load at most once per entry, absence beside the detail or diagnostics, budget claim qualified to the budgeted paths. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Brian Jin <35789537+kikashy@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Brian Jin <35789537+kikashy@users.noreply.github.com>
Contributor
Author
Review round 1 — dispositionReviewer: Codex (codex-cli 0.145.0, OpenAI) · Reviewed SHA:
Reviewer's sandbox could not start Six refuted-on-inspection items (single-load provenance, prefix robustness, rows-failure semantics, required/omitempty split, budget accounting, roster/claim drift) recorded in the review log; no action. ADR-0030 flipped to accepted ( |
|
🎉 Thank you for your contribution to Judgment Pack! If you’d like another task, choose a path that interests you: |
Merged
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.
Closes #132.
ADR-0030:
graphSha256(bare hex, the payload convention) on the graph suite entry, its validation twin, and the direct single-graph test envelope — the digest of the exact bytes the run decoded, read off the one load. Equality withexperimental_get_graph'ssha256proves rows and document describe one revision; the member is absent exactly when the document did not load, beside the detail saying why. Retires the wire client's epoch-gating mitigation with a real binding.Tests: fixture-digest equality on both walk surfaces; absence with detail on an unloadable document; the validation-side wiring is mutation-verified.
Material-decision impact: public-surface; review: round to be posted on this PR
🤖 Generated with Claude Code