docs(prd): sandbox-vs-prod posture + certified-accounting-grade operations

New compliance.md leaf: French bookkeeping obligations mapped to fleet
mechanisms — inaltérabilité (L.123-22) via an append-only production
ledger grammar (create/validate/pay/avoir, never mutate a validated
document) enforced by a promote-plan compliance linter; FEC (L.47 A
LPF) with quarterly export + Test Compta Demat validation (accounting-
module binding flagged as unverified gap); piste d'audit fiable (289
VII CGI) framed as a by-product of journals + tx-id reco + monthly
packs; retention, numbering, copie fiable; loi anti-fraude scoped out
(B2B-only) with BlockedLog as sandbox-first belt-and-braces.

New Environments section in agent-architecture: prod = the ledger
(grammar-bound), sandbox = disposable iso-prod rehearsal (exempt, never
wired to production third parties); side_effect_class -> environment/
credential mapping; POCs write on sandbox only; evals target fresh
checkpoints; irreversible-by-design features trial on checkpoints.

Woven through hub (goal, requirement, success criteria, leaves table),
T03/T05/T15 guardrails, QA (linter suite, pure-append snapshots, FEC
cadence, PAF evidence framing), C2, POC-1 exit criteria.

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
2026-07-11 14:48:20 +02:00
co-authored by Claude Fable 5
parent 8920547a98
commit a00f5cb065
7 changed files with 98 additions and 11 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ Each challenge states what breaks, the mitigation strategy, and the **residual**
## C2 — ERP write integrity
**Breaks:** duplicate invoices, phantom payments, corrupted referential state; an agent re-run double-records a batch.
**Strategy:** idempotency keys on every write atom (e.g. supplier + `ref_supplier` + TTC); pre-write dedupe lookup against prod; sandbox rehearsal with **predicted-delta assertion** (re-read what was created, compare to the draft *before* requesting approval); manifests as the only write vehicle (replayable, reviewable); pre/post snapshots with content-hash ([T13](task-inventory.md#t13--erp-snapshot--drift-detection)); daily backups with tested restore as the last line ([T14](task-inventory.md#t14--backup--restore-verification)).
**Strategy:** idempotency keys on every write atom (e.g. supplier + `ref_supplier` + TTC); pre-write dedupe lookup against prod; sandbox rehearsal with **predicted-delta assertion** (re-read what was created, compare to the draft *before* requesting approval); manifests as the only write vehicle (replayable, reviewable) and **linted against the production ledger grammar** — create/validate/pay/avoir only, never mutation of a validated document ([compliance](compliance.md#the-ledger-grammar-production)); pre/post snapshots with content-hash ([T13](task-inventory.md#t13--erp-snapshot--drift-detection)); daily backups with tested restore as the last line ([T14](task-inventory.md#t14--backup--restore-verification)).
**Residual:** logically-valid-but-wrong entries that pass all checks — caught (late) by the monthly coherence audit and the human's review taps.
## C3 — Prompt injection via inbound content