No Memory, No Harness: Why the Database Is the Last Line of Defense — Kay Malcolm, Oracle
Read the talk
No Memory, No Harness: Why the Database Is the Last Line of Defense
Kay Malcolm connects a missing overnight coding handoff to a broader agent architecture: models need a harness that preserves, retrieves, and shares decision context—not just code.
From a talk by Kay Malcolm
At a glance
Ideas worth remembering
AI-assisted coding can move the bottleneck from implementation to coordination: a commit preserves changed code but not necessarily the intent, alternatives, or next steps behind it.
An enterprise agent combines a model with tools, active context, memory, retrieval, security, and guardrails. Memory retains information; retrieval selects what returns to the context window.
Memory has several useful dimensions: session versus cross-session duration, plus episodic and procedural content. Malcolm also names semantic memory but does not define it further in the talk.
Specialized stores can address different data needs while multiplying security, patching, governance, and reconciliation work. Consolidating representations reduces that coordination burden without making every representation the same.
Poly’s key mechanism is attaching retained session context to the relevant fork, branch, and commit so another collaborator can continue from the same reasoning. The talk describes this architecture but does not quantify its productivity gain.
Faster code created a slower handoff
Kay Malcolm runs an outbound database product management team at Oracle, split across platform development, LiveLabs content, QA, and front-end work. AI made each person faster, but the team did not become correspondingly more productive. The bottleneck had moved: code generation accelerated while coordination still ran at human speed.
The concrete failure appeared during an overnight handoff. Developers in the Netherlands committed code around 4:00 a.m. Malcolm’s time. When the United States team woke up, it received the changed files but not the context from the AI-assisted session that produced them. The artifact survived; the reasoning did not.
That missing context had observable consequences: repositories diverged, managers could not explain why overall work was not moving faster, and testing and validation continued to consume time despite increased spending on models and tokens. Git could show which lines changed, but, in Malcolm’s phrase, “Git records the code and not human intent.”
The team therefore needed a collaboration layer that could preserve progress, next steps, and the rationale behind agent decisions while helping people resolve questions and conflicts. AI had effectively become another team member, but one whose working context disappeared at the end of a session.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The harness connects reasoning to action
To identify the missing layer, Malcolm expands the definition of an enterprise agent beyond a model and workflow. Tools let the system act. Context is the information currently placed in the prompt or context window. Memory preserves information for later use. Retrieval chooses which retained information should return, rather than dumping everything into the next prompt. Security and guardrails constrain what the resulting system may do.
Her anatomical analogy separates these responsibilities cleanly. The model is a “little brain floating in a glass jar.” The harness is the body that gives it tools and lets it act. Memory is the central nervous system carrying context between reasoning and action. A model can generate code without this connective tissue, but it cannot preserve continuity for the next person or session.
The five memory categories answer different questions:
- Short-term memory — what is active now? It holds information within the current session.
- Long-term memory — what should survive? It persists across sessions.
- Episodic memory — what happened last time? It records a prior interaction or event.
- Procedural memory — how was the work done? It retains tools and steps.
- Semantic memory. Malcolm names this fifth category but does not develop its definition in the talk.
The first two categories emphasize duration, while episodic and procedural memory distinguish kinds of retained content. The taxonomy does not specify schemas, retention rules, or retrieval methods.
This taxonomy reframes the original Git problem. The next team did not merely need yesterday’s chat transcript. It needed durable decisions, an account of what happened, and the steps associated with the resulting code. That immediately raises the next architectural question: where should these different forms of memory live?
An enterprise agent is more than a model
Read the diagram as text
- Model. agent — The reasoning component—the brain in Malcolm’s analogy.
- Active context. harness — Information currently present in the prompt or context window.
- Memory. harness — Preserves context across actions and sessions.
- Retrieval. harness — Selects relevant retained information instead of returning everything.
- Tools, security, and guardrails. harness — Enable action while constraining what the system may do.
- Memory → Retrieval: supplies retained information.
- Retrieval → Active context: returns relevant information.
- Active context → Model: informs reasoning.
- Model → Tools, security, and guardrails: acts through the harness.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Specialized databases multiply operational cost
Malcolm answers the storage question through her earlier work as a performance tuner at Southern Company. The original environment centered on rows, columns, and SQL. When a developer needed unstructured storage and did not get a timely answer, the developer installed a specialized database instead.
Every database system created two recurring obligations for its DBA: a weekly security meeting and a weekly patching meeting. One relational system meant two meetings. Adding the unstructured store raised the count to four. A specialized database solved a data-model problem, but it also introduced another system to secure, patch, understand, and operate.
A safety-critical power-restoration application then needed relationship analysis. False positives or negatives could misdirect workers repairing damaged infrastructure, so the team wanted to compare nearby poles. Malcolm implemented the relationship traversal as a five-level nested UNION ALL query. She remembers it fondly—“some of my best work”—but says it could take about 20 minutes. The team then installed Neo4j, raising her recurring meeting count to six.
This is the tradeoff behind polyglot persistence. A specialized store may be introduced for a particular data requirement or workload, but every new system adds operational work. Once agents need relational records, JSON documents, graph relationships, and vectors together, the cost also moves into the agent: it must decide which store is authoritative and reconcile conflicting or duplicated information.
Malcolm says that reconciliation can waste tokens and often produce the wrong answer. The talk provides no error rate or controlled comparison, so the supported architectural concern is narrower: distributing related memory across independently governed stores creates an additional authority and coordination problem for the agent.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Poly attaches context to code history
The talk now returns to the overnight handoff. The team’s memory broker, Poly, preserves more than the committed code. It captures context from the working session—including procedural, episodic, and long-term information—and makes it available to other team members across forks.
The important mechanism is association, not merely storage. Poly determines which fork, branch, and commit the context belongs to. That metadata turns a free-floating conversation into context attached to a concrete point in code history. The United States developer can therefore continue from the relevant reasoning instead of reconstructing it from the diff alone, while developers remain in control of the work.
What must survive the handoff? The diagram follows the observable change: before Poly, the receiving developer gets only code; with Poly, the code arrives with session context anchored to its Git coordinates. The database supplies persistence, while the broker performs capture and association.
Malcolm describes the implementation as using Oracle’s agent memory SDK with storage in an Oracle Autonomous Database. The SDK holds live conversations, memories, and facts and decides what is worth retaining. The surrounding design remains model-independent: the team can use an LLM of its choice or a local model through an Oracle private AI services container.
The architecture is concrete, but its reported outcome remains qualitative. The recording does not specify Poly’s retention criteria, access-control model, conflict-resolution protocol, retrieval accuracy, or measured team-speed improvement. It establishes how shared context is attached and transferred, not how much productivity the system adds under controlled conditions.
How Poly turns a code commit into a contextual handoff
Read the diagram as text
- EMEA coding session. A developer and coding agent produce code plus decision context.
- Fork, branch, and commit. Git records the code location and history.
- Session memory. Procedural, episodic, and long-term information from the context window.
- Poly memory broker. Creates context and associates it with the relevant code history.
- Oracle Autonomous Database. Persists shared agent memory through the Oracle agent memory SDK.
- US collaborator. Receives code together with the relevant retained context.
- EMEA coding session → Fork, branch, and commit: commits code.
- EMEA coding session → Session memory: produces reasoning context.
- Session memory → Poly memory broker: captured for sharing.
- Fork, branch, and commit → Poly memory broker: supplies fork, branch, and commit identity.
- Poly memory broker → Oracle Autonomous Database: persists retained memory.
- Oracle Autonomous Database → Poly memory broker: returns shared memory.
- Poly memory broker → US collaborator: delivers context tied to the code.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Read the complete timestamped transcript, jump among chapters, and watch the recording alongside the article.
Related talks
- A Genius With Amnesia
A closely related account of preserving organizational and cross-repository context for coding agents across sessions.
- Architecting Agent Memory: Principles, Patterns, and Best Practices
Expands the memory taxonomy into persistent storage and retrieval patterns for agentic systems.
- 12-Factor Agents: Patterns of reliable LLM applications
Provides a complementary production model for owning agent control flow, context, tools, and deterministic surrounding software.
Transcript & slides
Loading transcript and slides…