Demo. Sample data from a real deployment. Anything you change here lives in this browser session only and is not saved anywhere; sign out to start again.

Krynix Meridian Labs
Enforcement — inferred from observed decision evidence
All sessions

c0b58184-da11-46ca-90c5-c1c938d6bacf

Agent
code-review-agent
State
closed
How it ended
Closed by idle timeout

The producer stopped sending; the server finalized the run.

Events recorded
48
Chain tip
8791612985fe170f…

Chain integrity

verified Every link in the events read checks out.

Timeline

A prompt can also be a scheduled task, a background agent reporting back, or a message from another session. Claude Code records these the same way.

Session setup 23 events

session_start

an MCP server connection reported "failed"

an MCP server connection reported "failed"

20 routine events

Turn 1 24 events

Prompt

Read reaper.ts and tell me in three sentences what the orphaned-session path does. Do not edit anything.

Assistant

`finalizeOrphans` (reaper.ts:205) lists every `active` store row, subtracts the session IDs this process still holds writers for, and records the remainder as `orphaned` — sessions stranded by a restart — reporting `null` rather than `0` if that store read throws, then bailing out of the pass. Each remaining candidate is gated on `Date.parse(row.updated_at) < cutoff`, so a row that's still being written to (possibly via another instance) is skipped, since finalizing a live session would permanently 409 its producer. Survivors go through `sessionManager.finalizeOrphan` and then the same `runPostClosePasses` the idle path uses, counted separately in `orphansFinalized`/`orphansFailed` because an orphan's chain ends at its last durable write with no `session_end`; failures are per-session and leave the row active for the next pass. One thing worth noting: the module docstring at lines 33–42 still says this module "neither fixes nor worsens" the orphan gap and that such sessions "cannot be closed by anyone" — that's stale relative to the code below it, which does finalize them.

claude-opus-5
11 routine events

Outside any turn 1 event

session_end

Signals

Distinct tools
2
Longest gap
6.5 s
  • Glob 1 called 0.0 % failed
  • Read 1 called 0.0 % failed

Who could intercept this run

  • plugins context7, github, ralph-loop, feature-dev, greptile, typescript-lsp, pyright-lsp, codex, frontend-design
  • context7 can reach external servers
  • github can reach external servers
  • ralph-loop can intercept tool calls
  • greptile can reach external servers
  • codex can intercept tool calls
  • hooks 6 registered · 4 from a plugin
  • Stop intercepts an unreported set of tools · from a plugin
  • SessionStart intercepts an unreported set of tools · from a plugin
  • SessionEnd intercepts an unreported set of tools · from a plugin
  • Stop intercepts an unreported set of tools · from a plugin
  • MCP connections 8 · 2 did not connect
  • safe mode off

Control verdicts

  • pass Distinct tool blast radius distinct_tool_count = 2 satisfies lte 12
  • unknown Bash tool failure rate tool Bash was never called in this session
  • pass Per-run LLM cost ceiling llm_cost_total = 0.21649000000000002 satisfies lte 1
  • pass Session token ceiling total_token_usage = 623 satisfies lte 200000

Tamper-evidence

chain verified Verified 2026-10-27T12:31:35Z.

One check ran: integrity. Nothing else was examined.

Custody

signed ed25519 over the finalized chain tip, 2026-10-27T12:31:35.277Z.

Download this session's evidence bundle →