2FLIGHT RECORDERusage_event · keyset-paged · append-only, update/delete/truncate rejected by triggerTAIL ● FOLLOWING--:--:--
✓CHAIN INTACT — 10,291 ROWS VERIFIEDgenesis 2026-06-23 00:00:07 · head sha256:897f0125… · last verify 14:07:31 ET · 212ms
Demosandbox only — alter a historical row to prove the chain catches it. Not a production control.
Principal*
Model*
Action
Path
Since24H
10,291 rows · newest first · cursor seq<10,292| Seq | Time ET | Principal | Model | Tok In | Tok Out | Cost USD | Lat | Action | Row Hash |
|---|---|---|---|---|---|---|---|---|---|
| 10,291 | 14:07:19.096 | support-copilot | claude-opus-4-8 | 3,959 | 584 | $0.103185 | 3.4s | ✓allow | 897f0125dd66… |
| 10,290 | 14:06:44.805 | followup-bot | claude-haiku-4-5 | 0 | 0 | $0.000000 | 3ms | ✕block_revoked | 71e00b88ceac… ▾ |
Metadata envelope · row 10,290
Chain link · tamper-evidentprev_hash 10,289 sha256:c5e77c52de3c58b59f21f11fe5049b51d8e3ae06e49e5e17eaddf05c2690c517 └─> feeds ─> row_hash 10,290 sha256:71e00b88ceac41c75ea9aaa218943cabe0cccbd64c85871ee74386af0cd644b0 row_hash = sha256( prev_hash ∥ canonical(event) ) — edit any historical row and every hash after it breaks. Postgres triggers reject UPDATE / DELETE / TRUNCATE outright. ⛨ NO BODY STOREDprompt + completion stayed in your data plane. this row is metadata — enough to testify, nothing to leak. | |||||||||
| 10,289 | 14:06:31.233 | followup-bot | MCPtools/call·email.search_threadsrefused — upstream email never reached | 4ms | ✕block_revoked | c5e77c52de3c… | |||
| 10,288 | 14:05:48.076 | rag-indexer | MCPtools/call·vector.upsert→ 342 B | 85ms | ✓allow | eaac2c647428… | |||
| 10,287 | 14:05:32.726 | email-assistant | MCPtools/call·email.create_draft→ 2.3 KB | 580ms | ✓allow | be371e877fcf… | |||
| 10,286 | 14:05:16.782 | event-scheduler | claude-sonnet-5 | 2,110 | 639 | $0.015915 | 4.2s | ✓allow | dfb2e7bc75be… |
| 10,285 | 14:05:16.081 | followup-bot | claude-haiku-4-5 | 0 | 0 | $0.000000 | 6ms | ✕block_revoked | e6c39bee1dec… |
| 10,284 | 14:05:12.840 | followup-bot | MCPtools/call·email.create_draftrefused — upstream email never reached | 4ms | ✕block_revoked | 07c293df956b… | |||
| 10,283 | 14:04:54.483 | followup-bot | claude-haiku-4-5 | 0 | 0 | $0.000000 | 4ms | ✕block_revoked | 3a11d7f8dafc… |
| 10,282 | 14:04:53.661 | followup-bot | claude-haiku-4-5 | 0 | 0 | $0.000000 | 6ms | ✕block_revoked | 05f83f5eebb0… |
| 10,281 | 14:04:53.247 | followup-bot | MCPtools/call·email.create_draftrefused — upstream email never reached | 6ms | ✕block_revoked | b5f63c156bed… | |||
| 10,280 | 14:04:15.110 | followup-bot | MCPtools/call·email.list_threadsrefused — upstream email never reached | 3ms | ✕block_revoked | a0ecf725de63… | |||
| 10,232 | 13:52:27.422 | rag-indexer | MCPresources/read·file:///docs/handbook.pdf→ 113.0 KB | 396ms | ✓allow | 89778c487eff… | |||
| 10,192 | 13:42:08.000 | ■ PRINCIPAL REVOKED — followup-bot · by dana@acme.example · reason: runaway retry loop — 4th follow-up drafted against a 3-send cap · propagated in 0.4s · the kill is itself a chained row | |||||||
| 10,191 | 13:41:53.115 | lead-enricher | MCPtools/call·enrichment.enrich_contact→ 4.5 KB | 270ms | ✓allow | 055fe8ab8a97… | |||
| 10,190 | 13:41:51.302 | reply-bot | claude-sonnet-5 | 1,963 | 306 | $0.010479 | 3.9s | ✓allow | 4952b4455788… |
F9 verify · ↵ open envelope · / filter · G jump to seqshowing 10,190–10,291 · older ➜ cursor seq<10,190 · retention: 7 years