Memory · 01 — The Codex
The Codex is your business’s long-term memory. Markdown files holding voice, ICP, pricing rules, decisions, meeting history, SOPs. Codified once, edited continuously, read by every downstream Claude session. This is the chapter you write first. Every other chapter assumes the Codex exists.
Why this comes first
Every conversation Claude has downstream reads from the Codex. Without it, every prompt is generic — Claude knows about software engineering in general, not about your business. With it, every prompt is specifically yours. The Codex is what makes the difference between “AI is smart” and “AI runs my business.”
A reader who skips this chapter and tries to install workflows (Habits), connectors (Senses), or evals (Learning) first will spend weeks debugging why the outputs don’t sound like them. The fastest path through the whole playbook is installing the Codex completely before touching anything else.
What “installed” looks like
The Codex is installed when, on a brand-new Claude conversation with no prior context, you can ask “draft a follow-up email for [a real recent prospect]” and the output reads like you wrote it. Specifically:
If all seven are true, you can move to Memory · 02 (the Wiki).
The 7-day install sequence
Day-by-day plan for a solo operator. A 5-50 person firm doing this for the team scale takes ~3 weeks and runs in parallel with stakeholder interviews.
| Day | Install | Why this order |
|---|---|---|
| 1 | Folder structure + index.md |
The skeleton holds everything; do it once and never touch again |
| 2 | voice.md |
Voice is the easiest to extract — pull from your own writing |
| 3 | icp.md |
Reads voice; uses your existing sales notes as raw input |
| 4 | decisions.md + first 5 entries |
Backfill the last 30 days of real decisions |
| 5 | One sops/ file for your most-repeated process |
Proves the SOP shape; you’ll add more over weeks |
| 6 | meetings/ folder + Granola sync wired |
Sets the auto-input pattern for the next 6 months |
| 7 | Wikilinks audit + index update | Tightens the graph so Claude can navigate |
The work itself is ~1–2 hours per day. Most of that is reading prompts back to yourself and editing. The Claude Code session does the structural drafting.
The six files (templates + prompts)
1. voice.md — how you sound
What it holds. The patterns, cadences, words, and bans that define your written voice. Not a brand-style guide (too abstract). A concrete description of how you write so Claude can produce text that lands as yours.
Template structure:
---
type: voice-profile
owner: [your name]
last-reviewed: [date]
---
# Voice Profile
## Sentence rhythm
- typical sentence length: [X words]
- short sentences for: [emphasis / one-liners / closing]
- long sentences for: [argument / context / qualification]
## Vocabulary preferences
- [3–7 words you use deliberately]
## Anti-patterns (never do this)
- [3–7 things you do NOT do — e.g. em dashes, "Excited to share", forced curiosity hooks]
## Verbatim examples
- [3–5 sentences pulled from real recent writing that exemplify the voice]
## Voice fingerprint (paste at top of any Claude prompt)
[3 lines that distill the above into a copy-pasteable header]Prompts to extract it:
- “Pull my last 10 LinkedIn posts (or recent emails / proposals / Slack messages). Don’t summarize them. List every distinct sentence pattern you see, every vocabulary preference, and every anti-pattern. Output as bullet lists I can edit.”
- “Now write a 3-line ‘voice fingerprint’ I could paste at the top of any prompt to enforce this voice.”
Common mistake. People skip the verbatim examples section and write abstract descriptors (“direct, punchy, no fluff”). Claude can’t generate from abstractions. Three real sentences beat ten adjectives every time.
2. icp.md — who you serve
What it holds. A specific buyer profile. Not “small businesses.” A specific person at a specific company stage with a specific pain that you have specifically solved before.
Template structure:
---
type: icp-profile
owner: [your name]
last-reviewed: [date]
status: verified | hypothesis
---
# Ideal Customer Profile
## One-line definition
[Role + company stage + the specific pain you solve, in one sentence]
## Firmographics
- size: [X to Y people]
- stage: [revenue / EBITDA range]
- industry: [specific verticals or types of work]
## The buyer (not the user)
- title: [who signs the check]
- background: [what got them here]
- typical day: [what they spend time on]
## Verified emotional needs (from real prior clients)
| Need | Quote |
|---|---|
| Efficiency | "Help me save time and money through automations" |
| [...] | [verbatim from a real call] |
## What they tried that didn't work
- [3–5 alternatives they considered or used before you]
## Triggers (when they come to us)
- [3–5 specific moments that send them looking]
## Disqualifiers (when this is NOT the right ICP)
- [3–5 things that mean this is the wrong buyer]Prompts to extract it:
- “Read [paste the last 3 sales call transcripts or proposal docs]. For each, extract: who the buyer is, what triggered them, what they tried first, the verbatim emotional needs they expressed. Aggregate into a single ICP profile draft.”
- “Compare this draft against [
framework/framework.mdICP section]. Note where they agree and where they diverge. Flag divergences for me to resolve.”
Common mistake. Writing the ICP from who you wish bought from you instead of who actually has. The “verified emotional needs” section is the antidote — if you can’t quote a real prospect saying it, leave it out.
3. decisions.md — append-only decision log
What it holds. Every consequential business decision, dated, with rationale. New entries get appended; old ones never get edited. When a decision is superseded, the new entry references the old one.
Template structure:
---
type: decisions-log
owner: [your name]
append-only: true
---
# Decisions
## 2026-06-07 — Cortex is the brand name
**Context.** Old name "AI Operating System" was generic across consultancies. Bootcamp + Karpathy + Play Bigger research pointed at a single-word brand with category subtext.
**Decision.** Brand = Cortex. Category subtext stays "AI Operating System." Tagline ladder: *Your business, on autopilot. → Owner. Team. OS. → Memory. Senses. Habits. Learning.*
**Supersedes.** [2026-06-03 decision to keep "AI OS" as primary name]
## [next decision]
...Prompt to backfill:
- “List the last 30 days of consequential decisions I’ve made
(look at git history, recent meeting notes in
meetings/, and Slack saved items). For each, draft an entry indecisions.mdformat. I’ll edit before committing.”
Common mistake. People treat
decisions.md like a to-do list. It is not. It is the record
of choices already made, written so a future reader (you, or
Claude in a session 6 months from now) can understand why the
system is the way it is. If you find yourself writing future tense,
you’re using it wrong.
4. sops/ — folder of repeatable processes
What it holds. One markdown file per repeatable process. Not every process — just the ones you do regularly enough that codifying saves time the third time you run them.
Template structure (per SOP):
---
type: sop
process: [name]
trigger: [what initiates this process]
owner: [who runs it]
last-run: [date]
---
# SOP: [Process Name]
## When to run this
[1–2 sentences describing the trigger]
## Inputs required
- [what must be on hand before starting]
## Steps
1. [step 1, concrete]
2. [step 2]
...
## Output
[what gets produced / where it lands]
## Pitfalls
- [3–5 things that go wrong and how to avoid them]Start with these 3 SOPs first:
- Onboarding a new client (your highest-stakes repeatable process)
- Sending a weekly status update (your highest-frequency repeatable process)
- Closing the books / running invoicing (your most error-prone repeatable process)
Common mistake. Writing SOPs in the abstract before you’ve run the process enough times to know what actually trips you up. If you’ve done it fewer than 3 times, you don’t have an SOP yet — you have a hypothesis.
5. meetings/ — meeting transcripts + classified
notes
What it holds. One file per meeting. Granola (or
Fathom, or Otter) generates the transcript. A skill like
/meeting-cortex classifies and routes it. The Codex is
where the classified note lands.
Naming convention:
meetings/
├── 2026-06-07_client-call_acme-corp.md
├── 2026-06-06_brainstorm_naming-the-cortex.md
└── 2026-06-05_customer-interview_jane-smith.md
Each file’s frontmatter:
---
type: meeting
date: 2026-06-07
classification: client-call | brainstorm | customer-interview | general
participants: [names]
related: [[icp.md]] [[decisions.md]] [[sops/onboarding.md]]
---The auto-input pattern. Once
/meeting-cortex is wired (Habits · 03), every Granola
meeting becomes a file here within minutes. The Codex grows without you
typing notes. This is the single highest-leverage habit in the whole
playbook.
6. Wiring it together — wikilinks + index
What it holds. A top-level index.md (or
use your existing README.md) that points to every file in
the Codex. Each file uses [[wikilinks]] to reference
related files.
Why wikilinks matter. When Claude reads
voice.md and sees [[icp.md]], it knows to pull
icp.md into the context too. The graph compounds: every
file makes every other file more useful.
Template index.md:
# Codex Index
## Voice + identity
- [[voice.md]] — how I sound
- [[brand/]] — visual identity (if separate)
## Who we serve
- [[icp.md]] — ideal customer profile
## What we decide
- [[decisions.md]] — append-only decision log
## How we work
- [[sops/onboarding.md]]
- [[sops/weekly-status.md]]
- [[sops/invoicing.md]]
## What was said
- [[meetings/]] — meeting transcripts + classified notes
## How this connects to the rest of the OS
- [[../02-senses/]] — what touches the world
- [[../03-habits/]] — what runs on top of the Codex
- [[../04-learning/]] — how the Codex audits itselfTooling: Obsidian renders [[wikilinks]]
natively into a navigable graph. Plain markdown editors show them as
text but Claude still uses them as routing hints. Either works.
Pitfalls + decisions (the “if X, then Y” guide)
| Situation | What to do |
|---|---|
| You already have a brand voice doc somewhere else | Don’t rewrite. Symlink it into the Codex.
ln -s ~/path/to/old/voice.md ./voice.md keeps one source of
truth. |
| Your ICP has shifted in the last 12 months | Write both versions in icp.md, dated. Mark the old one
superseded with a ## Historical section.
Never delete. |
| You’re tempted to write a 50-page SOP because the process is complex | Stop. Write the 5-step version. Add the complexity inline only when a step has actually gone wrong. SOPs are documentation, not a manual. |
meetings/ is empty because Granola isn’t wired yet |
Skip Granola for now. Drop manually-written summaries in instead. The pattern is what matters; the auto-input comes later (Habits · 03). |
| You can’t tell where your voice lives in your writing | Use prompt #1 in voice.md (the extractor). Don’t try to
introspect — let Claude pattern-match across 10 real samples and tell
you. |
| Some decisions feel too small to log | If you’ve explained the reason to anyone in the past 30 days, log it. If you’d be annoyed to re-explain it to a new team member, log it. |
You’re not sure if a piece of content goes in
decisions.md, sops/, or
voice.md |
Default: decisions.md. It’s the safest because it’s
append-only and dated. Move later if needed. |
Worked example — William’s own Codex
| File | Lives at | Status |
|---|---|---|
voice.md |
~/hub/8. ai-os/framework/voice.md |
✅ ~80 lines, derived from real source material |
icp.md |
~/hub/0. pathlight/2. strategy/icp/ |
✅ Multiple variants + emotional-need verification |
decisions.md |
~/hub/0. pathlight/2. strategy/DECISIONS.md |
✅ Append-only, supersedes pattern in place |
sops/ |
~/hub/0. pathlight/skills/ +
~/.claude/commands/ |
✅ ~31 commands, ~40 skills already codified |
meetings/ |
~/hub/5. meeting notes/ |
✅ Auto-routed via /meeting-cortex +
/granola-sync |
| Wikilinks | ~/hub is one big Obsidian vault |
✅ Renders as a graph; Claude uses links as routing hints |
Three things to notice: 1. The Codex is spread across two
folders — ~/hub/8. ai-os/framework/ (the IP doc)
and ~/hub/0. pathlight/ (the strategy vault). That’s
intentional. The IP is portable to clients; the strategy is private. The
Codex doesn’t have to be one folder. 2. sops/
doesn’t exist as a folder name — the work lives in
~/.claude/skills/ and ~/.claude/commands/
because Claude needs them as installable skills. The function (codified
repeatable processes) is the same; the location follows the tool. 3.
Wikilinks happen for free because ~/hub is
one big Obsidian vault. If you’re not on Obsidian, use relative paths or
filenames — Claude resolves both.
Definition of done
You can move to the next chapter when ALL of the following are true:
- ✅ A brand-new Claude session, with no prior context, can read your Codex and draft outputs that sound like you.
- ✅ The seven acceptance criteria at the top of this chapter all check out.
- ✅ You’ve appended at least 5 entries to
decisions.mdin the last 30 days. - ✅ At least one SOP has been used (not just written) since installation.
- ✅ At least one meeting transcript has landed in
meetings/since installation. - ✅ You’ve shown the Codex to one other person and they could find what they were looking for in under 60 seconds.
If 1–4 are true but 5–6 are not, that’s fine — keep going to the next chapter. The Codex grows over time.
Skills + commands this chapter installs
| Skill / Command | What it does | When you’d run it |
|---|---|---|
/kb-ingest |
Pulls a raw source into the wiki layer | After a long-form input (article, brain dump, PDF) you want compiled |
/pathlight-ingest |
Proposes a change-set to the strategy vault | After a meeting or external input that should land in
decisions.md or strategy docs |
/pathlight-apply |
Applies approved change-sets | When you’ve reviewed and ticked items in a proposed change-set |
/granola-sync |
Pulls Granola meetings into the right hub folder | After every recorded meeting |
/meeting-cortex |
Classifies + routes a meeting into the right place | If a meeting needs more than a default file landing (decision routing, multi-folder distribution) |
Install instructions for each command are in ../03-habits/01-skills-and-commands.md.
Bridge to the Diagnostic
When this chapter is delivered to a 5–50 person SMB client through Pathlight’s Cortex Diagnostic, the install plan looks like:
Phase 1, Weeks 1–3: Install [Client]’s Codex. By end of week 3, [Client] has
voice.md,icp.md,decisions.md, and 3 SOPs codified.
- Week 1: We interview key people. You don’t have to type anything. Granola records.
- Week 2: We draft from those interviews. You edit. We commit.
- Week 3: We hand over the running Codex + a 15-minute walkthrough video.
Acceptance: Test prompts in a clean Claude session produce outputs in your voice, naming your real ICP.
The chapter is the script. The Diagnostic is the engagement.
Next chapter
→ 02-the-wiki.md —
Install the Karpathy-style LLM wiki so raw sources compile automatically
into linked knowledge.