Skip to content

Commit 118397b

Browse files
George-iamgeobon
andauthored
docs: formalize continuation parity and legacy status deprecation (#17)
Document stream/poll continuation autonomy semantics, fix the intent stream OpenAPI response media type to SSE, and publish an explicit legacy_status deprecation timeline with rollout guidance. Made-with: Cursor Co-authored-by: George-iam <georgeb@gmail.com>
1 parent 984d0ec commit 118397b

4 files changed

Lines changed: 31 additions & 4 deletions

File tree

docs/axme-is-not-rpc.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ AXME supports three continuation mechanisms:
2121
- Polling: `GET /v1/intents/{intent_id}` and `GET /v1/intents/{intent_id}/events?since=<seq>`
2222
- Deliver-to-inbox: pass `reply_to` on create and observe completion in that inbox
2323

24+
For forwarded long-running intents, stream and polling are expected to surface lifecycle progress directly (without requiring `GET /v1/intents/{intent_id}` as a side-effect trigger).
25+
2426
## Design Rules
2527

2628
- Do not model `create_intent` as "remote function call that must finish now".

docs/migration-and-deprecation-policy.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,22 @@ Reference:
3939
- earliest removal date,
4040
- required client-side actions.
4141

42+
## Intent `legacy_status` Deprecation Schedule
43+
44+
`legacy_status` on intent projections exists only as a migration bridge from legacy status values (`accepted|running|blocked|done|failed`) to canonical lifecycle status values.
45+
46+
Timeline:
47+
48+
1. **Phase A (current through 2026-06-30): dual projection**
49+
- `intent.status` is canonical and required for client logic.
50+
- `intent.legacy_status` remains enabled by default for compatibility.
51+
2. **Phase B (from 2026-07-01): explicit opt-out**
52+
- Integrators should validate clients with `GATEWAY_INCLUDE_LEGACY_INTENT_STATUS=false`.
53+
- New integrations should ignore `legacy_status` and rely only on canonical lifecycle fields.
54+
3. **Phase C (next major after overlap, earliest 2026-10-01): removal**
55+
- `legacy_status` is removed from public payloads in the next major API version.
56+
- SDKs and conformance contracts treat canonical `status` as the only supported lifecycle projection.
57+
4258
## Migration Expectations for Integrators
4359

4460
- Pin to explicit schema/API versions (do not depend on implicit latest behavior).

docs/openapi/gateway.v1.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,11 +1777,9 @@
17771777
],
17781778
"responses": {
17791779
"200": {
1780-
"description": "Successful Response",
1780+
"description": "Ordered intent lifecycle stream (SSE).",
17811781
"content": {
1782-
"application/json": {
1783-
"schema": {}
1784-
}
1782+
"text/event-stream": {}
17851783
}
17861784
},
17871785
"422": {

docs/public-api-families-d1-intents-inbox-approvals.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@ Intents are the primary write/read entry for assistant-integrator workflows. Int
3636
- `GET /v1/intents/{intent_id}/events/stream` -> stream lifecycle events (SSE)
3737
- `POST /v1/intents/{intent_id}/resolve` -> append terminal lifecycle event
3838

39+
### Continuation semantics (v1)
40+
41+
- Stream transport for `/events/stream` is `text/event-stream` (SSE).
42+
- Polling (`/events?since=`) and streaming are both expected to surface newly synced lifecycle progress without requiring a side-effect `GET /v1/intents/{intent_id}` call first.
43+
- `intent.waiting` events carry `waiting_reason` with one of:
44+
- `WAITING_FOR_HUMAN`
45+
- `WAITING_FOR_TOOL`
46+
- `WAITING_FOR_TIME`
47+
- `WAITING_FOR_AGENT`
48+
3949
### Canonical schemas
4050

4151
- `axme-spec/schemas/public_api/api.intents.create.request.v1.json`
@@ -109,6 +119,7 @@ Intents are the primary write/read entry for assistant-integrator workflows. Int
109119
- `intents_get`
110120
- `intents_events`
111121
- `intents_stream_resume`
122+
- `intents_continuation_autonomy`
112123
- `intents_resolve`
113124
- `intent_completion_delivery`
114125

0 commit comments

Comments
 (0)