docs(prd): dated roadmap leaf — Gantt, milestone spine, re-baselining rule

New roadmap.md: mermaid Gantt (validated) putting the six phases on
calendar time from baseline 2026-07-11 — P2 e-invoicing opens the plan
(ADR D4 target 08-14, two-week fallback before the hard 09-01), P1
flagship in parallel (golden set first, A2 earned ~10-09), ledger-
compliance verifications early September (FY-2026 FEC depends on the
accounting-module answer), P3 standing fleet through autumn (sentinel
24/7 ~11-13), P4 money-loop exit over December, P5 riding the fiscal
calendar (acompte 12-15, CA3 switch 01-01, Q1 filing April, CA12 early
May, AG 06-30), P6 e-reporting proven months before 2027-09-01.
Immovable-milestone table, dependency notes, re-baselining rule
(engineering bars slide, diamonds don't — slips shed scope instead).
Wired: hub pointer + leaves row, poc-plan/STATUS backlinks.

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
2026-07-11 15:02:02 +02:00
co-authored by Claude Fable 5
parent a00f5cb065
commit 5430e5f3ac
4 changed files with 109 additions and 2 deletions
+3
View File
@@ -153,6 +153,8 @@ flowchart TB
Phases are streams, not strict gates: **phase 2 starts immediately, in parallel with phase 1** — its 2026-09-01 deadline cannot wait for the flagship. Tasks not named in a phase ride the nearest infrastructure: T05 (and decision D3) lands with phase 4's money loops, T12/T15 with phase 5's fiscal autopilot, T16 grows out of POC-1's GED attach, and T17 starts as soon as phase 1 produces its first journals — its vault-side rails (hermes cron, `sb.py`) already run.
The dated execution plan — Gantt, the immovable fiscal milestone spine, dependencies, and the re-baselining rule — lives in the [roadmap](roadmap.md).
## QA strategy
Golden datasets built from real history (mails, invoices, filed declarations), a per-atom eval harness with field-level scoring and injection fixtures, autonomy promotions earned only through measured gates (and revoked on incident), predicted-delta assertions around every write, €-parity dry-runs for fiscal outputs, and ops QA (heartbeats where silence itself alerts, monthly restore drills, quarterly degraded-mode game-days). Full detail: [qa-strategy.md](qa-strategy.md).
@@ -167,5 +169,6 @@ Golden datasets built from real history (mails, invoices, filed declarations), a
| [Challenges](challenges.md) | Twelve risks with mitigation strategies and residual ownership. | 🟡 In design |
| [Compliance](compliance.md) | Bookkeeping obligations → mechanisms; ledger grammar + linter; sandbox-vs-prod posture; Dolibarr verifications. | 🟡 In design |
| [POC plan](poc-plan.md) | Ordered feasibility proofs with exit criteria and challenge coverage. | 🟡 In design |
| [Roadmap](roadmap.md) | Dated Gantt, immovable fiscal milestones, dependencies, re-baselining rule. | 🟡 In design |
| [QA strategy](qa-strategy.md) | Golden sets, eval harness, promotion gates, parity checks, ops QA. | 🟡 In design |
| [STATUS](STATUS.md) | Foundation ledger (shipped PRs) + phase tracker. | 🟢 Current |
+1 -1
View File
@@ -5,7 +5,7 @@
> **Status:** 🟢 Current
> **Last Updated:** 2026-07-11
> **Up:** [AI back-office hub](README.md)
> **Related:** [POC plan](poc-plan.md)
> **Related:** [POC plan](poc-plan.md) · [Roadmap](roadmap.md) (dated plan; actuals and slips land here)
## Phase tracker
+1 -1
View File
@@ -5,7 +5,7 @@
> **Status:** In design
> **Last Updated:** 2026-07-11
> **Up:** [AI back-office hub](README.md)
> **Related:** [Task inventory](task-inventory.md) · [Challenges](challenges.md) · [QA strategy](qa-strategy.md) · [STATUS](STATUS.md)
> **Related:** [Task inventory](task-inventory.md) · [Challenges](challenges.md) · [QA strategy](qa-strategy.md) · [Roadmap](roadmap.md) · [STATUS](STATUS.md)
POCs are **real implementations against real data** (the live mailbox, the live bank feeds, the iso-prod sandbox) — not demos. Each has a hard exit criterion; a POC that can't meet it produces a documented "no" and a fallback decision, which is also a success. Environment rule for every POC: **write legs run on the sandbox** and reach prod only through the promote gate with a real approval; anything irreversible-by-design is trialed on a disposable checkpoint first ([environments](agent-architecture.md#environments--sandbox-vs-production)). Order follows the [roadmap](README.md#phased-roadmap); effort is S/M/L (rough: S ≈ a day, M ≈ a few days, L ≈ a week-plus of focused sessions).
+104
View File
@@ -0,0 +1,104 @@
[vibe](../../README.md) > [PRD](../README.md) > [AI back-office](README.md) > **Roadmap**
# Roadmap — the dated execution plan
> **Status:** In design (baseline 2026-07-11)
> **Last Updated:** 2026-07-11
> **Up:** [AI back-office hub](README.md)
> **Related:** [POC plan](poc-plan.md) · [STATUS](STATUS.md) · [Compliance](compliance.md) · [Task inventory](task-inventory.md)
The [phases](README.md#phased-roadmap) put in calendar time. Two kinds of dates coexist and must never be confused: **fiscal/regulatory milestones are immovable** (diamonds, several marked critical); **engineering dates are planning anchors** for a solo operator working part-time on this (~12 focused days/week between billable work) — they re-baseline freely, the milestones don't move to accommodate them.
## Gantt
```mermaid
%%{init: {'theme':'base'}}%%
gantt
title AI back-office — implementation roadmap (baseline 2026-07-11)
dateFormat YYYY-MM-DD
axisFormat %b %y
section P2 · E-invoicing (hard 09-01)
POC-6 Qonto PA validation (reception + API pull) :crit, p6, 2026-07-13, 2026-08-14
ADR D4 merged (Qonto = PA) :milestone, crit, 2026-08-14, 0d
Fallback window (other PA if POC-6 fails) :p6b, 2026-08-17, 2026-08-28
E-invoice reception mandatory :milestone, crit, 2026-09-01, 0d
section P1 · Flagship pipeline
Golden set + injection fixtures :a1, 2026-07-13, 2026-07-24
POC-5 model routing bench :a2, 2026-07-22, 2026-08-07
POC-1 build (extract→validate→gate→promote→GED) :a3, 2026-07-27, 2026-09-11
POC-1 exit gate (10 real invoices, zero fixes) :a4, 2026-09-14, 2026-10-09
T02/T03 earn A2 :milestone, 2026-10-09, 0d
section Ledger compliance (sandbox-first)
Dolibarr verifications (compta module, FEC, BlockedLog, D7) :c1, 2026-09-07, 2026-09-25
Accounting-module chantier (conditional) :c2, 2026-10-01, 2026-11-27
First monthly T15 audit pack :milestone, 2026-11-02, 0d
section P3 · Standing fleet
ADRs D1 + D2 (queue, orchestration) :b1, 2026-09-14, 2026-09-25
Queue + digest + approval cards :b2, 2026-09-28, 2026-10-23
T13/T14 watchdogs (snapshot cron, backup freshness) :b3, 2026-09-28, 2026-10-09
T17 second-brain wiring :b4, 2026-10-12, 2026-10-23
POC-2 Pi sentinel (deploy + eval 200 mails) :b5, 2026-10-05, 2026-10-30
POC-2 soak (24/7, zero evictions) :b6, 2026-11-02, 2026-11-13
Sentinel live 24/7 :milestone, 2026-11-13, 0d
section P4 · Money loops
POC-3 build (weekly reco + payment recording) :d1, 2026-11-02, 2026-11-20
POC-3 exit (1 month, zero unexplained deltas) :d2, 2026-11-23, 2026-12-24
T05 client invoice A2 (D3) + dunning + cash report :d3, 2026-11-16, 2026-12-18
section P5 · Fiscal autopilot
Fiscal profile + calendar files + T11 reminders :e1, 2026-11-09, 2026-11-27
POC-4a dry-run acompte décembre :e2, 2026-11-30, 2026-12-11
Acompte TVA décembre :milestone, 2026-12-15, 0d
CA3 quarterly regime starts :milestone, crit, 2027-01-01, 0d
POC-4b CA3 Q1 simulation + expert checkpoint :e3, 2027-01-11, 2027-02-26
Prepare real CA3 2027-Q1 (T10) :e4, 2027-04-01, 2027-04-16
CA3 Q1 filing (April window) :milestone, 2027-04-20, 0d
Prepare CA12 FY2026 (credit recovery) :e5, 2027-04-19, 2027-05-03
CA12 FY2026 filing :milestone, 2027-05-04, 0d
AG — annual accounts approval :milestone, 2027-06-30, 0d
section P6 · Emission era
E-reporting pipeline (Dolibarr→PA) + emission readiness :f1, 2027-05-03, 2027-07-30
E-reporting + emission mandatory (PME) :milestone, crit, 2027-09-01, 0d
```
1. **Phase 2 opens the plan, not phase 1**: POC-6 (Qonto-as-PA validation) starts immediately and must merge its ADR by mid-August, leaving a two-week fallback window before the immovable **2026-09-01 reception mandate**.
2. **Phase 1 runs in parallel from day one**: the golden set is built first (it gates everything), POC-5 benches the four tiers on it, and POC-1 builds the flagship supplier-invoice pipeline through September; its exit gate then consumes ~a month of *real* invoice flow, earning T02/T03 their A2 around **mid-October**.
3. The **ledger-compliance verifications** run on sandbox checkpoints in September — early on purpose: if the double-entry accounting module needs enabling and mapping, the conditional chantier must finish well before FY-2026 close so the year's FEC is producible.
4. **Phase 3 assembles the standing fleet** through autumn — queue/digest/approval cards (settling D1D2), watchdogs, second-brain wiring, and the Pi sentinel with its two-week soak: 24/7 triage is live by **mid-November**.
5. **Phase 4 closes the money loop over December**: reconciliation + payment recording must survive one full calendar month with zero unexplained deltas — deliberately scheduled over a month that includes the December acompte and year-end activity.
6. **Phase 5 rides the fiscal calendar**: dry-run of the December acompte (first €-parity proof), the **CA3 regime switch on 2027-01-01**, a Q1 simulation validated by the expert-comptable checkpoint, then the first real CA3 (April) and the CA12 that recovers the accumulated TVA credit (early May), with the AG closing FY 2026 by end of June.
7. **Phase 6 prepares the 2027-09-01 mandate** from May, so e-reporting of the KM export invoices is proven months before it becomes law — mirroring the phase-2 pattern of landing early on a hard date.
## Milestones (the immovable spine)
| Date | Milestone | Nature |
| --- | --- | --- |
| 2026-08-14 | ADR D4 merged — Qonto confirmed as PA | engineering target (feeds a hard date) |
| **2026-09-01** | **E-invoice reception mandatory** | **regulatory — hard** |
| 2026-10-09 | T02/T03 earn A2 (flagship pipeline trusted) | engineering gate |
| 2026-11-02 | First monthly T15 audit pack | engineering gate |
| 2026-11-13 | Pi sentinel live 24/7 | engineering gate |
| 2026-12-15 | Acompte TVA de décembre (≈ 0 € expected — verify) | fiscal — hard |
| **2027-01-01** | **Régime simplifié abolished → quarterly CA3** | **regulatory — hard** |
| 2027-04-20 | First real CA3 (2027-Q1) filed | fiscal — hard (April window) |
| 2027-05-04 | CA12 FY-2026 filed (TVA credit recovery) | fiscal — hard (early-May window) |
| 2027-06-30 | AG — FY-2026 accounts approved | legal — hard |
| **2027-09-01** | **E-reporting + emission mandatory (PME)** | **regulatory — hard** |
## Dependencies that shape the plan
- **Golden set → everything**: no atom earns autonomy without it ([QA strategy](qa-strategy.md#golden-datasets)); hence it is the very first task.
- **POC-1 → POC-3**: payment recording reuses the manifest/gate/promote loop the flagship proves.
- **Compliance verifications → CA12/FEC**: the accounting-module question must be answered while there is still time to journalize FY 2026 ([compliance](compliance.md#dolibarr-verifications-sandbox-first)).
- **Queue + digest (P3) → every standing loop**: T15 audits, watchdogs and the sentinel report through the digest; that is why P3 sits between the flagship and the money loops.
- **POC-4a → POC-4b → real CA3**: each fiscal dry-run de-risks the next, and the expert checkpoint sits *before* the first real quarterly filing.
## Re-baselining rule
Slips are expected (solo operator, billable work first). The rule: **engineering bars may slide; diamond milestones may not** — a slip that threatens a hard milestone triggers scope-shedding on the engineering side (e.g. POC-6 falls back to manual PA reception, POC-1 stays at A1) rather than date-shifting. Actuals and slips are recorded in [STATUS](STATUS.md) as they happen; this page is re-dated only at phase boundaries so it stays a plan, not a diary.