← back to Rentv Slideshow Canary

README.md

22 lines

# rentv-slideshow-canary

READ-ONLY revert watch for the `rentv.agentabrams.com/consulting/slideshow` fix.

The fix (deliverable fetch fallback resolves `/consulting`) is live on prod + committed
as `d70fac6` in `~/Projects/rentv`. But rsync ships the WORKING TREE, not HEAD (fleet
gotcha, TK-10295) — if claude-rentv deploys from a separate checkout still holding the
old `/portal`-only line, the next deploy SILENTLY reverts prod. This canary GETs the live
page every 15 min and greps for the fix marker `return load('/consulting')`; on an
OK→REVERTED transition it alerts (tk comment/DM on TK-10357 + best-effort CNCP card).

- Baseline-aware: alerts ONLY on OK→REVERTED. Silent on first run, steady state, recovery,
  and transient non-200 (UNKNOWN, which preserves the last-known-good baseline).
- Single-shot: won't re-nag while reverted.
- Touches nothing but an outbound HTTPS GET — no prod shell, no worktree, no external writes.

Run manually: `./check.sh`  ·  Dry-run alert path: `CANARY_MARKER=nope CANARY_DRYRUN=1 ./check.sh`
Scheduled by launchd `com.steve.rentv-slideshow-canary` (StartInterval 900s).

## Auto-retire
Stays a standing guard only while useful. After 48h of continuous OK (env CANARY_RETIRE_HOURS) it logs to TK-10357, boots out its own launchd job, and disables — a REVERTED scare resets that clock so it keeps guarding after trouble. Re-arm: launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.steve.rentv-slideshow-canary.plist