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
feat(protocol): surface cycles_evidence on ErrorResponse (v0.1.25.5) (#109)
Adds the optional `cycles_evidence` field (CyclesEvidenceRef) to
ErrorResponse, closing the last gap in the lifecycle binding loop
(decide / reserve / commit / release / error).
The `error` artifact wraps any 4xx/5xx ErrorResponse from the four core
runtime endpoints and is the canonical home for non-dry reserve denials
(insufficient budget surfaces as HTTP 409 BUDGET_EXCEEDED, not a 200 with
decision: DENY) — the highest-signal evidence an APS receipt can bind to.
Surfacing the ref in-band lets a denied caller bind its own signed receipt
to the denial and fetch the envelope via getEvidence.
The field is CyclesEvidenceRef, identical to the four success responses;
TRANSPORT METADATA, NOT attested — the `error` artifact's
payload.error.response mirror (drafts/cycles-evidence-v0.1.yaml) keeps
additionalProperties: false and omits it, so the content hash is never
self-referential. Present when the server emitted an `error` envelope for
this response; absent when emission is disabled or for errors raised before
evidence could be emitted. Additive + non-breaking.
- cycles-protocol-v0.yaml: info.version 0.1.25.4 -> 0.1.25.5; cycles_evidence
on ErrorResponse.
- drafts/cycles-evidence-v0.1.yaml: DELIBERATE OMISSION note on
ErrorResponseMirror (matches the other four mirrors).
- cycles-spec-index.yaml: runtime_base 0.1.25.5, spec_index 0.1.30.
- changelogs/cycles-protocol-v0.md: v0.1.25.5 entry.
- merged/: regenerated.
0 commit comments