Repository navigation
docs: add verification outcome statement guidance - #215
imran-siddique merged 1 commit into
Conversation
Signed-off-by: Aleksey Safonov <55020240+safal207@users.noreply.github.com>
|
🔴 Contributor Check: HIGH
Automated check by AgenTrust Contributor Check. |
imran-siddique
left a comment
There was a problem hiding this comment.
Checked the scope guarantees rather than taking them, because "informative only" is the claim that decides whether this needs a sponsor under our spec-contribution policy.
Grepped every added line for RFC 2119 keywords: zero uppercase MUST, SHALL, SHOULD, MAY, REQUIRED, RECOMMENDED or OPTIONAL. spec/trace-v0.2.md untouched, no schema field added, removed or re-typed. The claim holds exactly, so the sponsor rule does not apply here.
Then I spot-checked your hardest citation, and it is precise. Your declared row says that reading it as evidence a rule was checked contradicts the field's own definition. §4.3 at pinned bd4098cd reads: "A consumer MUST NOT read it as evidence that any rule was checked... A verifier appraising for enforcement SHOULD treat declared as it treats an absent enforcement claim." You paraphrased it into lowercase prose without weakening or strengthening it. That is the difference between an anchored guide and a plausible one, and it is what makes the other rows credible without my checking each.
The Required non-claim column is the reason this page should exist. The failure mode you name, a valid signature quietly becoming "the agent complied", is the one that actually happens, and it happens in the report rather than in the verifier. A verifier that is right and a report that overstates it produce the same outcome as a verifier that is wrong. Putting the non-claim in the same row as the supported statement, rather than in a caveats section further down, is what makes it hard to drop when someone copies a row into a document.
Three things I want to credit specifically.
Positioning against what already exists instead of duplicating it. Naming Trust Levels as indexed by level and the OWASP crosswalk as indexed by risk, then saying that where wording overlaps those pages carry the meaning and this one follows, means this cannot silently drift into a competing source of truth.
Putting unanchorable statements under Open questions rather than into the matrix. That is the same discipline as the page's own subject applied to the page itself.
And you added the mkdocs.yml nav entry. We merged a PR an hour ago whose entire purpose was fixing a page that shipped without one. You did not repeat it, unprompted, on a first contribution.
"Unverifiable is not incriminating" and "unverified is not silently true" are the two sentences I expect to end up quoting.
Approving and merging.
|
Post-merge note, since this is already on Line 29, in the "Resolved and contradicted" row:
The heading it points at is Checked on the published page rather than only locally. One character, whenever the file is next touched. Worth knowing that all five Every other internal link in the file resolves: 11 of 12, checked by rendering each target and |
|
@lywinged Good catch — thank you for checking this against the rendered site rather than only the source. You’re right: the generated anchor is |
Informative-only documentation contribution, related to #66.
What this adds
docs/verification-outcome-statements.md- a relying-party / auditor interpretation guide indexed by verifier outcome (a third view alongsidedocs/trust-levels.md, which is indexed by trust level, and the OWASP crosswalk, indexed by risk). For each representative outcome it maps:Representative rows: verified at the required floor; honestly downgraded with floor still met; resolved-and-contradicted; unresolvable below the floor;
policy.enforcement_mode: declared.Scope guarantees
spec/trace-v0.2.md.spec/trace-v0.2.md,docs/verification.md, orLIMITATIONS.md; statements that cannot be anchored are listed as open questions (spec: binding attributable human-approval outcomes to step_up and defer execution evidence #191/verification.md: format-versioning and verifier-compatibility obligations (evidence outlives verifiers) #116 approval rows, transitive coverage URI,appraisal.policy_refreproducibility).enforcement_mode: declaredis documented strictly per its §4.3 definition: it does not evidence that any rule was evaluated or enforced.Checks run
pip install -e .[dev]- OKpytest- 736 passed, 1 skipped, 3 pre-existing failures intest_generators_reproduce_fixtures.py(generator byte-reproduction; confirmed identical on clean upstreammainat 7cc2fab, unrelated to this docs change)ruff check src tests- all checks passedmypy src/agentrust_trace- Success: no issues found in 10 source filesgit diff --check- cleanRelated to #66