v1.4.0 — Dogfooding: file-sync repo corruption, scheduled-job catch-up, infra-doc discipline
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.gitin a file-sync tree. A file-syncer (iCloud "Desktop & Documents", Dropbox, OneDrive) replicating a live repo corrupts it — concurrent.gitwrites, half-synced pack/ref/lock files, online-only eviction of.gitobjects, 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, launchdStartCalendarInterval, 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.