Skip to content

fix(agt): validate Guardian decision responses - #249

Draft
mjatin2007 wants to merge 1 commit into
GenAI-Security-Project:integrationfrom
mjatin2007:fix/validate-guardian-response-envelope
Draft

mjatin2007 wants to merge 1 commit into
GenAI-Security-Project:integrationfrom
mjatin2007:fix/validate-guardian-response-envelope

Conversation

@mjatin2007

@mjatin2007 mjatin2007 commented Oct 10, 2026 •

Copy link
Copy Markdown

What changed

Validates parsed, correlated Guardian decision responses against the canonical response-envelope.json schema and its method-specific AcsResult branch before the host adapter accepts them. A canonical-schema or method-result violation is audited and denied even under on_decision_failure: proceed; inability to run the local validator remains a host-side failure and follows the negotiated posture.

This follows the accepted issue's fail-closed direction, but under proceed it deliberately differs from the literal current §6.4 treatment of a malformed response. Validation covers the complete canonical response envelope, not only deny.reasoning. This draft should not be treated as conformant until §6.4 is clarified, and it should not merge ahead of that clarification unless maintainers direct otherwise. Response-signature verification is separate and remains pending in #229.

Which issue does this implement

Part of #182

  • This is an editorial correction (typo, grammar, link, formatting) with no change in
    meaning, so it needs no issue

Base branch

  • integration, because this touches the specification, schemas, a reference
    implementation, an adapter, tests, or CI
  • main, because every changed path is on the documentation lane allowlist in
    CONTRIBUTING.md

Type of change

  • Specification change (schema, hooks, events, AgBOM)
  • Reference implementation or adapter
  • Documentation
  • Tooling or CI
  • Governance (licensing, security policy, contributor docs)

I tested this

  • I synced my branch with the base branch before opening this
  • uv run pytest -v passes on my machine
  • uv run mkdocs build --strict passes on my machine

The AGT validation also passes on the repository's pinned Bun 1.3.11: TypeScript succeeds, and the complete Bun suite reports 1,123 passed, 1 skipped, 0 failed across 68 files.

Checklist

  • Commits are signed off with git commit -s (required by the DCO)
  • Prose follows STYLE.md
  • No secrets, tokens, or internal URLs in the diff

Security

  • This change has no security impact

Security impact: schema-invalid or method-invalid Guardian responses are blocked and audited. Local validator unavailability remains posture-governed and is attributed to the host rather than the Guardian.

Signed-off-by: Jatin Mannepalli <mjatin2007@users.noreply.github.com>
@acs-board-reconciler acs-board-reconciler Bot moved this from Needs triage to In progress in ACS Project Tracker Oct 11, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant