An agent that recalls before it reasons.
BlackBox runs on Claude via Amazon Bedrock and drives a typed reason ↔ recall ↔ act loop. Every turn it consults memory, acts through guarded tools, and writes what it learns back — so the next incident starts where the last one ended.
Reason, recall, act — then remember.
Recall
On any new signal, the agent searches similar past incidents and relevant runbooks before forming a hypothesis.
Reason
It weighs hypotheses against recalled evidence and, when useful, queries the live cluster to check facts.
Act
It opens an incident, tracks transactional state through triage → diagnose → mitigate → resolve.
Remember
Every observation, action, and resolution is written to durable memory, region-pinned, for next time.
Five memory surfaces, one database.
The full CoALA taxonomy — episodic, procedural/semantic, and working memory — plus transactional live state, each a table in CockroachDB, each REGIONAL BY ROW, and each modelled for its own access pattern rather than forced into one shape.
incidents
What happened, when, and how it was resolved. Embedded with Titan v2 for semantic recall over the whole fleet. Recall consolidates repeats of one failure signature and reports how often it has fired, instead of returning the same memory five times.
runbooks
How to fix classes of problem. Distilled fixes enter through a hygiene gate — filtered, consolidated, contradiction-checked, and confidence-scored — never appended blindly, and quarantined outright when the session is unauthenticated.
agent_memory
The agent’s own reflections and insights — importance-weighted so recall favors what mattered. Every row here carries a real embedding, so the vector index serves the whole table.
agent_stream
Operator turns, agent replies, tool observations, actions. High volume, read by recency, no vector column — an append-only record has no business in a vector index.
incident_state
Phase, hypotheses, and next steps for an in-flight incident. Strongly consistent, never split-brain.
What makes it agentic, not a RAG demo.
It compounds
Resolve an incident and the fix becomes a runbook. Throw a similar incident minutes later and the agent recalls exactly what worked — memory that grows, not a transcript.
It audits its own writes
One bad write can poison a self-improving memory. Learned fixes pass a gate — content filter, duplicate consolidation, contradiction check — then earn confidence through reinforcement or decay out. Every decision lands in an auditable ledger.
It triages itself
The agent’s memory is a CockroachDB cluster. It can inspect that cluster’s region health and explain, mid-outage, why its memory is still intact.
It reads its own database
Through the CockroachDB Managed MCP Server it runs read-only SQL against the live cluster — schema, health, running queries, memory counts.
Typed tools, not a bash prompt.
Every capability is a schema-validated tool the harness can gate, render, and audit. Cluster access is read-only by construction.
recall_similar_incidentsSemantic search over resolved incidents — the first move on any new problem.
recall_runbooksRetrieve remediation procedures relevant to the current situation.
open_incidentRecord a confirmed incident by service name, resolved to the fleet registry.
update_incident_statePersist the transactional phase, hypotheses, and next steps.
resolve_incidentClose out with a resolution — and distil it into a learned runbook.
inspect_clusterRun read-only SQL against the live cluster via the Managed MCP Server.
diagnose_memoryReport per-region health of the agent's own memory layer.
Two agents, one memory, zero lost updates.
Multi-agent systems fail at the memory, not the model: two agents read the same state, both write, and one’s work silently vanishes. This drill makes two agent workers — a responder and a postmortem scribe — collide on the same incident-state row on purpose, holding each read-modify-write open so they genuinely interleave. Serializable isolation turns every would-be lost update into a retry, and the final count proves nothing vanished.