You're viewing v1 — the original design (early 2026). Switch back to v2 top-right for what Emi is today.
← Home
02 · The Agent Fleet

One resident supervisor.
Generic workers.
Reviewed on every commit.

The fleet runs around the clock. A single supervisor stays alive, watches a list of jobs, and hands each one to a worker — a blank agent that becomes a specialist role just for that job. Before anything merges, an independent reviewer checks the actual change. A weekly planning pipeline keeps it all pointed at the right goals.

The v2 shift: the old fleet ran seven separate agents, each woken on its own timetable with its own fixed prompt. v2 runs one always-on supervisor and interchangeable workers that become whatever role the next job needs — cheaper, simpler, and easy to extend. It runs on Claude Code today and is built to stay as portable as possible, aiming to run locally over time.

THE SHIFT
dedicated agents → generic roles
v1 · before
Seven fixed agents
Each role was its own scheduled program with its own prompt. Every run started a brand-new agent from cold. Adding a role meant adding another scheduled job.
v2 · now
One supervisor, many roles
A worker is a blank agent that loads a role for one job, then frees up for the next. The supervisor stays warm between jobs, so there's no cold-start tax. A new role is just one small file.
why it's better
Cheaper and self-healing
Each job goes to the most cost-effective AI for that work. If the supervisor stops, a watchdog restarts it automatically — no special permissions needed.
THE OKR PIPELINE
how a goal becomes shipped work

Work isn't random. Every week starts with a direction and ends with shipped, reviewed code. Six stages carry a goal from Michael's one-line objective all the way to the main branch.

01 · SUN
Weekly Direction
One objective per track. Michael reviews and signs off — the only regular human step.
02 · MON
Strategic Architect
Turns the direction into the week's plan: clear goals and measurable key results (KRs) per track.
03
Resident Supervisor
A persistent process continuously pulls the plan's backlog and dispatches workers from a warm pool — paced by token budget, not a fixed clock — skipping anything already done.
04
Workers
Generic agents that each become a role and run one job end-to-end against the quality bar.
05
Reviewer
An independent agent checks the real change before it merges. Pass merges; concerns flag Michael.
Token Minister
Watches AI spend across the whole pipeline and flags expensive runs, so cost never drifts.
THE ROLES
what a worker can become

Each role carries its own AI model, effort level, time limit and pass criteria. A worker loads one for a single job, then the result goes straight to the reviewer. The roles that do the heavy lifting:

Code Builder
Ships new features
Takes a coding job end-to-end — brainstorm, plan, build, test — against the four-gate factory standard.
Code Refactor
Hardens the codebase
Cleans up, removes duplication and pays down debt inside a product, without changing behaviour.
Vault Morning
Daily health check
Early-morning pass over the knowledge base: checks links, fixes gaps, rebuilds dashboards before the day starts.
Vault Evening
Day close
Links the day's commits to their context, reconciles queues, patches the counts. Nothing left hanging.
Learning
Synthesises new material
Reads new clippings, distils them into the wiki, cross-links to projects, keeps the trend radar current.
Queue Triage
Keeps the inbox clean
Sorts and routes the task queue, marks what needs a human decision, keeps the autonomous backlog actionable.
Token Minister
Watches the budget
Tracks spend across the fleet, writes the live budget note, flags when a run is getting expensive.
Weekly Review v2
The fleet improves itself
Every Sunday, reads the full week's output and files specific fixes. What went wrong once becomes a rule.
The Operator
Michael
Sets direction, approves changes, makes the calls the fleet can't, types the rare commit. Mostly reads Slack.

Two more roles handle outreach and the job-market scan, off to the side of the build pipeline.

THE REVIEW GATE
checked before it merges

Every job is reviewed before it can reach the main branch. The supervisor captures the code before and after the worker runs, then hands the real change to a fresh, independent reviewer that judges it against the job's acceptance criteria — and writes the plain-language summary. It routes the work; it never stalls the whole fleet waiting on a person.

PASS
Merges to main
A clean review merges the change and posts a one-line summary to Slack. Fast, automatic, no wait.
CONCERNS v2
Held & flagged
If the reviewer spots issues, the change is parked and Michael gets an alert with the reason. Nothing unreviewed slips through.
REAL CHANGES ONLY
No fabrication
Because it reads the actual change, it once caught a worker that reported a commit which never existed. A broken verdict defaults to "concerns" — fail safe.
THE CADENCE
what runs when

The supervisor handles ad-hoc jobs all day. The recurring roles fire once a day at their hour, driven by the same watchdog — including a scheduled health rating that keeps the vault honest.

Mon 04:30
Strategic Architect — reads the signed-off direction, writes the week's plan + KRs
Sun 12:00
Direction draft — next week's objective per track, for Michael's review
03:00 daily
Vault morning — health check + a scored vault-health rating v2
23:30 daily
Vault evening — session close, links and counts reconciled
20:00 daily
Learning — synthesise the day's reading
19:00 Sun
Weekly Review — audit the week, file specific improvements
SELF-IMPROVEMENT
gets better on its own

A system that improves without being asked.

Every week the Weekly Review role reads the full record of what the fleet did — every report, every quality-gate result, every handoff — and files specific improvement proposals. Michael approves or rejects. The fleet that ships in week four is measurably sharper than the one that shipped in week one.

INPUT
The week's raw record
Every Slack report, every review, every quality-gate outcome from the past seven days. The real output — no lossy summaries.
OUTPUT
Concrete proposals
Specific items: a prompt to tighten, a gate to add, a handoff that keeps slipping. Ready to approve, not vague impressions.
THE RESULT
Compounding quality
Every approved change carries into every future job. A mistake made once becomes a rule enforced for good.
FOUNDATION
what the fleet runs on
Runtime
Claude Code — pinned model versions; the design aims to stay portable
Supervisor
One always-on process; only ever one copy runs at a time
Self-heal
A user-space watchdog restarts a dead or stuck supervisor — no special permissions
Reliability
A blip falls back to a fresh run, so a single job is never lost
Communication
Slack — a routine post per job, alerts when something needs attention
Skills
Reusable markdown procedures every worker can load on demand
Observability
A log per job + the full git history + a per-session journal
← Home
02 · The Agent Fleet

One resident supervisor.
Nine role plugins.
Reviewed on every commit.

The fleet is resident — a single warm-pool supervisor stays alive around the clock, watches a work-item queue, and dispatches each item to a worker that becomes one of nine specialised role plugins. Every worker's diff is judged by a fresh-context soft-gate reviewer before it merges: pass fast-forwards to master, concerns park the commit and ping Slack. The supervisor self-heals with no admin rights, pins its model versions, and reports every dispatch to Slack. This is agentic engineering — a coordinated system with specialised roles, defined boundaries, and a weekly self-improvement loop.

THE SUPERVISOR
a resident warm pool

There is no cron job spinning up a fresh process per task. One resident supervisor stays alive around the clock, keeps a warm Claude process pooled for reuse, and turns each queued work-item into a worker. It survives reboots, dodges double-dispatch, and brings itself back from the dead — all without ever needing administrator rights.

WARM POOL
One process, many turns
A persistent claude stream handles sequential dispatches instead of paying cold-start on every task. A transport blip falls back to a one-shot run so a single work-item is never burned.
QUEUE
Reads work-items
Watches .claude/work-items/*.json, normalises legacy and new shapes at the read boundary, and skips anything already marked done. Success writes .done, failure writes .error — never a silent swallow.
SINGLE-INSTANCE
No double dispatch
A pid-liveness lock (with a pid-reuse guard) ensures exactly one supervisor runs. No stale mtime gate that used to let two race the same item.
SELF-HEAL · NO ADMIN
HKCU watcher
A user-space watcher in the HKCU Run key starts at logon and relaunches the supervisor when its pid dies or the heartbeat goes stale — catching the hung case Task Scheduler can't, with zero elevation.
THE ROLES
nine plugins one worker becomes

A worker is not a fixed agent — it's a blank Claude process that becomes a role for the duration of one dispatch. Each role plugin carries its own model, effort, time cap, tool surface, and pass criteria. Nine are live:

code-sprint · opus
Builds features
Picks a coding work-item, runs the full loop (brainstorm → plan → implement → quality gates), ships against the four-gate factory standard.
code-refactor · opus
Hardens code
Refactors, de-duplicates and pays down debt inside a product repo without changing behaviour — same gates, same review.
vault-curate · sonnet
Morning curation
Keeps notes linked, frontmatter clean, dashboards rebuilt, orphans flagged. The early-morning pass over the knowledge base.
vault-close · sonnet
Session close
The pre-bed pass: verifies the day's commits are linked from the daily note, queues reconciled, manifest counts patched.
career · opus
Job-market scan
Scans roles against Michael's bar, files only the ones worth a look into the Input Queue. Honours the domain filters.
learning · opus
Synthesises sources
Reads new clippings, distils them into wiki pages, cross-links to existing projects, maintains the Trend Radar. The brain grows.
promo · sonnet
External posts
Drafts weekly LinkedIn / blog posts from real shipped work. Curates what's worth saying out loud.
iq-triage · sonnet
Triages the queue
Sorts and routes Input Queue rows, marks interactive-only items, keeps the autonomous backlog actionable.
token-minister · sonnet
Watches the budget
Tracks token spend across the fleet, writes the live budget note, flags when a run is getting expensive.
The Operator
Michael
Approves direction, kills bad ideas, types the rare commit. Mostly reads Slack. The fleet works for him.
THE REVIEW GATE
soft-gate, pre-merge, fresh context

Every dispatch is reviewed before it can reach master. The host loop captures HEAD before and after the worker runs, then hands the actual git diff to a fresh-context Sonnet reviewer that judges it against the work-item's acceptance criteria — and writes the human-facing summary. It's a soft gate: it routes, it doesn't block the fleet waiting on a human.

PASS
Fast-forward to master
A clean review fast-forwards HEAD onto master (never a force push) and posts to #daily: "reviewed: pass; pushed abc1234 to master".
CONCERNS
Park & flag
The commit is parked on a fleet-review/<id> branch, a push-hold flag pauses auto-push, and #important gets the why. Nothing unreviewed slips to master.
CATCHES
Real diffs only
Because it reads the actual diff, it caught a worker that fabricated a commit hash that never existed. A malformed verdict defaults to concerns — fail safe, not fail open.
THE CADENCE
a no-admin watcher schedule

Resident dispatch handles ad-hoc work-items. The recurring roles fire on a date-gated cadence driven by the same no-admin watcher — each role runs once a day at its hour, detached, never spawning a worker that would race the supervisor. The Strategic Architect plans the week; the rest keep the vault and the outside world in sync.

Mon 04:30
Strategic Architect (Opus) — reads the reviewed Direction, writes the full Fleet Plan + weekly OKR
Sun 12:00
SA Direction — drafts next week's objectives-per-track + scorecard for Michael's afternoon review
03:00 daily
vault-curate — morning curation pass
23:30 daily
vault-close — session-close pass
20:00 daily
learning — synthesise the day's sources
12:00 Mon–Fri
career — job-market scan
12:00 Fri
promo — draft the weekly external post
19:00 Sun
tuning-review — audit the week, file prompt tweaks
SELF-IMPROVEMENT
the fleet that gets better on its own

A system that improves without being asked.

Every week, the Tuning Review agent reads the full record of what the fleet did — every sprint report, every quality gate result, every handoff log — and files specific improvement proposals back into the queue. Michael approves or rejects. The agents that ship in week four are measurably sharper than the ones that shipped in week one.

INPUT
The week's raw record
Every Slack report, every sprint review, every quality gate outcome from the past 7 days. The reviewer reads the actual output — no summaries, no lossy abstractions.
OUTPUT
Concrete proposals
Specific items filed into the queue: a prompt to tighten, a gate to add, a handoff pattern that keeps slipping. Not impressions — actionable changes, ready to approve.
THE RESULT
Compounding quality
Every approved change propagates into every future sprint. Mistakes made once become rules enforced permanently. The system gets tighter every week, by design.
FOUNDATION
tools the fleet runs on
Runtime
Claude Code — pinned models (Opus 4.8 workers, Sonnet 4.6 reviewer + curators)
Supervisor
Resident warm-pool process · pid-liveness single-instance lock
Self-heal
HKCU Run-key watcher (no admin) — respawns dead or hung supervisors
Transport
Warm stream-json with one-shot fallback — a blip never burns a work-item
Communication
Slack webhooks (#daily routine, #important alerts) — per-dispatch posts
Skills system
Markdown skills auto-loaded by every worker (clipping, document, factory, more)
Observability
Per-dispatch supervisor log + git audit trail + per-session journal