You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: mark diverging v1.1 surfaces as Partial in conformance matrix (#65)
The conformance page no longer claims Full/implemented for surfaces whose
wire shape still diverges from ARCP v1.1 (session.hello/welcome, ping/pong,
resume, job.submit, terminal states, progress body, subscription types). Each
Partial row links the tracking issues; surfaces that now match the spec are
labeled Full.
Co-authored-by: Cursor <cursoragent@cursor.com>
| Tool invocation and job lifecycle | implemented |
14
-
| Agent `name@version` resolution | implemented |
15
-
| Progress, streams, and `job.result_chunk`| implemented |
16
-
| Permissions and leases | implemented |
17
-
|`cost.budget` counters | implemented |
18
-
|`model.use` leases | implemented |
19
-
| Provisioned credentials | implemented |
20
-
|`LEASE_SUBSET_VIOLATION`| implemented |
21
-
| Artifacts | implemented |
22
-
| Subscriptions and backfill | implemented |
23
-
| Vendor extensions | implemented |
7
+
Status legend: **Full** — matches the v1.1 wire shape; **Partial** — works
8
+
but still diverges from the spec wire shape (tracked by the linked issues).
9
+
10
+
| Area | Status | Notes |
11
+
| --- | --- | --- |
12
+
| Envelope JSON and typed message catalog | Partial | no top-level `event_seq` yet (#132, #152) |
13
+
| Session hello/welcome/rejected/close | Partial | uses `session.open`/`session.accepted` not `session.hello`/`session.welcome`; no `session.closed` ack (#121, #122, #123, #130) |
14
+
| Ping/pong, ack, resume | Partial |`ping`/`pong` not `session.ping`/`session.pong`; `ack` is advisory-only; resume uses `after_message_id` not `session.resume` + rotating token (#127, #128, #146, #55, #125) |
15
+
|`session.list_jobs` / `session.jobs`| Partial | entries omit `lease`/`parent_job_id`/`last_event_seq`; credentials redacted from the inventory (#143) |
16
+
| Tool invocation and job lifecycle | Partial | submission uses `tool.invoke` not `job.submit`; terminal states are `completed`/`failed` not `success`/`error`/`timed_out` (#134, #137) |
17
+
| Agent `name@version` resolution | Full | deterministic resolution; ambiguous unversioned names are rejected |
18
+
| Progress, streams, and `job.result_chunk`| Partial | progress body uses `percent` not `current`/`total`; inline/chunk mixing not yet prevented (#63, #147, #64, #153, #154) |
19
+
| Permissions and leases | Partial |`expires_at` UTC/future validation and runtime expiry enforcement pending (#60, #156) |
20
+
|`cost.budget` counters | Partial | negative metrics rejected and exact-zero allowed; no pre-dispatch budget check (#158) |
21
+
|`model.use` leases | Full | pattern grammar matches the spec examples |
22
+
| Provisioned credentials | Partial | per-job scoping and retried revocation in place; no startup revocation replay (#160) |
23
+
|`LEASE_SUBSET_VIOLATION`| Full | model.use, cost.budget, and `expires_at` containment enforced |
24
+
| Artifacts | Full |`ref()`/`fetch()` agree on expiry |
25
+
| Subscriptions and backfill | Partial | uses `subscribe`/`subscribe.accepted` not `job.subscribe`/`job.subscribed`; principal authorization pending (#138, #151, #139) |
26
+
| Vendor extensions | Full | core-type classification and `x-` rejection match the spec |
0 commit comments