feat(graph): VAS-1 — CLAIMED→verdict provenance (foundation for verify-docs) - #213
Merged
Merged
Conversation
Add the verified-against-reality tier the milestone-1 spec flags as the missing provenance layer. Net-new model only — no verify-docs CLI, ingest, or live replay (those are VAS-2). All additive and backward-compatible. - Extend the canonical Provenance Literal (graph.py, single source of truth) with CLAIMED: a docs-source op not yet checked against reality. - Add frozen VerifyVerdict (status/basis/shape_ok) beside it — control-plane clean, no field a response body could occupy (invariant #1). - Carry an optional verify verdict on the op Node, default None; excluded from serialize() so the content hash stays byte-identical (drift-independent). - verdict_from_replay(outcome) lifts an already-obtained CallOutcome: observed 2xx -> VERIFIED, 404/4xx/5xx -> REFUTED, preflight contract failure -> REFUTED, recorded/synthetic -> UNVERIFIED (never overclaimed). Pure, no network. Co-Authored-By: Claude Opus 4.8 <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.
Milestone-1 (Verified Agent Surface) step 1 — the provenance foundation for
gecko verify-docs. Model + pure lift only; no CLI/ingest/live-replay (that's VAS-2). Roadmap:docs/specs/2026-07-26-verified-agent-surface-milestone-1.md.What's here
CLAIMEDadded to the canonicalProvenanceLiteral (graph.py, single source of truth) — a docs-source op (Context7 / from-docs) not yet checked against reality.VerifyVerdict(frozen, control-plane) —status: VERIFIED|REFUTED|UNVERIFIED,basis,shape_ok. No payload field (asserted).verify: VerifyVerdict | Noneon the op node; additive, andserialize()stays byte-identical (content hash unchanged when a verdict is attached — tested).verdict_from_replay(outcome)maps avalidatorCallOutcome→ verdict, keying offsource == "observed": non-observed → UNVERIFIED (never overclaims), observed 2xx/3xx → VERIFIED, observed 404/contract-mismatch → REFUTED. Pure, no network.Safety
Single-source-of-truth types;
UNVERIFIEDfor recorded/paywalled (the roadmap's honesty flag — never badge VERIFIED without wire evidence); control-plane clean (no response value stored). Gate: ruff + mypy clean · full suite 1924 passed / 1 skipped.Next: VAS-2
gecko verify-docs(run the replay, attach verdicts), VAS-3 Scorecard badges.🤖 Generated with Claude Code