Traces & audit
Event log, item stream, cost attribution, and hash-chain verification.
Observability
What you can inspect
Section titled “What you can inspect”| Signal | Command / API |
|---|---|
| Replay session | carina audit SESSION / session.replay |
| Chain integrity | carina audit verify SESSION |
| Normalized items | session.items |
| Governance view | session.review |
| Live stream | session.events.stream |
| Cost | carina cost / telemetry APIs |
| Turn net diff | patch list + item stream |
| Export | audit.export (jsonl | sqlite) |
Why hash chains matter
Section titled “Why hash chains matter”Logs that can be silently rewritten are not evidence. Carina’s chain makes post-hoc tampering visible so security reviews and incident response have a trustworthy timeline.
Event model
Section titled “Event model”- 36 event types;
protocol/events/events.jsonis authoritative - Side-effect events reference
permission_decision_id - Media: only content-hash
MediaRefs in logs — never raw bytes
Streaming clients
Section titled “Streaming clients”Clients subscribe to typed events (status, tool start/end, approvals, cost deltas) rather than scraping terminal output. SDKs and the TUI consume the same streams.
Channel reconciliation
Section titled “Channel reconciliation”After a crash, ambiguous channel deliveries (effect_started / effect_applied) appear in channel.event.pending. Operators must explicitly channel.event.reconcile as executed or not_executed — Carina never chooses automatically.
Source of truth
Section titled “Source of truth”- Events:
protocol/events/events.json(36 types) - Audit guarantees:
docs/security-model.md· Audit & rollback - CLI:
carina audit·carina audit verify·carina items·carina cost·carina export - Related: Sessions API · JSON-RPC
- Common workflows — inspect / verify recipes
- Method catalog —
session.*/ audit export methods
Was this page helpful?
What went wrong?
Thanks for the feedback.
One vote per page is recorded during this session.