Sabbatical · self-improvement
Learning curriculum
Catching up on the system you operate — and the capabilities you're not yet using. Extended weekly.
Delivered
10 of 23
Day 1
Where your automation runs — and where failures go
Sun 5/31 · LaunchAgent vs cron vs /schedule vs claude -p
Concept
Day 2
Reading your own system's state
Mon 6/1 · JARBUS events, the TTR card lifecycle, 'blocked' vs 'error'
Concept
Day 3
Token economics
Tue 6/2 · What's expensive, the 5-min cache TTL, when Opus vs Haiku
Capability
Day 4
The Next.js Server/Client boundary
Wed 6/3 · 'use client', why ssr:false is forbidden in Server Components, CSS @import order
Concept
Day 5
deep-research — fan-out and adversarial verify
Thu 6/4 · When to reach for the research harness instead of hand-searching
Capability
Day 6
/loop and ScheduleWakeup vs fragile LaunchAgents
Fri 6/5 · Self-paced autonomous work the harness can actually see fail
Capability
Day 7
Worktrees and parallel agents
Sat 6/6 · Testing 3 versions of an idea cheaply, in isolation
Capability
Day 8
Memory hygiene — the absence-claim trap
Sun 6/7 · Why 'X doesn't exist' poisoned a session (#1776) and how to correct it
Concept
Day 9
Operating the machine vs building it
Mon 6/8 · Putting it together — steering the portfolio, not just the pipeline
Review
Day 10
Agent view — running many sessions at once
Tue 6/9 · Claude Code's new agent view, --bg background sessions, /resume, peeking at status
Capability
Day 11
Supabase — the database under Focaccia Vote
Wed 6/10 · What Postgres + Supabase are, tables vs rows, the votes table you filled last week
Concept
Day 12
Row-Level Security — why your data can't leak
Thu 6/11 · RLS policies, the rule that gated the Focaccia votes table, anon vs service keys
Concept
Day 13
Cloudflare Pages — how zorc.app goes live
Fri 6/12 · Pages vs Workers, wrangler deploy, _redirects, custom domains (the 404 you fixed)
Concept
Day 14
Dynamic Workflows — orchestrating many agents
Sat 6/13 · The Workflow tool, fan-out vs pipeline, when it beats a single agent
Capability
Day 15
DESIGN.md — why every project carries its own design system
Sun 6/14 · Per-project DESIGN.md, the Instrument Panel redesign, design tokens, /frontend-design
Concept
Day 16
Keeping the portfolio honest
Mon 6/15 · Why Runway Model stalled 13 days unnoticed, STATUS drift, the shepherd daemon
Review
Day 17
LaunchAgents & launchd — how your cron jobs actually run
Tue 6/16 · launchd, plists, why two of your jobs silently unloaded (the Jun 5 notification audit)
Concept
Day 18
Headless Claude — `claude -p` and the fallbackModel safety net
Wed 6/17 · How plan-day runs unattended, what --fallback-model does, the new June config that retries on overload
Capability
Day 19
Watchdogs & timeouts — why a 30-min cap killed a 34-min job
Thu 6/18 · Wall-clock watchdogs, gtimeout --kill-after, Automation Hygiene rule 2 (the May 30 plan-day overrun)
Concept
Day 20
Retry & backoff — the Plaud ingest resilience pattern
Fri 6/19 · The three-tier resilience you shipped this week: in-run retry, stuck-recording giveup, single-alert threshold
Capability
Day 21
Idempotency — why a pipeline must give the same result on re-run
Sat 6/20 · The render regression where a second run left briefings/task-boost/languages empty (#3354)
Concept
Day 22
The standards-checker gate — how bad reviews get blocked before they reach you
Sun 6/21 · The quality gate in report_quick_deliver, blocker verdicts, the shared review-standards rubric
Concept
Day 23
reporter.py — the one door JARBUS uses to write to PDB
Mon 6/22 · The load-bearing boundary: why JARBUS never writes PDB state directly, the four report_* functions
Review
Authored daily · surfaced in
/plan-day
· emailed 10:30am