Skip to content

Commit bc2842b

Browse files
committed
docs: correct STATUS — a third-party resource does accept our tokens
I published this file an hour ago asserting that apd's agent tokens had never been presented to a live AAuth resource. That was wrong, and I should have run the check before writing it: tools/aauthcheck has carried a whoami.aauth.dev interop step since it was added, and it passes against the live sandbox right now — 6/6, with the resource echoing back the identity it sees. That moves the single most valuable entry out of the unverified section. An agent token minted by apd is accepted by a resource written by neither of us, which is stronger evidence than any amount of agreement between apd and psd. It does not close as much as I claimed to psd, though. whoami is `access_mode: agent-token`, so no Person Server or Access Server takes part — it cannot exercise auth tokens or resource tokens, which is what psd's /token path still needs. One resource does not shorten both lists; this one shortens ours. What remains is everything a resource initiates: inbound events, and sub-agent tokens being accepted. Reworded so the distinction between "accepts our token" and "calls into us" is explicit. Claude-Session: https://claude.ai/code/session_01By4kRh2Tj2HAgfqKjv8zSj
1 parent d1055b9 commit bc2842b

1 file changed

Lines changed: 29 additions & 10 deletions

File tree

docs/STATUS.md

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ This is the section to read before trusting a green test suite. Everything here
5353
is covered by tests and none of it has met a live counterparty, because for most
5454
of it no live counterparty exists yet.
5555

56+
- **Everything a resource initiates.** A resource that *accepts* an agent token
57+
is verified (below), but no live resource has ever called *into* apd, so the
58+
resource-facing half of events is still self-tested.
5659
- **Events, end to end.** `/subscribe`, `/events`, `/inbox` and
5760
`DELETE /subscriptions/{eid}` are tested in-process. **No real resource has
5861
ever delivered an event to apd.** The whole feature has only ever seen traffic
5962
it generated itself.
6063
- **Sub-agent tokens.** Issued and tested, but no real resource has ever accepted
6164
one. Issuance is verified; acceptance is not.
62-
- **Agent tokens at a real resource.** apd's tokens have never been presented to
63-
a live AAuth resource. mcpg.dev supports AAuth as a resource and is the
64-
obvious first counterparty; that test has not been run.
6565
- **Federated enrollment beyond mocks.** The `oidc` method is tested against a
6666
mock issuer; `x5c` and `spiffe` against synthetic certificates and SVIDs. No
6767
real Kubernetes projected service-account token, no real SPIFFE workload API,
@@ -82,6 +82,24 @@ of it no live counterparty exists yet.
8282
- **AP→PS token revocation**, end to end with no mocks, against a real psd —
8383
twice, including once against the released `psd:0.1.0` container rather than a
8484
development build.
85+
- **An independent third-party resource accepting an apd agent token.**
86+
`whoami.aauth.dev` — the AAuth Who Am I service, `access_mode: agent-token`
87+
accepts a token issued by the live sandbox and echoes back the identity it
88+
sees:
89+
90+
```json
91+
{"iss":"https://sandbox.agentprovider.dev",
92+
"sub":"aauth:5ypvy2pea5w29qbx@sandbox.agentprovider.dev"}
93+
```
94+
95+
Run it yourself: `cd tools/aauthcheck && cargo run --release --
96+
--ap https://sandbox.agentprovider.dev`. This is the strongest evidence here,
97+
because the counterparty was written by neither of us and agrees anyway.
98+
99+
It does **not** exercise auth tokens or resource tokens: `access_mode` is
100+
`agent-token`, so no Person Server or Access Server takes part. A resource
101+
that challenges for an auth token is still missing, and that is what psd's
102+
`/token` path needs.
85103
- Cross-implementation conformance against psd: 27/27.
86104
- The sandbox deployment itself, and every runnable example in the docs.
87105

@@ -92,11 +110,12 @@ of it no live counterparty exists yet.
92110
apd is complete for the Agent Provider role as the drafts define it. But
93111
"complete" and "known to work" are different claims, and the honest summary is:
94112

95-
> **The paths an agent and a Person Server take are verified live. The paths a
96-
> resource takes are not** — events, sub-agent tokens and token acceptance are
97-
> tested only against code we wrote, because no live resource has yet spoken
98-
> AAuth to us.
113+
> **Agent tokens are verified end to end, including at a resource neither of us
114+
> wrote.** What remains unverified is everything a resource *initiates*
115+
> inbound events, and sub-agent tokens being accepted — because no live resource
116+
> has yet called into apd.
99117
100-
The cheapest way to shorten section 3 is a real resource. A single live exchange
101-
with mcpg.dev — agent token presented, accepted, one event delivered back — would
102-
move three entries out of it at once.
118+
The cheapest way to shorten section 3 further is a resource that challenges for
119+
an auth token and delivers an event back. `whoami.aauth.dev` does neither: it is
120+
`access_mode: agent-token`, which is exactly why it could verify the agent-token
121+
path so cleanly and cannot touch the rest.

0 commit comments

Comments
 (0)