Leverage AI
LeverageAI · FDE continuity · Extender

Retail MCP Is the Doorway, Not the Memory

Accessible retail AI clients can be excellent FDE interfaces. Durable engagement continuity must still belong to the platform: an immutable walk, a compact task-world manifest, and a reloadable working set—not undocumented chat-memory behaviour.

Scott Farrell · LeverageAI · Extender of Intent-Conditioned Task World

TL;DR

The first time you attach a firm wiki to a retail AI client over MCP, it feels like a category change. A general-purpose model starts walking your frameworks, prior code, engagement history, and doctrine as if the practice were a place rather than a slide deck. Consultants do not need a special workstation. They already know how to talk to the product.

That accessibility is real. Treat it as the product’s doorway.

Then notice the architectural risk on turn twelve, next Monday, or when the work moves from ChatGPT into Claude Code or Codex. The conversation that wowed the room is still a poor system of record. Tool fidelity may thin on a retail surface—that is a field hypothesis, not a measurement in this write-up—but accepted findings, rejected alternatives, and evidence pointers are already unowned objects unless the platform holds them. Someone writes a lossy handover note. The next model may re-walk the same region and change its mind without knowing it changed its mind.

Retail MCP is the doorway, not the memory.

This article is an operational extender of Intent-Conditioned Task World: the parent already owns the temporary world and the inspectable manifest.1 Here the job is narrower and more commercial—how a long-running FDE engagement survives chat compaction, model changes, and handoffs between retail clients and coding agents without replaying the entire history every time.

The mis-assigned memory job

Most teams silently assign engagement memory to whichever surface they demoed last:

Those are different objects with different contracts.

MCP is an access plane: an open protocol for connecting models to tools and data.2 Anthropic’s own engineering writing is explicit that tool definitions and intermediate results can consume excessive tokens and that efficiency problems appear once many servers and full transcripts flow through the model.3 The protocol standardises the plug. It does not standardise your engagement topology.

Retail ChatGPT with developer mode / MCP apps is documented as a way for organisations to build and use MCP-powered tools so ChatGPT can take action in systems—currently with plan and admin constraints, and still evolving in beta language on OpenAI’s Help Center.4 That is doorway documentation. It is not a published application contract that every prior MCP result remains fully attention-resident on every later turn.

ChatGPT Memory / Dreaming is documented as synthesis of useful preferences, projects, and constraints so future chats can start from shared context—not as full-fidelity replay of multi-hop tool walks, rejected paths, and evidence packages.5 OpenAI describes dreaming as learning from many conversations and synthesising memory state for freshness and relevance.5 Useful product. Wrong abstraction for engagement SoR.

Retail Claude / Claude.ai likewise documents MCP as an access plane: connectors powered by MCP, with Claude.ai listed for full remote MCP support and MCP Apps, and custom remote MCP connectors available on Claude (including Free through Enterprise plans, with plan limits).12 Again: documented tool access. Not a published contract that every prior MCP tool result remains attention-resident for the life of an engagement.

Claude Code is more explicit about layers on the coding-agent side. Official docs state that each message, tool use, and result is written to a local JSONL session file; sessions can be resumed or forked; and—separately—the active context window fills and compacts, clearing older tool outputs first and summarising conversation when needed.6 New sessions start with a fresh context window.6 Persisted history and active model context are different layers. That distinction is the whole article in one product sentence—and it must not be smuggled back as a retail-Claude retention guarantee.

Codex CLI documents codex resume for returning to a saved chat, plus MCP connectivity for external tools in the session.7 Again: resumable client session ≠ firm-owned engagement world.

Field note, correctly graded Operators often observe that retail clients feel less faithful about tool history than coding-agent session logs. That is a productive hypothesis, not a measured constant in this write-up. We will not invent “one or two turns” as a fact. Hidden reasoning is never a contractual memory interface.

What must not live only in the window

Long-running agent work already taught the hard lesson: stuffing everything into one conversation eventually degrades performance through attention diffusion, while restarting sessions throws away learning unless state lives outside the model.8 Anthropic’s context-engineering guidance treats the window as an attention budget and recommends keeping context informative yet tight—including patterns where agents write notes persisted outside the window rather than hoping history remains perfect.9

For FDE engagements the external object is more specific than a free-form notes file. It is a task world: a temporary, purpose-shaped organisational model with an inspectable manifest.1 If a walk leaves only a chat transcript and a final answer, you have an outcome without a world—you cannot audit what the agent believed it inhabited, compare two intents over the same fabric, or expire what was never declared.1

And the walk itself is two artefacts: the answer and the path. Summaries delete dead ends by design; dead ends are informative.10 That is why “paste the summary into the next chat” is not continuity architecture.

Three persistence layers

Give every substantial engagement a surface-independent identity:

engagement_id: eng-demo-altis-2026
task_world_id: tw-48c46560a3

Then store three layers. Only the third should routinely enter the model.

1. Immutable walk log

Append-only. Every MCP request and result pointer, page opened, edge followed, rejected region, timestamp, tool/corpus version, client surface, and receipt. This is source evidence and telemetry—not active prompt material.10

2. Task-world manifest

The inspectable checkpoint after meaningful turns:

That is the parent doctrine applied to FDE continuity, not a new religion.1

3. Active working set

What a retail or coding client should load on resume: parent intent, latest checkpoint, critical constraints, selected framework handles, accepted evidence pointers, open questions, and the next-stage harness. Not the entire walk.

Full-fidelity history outside the model.
Compact, inspectable working state inside the model.

In long-running agent terms: archive + reference checkpoint + working context; stateful kernel, fresh worker.8 In database language from the parent: bronze sources, durable wiki warehouse, task world as materialised view, active context as CPU cache.1

Useful re-reading vs wasteful re-derivation

Re-walking is not automatically failure.

Useful re-reading happens when the wiki may have changed, the intent shifted, a conclusion is disputed, the as-at date matters, or a deeper source read is newly warranted.

Wasteful re-derivation happens when the system forgot why it entered a region, which alternatives it checked, which paths were dead ends, what it had already accepted, and what the next question was—then pays for the multi-hop investigation again and may land somewhere slightly different without a receipt of the change.

The fix is not “never touch the wiki again.” The fix is a manifest that makes forgotten state expensive to justify.

Continuity operations (illustrative interface)

A consultancy-facing MCP or platform API can expose the engagement store directly:

start_task(client, role, intent)
resume_task(task_world_id)
checkpoint_task(task_world_id, current_state)
show_walk(task_world_id)
show_task_world(task_world_id)
close_task(task_world_id)
promote_learning(task_world_id)  # human-gated

Ordinary wiki tools associate reads with the active task. A consultant says “Continue the account opportunity review.” Any capable client calls resume_task, receives the working set, and continues. It should not matter whether ChatGPT compacted private conversation state, whether the user switched to retail Claude/Claude.ai,12 or whether work escalated to a coding agent.

The engagement state belongs to your system.

That is what makes a handoff chain loss-resistant:

retail chat → coding agent → specialist → proposal compiler → delivery → client environment

…all sharing the same task_world_id, evidence set, rejected paths, and acceptance harness. The summary is one generated view over a full-fidelity asset—not the asset itself.

Controlled experiment: design before mythology

Proof burden one is not a vibes story about vendors. It is a disciplined separation of evidence classes.

Class Meaning What we used it for
Documented Official product docs ChatGPT MCP apps; retail Claude/Claude.ai remote MCP; memory as synthesis; Claude Code JSONL + compaction; Codex resume
Observed Executed in this repo Two-surface prototype handoff with verify receipt
Hypothesis Not measured here Retail tool-fidelity thinning; exact tool-history TTLs; token/latency deltas
What was and was not run In this Stage A environment we did not execute live multi-turn ChatGPT, Claude, Claude Code, or Codex sessions against a production MCP wiki. We did not measure retention windows or invent token savings. We did implement and run an inspectable platform-state prototype that proves the continuity properties the architecture needs regardless of vendor internals. Full design and receipts: prototype/EXPERIMENT.md, prototype/demo_receipt.json.

That honesty is not a retreat. Documented retail access without a retention contract, coding-agent compaction, and synthesis-style consumer memory already justify external state.4,5,6,9,12 You do not need a reverse-engineered TTL to stop treating chat as the store.

Resume/handoff prototype (two surfaces)

Proof burden two: a minimal working system. The prototype in prototype/task_world.py implements the three layers and continuity ops. Surfaces are labels—retail_chat and coding_cli—because the point is platform ownership, not a fake claim that live vendor UIs were driven from this machine.

Demo script (executed; receipt on disk):

  1. retail_chat / start_task — engagement for “strongest defensible FDE opportunity for next week’s account review,” with explicit access scope.
  2. Walk steps — open candidate frameworks; reject “generic intranet chatbot” with a why and evidence pointer.
  3. checkpoint_task — accepted findings, rejected alternatives, absences, next move.
  4. coding_cli / resume_task — second surface loads working set only (not full walk).
  5. Further walk + checkpoint — discovery harness draft recorded; rejection still present.
  6. verify — invariants all pass.
Verify receipt (direct observation)

What the second surface receives is a packet: working set + pointers to walk and manifest. What it must not require is the first surface’s private chat blob.

File only what earned persistence. Hard multi-hop synthesis can become typed derived cache linked to supports; trivial one-page lookups can die with the task.1,10 Persist the expensive, reusable, and integrative; recompile the volatile and task-local.1

The operative prompt is compiled infrastructure

Once the store exists, the consultant’s short message stops being the world specification. The operative prompt is compiled from:

Frameworks do not merely get quoted at the end. When selected into the working set they change what the model notices, which alternatives it rejects, and where it demands deterministic checks. That is authorised epistemic conditioning—not a prompt-engineering academy for two hundred people.

Operating literacy remains: state the outcome, correct false assumptions, inspect receipts, escalate. The system supplies breadth and memory that used to take years of apprenticeship to carry in one head.

Privacy, tenancy, and access threat model

Proof burden three: external state is powerful and therefore dangerous. A short threat model is load-bearing, not an appendix apology. Full table: prototype/THREAT_MODEL.md.

Tenancy

Kernel Holds Default rule
Client Private systems, decisions, evidence Stays in client perimeter
Consultancy Firm methods, people, de-identified lessons Firm-authorised tools only
Capability kernel Reusable IP and playbooks Licence-scoped; not all personal bronze

Promotion is never “the model thought it was useful.” Client-specific findings remain client-local. General failure shapes may enter the consultancy kernel after de-identification and a human gate. Doctrine-level promotion is rarer still.

Threats that matter

If you cannot answer who may resume, what scope they inherit, and what may be promoted, you do not yet own the memory layer—you have only externalised the mess.

Surface comparison (without scoreboard cosplay)

Surface Strength What it is not
Retail ChatGPT / Claude (Claude.ai) + MCP Accessible doorway; documented MCP/connectors access;4,12 familiar UX Not a dependable full-fidelity tool-history application contract (retention undocumented)
Claude Code / Codex CLI Session artefacts, resume, execution identity Not automatic firm tenancy or cross-tool engagement SoR; active context still compacts
Your FDE platform store Walk + manifest + working set; handoff; audit; promotion gates Not a reason to throw away retail accessibility

Keep the doorway. Move the memory job. The companion slogan still holds: the model is not the memory—and neither is the retail chat UI.11

Implementation checklist (next engagement)

  1. Issue engagement_id / task_world_id before the impressive multi-hop walk.
  2. Log walk steps with evidence pointers; never only final prose.
  3. Checkpoint accepted findings, rejected alternatives (+why), absences, next move.
  4. On any surface change, resume_task → load working set → continue.
  5. Re-read sources when truth or intent warrants it; do not re-derive forgotten decisions.
  6. Gate promote_learning with a human; mark derived; link supports.
  7. Threat-model the store: tenancy, access scope, vendor memory policy, retention.

What this is not

Close

The frontier model is interchangeable reasoning capacity—the processor, not the institutional memory. MCP is the nervous system that lets any capable client navigate a compiled field. The FDE remains the human interface for relationship and judgement. The task world preserves continuity. The harness supplies truth. The engagement supplies learning.

Consultants should keep talking to the products they already know. Platforms should stop hoping those products will quietly become the engagement database.

The model may forget the walk.
The FDE system must not.

One ask: before your next multi-tool engagement, create a task_world_id and checkpoint accepted findings, rejected alternatives, and evidence pointers outside the chat. If you want the parent doctrine for temporary worlds and manifests, read Intent-Conditioned Task World.1

References

  1. Scott Farrell / LeverageAI. “Intent-Conditioned Task World.” — Task-world manifest makes the temporary world inspectable; bronze / wiki / task world / active context as warehouse/view/cache; persist integrative, compile task-local. https://leverageai.com.au/wp-content/media/articles/160-intent-conditioned-task-world.html
  2. Model Context Protocol. “What is the Model Context Protocol (MCP)?” — Open standard for connecting AI applications to external tools and data systems. https://modelcontextprotocol.io/docs/getting-started/intro
  3. Anthropic Engineering. “Code execution with MCP: building more efficient AI agents.” — “MCP provides a foundational protocol for agents to connect to many tools and systems. However, once too many servers are connected, tool definitions and results can consume excessive tokens, reducing agent efficiency.” https://www.anthropic.com/engineering/code-execution-with-mcp
  4. OpenAI Help Center. “Developer mode and MCP apps in ChatGPT.” — “Using ChatGPT developer mode, your organization can build, test, and deploy MCP-powered apps that let ChatGPT securely take action in your tools.” Full MCP support described with Business/Enterprise/Edu beta caveats. https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt
  5. OpenAI. “Dreaming: Better memory for a more helpful ChatGPT.” — “Memory is what helps ChatGPT learn your preferences, projects, and constraints…”; dreaming “synthesize[s] ChatGPT’s memory state” for freshness and relevance. https://openai.com/index/chatgpt-memory-dreaming/
  6. Anthropic / Claude Code Docs. “How Claude Code works.” — Sessions write messages, tool uses, and results to local JSONL; resume/fork supported; context window compacts by clearing older tool outputs first then summarising; new sessions start with a fresh context window. https://code.claude.com/docs/en/how-claude-code-works
  7. OpenAI. “Codex CLI.” — Documents codex resume to return to a saved chat and codex mcp to connect external tools with MCP. https://learn.chatgpt.com/docs/codex/cli
  8. Scott Farrell / LeverageAI. “Breaking the 1-Hour Barrier” (Long-Running Agents). — Stateless workers + stateful external kernel; tiered working/reference/archive context; do not stuff everything into one conversation. https://leverageai.com.au/wp-content/media/articles/36-breaking-1-hour-barrier.html
  9. Anthropic Engineering. “Effective context engineering for AI agents.” — Context as attention budget; keep context informative yet tight; agentic memory via notes persisted outside the window as a first-class pattern. https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
  10. Scott Farrell / LeverageAI. “File Back the Walk.” — Answer and path are different artefacts; summaries delete dead ends that remain informative; keep path telemetry. https://leverageai.com.au/wp-content/media/articles/80-file-back-the-walk.html
  11. Scott Farrell / LeverageAI. “The Model Is Not the Memory.” — Companion slogan and cognitive-provenance framing: model/runtime is not institutional memory. https://leverageai.com.au/wp-content/media/articles/68-the-model-is-not-the-memory.html
  12. Anthropic. “Connectors overview” and “Get started with custom connectors using remote MCP.” — Connectors powered by MCP; Claude.ai full remote MCP support & MCP Apps; custom remote MCP connectors available on Claude / Claude Desktop / Cowork across Free–Enterprise plans (with limits). Documented access only—not a multi-turn tool-history retention contract. https://claude.com/docs/connectors/overview https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp