Build1 distinct publisher3 min readUpdated
A dev.to writeup documents a six-day silent crash loop across 26 scheduled macOS jobs, and a single-command health check built around one useful contract: exit 1 if anything is red.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
An engineer who had just been laid off spent the same afternoon finding that half the automation propping up his side income had quietly stopped running, and that macOS had said nothing about any of it [1][9]. The mechanism deserves attention from anyone running scheduled work: launchd answers a crashing script with silence and waits for the next scheduled run [2].
According to the post, a job can return exit 78 and nobody learns about it unless a human runs `launchctl list` [3]. In the author's own environment, `com.shun.agentmemory` sat in a crash loop for six days in June 2026 [4]. The worse state was the half-alive one: the port was open, no worker was behind it, and every HTTP request returned 404 while the process continued to exist [5]. A liveness check that only confirms the process exists misses that entirely [6].
The scaling argument is the part that generalises. Three launchd jobs get eyeballed every morning; ten get checked weekly; at 26 you stop checking altogether [8]. The author puts the threshold at roughly 20 jobs, past which silent death becomes routine [7]. That is not a discipline problem, it is an attention budget, and the discovery channel in this case was revenue reaching zero [10].
The response is a script, `automation-health.sh`, with a contract worth copying even if you never see the code: exit 0 means all green or warnings only, exit 1 means at least one red [16]. That single integer is what lets the check run without a human deciding to run it, wired into a StopHook that fires when a Claude session ends, or into cron each morning [17]. The script covers nine sections by the author's count, each reporting green, yellow, or red [15], though the accompanying diagram actually enumerates ten blocks because of a 5.5 [28].
Two of those checks are worth stealing. First, the launchd section loops every plist matching `com.shun.*` or `com.lily.*`, reconciles against `launchctl list`, re-injects anything unloaded with `launchctl bootstrap`, and goes red both when re-injection fails and when the previous exit code was nonzero [18]. That pair is what a process check cannot see. Second, the agentmemory section requires launchctl status and an HTTP 200 from `http://localhost:3111/agentmemory/health`, and goes red if either is missing [23]. That is the direct answer to the open-port-no-worker case.
The rest is estate hygiene: hook scripts missing versus merely non-executable [19], log freshness windows of 48 hours for skill-harvest and 24 hours for conversation logs [20][21], Obsidian markers and index coverage [22], memory-layer files plus duplicate-burst detection [24], a 5GB ceiling on `~/.claude` [25], seven weekly and monthly batches checked against time budgets [26], and a check that no script is registered in both cron and launchd, which is the double-execution bug you inherit after a migration [27].
Caveats: this is one person's machine, self-reported. The income figures, ¥600,000 per month before and ¥1.2M per month after, are unverifiable and roughly a doubling [9][11][29]. What is portable is narrower and more useful: an exit code, a scheduler that runs the check for you, and assertions on responses rather than on the existence of a process.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
macOS launchd, the daemon-management layer, responds to a crashing script by saying nothing and waiting for the next scheduled run.
Even if a job is returning exit 78, nobody finds out unless you run launchctl list yourself.
The usual liveness check, which only confirms that the process exists, misses the half-alive state completely.
automation-health.sh inspects nine sections in order, with every section using the same output style: green check for healthy, yellow warning for non-fatal issues needing care, red cross for failure.
Running the script yields exit 0 for ALL GREEN or WARN only, and exit 1 when at least one item is RED.
Wired into the StopHook that fires when a Claude session ends, the exit-1 signal is captured automatically; placed in cron, the check runs every morning. Neither path depends on the operator deciding to check.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Mechanism documented, outcomes unverified
The generic technical core is solid and self-consistent: launchd's silence on crash, the blind spot in process-existence liveness checks, and a fully enumerated nine-section check with an explicit exit-code contract, partially corroborated by a shell excerpt for the launchctl bootstrap path. Everything consequential beyond that — the six-day crash loop, the 404 half-alive state, the income figures — is unverified first-person recollection from a single publisher with no logs, dashboards or repository, and the article contradicts itself on section count and income scale.
One self-hosted user
The only adoption evidence is the author's own disclosure that the script runs on his machine across 26 launchd jobs via StopHook and cron. There is no repository, package, license, star count, download figure, or any third party reported using the tool, so adoption is effectively n=1 and cannot be scored higher without inference.
Generalized from n=1
The framing outruns the evidence in three specific ways: a ~20-job 'silent death' threshold and 3/10/26 attention gradient presented as a general rule from one person's habits; revenue causation asserted for an unaudited ¥600,000/month figure that later becomes ¥1.2M/month; and the script credited with keeping the revenue environment interlocked without any before/after detection-time or uptime measurement. The underlying technical observations about launchd and layered health checks are, by contrast, stated modestly and hold up on their own.
Self-promotional build log
The piece is a personal-brand publication on dev.to by an author who ties his credibility to a monetized side-income narrative and to tooling he built himself. Layoff framing, escalating income figures, and 'the exit-1 design is the important part' all serve audience-building, and there is no editorial layer, no external review, and no disclosed commercial relationship to counterbalance. Nothing in the cluster indicates vendor sponsorship or paid placement, so the incentive is reputational rather than transactional.
Low-moderate
Confidence is capped by a one-publisher, one-author cluster with two visible internal inconsistencies and no reproducible artifact. It is not lower because the transferable technical content — launchd's silent failure mode, the process-existence liveness blind spot, the single-exit-code contract, and the dual launchctl-plus-HTTP-200 check — is specific, internally coherent, and independently plausible without relying on the author's unverified outcome figures.
build
The 46GB Leak Your RSS Alert Cannot See: macOS Compressed Memory Breaks Threshold Monitoring1 distinct publisher
build
Your script exited 0 because the file no longer existed: macOS evicted it to iCloud1 distinct publisher
build
26 launchd jobs, one log directory: how scheduled automation rots quietly1 distinct publisher
build
Invoked in three runs, executed in none: the cost rule that never got asked1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 16, 2026