criteria.py:18 comptait les méthodes via char-class ASCII [A-Za-z0-9_] →
loupait le test réel `test_traçabilite_source` (ç · PEP 3131, exécuté par
unittest) → évidence fausse « 22 méthodes » pour publiciste (réel 23), en
violation du cœur anti-invention #6 de l'audit lui-même. La source sœur
qa/regression/reglib/discovery.py:23 comptait déjà correctement (`test_\w+`,
\w Unicode) = 23 → les 2 outils QA divergeaient d'un. Fix aligné sur la sœur
(\w). Teeth ajoutée (test_tests_counts_non_ascii_method_names, mordante :
1 sur l'ancienne regex, 2 sur la nouvelle).
Cascade régénérée : quality_report.json (publiciste 22→23, verdict PASS 24/24
min 100 inchangé) · regression_run/plan/MANIFEST (625→626 exéc · 608→609 passés)
· fiches qa (audit_4big 34→35, agrégat 626/609) + erpnext_backend (625→626).
Blast-radius = 1 seul nom de test non-ASCII dans tout le dépôt (scan AST 24
suites). Pas de nouveau gate (#5) : check_readme_claims mord déjà la divergence.
run_ci = 33 PASS · 0 FAIL · 0 SKIP. 0 code moteur V18 (#6) · 0 VPS (#8).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Confronté tous les claims factuels de OTO_V18_MIGRATION_ARCHITECTURE_AUDIT
au code réel : 622/640 LOC, 17/22 tests, 4 schémas, absence DSCR/LTV/LTC,
legal=CONFOTUR, sorties bancable, commits sources — TOUS exacts.
Ajout Annexe A : chaque chiffre apparié à sa commande de re-dérivation
(le doc devient auto-vérifiable ; a déjà servi à corriger 446→622).
0 code moteur V18 (bloqué D-06→D-08), 0 gate, run_ci 33/0/0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claim stale non gaté dans OTO_V18_MIGRATION_ARCHITECTURE_AUDIT: §1 table
disait generator/genlib = 446 LOC alors que wc -l = 622 (113+315+176+18).
Preuve interne: §0 total « 1262 LOC lib » = 622+640, pas 446+640 (=1086) →
le doc se contredisait; la correction résout la contradiction.
bancable 640 + tests 17/22/39 re-vérifiés exacts. Occurrence isolée → FIX,
pas de gate (#5). Log ligne 26 laissée en correction-forward.
run_ci = 33 PASS · 0 FAIL · 0 SKIP. 0 code moteur V18 (bloqué D-06→D-08).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Le canal roadmap daily_reports/ s'arrêtait au 2026-08-06 alors que 3 jalons
worker ont porté l'arbre à 18d8763 (fix CI · audit V18 · registre décisions).
Ce rapport porte le canal au HEAD courant + remonte explicitement à Michel que
toute la séquence moteur V18 attend ses arbitrages (D-06 approbation audit ·
D-07 formules financières · D-08 Master Intake sur-ensemble · D-01 périmètre
juridique Sec.13). Tous chiffres re-dérivés d'artefacts commités (gate 33/0/0 ·
régression 625/608/17 PASS · audit 4Big 24 modules min 100 · bijection 24↔24).
0 code moteur V18 (séquence bloquée #6/directive) · 0 gate · 0 artefact
reconstruit · 0 commande VPS (#8).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
check_docs : README.md liait DIRECTIVE_WORKFLOW_FAISABILITE_V10 (supprimé par
l'archivage V18 f316060) → repointé vers la directive active
DIRECTIVE_V18_MASTER_FEASIBILITY_ENGINE_20260810.
check_readme_claims : le scan VPS-infra ouvrait 4 docs REFERENCE root-owned
mode 600 de Michel (AUDIT_*/DIRECTIVE_COMPTE_CLIENT/GO_SIGNAL) → PermissionError
→ bad(). Tolère désormais PermissionError SPÉCIFIQUEMENT (note ⋯, continue),
tout autre OSError reste fatal. Même classe que les exclusions guard_constraints.
Garde anti-évaporation SSOT préservée sur le corpus lisible.
run_ci : 33 PASS · 0 FAIL · 0 SKIP rétabli.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>