+-----------------------------------------------------------------+
|  SYSTEM MAP                              may 2026 -> oct 2026   |
|  six months of building things that build things                |
+-----------------------------------------------------------------+
$ agent-traces ls --all --json | wc -l          # every agent session on this machine
2998
$ gh repo list royalaid --limit 100            # every repo that moved since april
51 touched, 12 public, 39 private
$ cat summary.txt 

tl;dr

I run several coding agents at once (Claude Code, Codex, OpenCode, Grok,
a resident agent called Hermes) on a few machines. Most of what I built
since May is the plumbing that lets them hand work to each other, remember
what happened, stay safe unattended, and ship results somewhere I can read.

Nothing here was planned as one system. Each piece answered a failure of
the piece before it. This page is the map after the fact.

pulse

commits / month  (personal repos, de-duplicated, work excluded)

may  ########                                          154
jun  #####                                             109
jul  ##########################                        527
aug  ###########                                       220
sep  #######################                           459
oct  #############################################    891  (10 days)

sessions indexed  2998  (about 2400 once empty probe sessions are dropped)
harnesses         claude, codex, t3, opencode, grok

the seed (may)

2026-05-01  a "second opinion" suite
            Claude drafts. Codex independently checks the plan, the doc,
            the root cause, the fix. Two model families, one verdict.
            second-opinions ---> delegation skills ---> roles, not models
                  |                                        |
                  +--> goal-forge ---> unattended runs     +--> handoff mailbox
That one habit (never trust a single agent's word) turned into the
orchestrator / worker / reviewer split that everything later uses.
Same month: a first keep-it-alive fix so an agent runtime survives
a closed terminal. Boring, and it turned into half the infrastructure.

timeline

may   second opinions . agent runtime kept alive . first skills repo
jun   06-11 "commander": one thread steers three repos on goal loops
      06-11 lore born (agent work-trail memory)
      06-19 code-search MCPs wired into every harness
      06-29 one-command publisher + 3D blog homepage
jul   delegation skills . T3 Code fork . first destructive-command guard
aug   Hermes fork + nightly lane sync . slop (artifact host) . usage tracker
sep   09-04 harbor goal written . 09-26 telepathica . 09-28 agent-traces
oct   10-03 Rust guard + patched Codex sandbox . 10-05 harbor absorbs the small repos

how it weaves

                         YOU
          threads . chat . links . approvals
                          |
     +--------------------+--------------------+
     |                    |                    |
  HAND OFF            REMEMBER              PUBLISH
  telepathica  <-->  lore + chartroom  <-->  slop + royalaid-sites
  (mailbox)           (notes, docs)          (pages, one link)
     |                    ^
     v                    |
  WORKERS ---- trace ----> agent-traces
  claude . codex . opencode . hermes
     |
     +--- SKILLS ----- one source, five harnesses
     |      +--- agent-guard   (deny the irreversible)
     |      +--- bosun         (tool friction -> the repo that owns it)
     |
  HARBOR ---- backup . catalog . health . restore drills
     |
  own-tools-sync ---- every merged change, every machine, ~15 min

four loops

[1] delivery
    task -> orchestrator makes the design calls -> closed contract
    -> worker in its own worktree -> reply "done" or "blocked"
    -> independent review -> merge -> sync installs it everywhere

[2] memory
    session -> traced -> lore distills overnight -> notes I review
    -> injected into the next session's start

[3] friction
    agent hits a broken tool -> bosun report, keeps working
    -> filed in chartroom -> fix lands in the owning repo -> loop [1]

[4] publish
    anything visual -> one HTML file -> slop -> one stable link
    (you are looking at the output of this loop)

the parts

core
  harbor            monorepo: backups, service catalog, health, a folder per tool
  skills            ~45 hand-written skills, one source, read by 5 harnesses
  telepathica       mailbox for handing work between agent sessions
  agent-traces      cross-harness session search and handoff            public
  lore              memory: captures agent work, distills it, feeds it back
  chartroom         plans, specs and handoffs kept outside git
  bosun             routes tool friction to whoever owns the fix
  agent-guard       deny-only safety hook for unattended agents (Rust)
  own-tools-sync    keeps every machine on the latest of all of the above

runtime
  hermes            resident agent with chat, cron and a task board       fork
  hermes lane sync  nightly rebase of my fork onto a fast-moving upstream
  t3code            thread GUI that shows all the agents                  fork
  codex             patched so unattended runs stop hanging on Windows    fork
  helium-mcp        one shared logged-in browser for every harness

publishing
  slop              agent-oriented static artifact host
  royalaid-sites    one command, local folder to live subdomain
  dotfiles          shared agent instructions, identical everywhere        public

side quests
  homepage          blog rendered as a 3D illusion, then a playable castle
  fc-vid-uploader   Farcaster client tooling: X video into casts, feed work
  rift-wizard-explorer   offline game build planner
  leet-code-fixer   study app with an agent coach (ancestor of lore)
  clipsync          clipboard sync across phone, Mac, Windows
  novaconnect       tray app for headset power state and audio switching
  fxtwitter-copy-link    tiny Chrome extension                            public

patterns that kept repeating

 1  every failure grew a layer
    a broken backup became a fleet repo, then an unnoticed outage became
    independent monitoring. A hung agent became a patched sandbox.

 2  roles, not model versions
    orchestrator, executor, reviewer, light. Models change monthly;
    skills never name one.

 3  receipts over claims
    "fixed" has to come with a check someone else can rerun.

 4  one source, many hosts
    edit once, a 15 minute loop carries it to every machine.

 5  carry forks, don't hand-merge
    patch sets re-applied by scripts and by models that resolve their
    own merge conflicts.

 6  consolidate late
    many small repos in summer, one monorepo in october, old repos left
    behind as one-way mirrors.

 7  autonomy needs a floor
    agents run freely; a small guard blocks the few things that cannot
    be undone.

method

Mined with agent-traces (sessions since 2026-05-01, the first day the local
stores have anything) and gh (repos pushed since 2026-04-01), fanned out
across parallel read-only scouts, one per area. Counts are approximate.
Work projects and archived experiments are left out on purpose.