@openwop/spec-artifacts 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CORPUS-STAMP.json +19 -18
- package/api/seams-v2.yaml +1 -1
- package/api/v2/asyncapi.yaml +1 -1
- package/api/v2/openapi.yaml +1 -1
- package/package.json +1 -1
- package/schemas/v2/error-envelope.schema.json +33 -1
- package/schemas/v2/run-event-payloads.schema.json +1 -1
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/deprecations.json +86 -49
- package/spec/v2/core/errors.md +3 -2
- package/spec/v2/core/events.md +2 -2
- package/spec/v2/errors.json +111 -74
- package/spec/v2/ext/README.md +28 -0
- package/spec/v2/ext/grpc-transport/README.md +1 -1
- package/spec/v2/ext/portability/README.md +1 -1
- package/spec/v2/ext/provider-idempotency/README.md +1 -1
- package/spec/v2/ext/sandbox-runtime-notes/README.md +1 -1
- package/spec/v2/release.json +2 -2
package/spec/v2/core/errors.md
CHANGED
|
@@ -8,7 +8,7 @@ Every error a v2 host returns is a row in one registry. A client routes on `erro
|
|
|
8
8
|
|
|
9
9
|
## The registry
|
|
10
10
|
|
|
11
|
-
`spec/v2/errors.json` holds one row per code: `{ code, httpStatus, retriable, details, since, deprecated? }` plus the provenance fields `statusSource` and `source`. It registers **
|
|
11
|
+
`spec/v2/errors.json` holds one row per code: `{ code, httpStatus, retriable, details, since, deprecated? }` plus the provenance fields `statusSource` and `source`. It registers **98** codes. `schemas/v2/error-envelope.schema.json` is GENERATED from it and MUST NOT be edited by hand.
|
|
12
12
|
|
|
13
13
|
A host MUST return a registered code, or a vendor code, in every error response. A vendor code MUST match `^(?!openwop\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\.[a-z][a-z0-9_]*$` with its first segment an org registered in `spec/v2/declaration.json`; `openwop.` is reserved. The registry grows by the closed-enum rule in overview.md §0: a producer MUST NOT emit an unregistered member, and a consumer MUST accept an unknown registered member and MUST NOT act on it.
|
|
14
14
|
|
|
@@ -28,7 +28,7 @@ An interrupt has one code per state: a token or run-scoped resolve against an in
|
|
|
28
28
|
|
|
29
29
|
## Codes by HTTP status
|
|
30
30
|
|
|
31
|
-
Generated from `spec/v2/errors.json` (
|
|
31
|
+
Generated from `spec/v2/errors.json` (98 codes; `retriable` and `statusSource` are in the registry).
|
|
32
32
|
|
|
33
33
|
Code | Status
|
|
34
34
|
--- | ---
|
|
@@ -125,6 +125,7 @@ Code | Status
|
|
|
125
125
|
`rate_limited` | 429
|
|
126
126
|
`event_type_unmapped` | 500
|
|
127
127
|
`internal_error` | 500
|
|
128
|
+
`payload_unprojectable` | 500
|
|
128
129
|
`pack_load_failure` | 500
|
|
129
130
|
`credential_unavailable` | 501
|
|
130
131
|
`pack_registry_unreachable` | 503
|
package/spec/v2/core/events.md
CHANGED
|
@@ -102,8 +102,8 @@ Each frame carries `id:`, `event:` and `data:`: `id:` is the `sequence`, `event:
|
|
|
102
102
|
| `afterSequence` | Integer ≥ 0; the response carries events with `sequence > afterSequence`. Omission means "from the first event" (sequence 0). `lastSequence` and `since` are not parameters. |
|
|
103
103
|
| `timeout` | Seconds to wait for new events, 1..60, default 30. |
|
|
104
104
|
|
|
105
|
-
The response is `{ runId, events, lastSequence, status, isTerminal }` (closed): `lastSequence` is the highest sequence in the log at the time of the response, `-1` when the log is empty
|
|
105
|
+
The response is `{ runId, events, lastSequence, status, isTerminal }` (closed): `lastSequence` is the highest sequence in the log at the time of the response, `-1` when the log is empty; `status` is the snapshot status; `isTerminal` is whether the run is terminal. A cursor past the end of the log MUST return `200` with an empty `events` array. The shape is declared here and generated into `api/v2/openapi.yaml` from one definition.
|
|
106
106
|
|
|
107
107
|
## Era-2 logs
|
|
108
108
|
|
|
109
|
-
An `eventLogSchemaVersion` of `2` means v1-written. Every reader (poll, stream, fork, diff, debug bundle) MUST translate each event through `spec/v2/event-codemap.json` at storage — `type` is mapped, the payload projected; `sequence` (including `0`), `eventId`, `timestamp`, `causationId` pass through. A type the codemap does not name, carrying no vendor org, MUST fail the read `500 event_type_unmapped`. A host MUST NOT carry a private mapping, nor rewrite era-2 rows in place. **A projection MUST NOT silently drop a property**: carry or fail (
|
|
109
|
+
An `eventLogSchemaVersion` of `2` means v1-written. Every reader (poll, stream, fork, diff, debug bundle) MUST translate each event through `spec/v2/event-codemap.json` at storage — `type` is mapped, the payload projected; `sequence` (including `0`), `eventId`, `timestamp`, `causationId` pass through. A type the codemap does not name, carrying no vendor org, MUST fail the read `500 event_type_unmapped`. A host MUST NOT carry a private mapping, nor rewrite era-2 rows in place. **A projection MUST NOT silently drop a property**: carry or fail `500 payload_unprojectable` (hatch `^(openwop-|x-|vendor\.)`; RFC 0185). Fork and replay over an era-2 parent: replay.md.
|