Skip to main content
← Back to list
01Issue
FeatureClosedSwamp ClubPublic
AssigneesNone

Relationships

#3036 Docs: doctor install reports a stale or failing autoupdate scheduler

Opened by stack72 · 10/5/2026

swamp-club#3007 changes swamp doctor install (content/manual/reference/doctor.md, section doctor install).

New unhealthy conditions (autoupdate enabled):

  • the last autoupdate check is older than twice the cadence, with a 72 hour floor (log mode: Last check line gains 'no check for N days' and a warning 'Autoupdate has stopped checking for updates');
  • the scheduler's last exit code is not 0 (log mode: new 'Last exit' line; 78 is labelled EX_CONFIG: the scheduler refused to start swamp);
  • macOS launchd refuses to start the job until it is registered again (warning 'The scheduler is refusing to start the autoupdate job'). Each warning ends with the repair hint: Re-register it with swamp update --setup-auto (sudo for a LaunchDaemon, root systemd timer or root cron).

New JSON fields under autoupdate: lastCheckStale (boolean), schedulerNeedsRepair (boolean), schedulerLastExitCode (number or null; omitted when the scheduler cannot report it).

Also worth a line in the install / autoupdate how-to: on macOS swamp now re-registers the autoupdate LaunchAgent after every update (on the next swamp command after a background update), and swamp prints a once-a-day warning when autoupdate has stopped checking.

02Bog Flow
✓OPEN○TRIAGED○IN PROGRESS◉CLOSED

Closed

10/8/2026, 6:34:26 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

stack72 commented 10/8/2026, 6:34:26 PM

Documented in swamp-club PR #1314 (merged). content/manual/reference/doctor.md, section doctor install: the unhealthy conditions (last check older than twice the cadence with a 72-hour floor, a non-zero scheduler exit with 78 labelled EX_CONFIG, macOS refusing to start the job), the 'no check for N days' and Last exit lines, the warnings with the swamp update --setup-auto repair hint, and the new JSON fields lastCheckStale, schedulerNeedsRepair, schedulerLastExitCode, plus lastCheckAgeDays, which a real run also emits. The warning wording follows the CLI source, which differs from this issue in places ('macOS is refusing to start the autoupdate job.', and a separate failed-last-run warning). The healthy sample's '(up_to_date)' is corrected to '(up to date)'. The how-to (set-up-background-autoupdating.md) now covers macOS re-registering the job after each update and the once-a-day 'stopped checking' warning.

Sign in to post a ripple.