Skip to content

v1.4.0 — Dogfooding: file-sync repo corruption, scheduled-job catch-up, infra-doc discipline

Choose a tag to compare

@bjgreenberg bjgreenberg released this 30 Jun 02:33
v1.4.0
a3c8125

Three generalizable lessons that surfaced running the skill against a real multi-machine fleet migration:

  • dev-environment-isolation.md (new §2 subsection) + ENVIRONMENT ISOLATION floor — never host a live .git in a file-sync tree. A file-syncer (iCloud "Desktop & Documents", Dropbox, OneDrive) replicating a live repo corrupts it — concurrent .git writes, half-synced pack/ref/lock files, online-only eviction of .git objects, conflict copies — a distinct failure from "sync ≠ backup" (which is about a sync propagating a bad change). Fix: repos in a non-synced path, synced via git push/pull; if a sync tree must contain one, relocate it out and leave a symlink (verify the sync tool's symlink behavior with a scratch test first).
  • resilience-engineering.md (new §5) — scheduled work must catch up after downtime. Wall-clock schedulers (cron, launchd StartCalendarInterval, systemd calendar timers) silently skip runs missed while the host was off/asleep, not defer them. Pair the wall-clock trigger with an elapsed-time catch-up trigger + an idempotent due-gate, and compute "is a run outstanding?" the same way in the gate and in whatever heartbeat monitors the job (a no-op catch-up run must write nothing, so it can't reset the monitor's signal).
  • SKILL.md DOCUMENTATION — "every representation" now names infra/environment/layout docs. A doc you read to understand a change is one you must update — including the environment/host profiles and directory-layout indexes that describe how things are wired, not just code-level docs.