How I Built Shared AI Memory Without Lock-In

Portable context · verified July 22, 2026

One Brain. Five Access Classes. Zero Re-Briefing.

By Dennis Yu · July 22, 2026 · Version 2.0

I love Claude enough to keep maxing out the 20x Max Individual plan—and then spending several thousand dollars on extra usage. Part of the fix is routing: scripts and economical models should do mechanical work, while a premium route such as Fable should handle the small slice where judgment, strategy, honesty, or my real voice compounds.

But the larger waste was context. I could decide something with Claude, continue in ChatGPT or Codex, use Gemini for a Google-connected task, and ask Grok for another opinion. Then I would forget which AI knew what, repeat myself, or lose an important decision inside a chat transcript.

I did not want another ritual. I wanted to explain the task normally while the right context loaded automatically, the work was recorded automatically, and each provider saw only the privacy tier it was allowed to see. This is the access model now running:

Shared AI memory privacy tiers and evidence loop Local private memory is filtered into separate personal cloud and team destinations. Approved material enters a publishable review queue before becoming public. Claude, ChatGPT, Codex, Gemini, and Grok read approved packs and send handoffs through a verification and reconciliation step back to local private memory. Four user-facing zones, five enforced classes Physical destinations enforce the boundary; labels alone do not.

1 · LOCAL PRIVATE raw working memory never mirrored local-private

2 · PERSONAL CLOUD Dennis-only context pack personal-cloud

3 · TEAM approved shared operations team

CONFIGURED AI SURFACES Claude · ChatGPT · Codex Gemini · Grok read only their approved destinations

REVIEW QUEUE publishable ≠ published publishable

4 · PUBLIC article + safe capsule public

VERIFY + RECONCILE automatic handoff inbox

filter + validate approved team facts approved staging human gate verified evidence returns to canonical local state
The four user-facing zones are backed by five enforcement classes: local-private, personal-cloud, team, publishable, and public. “Publishable” is a review queue, not a destination.
What “shared AI memory” means here: portable, curated context—ordinary Markdown files, common metadata, provider-specific adapters, filtered context packs, lifecycle hooks, and append-only handoffs. It is not a magical universal brain. It is local instructions plus deliberately filtered cloud bridges, with evidence at every promotion boundary.

1. The Task Summary

The assignment was to build one provider-neutral memory layer that would:

  1. preserve projects, decisions, preferences, provenance, and next actions across providers;
  2. load useful context without a repeated boot prompt;
  3. record substantive work without a repeated closing prompt;
  4. keep personal, team, publishable, and public information physically separated;
  5. route each task to the least expensive model and effort level likely to clear the quality bar; and
  6. document the real implementation so another person can give this URL to an AI and build their own version once.

The source of truth is an Obsidian-compatible folder of Markdown. Obsidian is the human interface, not the lock-in: Obsidian stores notes as ordinary local files.

The working system has seven parts:

  1. canonical profile, principles, project, decision, and routing notes;
  2. common metadata with an explicit access class and verification date;
  3. thin provider adapters that load context at session start;
  4. a compiler that builds audience-specific packs;
  5. separate personal and team destinations instead of trusting labels alone;
  6. handoff inboxes and append-only local session records; and
  7. validators, secret checks, hash checks, and read-back tests.

Why not pick one model and stay there? Providers change prices, caps, policies, models, and products. Outages and regressions happen. Different models have different strengths and failure modes. An independent second opinion can catch an error that more effort from the same model will not. Portability lets me choose the right tool for the job without buying my own history again.

2. The Step-by-Step Process

Step 1: Make the memory provider-neutral

The smallest useful structure looks like this:

Shared AI Context/
├── AI-CONTEXT.md          # short router, not the whole memory
├── STATE.md               # current verified state
├── MODEL-ROUTING.md       # cost and escalation policy
├── projects/              # one current file per project
├── decisions/             # durable decisions and supersessions
├── sessions/              # append-only evidence and handoffs
├── context-packs/         # generated, filtered outputs
└── provider adapters      # AGENTS.md, CLAUDE.md, GEMINI.md, hooks

Important notes carry machine-readable metadata:

---
id: project-example
type: project-state
status: active
access: team
updated: 2026-07-22
verified_at: 2026-07-22
source: user-confirmed
---

The current request is always authoritative. A pack is orientation, not permission for an AI to ignore what I just said.

Step 2: Enforce access with destinations, not hopeful labels

There are four zones people need to understand and five classes the tooling enforces:

Human meaning Enforcement class May contain Destination rule
Local private local-private personal notes and sensitive working context stays on the approved computer; never enters a generated pack
Personal cloud personal-cloud Dennis-only filtered context owner-only cloud folder and approved personal AI projects
Team team internal operating context approved for teammates team shared drive only
Review queue publishable material intended for public release but not yet approved compiled separately; never auto-published
Public public facts safe for anyone, including search engines public page or public pack
Hard boundary: Passwords, API keys, cookies, OAuth tokens, recovery codes, and raw credentials do not belong in any class. “Local private” is not a license to turn a knowledge base into a password manager.

The physical split matters. A team-only client roster cannot become public merely because a model ignored a frontmatter label. It lives in a different destination. There is also no authoritative current paying-client roster in the source material today. A trustworthy team roster must be derived from billing, CRM, or accounting records and include a source and verification time. A public network directory is not evidence that every listed business is a paying client.

The public Spotlight Network registry and asset tracker describe a network of client and partner sites. They are not an ownership chart. The Spotlight skill packs are public training resources. Keeping those meanings explicit prevents both humans and models from inventing corporate relationships.

Step 3: Make loading and write-back ambient

The first version of this article asked me to paste one prompt at the beginning of every chat and another at the end. That was a prototype, not an acceptable operating system.

  1. A provider adapter or persistent project instruction reads the approved pack when the session begins.
  2. It selects only the active project and relevant decisions instead of loading the entire vault.
  3. The request I type normally becomes the task; there is no “please remember this” preamble.
  4. A lifecycle hook rebuilds filtered packs after substantive local work.
  5. Cloud-capable surfaces are instructed to write a concise handoff to an approved inbox; local agents write an append-only session file. Each provider’s first write is acceptance-tested separately before it is trusted.
  6. A validator reconciles verified facts into canonical state and leaves unverified claims in the handoff.

Provider memory remains a convenience cache. The Markdown source remains authoritative.

Step 4: Connect each provider through its supported surface

This is not a design sketch. These are the connections and tests completed on July 22, 2026:

Surface Ambient route installed Actual proof Honest boundary
Codex Repository instructions, shared-memory skill, and session lifecycle hook Metadata validation, pack verification, and three automated tests passed A projectless chat cannot discover an unrelated local vault; the vault must be opened as the project
Claude Cowork Persistent instructions plus a filtered local mirror containing the personal pack, manifest, and handoff inbox The mirror rebuilt atomically and its hash matched the generated pack Claude receives the filtered mirror, never the raw local-private vault; direct provider memory is not canonical
Gemini Spark Reusable “Dennis OS shared memory” skill plus Google Drive A read-only Spark task automatically found the active project and returned the exact routing, handoff, and privacy rules Gemini CLI was installed, but its individual sign-in flow reported migration to Antigravity; the CLI is not claimed as connected
Grok Persistent Grok Project linked to the personal Drive folder, plus local project hooks A live read-only test on Grok Build 0.2.101 identified the correct project, routing policy, handoff location, and privacy rule; after auto-update to 0.2.106, inspection showed the project trusted and all three lifecycle hooks present The test proves this configured project, not every new Grok chat
ChatGPT Work Persistent project instructions plus a synced direct Drive source A strict source-grounded run with 5.6 Sol Light read the pack and returned the exact active project, cheapest-tier routing rule, local/cloud handoff locations, and privacy boundary An earlier generic run was only a partial pass; passing required explicit source grounding, which is why read-back tests matter

That last row is a good example of E-E-A-T in practice: show the real attempt, disclose the weak result, tighten the test, and keep the receipt for the pass.

Google Drive is the bridge used by the hosted providers. The personal folder is owner-only. The team folder lives in the team shared drive. Files are replaced in place so links stay stable; handoff inboxes are separate from context packs. Connecting Drive does not make it “universal memory”—each provider still needs persistent instructions and a test proving it read the intended source.

Step 5: Keep public context useful, linked, and safe

A public capsule should help an AI or human understand the relationships among ideas without exposing current private work. That is why the capsule links the first meaningful mentions of the Content Factory, Dollar a Day, SEO Tree, Topic Wheel, Learn / Do / Teach, Digital Plumbing, Nine Triangles, and MAA.

These entity links are useful before they are useful for SEO. They let a human or model follow the relationship instead of guessing what a coined term means.

Step 6: Keep it current without making me babysit it

The update mechanism has four operational cadences:

Session lifecycleLocal hooks validate metadata, rebuild audience packs, refresh the Claude mirror, and record health after substantive work.
Cloud bridgeThe same stable personal and team files are replaced in place, and provider handoff inboxes are checked for new evidence.
Daily health check“Dennis OS Shared Memory Refresh” runs at 5:30 AM local time on an economical model at low effort and alerts only when a run fails.
Publication gatePublic and publishable material never promotes itself. A human or authorized publishing agent reviews it, updates version and verification date, publishes, then reads the live URL back.

This means ordinary work improves the memory automatically, while a privacy-sensitive promotion still requires a deliberate gate. The scheduled health check also runs on days when no agent session closes and reports failures instead of creating another daily chore for me.

3. Critical Decision-Making

Portable context, not transcript hoarding

Dumping every conversation into every model would increase token cost, conflict, and privacy risk. The packs include current state, the active project, relevant decisions, stable principles, routing policy, and recent verified handoffs. Raw transcripts and unrelated history stay out.

Five access classes, four understandable zones

People should not need to learn a security taxonomy to use the system. They see local private, personal cloud, team, and public. The compiler additionally uses publishable as a staging class so “we plan to publish this” can never mean “an agent may publish this now.”

Entity clarity prevents false relationships

This article is published on BlitzMetrics because the site has distribution and SEO value. That does not mean a public context capsule should list every publisher, client, or network participant as a company Dennis owns or represents. Public pages describe Dennis directly, then link to client/network registries in their proper role.

Old instructions are superseded, not silently erased

An older rule routed nearly every substantial task through Fable at maximum effort. The current rule is the opposite: use the cheapest tier likely to pass, delegate mechanics, and reserve frontier reasoning for consequential judgment. The old rule remains visible as history but is explicitly superseded, so an agent never has to guess.

Verification is part of memory

In the first build, one workstream recorded two public pages as published while an independent HTTP read-back returned 404. In the current build, ChatGPT’s first connected-source answer was generic; a stricter source-grounded test passed.

Both examples improved the protocol:

  • claim shared work before editing state;
  • keep session evidence append-only;
  • distinguish “reported,” “configured,” “synced,” and “read-back verified”;
  • reconcile conflicts before promoting them; and
  • verify publication, deployment, email, and other external actions from the resulting state.
The answer was not simply a smarter model. It was better coordination and better evidence.

4. Effort and Cost Comparison

My old default was effectively:

Everything → Fable → maximum effort

The current routing ladder is:

Tier Work Default route Escalate when
0 file moves, checks, deterministic transforms script or automation a rule requires semantic judgment
1 bulk extraction, classification, formatting fast/economy model; low effort a named QA check fails
2 ordinary drafting, coding, and analysis balanced model; medium effort important ambiguity remains
3 strategy, honest scoring, difficult synthesis, final voice Fable or best-fit frontier model; high effort max effort only when the error cost clearly exceeds compute cost
4 interface-only work computer-use agent no direct tool or API exists

The governing rule: start with the least expensive route likely to pass, then escalate based on evidence.

Before After
Re-explain the project in every conversation Persistent instructions load a focused pack
Remember to paste a closing memory prompt Hooks or handoff inboxes record substantive work
Use a premium model for mechanical work Use scripts or lower-cost models
Leave effort at maximum Start at the lowest sufficient effort
Let chat history hold decisions Promote verified decisions into portable notes
Discover conflicts late Track source, status, and verification date

I am not claiming a savings percentage yet. That would be fake precision. The system can now record provider, exact model, surface, task type, effort, escalation reason, outcome, and approximate cost. One Grok read-only validation cost about $0.027; that is a real observation, not a projected enterprise ROI.

5. What an Agent Can and Cannot Do

An authorized agent can

  • load a filtered pack automatically on a configured surface;
  • identify the active project and prior verified decisions;
  • search the canonical vault locally instead of loading everything;
  • route mechanics to scripts or lower-cost models;
  • write an append-only local session or approved cloud handoff;
  • validate metadata, scan for likely credentials, and verify pack hashes;
  • flag contradictions and stale evidence; and
  • update a public version only after review and live read-back.

An agent cannot safely be assumed to

  • remember a conversation held with another provider;
  • discover a Mac folder from an unrelated hosted chat;
  • treat Obsidian Sync as model authorization;
  • decide that every client, partner, or network record is public;
  • infer paying-client status from a website directory;
  • know an external action succeeded without checking it; or
  • repair privacy after sensitive material has already been uploaded.

Local file access, cloud connectors, native memory, file uploads, project instructions, and MCP are different capabilities. A robust system composes them; it does not pretend they are interchangeable.

6. Information Ingestion Inventory

This implementation and article use:

  • my direct account of Claude Max overages and cross-model context loss;
  • the active provider-neutral vault and its profile, principles, projects, decisions, and outputs;
  • the July 6 routing policy and the older conflicting all-Fable rule;
  • current local hooks, pack manifests, validator output, and automated tests;
  • a filtered Claude mirror with hash verification;
  • owner-only and team Drive destinations with metadata read-back;
  • live provider tests in Gemini Spark, Grok, and ChatGPT Work;
  • the public Spotlight registry, asset tracker, and skill-pack pages; and
  • official OpenAI, Anthropic, Google, xAI, Obsidian, and MCP documentation.

I deliberately exclude:

  • credentials and authentication material;
  • raw private history and unrelated archives;
  • unsupported claims about product-plan availability;
  • any fabricated list of paying clients;
  • any claim that a provider is connected merely because its button was clicked; and
  • any claim that a URL is live without an independent read-back.

7. Guidelines Compliance Scorecard

This version follows the meta-article template, blog posting guidelines, entity-linking rules, and definitive article guide.

Requirement Status on July 22, 2026 Evidence or limitation
Eight-section meta-article topology Implemented task, process, decisions, cost, boundaries, sources, scorecard, and next actions
Topic-specific lead visual Implemented colored privacy and provider flow appears after the third opening paragraph
Provider-neutral source of truth Implemented ordinary Markdown with common metadata
Frictionless local loading and handoff Implemented persistent adapters plus lifecycle hooks
Five-class privacy enforcement Implemented separate filtered outputs and physical destinations
Codex route Passed validation, pack verification, and automated tests
Claude route Passed for filtered mirror atomic rebuild and hash match; raw vault remains excluded
Gemini route Passed in Spark reusable skill plus Drive read-only task; CLI OAuth not claimed
Grok route Passed linked project plus live CLI read-only validation
ChatGPT Work route Passed with source grounding direct Drive source produced exact project, routing, handoff, and privacy facts
Paying-client roster Not yet authoritative must come from billing/CRM/accounting into team-only storage
Automatic cloud refresh Installed; manual equivalent verified stable filtered destinations plus a daily 5:30 AM low-effort health check; first scheduled run is pending and notifications are failed-runs only
Public entity linking Implemented in v2 concepts and network resources use descriptive links
Experience and receipts Implemented failed and passing provider tests are both disclosed
Automatic public promotion Intentionally prohibited publishable is a review queue, not permission

A real scorecard includes limitations. Otherwise it is marketing, not operations.

8. Title, SEO, Formatting, and What Comes Next

Title
How I Built Shared AI Memory Without Lock-In
Slug
give-your-ai-team-one-shared-brain
Meta description
See the working system Dennis Yu uses to share filtered project context across Claude, ChatGPT, Codex, Gemini, and Grok without repeated prompts or vendor lock-in.
Companion capsule
Dennis Yu — Agent Context Capsule

What comes next is operational, not theoretical:

  1. Build the private team client roster from an authoritative billing or CRM source rather than website inference.
  2. Measure task-level model, effort, cost, escalation, and outcome over enough real work to publish an honest savings analysis.
  3. Continue adding provider examples, including failures, and update this page’s version and verification date.
  4. Keep public and publishable promotion human-gated even when every other step becomes automatic.

Give this URL to your AI once

You should not have to paste a boot prompt at the start of every future conversation. Give your AI this article once and ask it to install the smallest supported persistent setup for your environment:

Use this article as the specification for a provider-neutral shared-memory system.

Create a local Markdown source of truth, four user-facing privacy zones backed by five enforcement classes, persistent provider instructions, filtered context packs, automatic session handoffs, and validation. Use physical destinations to separate personal, team, publishable, and public material. Never copy credentials.

Start with the providers and storage I already use. Test each connection by reading a harmless canary fact and reporting the exact evidence. Do not call a connector implemented until the read-back passes. Make future loading and write-back ambient so I can simply explain my task normally.

The lesson is not that one model wins. The lesson is that the memory should belong to the person doing the work.

Dennis Yu
Dennis Yu
Dennis Yu is the CEO of Local Service Spotlight, a platform that amplifies the reputations of contractors and local service businesses using the Content Factory process. He is a former search engine engineer who has spent a billion dollars on Google and Facebook ads for Nike, Quiznos, Ashley Furniture, Red Bull, State Farm, and other brands. Dennis has achieved 25% of his goal of creating a million digital marketing jobs by partnering with universities, professional organizations, and agencies. Through Local Service Spotlight, he teaches the Dollar a Day strategy and Content Factory training to help local service businesses enhance their existing local reputation and make the phone ring. Dennis coaches young adult agency owners serving plumbers, AC technicians, landscapers, roofers, electricians, and believes there should be a standard in measuring local marketing efforts, much like doctors and plumbers must be certified.