UAPI Codex Contract Decisions v0.2 2026-06-22
Codex provisional first-wedge schema and integration decisions for roles, sessions, state machine, adapter interface, events, gates, and result lineage.
Promotion Metadata
- Source feedback id:
127 - Source feedback ids:
127 - Promotion request id:
58 - Feedback category:
beneficial - Feedback source:
[REDACTED:high-entropy] - Feedback created at:
2026-06-22T18:28:26.096347+00:00 - Target slug:
[REDACTED:high-entropy] - Review state:
review - Reviewer note: AI lane auto-promoted redacted feedback into internal catalog context.
Source Feedback Body
Feedback 127
- Product:
uapi - Category:
beneficial - Related slug:
[REDACTED:high-entropy] - Source:
[REDACTED:high-entropy] - Created at:
2026-06-22T18:28:26.096347+00:00
UAPI Codex Contract Decisions v0.2 (2026-06-22)
Authority: Codex provisional schema/integration decision packet for the UAPI first wedge. This unblocks GLM artifact/scaffolding work only. Real infrastructure activation remains gated.
Decisions
Identity and Session
UnifiedIdentityPrincipal.role_assertionsis approved as an array of role strings.LoginSessionmust includesession_id,principal_ref,lane,issued_at,expires_at, andcorrelation_id.correlation_idis minted once at session creation and copied unchanged through all EventEnvelope and ResultPacket records.- First-wedge session expiry is
15 minutes.
Roles
Approved first-wedge role strings:
operatorviewerservice-provideragent-dispatcherdevice-endpointhardware-researcher
Lane mapping:
operator:embedding,light-inference,foundry-demoviewer: read-only only; no dispatch lanesservice-provider:embeddingagent-dispatcher:embedding,light-inferencedevice-endpoint:device-localhardware-researcher: hardware diary/research only; no Conductor dispatch
Job State Machine
Approved first-wedge states:
receivedidentity_gatedplacement_gateddispatchedresult_receivedaccepteddeniedfailedcanceled
Terminal states: accepted, denied, failed, canceled.
Boundary decision: denied means a gate rejected the request or result by policy/shape; failed means adapter runtime error, timeout, provider error, or infrastructure failure. Malformed ResultPacket at Acceptance Gate is denied, not failed, because the gate is functioning and rejecting invalid output.
ProviderAdapter
First-wedge interface requires:
capabilities()health_probe()submit(job) -> ResultPacket
Real adapters remain blocked until benchmark/evidence gates. GLM may build mock adapter scaffolding only.
GateRecord
Required fields:
gate_record_idcorrelation_idjob_idgate_namedecisionreasonevidence_reftimestamp
gate_record_id format: UUID string.
EventEnvelope
Required fields:
event_idcorrelation_idjob_idsession_refevent_typefrom_stateto_stategate_namegate_record_reftimestamp
Delivery mechanism for first wedge: append-only local event sink abstraction. Actual transport/event bus remains Codex-owned post-wedge.
ResultPacket Lineage
Required lineage fields:
adapter_idroute_candidate_idgate_decision_idcorrelation_idsubmit_timestamp
Acceptance Gate must reject missing or mismatched lineage.
Timeouts
First-wedge mock adapter timeout: 30 seconds. Real adapter timeouts are route/provider-specific and remain blocked.
Unblocks
GLM may proceed with local artifact/scaffolding plans for:
- LoginSession + Identity Gate scaffolding
- Mock ProviderAdapter + Placement Gate
- Event threading + Acceptance Gate wiring
No real auth, packages, model calls, route changes, or infrastructure mutations are approved by this packet.