PCA: The Personal Context Artifacts
Before this, read:
- CLAUDE.md: teaching the agent your rules — the PCAs live adjacent to CLAUDE.md and extend it
- Files as state, not chat memory — PCAs are persistent files, not conversation context
There is a class of agent failure that has nothing to do with tools or retrieval. The agent has all the information it needs. It has access to the right files and the right APIs. And it still produces output that is wrong for the person it serves — the wrong tone in a draft email, a recommendation that contradicts how JD thinks about money, an action taken without the approval that JD would have insisted on.
This failure comes from not knowing the person. The Personal Context Artifacts are the fix.
Four files at ~/clawd/state/
Section titled “Four files at ~/clawd/state/”The PCAs are four markdown files that any agent can load before acting on JD’s behalf:
| File | What it is |
|---|---|
jd-wiki.md | Who JD is — identity, background, family, current projects, 8 domains, top ~20 people |
jd-mental-models.md | How he decides — trade-off priors on money, time, family, work, risk, energy |
jd-voice.md | How he writes — 10 examples, 10 anti-examples, voice rules (em-dash now banned), the tone |
jd-protocols.md | Hard rules that do not bend — time (family after 6pm is sacred), money ($500 cooldown, >$5K needs Sam conversation), comms, engineering |
These files are loaded explicitly on every session restart per CLAUDE.md’s “Session Awareness” section. They are not optional. The executive_assistant persona doc at agents/executive_assistant/persona.md forks from them.
Why separate files, not one big one
Section titled “Why separate files, not one big one”Each file serves a different agent use case:
jd-wiki.md is the “who is JD” reference. Loaded by the CEO orchestrator, the executive assistant, the chief of staff, and any agent that routes information to JD or decides which domain a task belongs to. It’s broad and factual.
jd-mental-models.md is the decision engine. The framing in it is explicit: “I prioritize FAMILY over WORK when the cost is reversible.” “I prioritize 80%-NOW over 100%-LATER for anything reversible.” “I prioritize EXISTING TOOLING over BUILDING NEW.” An agent recommending a course of action checks these models first. If the recommendation conflicts with a stated prior, the agent surfaces that conflict rather than hiding it.
jd-voice.md is narrow and specific. It exists only for agents that write as JD — draft emails, LinkedIn posts, newsletter content, Telegram replies that come from JD’s name. The ten example passages show the rhythm and vocabulary. The ten anti-examples name the patterns to avoid. The em-dash was explicitly banned (logged 2026-06-08 after JD’s directive) — that single edit changed the output of every draft-as-JD pipeline downstream.
jd-protocols.md is the hard rules file. Short on purpose. Anything that belongs here is a P0 error if violated, not a soft preference. Money rules, family time rules, Sunday Sabbath rule (no commercial transactions, no work email), communication rules, engineering rules. The protocols file stays short; if it gets long, the extras are soft preferences that belong in jd-mental-models.md instead.
When they were built
Section titled “When they were built”The PCAs were shipped on 2026-05-22 (CHANGELOG: “Phase 0 + Phase 1 shipped — 4 PCA file skeletons”). They were part of the Executive Assistant v2 build — the EA needed something more structured than “read CLAUDE.md” to generate JD-calibrated output.
The initial content was populated by the agent from existing sources: CLAUDE.md, SOUL.md, the ORGANIZATION-CHARTER, JD’s LinkedIn profile, public resume context. The PCA files were deliberately scaffolded with [FILL: ...] markers for details only JD knows — age, exact income mix, health targets, kid details. Those are for JD to fill in; the agent pre-filled what it could from public-record sources.
The design intent: PCAs are living documents. JD updates them after major life events (job change, kid milestone, project pivot) and quarterly otherwise. The [FILL: ...] markers are homework, not gaps to fabricate around.
How agents use them
Section titled “How agents use them”At session start (mandatory):
# From ~/agent-system/CLAUDE.md "When you start a new session"# Read all four PCA files — they are required reading for any session# that drafts as JD, makes decisions on JD's behalf, or surfaces information to JD.At draft-as-JD time (selective):
# agent loading jd-voice.md before generating a LinkedIn draftwith open("~/clawd/state/jd-voice.md") as f: voice_context = f.read()# inject into system prompt before calling the LLMAt recommendation time (mental-models check):
# Before recommending a $2,000 tool purchase# Check jd-protocols.md: $500 cooldown rule, $5K = Sam conversation# Surface the rule in the recommendation, don't bury itThe executive assistant is the primary consumer. Before drafting a reply to Sam’s email, before suggesting a calendar reshuffle, before deciding whether an incoming request warrants a Telegram ping at 7pm, the EA reads the relevant PCA file. This is not boilerplate — it changes the output. An agent that knows “family time after 6pm MT is sacred” will hold a non-urgent notification until morning. An agent that skips the protocols file will ping JD at 7:45pm and wonder why that’s a problem.
The autonomy ladder connection
Section titled “The autonomy ladder connection”The PCAs matter most where agent autonomy is highest. When the EA is deciding whether to auto-draft a reply, auto-schedule a follow-up, or escalate to JD for a decision, that decision is made against the autonomy ladder — a framework that lives in agents/executive_assistant/persona.md and references the PCAs directly.
The ladder has three levels:
- Auto-act — safe, reversible, within hard rules. The EA does it without asking.
- Propose-then-ask — meaningful enough to require JD’s approval. One message, one ask.
- Surface and wait — JD’s call. The EA surfaces the decision-shaped artifact and parks it.
The PCAs define the boundaries. Without jd-protocols.md, the agent can’t know which things require JD approval. Without jd-mental-models.md, it can’t make the 80%-now vs. 100%-later call on its own. The files are the shared contract between JD and every agent that acts on his behalf.
The honest limitation
Section titled “The honest limitation”The PCAs are static files that JD updates manually. This means they drift. If JD’s approach to risk changes after a major financial event, jd-mental-models.md won’t reflect it until he edits the file. If a new hard rule emerges (like the em-dash ban), it needs to be written in.
The v3 mnemosyne roadmap includes a “bi-temporal fact model” that would let the system reason about when JD’s stated priors changed over time. That’s a future capability. For now, the PCAs are a snapshot, not a live document — and they’re significantly better than having no snapshot at all.
Next: Nerve Center v5: the web cockpit — the Next.js dashboard that turns the agent system into something you can watch and steer.