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 |
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).
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 (~1–2 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
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 D1–D2), 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) |
- **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.
Reference in New Issue
Block a user
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.