chore(write-skill): preserve the 2026-07-11 books-regularization replay pack

The pack (manifests, prelude, runbook, verify-provenance.py PoC) lived
only in an ephemeral session scratchpad while erp#41/#42/#43/#44 now
reference it as fixtures and the prod replay is still pending. 36/36
provenance checks were green at rehearsal time; PDFs are re-fetchable
via arcodange-email-ingest (documented in the pack README).

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
2026-07-12 14:05:01 +02:00
co-authored by Claude Fable 5
parent bceeb7dc19
commit ccc8b7912f
7 changed files with 434 additions and 0 deletions
@@ -0,0 +1,38 @@
# Replay pack — books regularization 2026-07-11
The complete, provenance-verified write pack from the 2026-07-11 books-regularization session
(memory: `books-gap-2026-07`). Rehearsed green on the sandbox (FAF2026010013 + payments,
predicted-delta verified). **Prod replay: pending the human gate** — status lives in the
session journal / operator's hands, not in this folder.
## Contents
| File | What it is |
| --- | --- |
| `manifest-A-km-payments.json` | 2 KissMetrics customer payments (Wise wires 2 147,00 € + 2 195,97 €, tx ids from the activity feed) |
| `manifest-B-suppliers.json` | DARNIS F1045 supplier invoice (214,70 HT / 257,64 TTC) + its payment + Anthropic/Mistral payment ops |
| `manifest-B2-sandbox-payments.json` | Sandbox-side payment re-run after the varchar(50) fix (erp#37) |
| `prod-replay-prelude.sh` | Pre-replay guards: fresh checkpoint assumptions, target checks, env pinning |
| `rehearsal-runbook.md` | Step-by-step of the rehearsal: what ran, in what order, with which gates |
| `verify-provenance.py` | **The anti-hallucination PoC** — 36 field-level checks: every critical value re-verified against source-PDF text (pdftotext) + FRESH Qonto/Wise pulls; locale-normalized (`219,50``219.50`, Wise `2,147` thousands format). 36/36 green at rehearsal time. |
## Source PDFs (not committed — re-fetchable)
`verify-provenance.py` expects `./pdfs/` containing:
`F1045_ARCODANGE_2026-06-30.pdf`, `F1046_ARCODANGE_2026-06-29.pdf`,
`Invoice-9BF0758D-695749.pdf` (Anthropic), `invoice-MSTRL-API-814045-001.pdf` (Mistral).
Re-fetch via the `arcodange-email-ingest` skill (they live in `books@` — workflow 2 downloads
attachments by message id) or from the GED once erp#43 attaches them.
## Who consumes this pack
- **erp#41** (provenance checker as a promote-plan stage) — industrializes `verify-provenance.py`.
- **erp#42** (compliance linter) — these manifests are the *legitimate* fixtures that must PASS.
- **erp#44** (idempotency keys) — replay these manifests twice on a checkpoint; run 2 must be all-deduped.
- **erp#43** (GED attach) — attaches the four PDFs to FAF2026010013 on the sandbox.
## Rule this pack proves
No agent-typed value reaches a write without **mechanical corroboration**: source-anchored
(the exact string exists in the source document) + cross-system (bank feed to the cent, fresh
pull at check time) + read-back (predicted-delta after apply). Refuse, never repair.