Inspector, Conversations & turns
Conversations and turns reconstruct the chat history Neotoma has captured. Every turn is stored as a conversation_message entity (alias agent_message) with role, sender kind, content, attachments, and a stable turn_key; the parent conversation entity glues them together with a topic title and participant kind.
Inspector renders these rows back into a familiar transcript-style view, then layers the underlying graph on top, so you can see not just what was said, but every entity each turn produced or cited, and the agent that wrote it.
Conversation list
The list view groups all conversation entities with their turn count, last activity, primary participants, and thread_kind (human_agent, agent_agent, multi_party). It supports filters by thread kind, agent identity, and time range, and deep-links into individual turns.
| Title | Thread kind | Turns | Agents | Last activity |
|---|---|---|---|---|
| Q2 budget review | human_agent | 24 | claude-code | 12:41 |
| Vercel migration plan | human_agent | 18 | cursor-agent | 11:08 |
| Receipt triage (April) | human_agent | 9 | ingest-pipeline | 10:55 |
| Planner ↔ Executor sync | agent_agent | 42 | planner, executor | Apr 26 |
| Customer interview · Sarah P. | multi_party | 31 | user, claude-code, gpt-5.5 | Apr 24 |
Conversation transcript
Open a conversation and Inspector reconstructs the transcript by ordering its conversation_message children by turn_key. Each turn shows role (user / assistant / agent / system / tool), sender_kind, the verbatim content, attached files via EMBEDS, and the entities the turn REFERS_TO.
What did we spend on subscriptions this quarter?
Top categories: Vercel ($420), Linear ($96), Notion ($60). I cited 124 transactions.
Here's the Vercel invoice, confirm the period.
Period 2026-04-01 → 2026-04-30. Stored as receipt; matched to transaction tx_4b1.
Sender kind and agent-to-agent
Every conversation_message carries sender_kind alongside the legacy role field. For agent-to-agent traffic the sender is agent with a stable sender_agent_id (and optional recipient_agent_id) so multi-agent chains can be reconstructed exactly. The transcript view colour-codes turns by sender kind and surfaces the agent identifier inline.
Embedded files and references
Files attached to a turn (PDFs, screenshots, CSVs) become file_asset entities linked to the message via EMBEDS. Inspector renders an inline preview where it can and a "View source" link via GET /sources/:id/content when it can't. Entities each turn cited or produced are listed inline as REFERS_TO chips, each clickable to the entity detail.
Compliance view
The Compliance tab on a conversation re-renders the same turns with per-row trust tier, signing key thumbprint, and "did the assistant store its reply?" indicators, so you can audit whether agents are following the per-turn persistence contract described in the agent instructions. Missing assistant turns or anonymous-tier writes show up in red.
| Turn | Role | Tier | Signed by | Reply stored |
|---|---|---|---|---|
| #4 | user | info | operator (sw) | ok |
| #4 | assistant | software | claude-code (sw · ed25519) | ok |
| #5 | user | info | operator (sw) | ok |
| #5 | assistant | software | claude-code (sw · ed25519) | missing |