Skip to content

aeoess-aps: appraisal.status is a constant none; tested_against 0.9.0 - #139

Merged
imran-siddique merged 1 commit into
agentrust-io:mainfrom
aeoess:exporter/appraisal-none-tested-against-0.9.0
Aug 27, 2026
Merged

aeoess-aps: appraisal.status is a constant none; tested_against 0.9.0#139
imran-siddique merged 1 commit into
agentrust-io:mainfrom
aeoess:exporter/appraisal-none-tested-against-0.9.0

Conversation

@aeoess

@aeoess aeoess commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Aligns the exporter with the adapter convention that landed in e1aa231 (2026-08-08): a record assembled from evidence another system produced carries appraisal.status: none, because transcribing a policy decision is not appraising the evidence behind it.

Changes, all in integrations/aeoess-aps/:

  • aps_trace.py: VERDICT_TO_APPRAISAL removed; KNOWN_VERDICTS keeps the refusal of unknown verdicts; appraisal.status is the constant none. The verdict is still carried through policy.enforcement_mode and policy.version.
  • README.md: field table and the appraisal note updated to match.
  • integration.yaml: tested_against: agentrust-trace: "0.9.0".
  • tests/test_mapping.py: asserts the constant and the unchanged refusal paths.

pytest: 27 passed. trace-tests verify --level 0: PASS, 8 checks, 0 skipped, 1 UNVERIFIED (TR-SIG-005, the unsigned graded artifact, unchanged from the 2026-08-04 baseline).

Nothing about revocation is in this change; that follows the mapping issue.

@aeoess
aeoess requested a review from imran-siddique as a code owner August 26, 2026 18:15
@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

🔴 Contributor Check: HIGH

Check Result
Profile HIGH
Credential LOW
Overall HIGH

Automated check by AgenTrust Contributor Check.

@github-actions github-actions Bot added the needs-review:HIGH Contributor check flagged HIGH risk label Aug 26, 2026
Two changes, no others.

1. appraisal.status becomes the constant "none". The agentrust-trace-adapters
   convention that landed on integrations main in commit e1aa231 (2026-08-08)
   sets it that way for a record assembled from evidence another system
   produced: "Nobody appraised the evidence. Transcribing is not appraising",
   and "A vendor's bare ALLOW/DENY result is still a policy decision, not an
   appraisal of the evidence behind that decision." An APS verdict is exactly
   such a policy decision.

   Our mapping was reviewed as defensible on 2026-08-03. A clearer adapter
   convention landed on 2026-08-09 that separates policy decisions from evidence
   appraisal, and the exporter aligns to that convention here.

   VERDICT_TO_APPRAISAL is replaced by KNOWN_VERDICTS, a frozenset, so an
   unknown verdict is still refused rather than transcribed. The verdict remains
   in the record where it belongs, as policy.enforcement_mode and policy.version.
   The README field table and the tests are updated to match, and a new test
   pins the status as a constant so a future edit cannot quietly reintroduce a
   verdict-to-status mapping.

2. integration.yaml tested_against agentrust-trace 0.5.1 -> 0.9.0.

Nothing here touches revocation. That work waits on agentrust-io#89 and the mapping issue.

Verified against agentrust-trace 0.9.0 / agentrust-trace-tests 0.5.1 /
agent-passport-system 2.11.0: 27 passed; emit_record prints appraisal.status
none; trace-tests verify --level 0 gives PASS, 8 checks, 0 skipped, 1
UNVERIFIED, which is the documented expected result. "none" is in the 0.9.0
schema enum for appraisal.status.

Refs: agentrust-io#86, agentrust-io#89
Signed-off-by: Tymofii Pidlisnyi <171286556+aeoess@users.noreply.github.com>
(cherry picked from commit f4a525a)

@imran-siddique imran-siddique left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and in the right direction: this removes a claim rather than adding one.

The verdict-to-appraisal mapping was the defensible-but-wrong kind. permit becoming affirming reads as "the evidence was appraised and held up", when what actually happened is that a policy engine returned a decision. none is the honest value, and the verdict is not lost: it stays in policy.enforcement_mode and policy.version, which is where a consumer should look for it.

Checked against the bar:

  • Runnable against a released package: agentrust-trace 0.9.0, and tested_against moved with it.
  • The unknown-verdict refusal is preserved. KNOWN_VERDICTS keeps doing that job after VERDICT_TO_APPRAISAL stopped being the set it was checked against, which is the part that would have been easy to drop.
  • README, module docstring and the three verdict tests all moved together. test_every_known_verdict_maps_to_a_valid_ear_status was adapted rather than deleted.
  • CI green. The gate failure is the maintainer-approval check, which this review satisfies.

Thanks for citing the convention commit and the date the earlier mapping was reviewed. That is what made this reviewable without reconstructing the history.

@imran-siddique
imran-siddique merged commit d846a07 into agentrust-io:main Aug 27, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review:HIGH Contributor check flagged HIGH risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants