Skip to content

Phase-3 A2A acceptance gate: run live cross-product + authZ-negative tests against a deployed server #90

Description

@izzywdev

What

The A2A live acceptance tests are the Phase-3 rollout gate — they must pass against a deployed, reachable A2A server before A2A is enabled in any environment. Per the platform owner's decision (2026-07-22), these are relocated out of per-PR CI into a dedicated workflow .github/workflows/a2a-acceptance.yml (workflow_dispatch/workflow_call) so they are a real must-run gate rather than a skip-as-success that could hide unverified work.

Per-PR CI keeps the conformance tier only (grades the frozen contract, needs no server).

The gate must verify (all FAIL loudly, no skips, when invoked)

  1. Cross-product acceptance — a requirements agent holding no Atlassian MCP and no Jira skill calls the FuzePlan agent over A2A and Jira tickets result. If the caller needs Jira knowledge, the design has failed.
  2. AuthZ-negative — a caller not in the callee's providesTo is refused by the callee (absent allowlist = DENY), denial non-disclosing.
  3. State machinealways_askINPUT_REQUIRED/AUTH_REQUIREDreach_human resolves → task completes; caller-scoped ListTasks; CancelTask; subscribe-on-terminal error.

Wiring required to turn it green (Phase 3, devops-engineer)

  • Stand up a2a-shared (chart from PR feat(a2a): image + Helm chart (enabled-gated) + Argo Application #85) in the acceptance workflow (docker-compose or kind+helm) and export A2A_SERVER_BASE_URL.
  • Provision A2A_TEST_OIDC_TOKEN (allowlisted caller) + A2A_TEST_UNAUTH_TOKEN (non-allowlisted) as repo secrets (alphanumeric-safe).
  • Backfill providesTo/dependsOn on the caller/callee repos used by the acceptance test (currently present on only 5 of 20 repos; absent = DENY).

Definition of done

a2a-acceptance.yml runs green with a real deployed server; the feature is NOT "done" until this gate is green. Owners: test-engineer (the suite + workflow), devops-engineer (server standup + secrets), platform-governance (providesTo backfill).

Related: contract PR #73 (frozen A2A v1), test PR #89, deploy PR #85, server PR #87, mcp PR #86.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions