Skip to content

test(conformance): cover multi-hop action evidence boundaries - #80

Merged
imran-siddique merged 1 commit into
agentrust-io:mainfrom
10adnan75:test/action-evidence-boundaries
Aug 9, 2026
Merged

test(conformance): cover multi-hop action evidence boundaries#80
imran-siddique merged 1 commit into
agentrust-io:mainfrom
10adnan75:test/action-evidence-boundaries

Conversation

@10adnan75

@10adnan75 10adnan75 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

What

Add MUST-level conformance coverage for the remaining delegation-linked action-evidence boundaries:

  • valid, strictly attenuating multi-hop delegation;
  • intermediate scope widening classified as provenance-invalid;
  • delegatee/subject mismatch classified as provenance-invalid.

The new cases are ACTION-009 through ACTION-011.

Why

Follow-up to #36. This PR covers the residual action-evidence cases not addressed by #76, which adds invalid-signature coverage as ACTION-008.

It verifies that action evidence preserves the existing distinction between valid provenance, provenance-invalid evidence, and authorization-invalid outcomes.

Security impact

None to production runtime behavior. This is conformance-test and documentation coverage only. It strengthens regression protection for the fail-closed delegation-chain invariants: scope attenuation and provenance-to-authority binding.

Test plan

  • pytest passes
  • ruff check passes
  • mypy passes
  • Manual test performed

Additional automated validation::

  • Ran the conformance suite and confirmed ACTION-009 through ACTION-011 pass.
  • Ran the full unit suite: 221 passed, 3 skipped.
  • Ran Bandit with no issues identified.

DCO sign-off

@10adnan75 10adnan75 changed the title test(conformance): cover remaining action evidence boundaries test(conformance): cover multi-hop action evidence boundaries Aug 2, 2026
imran-siddique
imran-siddique previously approved these changes Aug 2, 2026

@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.

Reviewed the diff. Test and documentation only, no runtime change, and the coverage is real rather than self-referential: _verify_action_evidence drives the actual library (verify_delegation_chain, verify_dag, cross_check_chain, handle_peer_request), so these assert implementation behaviour, not a test-local reimplementation.

The three cases are the right residual boundaries:

  • ACTION-009 pins that strict attenuation across three hops still verifies, which is the positive control the other two need.
  • ACTION-010 puts the widening at the intermediate hop rather than the leaf, which is the case a leaf-only check would miss.
  • ACTION-011 breaks subject-to-credential binding while leaving the hash chain intact, so it isolates cross_check_chain rather than incidentally tripping verify_dag.

Numbering leaves ACTION-008 for #76, which is the right call.

One merge-order note for whoever lands these: this and #76 both append to the same README table and the same tail of test_profile_conformance.py. Each is mergeable against main today, but the second one in will need a rebase.

Only failing check is the maintainer-hold gate.

@imran-siddique

Copy link
Copy Markdown
Member

This is approved but currently conflicting with main, so it cannot merge yet. A rebase onto current main is all it needs. The approval stands once it is clean.

Signed-off-by: Adnan Mazharuddin Shaikh <adnanmazharuddinshaikh@gmail.com>
@10adnan75

Copy link
Copy Markdown
Contributor Author

Rebased onto current main after #76 and resolved the shared action-evidence append points.

ACTION-008 is retained from #76; this PR adds ACTION-009 through ACTION-011.

The refreshed conformance suite passes: 34 passed.

@imran-siddique Could you please re-approve the current head commit so the maintainer-approval gate can clear?

@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.

Re-approving the rebased head. Same content I approved before, and the rebase resolved the shared append points cleanly. ACTION-009 through ACTION-011 line up with the README table. Thanks for the quick turnaround.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants