Case study · personal infrastructure · 2026

fowler-brain.

A portable, version-controlled personal AI operating system. Two layers in one git repo. Eight tool adapters compile from a single source of truth. Lessons graduate to rules. Strategy lives alongside the operating model.

The Brain without Strategy is a better prompt. Strategy without Brain is a file that gets ignored. The integration is the point.

Phases shipped4 / 6
Tool adapters8
Lessons captured80+
CadenceSat 8a CT
§ 01 · The problem

Every AI tool drifts independently.

If you use Claude Code in one terminal, Cursor in another, Claude.ai for ideation, an Ollama model for offline work, and a custom agent or two on top — you're maintaining five separate notions of "how Justin works." Each tool gets re-taught the same lessons. Each tool drifts in its own direction. None of them remember what you decided last quarter.

The conventional fix is a prompt library. Save the good prompts somewhere, paste them when needed. This breaks at scale — prompts aren't enough to encode how you actually think, the prompts don't propagate when you switch tools, and the prompts have no lifecycle: nothing graduates, nothing retires, nothing connects an in-the-moment insight to the rule that should prevent the next occurrence.

The deeper problem: the most valuable assets in your work — the lessons you've learned, the way you frame decisions, the vocabulary you've evolved — are the assets least likely to be version-controlled. They live in your head, where they drift. They live in scattered notes, where they rot. They live in chat history, where they're lost when the context window resets.

§ 02 · The architecture

Two layers. One repo.

Layer 1

The Brain — operating system

How I think, work, and communicate. Compiled into adapters for every AI tool I use. Single source of truth; tools recompile downstream.

  • global/ — identity, principles, communication norms, model policy
  • contexts/ — per-project knowledge (Salesforce, PurpleChipmonk, Atlas, infra)
  • workflows/ — 11+ named protocols (spec-first, error-triage, lesson-capture)
  • templates/ — PR descriptions, decision docs, incident reports, one-pagers
  • vocabulary/ — phrases, glossary, failure modes, anti-patterns
  • lessons/ — capture · promote · archive
Layer 2

The Strategy — life plan

What I'm doing with my career, my capital, and my decade. Plans, weekly actions, tracked metrics, falsifiable tests with pre-committed kill conditions.

  • strategy/plans/ — 10-year plan, three planks, 90-day gate
  • strategy/weekly/ — current week's action plan and commitments
  • strategy/tracking/ — post backlog, metrics, post log
  • strategy/reviews/ — Saturday-coaching outputs, decisions log
  • strategy/templates/ — manager email, network email patterns

A Brain that knows my style but not my goals optimizes the wrong thing. A Strategy file with no operating discipline gets ignored after week 2. Bundling them keeps Tuesday's decisions traceable to Saturday's strategy review traceable to the long-range plan — without any of those layers losing their own granularity.

§ 03 · The operating loop

Capture. Review. Promote. Distribute. Execute.

01

Capture

Friction, insights, decisions land in lessons/ via scripts/capture.sh or the /capture slash command. Same act for every AI tool — the lesson lands once, regardless of where the friction happened.

02

Review

Saturday 8–9 AM CT coaching review covers both layers: rule health (Brain) and plank scoring (Strategy). Automated coaching script flags rules that haven't been touched in 90 days, lessons with 3+ occurrences, and strategy drift.

03

Promote

Lessons with 3+ occurrences graduate to rules. Domain-specific rules land in contexts/<project>.md. Global rules land in global/principles.md or global/communication.md. Lessons that didn't generalize get archived but stay searchable.

04

Distribute

scripts/rebuild.sh compiles the Brain into tool-specific adapters: CLAUDE.md for Claude Code, .cursor/rules/*.mdc for Cursor, system prompts for local agents, preferences bundles for Claude.ai projects.

05

Execute

The tools consume the adapters. I work. New friction becomes new lessons. The loop closes weekly at the Saturday review. The Brain compounds; nothing slips out the back.

§ 04 · The distribution matrix

One source. Eight surfaces.

The compile step is what makes this different from a notes folder. Every adapter is a deterministic function of the Brain — so a change to global/communication.md propagates to every downstream surface on the next rebuild.sh.

SurfaceAdapter formatWhere it lands
Claude Code · main projectCLAUDE.mdProject repo root
Claude Code · secondary projectCLAUDE.mdSecondary repo root
Cursor.cursor/rules/*.mdcPer-project rule directory
Atlas worker agentssystem promptAgent system-prompt directory
OpenClaw HQsystem promptMulti-agent gateway base prompt
Claude.ai · per-projectproject instructionsManually pasted, bootstrap URL referenced
Claude.ai · user preferencespreferences bundleAccount-level user preferences
Local Ollama modelssystem promptPer-model prompt template

One change at the source. Eight surfaces stay coherent. The cost of changing my mind about how to write a PR description goes from "update eight places, miss one, drift starts" to "edit one file, run one script."

§ 05 · Phase status

Four phases shipped. Two trigger-deferred.

Phase 1
Foundation
repo · gitleaks · launchd · saturday review live
Complete
Phase 2
Protocols
11 workflows · 7 templates · 9 prompts · phrase recognition
Complete
Phase 3
Automation
rebuild · capture · emergency-freeze · brain-test · dashboard-build
Complete
Phase 4
Integration
adapters distributed to Atlas, OpenClaw, Cursor, Claude Code
Complete
Phase 5
Sophistication
lesson-promotion algorithm · dormant asset detection · rule conflict resolution
Trigger-deferred
Phase 6
Evolution
quarterly architecture review · versioning · migration runbook
Trigger-deferred

Phases 5 and 6 are deferred by design — they fire when their triggers fire, not on a calendar. Sophistication starts when a month of accumulated lessons gives the promotion algorithm enough signal. Evolution starts at the first quarterly architecture review. Neither is "behind schedule"; both are queued behind the conditions that make them worth doing.

§ 06 · Why this beats the alternatives

Compounds across tools.

What most operators do

  • A folder of saved prompts that drifts from how you actually work
  • Per-tool settings panels — each tool gets its own truth
  • Lessons live in chat history; lost on context reset
  • Strategy documents written annually, ignored monthly
  • No connection between Tuesday's friction and Saturday's review

fowler-brain

  • Single git repo · branchable, diffable, blameable
  • One source of truth · eight tool adapters compile from it
  • Lessons captured at the moment of friction, reviewed weekly, promoted when they repeat
  • Strategy lives in the same repo; Saturday review covers both
  • iPhone-editable via Working Copy when an insight lands away from the desk

The architectural win: the Brain is a small, stable system that powers a large, evolving set of tools. Adding a new tool means writing one new adapter, not re-deriving how I want it to behave. Changing how I work means editing one file and re-running the compile.

§ 07 · Prevention layers

Each rule pays for a past incident.

The Brain isn't theoretical. Most of its rules were paid for in real friction — incidents that cost time, broke a deploy, or generated the wrong output. A few examples (all are real rules, all are documented in lessons/):

  • Never-silent-delegation rule. When a delegated subsystem (Atlas, Linear webhook, MCP server) is unhealthy, announce the red channel before falling back to a local path. Came from an incident where a Linear webhook was silently down and the local fallback masked the outage for hours.
  • MCP preflight banner. At session start, a banner prints the count of failed MCP dispatches in the last 24 hours. Surfaced after an Atlas-down event went unnoticed across multiple sessions.
  • Verification-before-completion rule. No "done" / "fixed" / "deployed" claim without a verification path on a different surface than the one being verified. Came from a series of incidents where a tool's success message was reported as truth — when the actual prod state was broken.
  • No-speculative-Supabase-views rule. Verify a view exists before wiring a UI page to it. Caused by wiring three dashboard pages to view names that had never been created.
  • Twin-label-field detector. Codified as a rule in the operating context for Salesforce work, and as a detector in the audit primitive (see Six-Layer Integration Audit).

Each rule is small. Each one prevents a specific class of recurrence. The compounding value isn't in any single rule — it's in the population of rules, every one earned, every one indexed by the lesson that justified it.

§ 08 · Methodology & disclosure

Personal. Private. Open architecture.

fowler-brain is a private repository — the contents include identity files, strategy decisions, weekly action plans, and lessons from real engagements that wouldn't survive open publication. What's portable, however, is the architecture: the two-layer split, the capture-review-promote-distribute-execute loop, the rebuild-script-as-distribution model, the lesson-bound-rule pattern.

Private

  • Repository contents, including all lessons, contexts, and strategy files
  • Specific rule contents (e.g. the exact text of the never-silent-delegation rule)
  • Identity, financial, and customer-engagement specifics in strategy
  • Adapters as distributed to specific surfaces (paths and configs)

Open

  • The two-layer architectural pattern (Brain + Strategy in one repo)
  • The five-step operating loop (capture → review → promote → distribute → execute)
  • The rebuild-script-as-compiler model (one source · many adapters)
  • The lesson-bound-rule pattern (each rule cites the incident that justified it)
  • The phase-status framework with trigger-deferred phases

If you're an operator considering building something similar: the architecture works. The discipline is harder than the architecture. The compounding only starts after about three months — by which point the rebuilt adapters are already cheaper to maintain than per-tool settings would be.

§ 09 · Read the source

Architecture on request.

The fowler-brain source repository is private. The architecture pattern, distribution model, and operating loop are described in this case study and are free for any operator to adapt to their own setup.

If you'd like architectural diagrams or a walkthrough — reach out. I'm happy to share the design rationale and the failure modes I've worked around.