61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# Schemas
|
|
|
|
Canonical contracts for the runtime.
|
|
|
|
## Identity
|
|
|
|
| ID | Assigned at |
|
|
|---|---|
|
|
| event_uuid | sensor, at impulse creation |
|
|
| cycle_uuid | lemniscate, at cycle open |
|
|
| decision_uuid | L1 gate decision |
|
|
|
|
UUID v7. 48-bit timestamp prefix; sort order = causal order. No record enters Phoebe without causal UUIDs.
|
|
|
|
## Impulse row
|
|
|
|
`(event_uuid, gate, timestamp, payload)`
|
|
|
|
Created at sensor; UUID v7; immutable.
|
|
|
|
## Gate state row
|
|
|
|
| Field | Meaning |
|
|
|---|---|
|
|
| gate | registry name |
|
|
| window_start | aggregation window start |
|
|
| counters | per-gate counters (JSONB) |
|
|
| threshold | value shifted by L1 |
|
|
| last_opened | cycle index of last opening |
|
|
| last_decision_cycle | cycle_uuid of last shifting decision |
|
|
| l1_rtt_ewma / l2_rtt_ewma | sliding means used for cycle interval |
|
|
|
|
Stored in Phoebe; checkpointed after each cycle; restored on restart.
|
|
|
|
## Gate tag row
|
|
|
|
`(gate, tier, why, mode_overrides)`
|
|
|
|
| Field | Meaning |
|
|
|---|---|
|
|
| tier | T0 critical / T1 relational / T2 standard / T3 ambient |
|
|
| why | declared reason and audit string |
|
|
| mode_overrides | per-mode tier shifts (UUID-logged decision) |
|
|
|
|
T0/T1 registry-declared, runtime-immutable. T2/T3 may shift per mode.
|
|
|
|
## Evidence request
|
|
|
|
| Field | Meaning |
|
|
|---|---|
|
|
| request_uuid | v7, issued at L1 |
|
|
| gate | registry name, validated |
|
|
| since | cycle boundary |
|
|
| returned_from | buffer lower bound; truncation recorded |
|
|
|
|
## Message schemas
|
|
|
|
Per subsystem: gates, director, clients.
|
|
|
|
Version: 0.4 | Updated: 2026-11-04
|