ReadyCIO
Menu

MyVault

The learning loop

How to take what you learn about working with AI and make it repeatable, automatically applied, and continually improved. The method behind everything else on this site.

For both knowledge management

The loop, as drawn on the board

  1. 1

    Learn

    A gotcha, a decision, a pattern, settled mid-session.

  2. 2

    Save

    One note, one idea, an index line written for a stranger.

  3. 3

    Apply

    The index is in every session’s context before work starts.

  4. 4

    Garden

    Audits on every change; contradictions resolved, never kept.

Forgetting is the biggest cost in AI-assisted work, and almost nobody is measuring it. Every team learns the same lessons: which prompts produce good tests, which database setting silently breaks permissions, which vendor’s API needs polling. Then the next session, the next project and the next person learn them again.

A company that fixes this does not get faster once. It gets faster every month, because every lesson learned is applied from then on without anyone having to remember.

This section is about the fix. I call mine the vault. It is not a product. It is a folder of notes and a handful of habits, and it is the single thing that turned my work with AI tools from fast into compounding.

What it is, in one paragraph

A git repository of short Markdown notes, one idea each, linked to each other, with a single index file listing one line per note. Notes are typed: things built, reusable patterns, decisions with their reasoning, lessons distilled from sources. At the start of every AI session, a small hook pulls the repository and puts the index into the tool’s context. A standing rule tells the tool: before proposing an approach to anything non-trivial, check whether a note applies, and say which ones you used.

That is the whole mechanism. The rest is habits.

Not a diagram — the vault, live

MyVault is a private, git-backed knowledge base. The numbers, the map and the patterns below are drawn from its real notes, with client names removed, surveyed September 12, 2026. Building your own? Read the guide →

63
notes written
250
note ↔ note links
8
stubs marked
6
raw sources archived
3
regions, 2 bridges

The link map

The vault as it stands, drawn from the notes’ real cross-links rather than a diagram of how it is supposed to work.

Drag sideways to see the whole map

THE VAULT ITSELF AI ENGINEERING CRAFT THE CLIENT BUILDS same tenant-isolation problem linked 2026-08-23 portal reuses the plan’s RLS tenancy claude-code-skill- model-pinning artifact-cross- account-scoping vault-build-session vault-atlas vault-ambient-recall vault-self- surfacing-session vault-cross- account-saving team-vault-authorship- and-conflict-rules vault-architecture- markdown-git vault-skill-availability new-project- genesis-automation distinctive- frontend-design ai-design- quality-playbook vault-self- improvement-session vault-first- garden-session vault-public- build-guide prompt-as- fetchable-url grill-me- inversion-pattern ai-clarified-intake- with-app-map harness-engineering context-preservation- frameworks instrumentation-invariants- and-deploy-tagging agent-backend-concept supabase-management-api- token-for-auth-config multi-repo-shared- supabase-tables emergency-handoff- automation continuous- security-pass work-ticket-skill vercel-static-page- rest-deploy supabase-realtime-publication- must-list-tables user-pref-overrides- flatten-theme-defaults supabase-rls- authorization-boundary static-security- audit-playbook supabase-column-grants-are- additive-not-restrictive client- portal-plan ticketing- implementation-plan client-crm- app-blueprint internal-app- test-coverage-gap port-the-product- not-the-platform centralized-polling- with-poke-broadcast mcp-gap-token- escape-hatch astro-tailwind-vercel- setup-gotchas client-site- roadmap-design-direction client-site- positioning-fractional-cio client-site- atlas-sync-session private-source-public- copy-drift-check linkedin-content- pipeline-from-site artifact-publish- refused-stale-view vault-cloud-op- team-vault-session astro-content- notebook-build client-site- knowledge-site-direction portable-svg-logos-outline- type-and-clip-glyph-parts probe-harness-checkout- reverts-hand-edits readability-pass- shape-not-length vault-red-ci-site- sync-script-session roi-time- savings-estimate ingest-once- distill-pattern mcp-remote-server- oauth-pattern vercel-for-platforms content-addressed- snapshot-store supabase-realtime- broadcast vitest-setup-pattern chat-app-crud- implementation-notes team-vault-edition- structure-and-setup bug-fix-vs- change-request vault-team-capable- conventions-session responsive-by-default- foldables-included playwright-responsive- screenshot-matrix rollback-options- by-layer ai-code-cost-of- ownership-content-angles vault-rollback- atlas-resurvey-session
thing built pattern decision lesson not yet written cross-project bridge
Every dot is one note and every line is a real link between two notes; bigger dots are more connected. Dashed hollow dots are links pointing at notes that do not exist yet, which in a vault marks something worth writing, not an error. Three regions hold: on the left, notes about the vault and its own tooling; on the right, the client builds and the belt of database gotchas they earned; between them, the craft of working with AI, which links the vault's machinery to the projects that apply it. Surveyed September 12, 2026: 63 notes, 250 links, 8 stubs.

What the cross-links reveal

Lessons no single note contains — they only appear when connected notes are read together.

A vault outlives the person who wrote it — and briefs the next one

Three notes written about different problems — handing work between developers, keeping context between AI sessions, and surfacing past lessons without being asked — turn out to describe one benefit when read together: the reasoning behind AI-built code, which git never records, survives the coder leaving, and the next coder (human or AI) gets it in the room automatically rather than having to know what to search for. That is why every note now carries an author, and why a team version resolves disagreements by asking the note's author instead of picking a winner by seniority.

In practice
A new engineer opens a session on a project they have never seen. Before they design anything, the last person's gotchas, decisions and dead ends are already in context — without a handover meeting.

  • team-vault-authorship-and-conflict-rules
  • team-vault-edition-structure-and-setup
  • emergency-handoff-automation
  • context-preservation-frameworks
  • vault-ambient-recall
  • vault-team-capable-conventions-session

EMERGING · decided 2026-09-06, live 2026-09-11 · 6 notes converge · handle authorship and supersede confirmers enforced in CI · not yet run by a team

The same rule, discovered four separate times

Four notes, written weeks apart about four different problems — watching apps for errors, handing work between developers, security checks, and fixing reported bugs — each arrived at the same rule without referencing the others: let the machine do the repetitive part, but a person always approves the actual change. When four unrelated corners of the work agree on one rule unprompted, it's a house principle, not a preference.

In practice
The security scanner runs overnight, files the issue, and even drafts the fix — but that fix ships only after a person has read and approved it.

  • instrumentation-invariants
  • emergency-handoff-automation
  • continuous-security-pass
  • work-ticket-skill

STRONG · found in 4 notes · 4 areas of work · reached independently

Two client products now stand on one security foundation

Instead of trusting every screen and feature to check "is this user allowed to see this?", both client builds let the database itself enforce it — a rule written once, applied to every request automatically. The approach was proven in one client's ticketing build, extracted as a reusable pattern, and reused wholesale in a second client's portal. Its three known weak spots are documented, and an automated test suite guards against them.

In practice
Someone at Company A physically cannot open Company B's tickets — and a brand-new feature added next year can't accidentally leak them either, because the database refuses, not the feature's own code.

  • supabase-rls-authorization-boundary
  • ticketing-implementation-plan
  • client-portal-plan
  • supabase-column-grants
  • static-security-audit-playbook

LOAD-BEARING · 5 linked notes · 2 client products · guarded by automated tests

The same escape hatch, hit on three platforms before it had a name

Four notes about four different jobs — spinning up a new project, fixing a sign-in email, publishing a page, shipping a contact form — each ran into the same wall: the AI's built-in connector to a platform covers the everyday operations and nothing past them, and can even report a failure that never happened. Each note found the same way out on its own: a personal access key stored once in the AI's environment, and a direct call to the platform's own API. Reading them together turned four workarounds into one rule, now written as its own note and wired into the project-genesis skill as a prerequisite rather than a rescue.

In practice
The connector says the project it just created doesn't exist. The dashboard shows it fine. The rule says: don't retry, don't delete — read it back through the key instead.

  • mcp-gap-token-escape-hatch
  • new-project-genesis-automation
  • supabase-management-api-token
  • vercel-static-page-rest-deploy

STRONG · found in 4 notes · 3 platforms · extracted 2026-09-04 · now a genesis prerequisite

Anything a person has to remember to sync will be forgotten — so the vault checks its own shadows

Five notes converge on one rule from different directions: a handoff-notes decision, a note on where skills must live to be found, a session wrap, and two drift notes written hours apart. The private vault has public shadows — an atlas page and a build guide on a website it cannot push to — and both went stale the same day, in two different ways. The copy lagged the source (nobody re-copied), and the source lagged the machinery it describes (nobody re-wrote). The fix was never "remember": a generator instead of hand copies, a stamp on every output saying what it came from, a check in the source repo's CI that reads the live pages, and a garden step that lists infrastructure changes the guide has not absorbed.

In practice
A resurvey lands in the vault. Ten minutes later its own CI goes red: the public page still shows last week's numbers. Nobody had to notice — the check did.

  • private-source-public-copy-drift-check
  • vault-public-build-guide
  • client-site-atlas-sync-session
  • emergency-handoff-automation
  • vault-skill-availability

STRONG · 5 notes · enforced in CI · fired twice on 2026-09-06, caught both

The worst bugs don't crash — they quietly do nothing

Linked notes from separate builds tell the same story: a feature can ship "working" while silently doing the wrong thing — totals subtly off, live updates connected but delivering nothing — and the user notices before the team does. The countermeasure that keeps recurring: write down the rules that must always be true, and check them automatically against real data, not just in tests.

In practice
A live-updates feature had shipped in a connected-but-delivering-nothing state; a one-line database check exposed it. Rules like "invoice totals must equal their line items" now run nightly against production data.

  • instrumentation-invariants
  • supabase-realtime-publication
  • supabase-column-grants
  • internal-app-test-coverage-gap

STRONG · 4 notes · 2 real bugs caught live

The three properties that matter

Repeatable. A lesson written as a note is written once. “Column grants are additive; revoke the table grant first or the narrower one is a no-op” was learned from a failing test on a Tuesday and has been applied to every project since without anyone thinking about it. The note is the memory. The person is free to learn the next thing.

Automatically applied. The index in context at session start is what makes this different from a wiki nobody reads. The tool sees “centralized polling with poke broadcast, for push-less APIs” in its first few hundred tokens, and when a task involves an API that cannot push, it connects the two on its own. No search, no remembering. The quality of each index line is what moves the odds: written for a stranger searching by problem, symptom and stack, not by title.

Continually improved. Notes go stale, contradict each other, and pile up. So the vault audits itself: a script that checks every link both ways and flags thin index lines, run automatically on every change. A gardening pass, monthly, merges near-duplicates and prunes.

And a conflict rule: if a new lesson contradicts an old note, stop and decide. Did I change my mind, or is the new information wrong? On a change of mind, the old note is updated in place with a dated line saying what it used to say and why it changed. Never two notes disagreeing. The history keeps the old version.

The habits that keep it alive

Save mid-session, not at the end. The moment a decision or gotcha is settled, it goes in. A long session’s context gets summarized, and the thing decided an hour ago is exactly what gets lost.

Read before designing. The obligation, not just the awareness. The tool is told to check, and to name the notes it applied, so stale ones get noticed.

Distil, do not dump. A raw source, a transcript, an article, is read once and turned into a note that stands alone. Nothing re-reads the raw source. Recall works on the distilled notes only.

Extract the general idea. Project work produces project notes. When a project note contains a lesson that would apply anywhere, it gets its own note that the project note links to. Otherwise the lesson is buried where only that project can find it.

For a company: the team version

Everything above works for one person. For a company it is the answer to a question leaders keep asking in different words: how do we make sure what one team learns about AI, every team gets, and how do we not lose it when someone leaves?

Two different payoffs answer that, and they arrive on a different schedule. The daily one: two people on different projects hit the same gotcha and solve it twice, which happens constantly and has nothing to do with anyone leaving. The rarer, sharper one: when someone does leave, the next person’s first AI session is already informed, because the record is put in front of the tool automatically rather than left for them to go and search for.

The team version adds four things to the mechanism above.

An owner. Someone whose job includes the monthly gardening pass, the same way someone owns the backlog. Every note also carries an author, so a genuine contradiction can be routed to the person who wrote it rather than argued about by whoever is in the room.

A route in. Anyone can save a note, from any tool, through the repository. A shared inbox folder for raw material that the owner distils.

A route out. Every project repository carries a pointer to the vault, so every AI session on every project starts with the same index. New projects get the pointer stamped in automatically. Nobody has to remember to connect it.

A conflict rule with no approval step. Two entries that look contradictory are usually both true under different conditions; state the boundary before calling it a conflict at all. When it is genuine, the author decides, or a named fallback if they have left, and the resolution is recorded, not silent.

What the rule deliberately does not add is review before a note gets saved — that would stop people writing things down in the moment, which is the one habit the whole thing depends on.

I have also used the same shape for something a vault is not: the bus-factor problem. A nightly automated draft of a handoff note per project, from the ticket system and the repository, that a developer edits and commits daily. The principle is identical. Logic that lives centrally cannot be forgotten or uninstalled per project.

None of it is tested by anything except an actual departure, which is a bad time to find out. So a quarterly drill, someone picking up a piece of work with zero help from whoever normally owns it, is the check that stays manual on purpose. Whatever they get stuck on is the real gap.

The full method for a team, with what good looks like for each part, is here: Standards and continuity for a small AI-coding team.

Why I would start here

If a company could do only one thing from its AI plan, I would pick this over any tool or feature. The tools will change. The lessons about using them well are what the company keeps, and a company that keeps them is a company that gets better at this every month while its competitors relearn.

Build your own

The full build guide, with the folder structure, the session-start hook, the standing rules and the audit script, is here: Build your own knowledge vault. It takes an afternoon. Start with ten notes, the ten things you would tell a new starter, and let the habit do the rest.

Earlier on this page is my own vault, mapped, and the six lessons that only showed up once its notes were linked. These pieces go deeper on individual parts.

Deeper