feat(ops): ERP snapshot cron + drift watchdog + pure-append brackets (T13) #48

Open
opened 2026-07-11 18:18:18 +02:00 by arcodange · 0 comments
Owner

Part of the AI back-office PRDT13 + challenge C7 (silence is an alert). Rescoped 2026-07-12: the backup-freshness/restore-drill half (T14) moved to #59 so each watchdog ships as its own small PR.

Deliverables

  • Daily CronJob running dolibarr-data-snapshot (content_hash) + drift comparison vs previous snapshot; drift not explained by journaled writes → alert.
  • Bracket promoted write batches with pre/post snapshots asserting pure-append diffs (compliance evidence — feeds the PAF).
  • Heartbeat: the job reports "ran + verdict" daily into the digest channel (interim mail/ntfy; gateway when live — arcodange/telegram-gateway#2). A missing report is itself the alarm.
  • Chart/CronJob pattern: reuse chart/templates/backup-cronjob.yaml conventions (Values-gated, env-aware, OFF on sandbox).

Acceptance: a seeded ERP change outside journals → drift alert fires; one real promoted batch produces its pure-append bracket proof.


Execution — Blocked by: none · Blocks: T15 monthly audit (reads snapshot history); P3 closure · Human gates: none.
Start: claude --worktree t13-drift-watchdog from the erp repo root; read .claude/skills/dolibarr-data-snapshot/SKILL.md + chart/templates/backup-cronjob.yaml.
Done means: evidence comment here (drift-alert log on seeded change + one bracket proof) → PR merged with Closes #48 → SKILL/chart docs updated in the same PR.

Part of the **AI back-office PRD** — [T13](https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office/task-inventory.md) + [challenge C7](https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office/challenges.md) (silence is an alert). **Rescoped 2026-07-12:** the backup-freshness/restore-drill half (T14) moved to #59 so each watchdog ships as its own small PR. **Deliverables** - Daily CronJob running `dolibarr-data-snapshot` (content_hash) + drift comparison vs previous snapshot; drift not explained by journaled writes → alert. - Bracket promoted write batches with pre/post snapshots asserting **pure-append** diffs (compliance evidence — feeds the PAF). - Heartbeat: the job reports "ran + verdict" daily into the digest channel (interim mail/ntfy; gateway when live — arcodange/telegram-gateway#2). A missing report is itself the alarm. - Chart/CronJob pattern: reuse `chart/templates/backup-cronjob.yaml` conventions (Values-gated, env-aware, OFF on sandbox). **Acceptance:** a seeded ERP change outside journals → drift alert fires; one real promoted batch produces its pure-append bracket proof. --- **Execution** — Blocked by: none · Blocks: T15 monthly audit (reads snapshot history); P3 closure · Human gates: none. **Start:** `claude --worktree t13-drift-watchdog` from the erp repo root; read `.claude/skills/dolibarr-data-snapshot/SKILL.md` + `chart/templates/backup-cronjob.yaml`. **Done means:** evidence comment here (drift-alert log on seeded change + one bracket proof) → PR merged with `Closes #48` → SKILL/chart docs updated in the same PR.
arcodange added this to the P3 — Standing fleet milestone 2026-07-11 18:18:18 +02:00
arcodange changed title from feat(ops): watchdogs — snapshot cron, backup freshness, silence alarms (T13/T14) to feat(ops): ERP snapshot cron + drift watchdog + pure-append brackets (T13) 2026-07-12 14:02:12 +02:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/erp#48