Part of the AI back-office PRD — T11 + challenge C6. Split out of #54 (backlog sharpening 2026-07-12): #54 ships the machine-readable files, THIS issue ships the loop that fires from them. (#50's earlier mention of a T11 firing test is superseded — the reminder loop lives here.)
Context.fleet/profile/calendar.yaml (#54) lists fiscal/compliance deadlines with dates and kinds. This loop turns the file into reminders nobody can miss — deterministically.
Deliverables
Daily cron (k3s, house CronJob conventions): parse calendar.yaml → compute D-30/D-7/D-1 windows → emit reminders into the digest channel (gateway when live — arcodange/telegram-gateway#2; interim mail/ntfy) — repeat-until-acknowledged (ack journaled).
No LLM in the loop (the agent-catalog marks T11 "no LLM" — deterministic parsing only).
Synthetic-calendar test: fixture entries at D-30/D-7/D-1/D-0 relative to a frozen test date → expected firings asserted by script.
Calendar mutations only via PR (T12 proposes, human merges) — the loop never writes the calendar.
Acceptance: synthetic test green; the real acompte TVA décembre reminder demonstrably scheduled from #54's real calendar (first real firing ~2026-11-15 at D-30).
Execution — Blocked by: erp#54 (calendar.yaml schema) · Blocks: #55 filing ergonomics · Human gates: none. Start:claude --worktree t11-reminder-loop from the erp repo root; read the calendar.yaml schema from #54's merged PR first. Done means: evidence comment here (test output + scheduled-firing proof) → PR merged closing this issue → doc surfaces updated in the same PR wherever claims change.
Part of the **AI back-office PRD** — [T11](https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office/task-inventory.md) + [challenge C6](https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office/challenges.md). **Split out of #54** (backlog sharpening 2026-07-12): #54 ships the machine-readable files, THIS issue ships the loop that fires from them. (#50's earlier mention of a T11 firing test is superseded — the reminder loop lives here.)
**Context.** `fleet/profile/calendar.yaml` (#54) lists fiscal/compliance deadlines with dates and kinds. This loop turns the file into reminders nobody can miss — deterministically.
**Deliverables**
- Daily cron (k3s, house CronJob conventions): parse calendar.yaml → compute D-30/D-7/D-1 windows → emit reminders into the digest channel (gateway when live — arcodange/telegram-gateway#2; interim mail/ntfy) — **repeat-until-acknowledged** (ack journaled).
- **No LLM in the loop** (the agent-catalog marks T11 "no LLM" — deterministic parsing only).
- Synthetic-calendar test: fixture entries at D-30/D-7/D-1/D-0 relative to a frozen test date → expected firings asserted by script.
- Calendar mutations only via PR (T12 proposes, human merges) — the loop never writes the calendar.
**Acceptance:** synthetic test green; the real **acompte TVA décembre** reminder demonstrably scheduled from #54's real calendar (first real firing ~2026-11-15 at D-30).
---
**Execution** — Blocked by: erp#54 (calendar.yaml schema) · Blocks: #55 filing ergonomics · Human gates: none.
**Start:** `claude --worktree t11-reminder-loop` from the erp repo root; read the calendar.yaml schema from #54's merged PR first.
**Done means:** evidence comment here (test output + scheduled-firing proof) → PR merged closing this issue → doc surfaces updated in the same PR wherever claims change.
arcodange
added this to the P5 — Fiscal autopilot milestone 2026-07-12 13:59:24 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of the AI back-office PRD — T11 + challenge C6. Split out of #54 (backlog sharpening 2026-07-12): #54 ships the machine-readable files, THIS issue ships the loop that fires from them. (#50's earlier mention of a T11 firing test is superseded — the reminder loop lives here.)
Context.
fleet/profile/calendar.yaml(#54) lists fiscal/compliance deadlines with dates and kinds. This loop turns the file into reminders nobody can miss — deterministically.Deliverables
Acceptance: synthetic test green; the real acompte TVA décembre reminder demonstrably scheduled from #54's real calendar (first real firing ~2026-11-15 at D-30).
Execution — Blocked by: erp#54 (calendar.yaml schema) · Blocks: #55 filing ergonomics · Human gates: none.
Start:
claude --worktree t11-reminder-loopfrom the erp repo root; read the calendar.yaml schema from #54's merged PR first.Done means: evidence comment here (test output + scheduled-firing proof) → PR merged closing this issue → doc surfaces updated in the same PR wherever claims change.