Repository navigation
References: add the observed-effect relation and its example set (#402) - #403
Conversation
Closes agentrust-io#402. Registers observed-effect in section 3.1.2 following the steps docs/references-registry.md gives for adding a name, in the shape of agentrust-io#389: the registry entry defines the referenced object as facts and bounds what a verifier may conclude to rule 3, and examples/observed-effect/ carries five signed records whose verdicts tests/test_observed_effect_fixtures.py recomputes from the committed bytes. Signed-off-by: Sankalp Gilda <sankalp.gilda@gmail.com>
|
🔴 Contributor Check: HIGH
Automated check by AgenTrust Contributor Check. |
|
Please rename the example verdicts to describe the referenced object, rather than the effect itself. |
The example verdicts described the effect rather than the object the reference points at. A digest match and a verified observer signature establish that the cited observation is intact and signed; they do not establish that the reported change occurred, and an altered stored copy does not establish that it did not. The verdicts are now observation-verified, observation-digest-mismatch, observation-unresolved and observation-unverified, and a signature that fails over matching bytes is observation-signature-invalid. Resolution, digest match and signature verification stay separate findings in their own fields, as the registry text lists them. Cases 01 and 02 are renamed to match; their bytes are unchanged and the generator reproduces them. Signed-off-by: Sankalp Gilda <sankalp.gilda@gmail.com>
|
Thanks, Imran, for catching the overclaim in effect-confirmed. In 305895c each verdict describes the referenced observation instead: verified, digest-mismatch, unresolved, unverified or signature-invalid, with the prefix Should I send the matching rename for the condition-appraisal example, whose appraisal-contradicted has the same overclaim? |
|
The revised observation verdicts address my wording concern. All 36 related tests pass. A corrupted signature with a recomputed reference digest correctly reports signature failure separately. Please include the matching condition-appraisal rename in this PR, limited to example terminology and tests. |
The condition-appraisal example verdicts had the same overclaim as the observed-effect ones: appraisal-contradicted read as a finding about the condition when it only meant the stored copy no longer matched what the record cited. The verdicts are now appraisal-verified, appraisal-digest-mismatch, appraisal-unresolved and appraisal-unverified, and a signature that fails over matching bytes is appraisal-signature-invalid. Case 01 is renamed to match; its bytes are unchanged and the generator reproduces the set. Both example suites gain a test for the signature-invalid branch: a corrupted signature with the reference digest recomputed over the corrupted object matches on digest, fails on signature, and gets its own verdict rather than being folded into a digest mismatch. Terminology and tests only; no registry text, schema or wire format changes. Signed-off-by: Sankalp Gilda <sankalp.gilda@gmail.com>
|
Hey @imran-siddique, thanks for running the suite and for the corrupted-signature case, which is now a test in both example suites. In f160107 the condition-appraisal verdicts follow the observation ones: appraisal-verified, appraisal-digest-mismatch, appraisal-unresolved, appraisal-unverified and appraisal-signature-invalid, with only example terminology and tests changed. Locally on f160107, 2234 tests pass and 6 skip. @chernistry, only your example's verdict names moved, and I'm happy to change them if you'd prefer others. |
|
@astrogilda the new names are right and I would not change them: |
imran-siddique
left a comment
There was a problem hiding this comment.
The requested terminology change is complete at f160107. All 38 example tests pass, including separate signature-failure and digest-mismatch cases. Existing validation rules remain unchanged. Hosted CI passes; five local Windows fixture failures also reproduce on the pre-PR base.
|
@astrogilda main moved 12 commits and this now conflicts on |
Resolve CHANGELOG.md: keep main's intent_bridge successor-observation and provenance now entries, the observed-effect entry, and the condition-appraisal wording that says verified. Signed-off-by: Sankalp Gilda <sankalp.gilda@gmail.com>
imran-siddique
left a comment
There was a problem hiding this comment.
@astrogilda approving c217d83; it should have merged after your 09-28 push. #437, #432 and #401 merged today and it now conflicts on CHANGELOG.md and examples/README.md only. Merge main once more keeping both sides' entries and I will merge it the same day.
Keep the observed-effect entries in CHANGELOG.md and examples/README.md beside the entries that landed on main. The earlier one-stage successor observation entry is replaced by the entry main now carries for it. Signed-off-by: Sankalp Gilda <sankalp.gilda@gmail.com>
|
@imran-siddique, 5a6a5fe merges main (152c843), keeps both sides' entries in CHANGELOG.md and examples/README.md, and passes the full test suite locally. The old Pushing it dismissed your approval, so the approval check needs one on 5a6a5fe, and CI, CodeQL, ClusterFuzzLite and runtime-evidence need their runs approved. After the merge I plan a follow-up PR that tests the observed-effect examples against a pinned release of https://github.com/probityai/agent-evidence-vectors. |
Closes #402 by registering
observed-effectin §3.1.2 as a non-breaking informative addition, in the shape of #389. The registry entry defines the referenced object as facts and limits what a verifier may conclude to rule 3.Five signed records in examples/observed-effect/ cover a verified observation, one altered after issue, a disagreement, an unresolvable reference and an unknown observer key. Two of their statements come byte for byte from the observed-effect corpus in agent-evidence-vectors. At review I renamed the condition-appraisal example's verdicts the same way, and both example suites now test a bad signature over matching bytes.
Every commit is signed off, CHANGELOG.md is updated, and on f160107 pytest reports 2234 passed and 6 skipped.
Edited on September 24 to add the condition-appraisal rename and the current test counts.