5 sonnet sub-agents in kb-eod step 5 — the end-of-day learnings step now mines the day's session transcripts in parallel and hands back a ranked list. Without it, the prompt "anything you learned today?" turns into "I don't know" every time.
kb-business-annual-planning + personal-annual-review skills — split apart, with a deliberate ordering: personal first, business second.
Cron reorg — moved the gate-then-spawn pool into a coherent structure under ~/Kaizen/cron/. Cheap bash gates fire first; only HAS_WORK spawns an LLM agent. Saved ~$140–$210/wk across the bridge set.
What I decided
Personal review and business review are separate, and personal goes first — when the business voice is in the room, the personal questions (energy, fear, what drained you) get half-asked.
developer/kaizen/ folder convention — formalised how Kaizen-business code splits across ~/Developer/projects/<slug>/ (app repos) vs ~/Kaizen/ (OS + skills + ops state).
Split review skills by cadence — daily/weekly/quarterly reviews are different beasts and shouldn't share one skill.
What I learned
Worktrees, but merge locally first. Switched back to worktrees as the default for parallel agent work — but the merge step happens on local main, not remote. Agents collided too much when they shared the same main directly.
Personal review first, then business. The business voice drowns out the energy/fear questions if you mix them.
Claude Code is replacing Google Drive for organisation. The agent + filesystem combo does what I used to use Drive folders for — better, because the agent can reorganise on demand.
Five hydration-fix patches on the same bug. Idol's largest Sentry issue (1963 events) had five workarounds in two files, all patching the same underlying SSR/CSR mismatch from different angles. None would exist if the structural issue had been named the first time. Patches accumulate when nobody says "step back."
A gate that reads state it never writes burns tokens for weeks. A Vercel-deploy cron gate checked "did anything ship?" but never wrote what it last saw. Every fire saw nostate=HAS_WORK and spawned an LLM agent. Read/write asymmetry in gate scripts is invisible without a cron audit.
Vercel log drains pipe runtime logs straight into Sentry. No more split-brain between the Vercel dashboard and Sentry issues — one surface for everything.
What the team built
While I spent the day on planning infrastructure, the agents pushed ~115 changes in parallel across Kaizen, idol, helpers, and Personal. Zero of them moved a task to done in the system — which is itself a signal worth catching. Heavy push activity with no task transitions means agents are shipping code without closing the loop in the task ledger. Process gap for tomorrow.