Skip to content

Install the 5am schedule and rehearse the failure path #83

Description

@jerome-queck

What this is

The Owner's half of #82. The watchdog build lands the script, the tests, the example plist, the ADR and the docs; this issue is everything only a person at this machine can do. Blocked by #82.

Install

  • Copy the example plist, fill in the real paths, install it as a LaunchAgent (~5am, catch-up on wake).
  • Confirm the scheduled run fires and a dated log + latest.json appear.

Pin the timeout

  • Note the durations the watchdog logs over the first week; set the timeout at roughly 3× the slowest full run.

Rehearsal checklist — each observed once, live

  • Hang: stage a stuck run (e.g. kill -STOP the child); the watchdog kills it at the timeout, retries at 15-minute spacing, and after 3 attempts writes a red digest carrying the attempts and stderr tail.
  • Mount absent: a scratch config naming a nonexistent CloudStorage mount; the watchdog refuses to run and writes the "Drive not mounted" red — and no phantom directory is created.
  • Lock collision: start a manual run, let the scheduled entry fire; it skips with the yellow digest.
  • Mid-run restart: restart the machine during a run; the next scheduled run acquires the lock (nothing wedged) and completes, skipping everything already landed.
  • Lapsed session (when it next happens naturally): the digest goes red with "run npm run login", and doing so turns the next digest green.

Why this is split out

Every live part spends the Owner's session or changes this machine's state (AGENTS.md reserves that), and conformance wants #82 closed by a pull request that fully delivers it — so the agent-buildable half and the person-only half are separate issues.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-humanRequires human implementationtaskA change someone already wants made

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions