One developer's weekly Claude Code skill update failed on 6, 13 and 20 September despite three layered fixes and an audit note reading "exit 0". The script caught and logged every failure correctly, but the log had no reader until the author opened it after the third one.
Reality
- Evidence55
- Adoption
- Insufficient
- Hype gap+10
- Incentives
- Insufficient
- Confidence55
Every 10 minutes an unattended job summarizes Claude Code and Codex logs into an Obsidian vault and pushes the commit, so the pipeline treats the summarizer's own JSON as text that may carry pasted keys or injected instructions.
Reality
- Evidence58
- Adoption6
- Hype gap+10
- Incentives20
- Confidence55
A dev.to harness guide puts numbers on two ways MCP breaks at scale, 8,000 to 15,000 tokens of tool schema on every prompt and a SQLite session lock duplicate stdio processes cannot share. Its fix moves stateful tools onto a supervised loopback daemon.
Reality
- Evidence25
- Adoption8
- Hype gap+45
- Incentives25
- Confidence40
Offset start times kept a shared file queue from colliding for months. One day-long Codex outage made every launchd lane start at the same instant, and the pickup scripts had no mutual exclusion to fall back on.
Reality
- Evidence38
- Adoption14
- Hype gap+30
- Incentives58
- Confidence42
Stopping all 15 guarded jobs uniformly cut a posting job to a 43% execution rate, so the guard now lets a job flagged --priority send one real request every 1800 seconds, from a budget every priority job shares.
Reality
- Evidence62
- Adoption10
- Hype gap+20
- Incentives30
- Confidence55
A strings trace of claude 2.1.266 puts the allowed-apps list in session memory with no key to pre-grant it, so one developer answered the dialog with a daemon that reads Apple Terminal tabs every two seconds.
Reality
- Evidence52
- Adoption8
- Hype gap+10
- Incentives20
- Confidence47
Four Playwright jobs on one Mac held com.google.Chrome, so a Dock launch came back with error -600 while every job log stayed clean. The repair also had to survive npm install, which keeps resetting the browser path inside node_modules.
Reality
- Evidence46
- Adoption8
- Hype gap+20
- Incentives34
- Confidence52
A prefix match against Instagram's rendered profile page missed the emoji the platform serves as an image, so a job that had already posted logged ok:false and the scheduler sent the carousel twice more, though the API said the post was there.
Reality
- Evidence58
- Adoption10
- Hype gap+12
- Incentives52
- Confidence62
Over four days one daily publishing job failed three separate ways in the place it actually runs, and every one of those failures had already passed a hand-run test in the author's own interactive shell.
Reality
- Evidence66
- Adoption12
- Hype gap+8
- Incentives66
- Confidence55
A macOS daemon held 47GB of mostly compressed memory while reporting 264MB of RSS, and the script that spotted it had no permission to act. The repair is one sudoers line for one killall, verified after install.
Reality
- Evidence56
- Adoption8
- Hype gap+6
- Incentives22
- Confidence63
The per-session spawn is what stdio means, so the fix is one loopback daemon per machine. That same consolidation makes a single restart blind every open session, which is where the design work went.
Reality
- Evidence52
- Adoption14
- Hype gap−18
- Incentives30
- Confidence55
Prompting an LLM to self-audit works some fraction of the time, so one developer moved the check into a Stop hook that parses the session transcript and refuses the end of a turn when the audit keywords are missing.
Reality
- Evidence42
- Adoption10
- Hype gap+26
- Incentives30
- Confidence52
Execing the binary inside Google Chrome.app registers com.google.Chrome with LaunchServices. That registration outlives the script. The durable repair is a second bundle id, not a kill loop.
Reality
- Evidence45
- Adoption8
- Hype gap+18
- Incentives20
- Confidence50
An adversarial self-audit check that blocks with exit 2 is a useful nag in a terminal. Under launchd it becomes a failed job. The fix here keys off session provenance rather than softening the rule.
Reality
- Evidence52
- Adoption10
- Hype gap+12
- Incentives28
- Confidence55
The per-tab figures were summed off an unfiltered ps listing, so a browser policy that looked 198 MB ahead was really 91 MB behind. What caught it was watching one number fail to move across a page load.
Reality
- Evidence64
- Adoption
- Insufficient
- Hype gap−18
- Incentives34
- Confidence56
Apple has been prying cron loose from the user session since Ventura. The result is a Sequoia Mac that can print every crontab entry with nothing behind it, so the honest test is whether launchctl will admit to a cron job at all.
Reality
- Evidence32
- Adoption10
- Hype gap+45
- Incentives68
- Confidence55
Command substitution inside the echo reset the exit status to zero, so a Stop hook reported success for a full day while DM replies sat at zero on two platforms. The test that catches this takes a minute to write.
Reality
- Evidence66
- Adoption18
- Hype gap+12
- Incentives55
- Confidence61
The kill pattern matched a Chrome profile path rather than a process the caller owned, so a posting job in one repository SIGKILLed a Playwright job in another and took the cookie database with it.
Reality
- Evidence46
- Adoption14
- Hype gap+12
- Incentives55
- Confidence52
Fable 5 shuts down on 2026-07-07 and StartCalendarInterval cannot express a single firing at a fixed datetime, so this job leans on an integer date test, a temp-file jq rewrite, and an unload that runs whether or not the rewrite worked.
Reality
- Evidence46
- Adoption
- Insufficient
- Hype gap+18
- Incentives20
- Confidence62
A daily automation job was killed for two weeks because two reasonable config values were never multiplied together. The check that catches it runs before the first action.
Reality
- Evidence38
- Adoption12
- Hype gap+30
- Incentives58
- Confidence45
Earlier coverage
- Four dead lanes, fourteen days, and a watchdog that was never told to look
Build · August 26, 2026 · 1 publisher
- Five days of silence: a launchd job that only failed when a human ran it
Build · August 26, 2026 · 1 publisher
- 52 days of zeros: what a cost hook records when the payload never had the numbers
Build · August 24, 2026 · 1 publisher
- Three outages, four alarm slots: what a nightly log drain teaches about laptop scheduling
Build · August 23, 2026 · 1 publisher
- The failure mode is silence: what a weekly per-line output report catches that uptime does not
Build · August 23, 2026 · 1 publisher
- A quota error looks like a retry, so 15 jobs idled six hours unnoticed
Build · August 22, 2026 · 1 publisher
- Fifty MCP plugins, one bill: the deferred-tools block you pay for before you type
Build · August 22, 2026 · 1 publisher
- A cost monitor overcounted 4.9x, then went dark for a week when set -e did its job
Build · August 21, 2026 · 1 publisher
- Your script exited 0 because the file no longer existed: macOS evicted it to iCloud
Build · August 20, 2026 · 1 publisher
- 41 queued tasks, zero ready to dispatch: the agent bottleneck was judgment
Build · August 20, 2026 · 1 publisher
- 26 launchd jobs, one log directory: how scheduled automation rots quietly
Build · August 20, 2026 · 1 publisher
- Exit 0 is not a health check: three weeks of macOS backups that copied nothing
Build · August 18, 2026 · 1 publisher
- Exit 0 is not a health check: a dead PID held a lock for two hours and nothing complained
Build · August 18, 2026 · 1 publisher
- Exit code zero, output zero bytes: why a dated marker file is the only honest success signal
Build · August 18, 2026 · 1 publisher
- The 46GB Leak Your RSS Alert Cannot See: macOS Compressed Memory Breaks Threshold Monitoring
Build · August 17, 2026 · 1 publisher
- Config rot has a latency bill: a 70-line weekly audit for agent environments
Build · August 17, 2026 · 1 publisher
- launchd Tells You Nothing When a Job Dies, So Your Revenue Reports It Instead
Build · August 16, 2026 · 1 publisher
- A Retention Policy for Agent Memory: Flag Unused Skills at 30 Days, Archive at 90
Build · August 15, 2026 · 1 publisher
- Two timeout numbers, not new code, fixed a nightly job that failed 2-3 mornings a week
Build · August 15, 2026 · 1 publisher