[DTP-Worker 20260812_093114] fix correctness · financement_bancaire gate — un dossier incomplet pouvait afficher percent 100.0 (barre pleine ✓) tout en BLOQUANT

Défaut latent, byte-repro-aveugle : _cond_apport arrondit percent à 1 décimale
(round) tandis que ok est un test exact. Un versement dans la bande [99.95%,100%[
(ex. 19 999/20 000 USD = 99.995%) remonte à percent:100.0 alors que ok=False,
remaining=1 USD → barre frontend « 100% ✓ » qui refuse la soumission + raison
auto-contradictoire « reste 1 USD · 100.0% ». Seul _cond_apport atteignable
(montant continu) ; documents/autorisations = ratios entiers sur listes 13/4,
bande inatteignable.

Fix chirurgical : garde `if not ok and pct>=100.0: pct=99.9` → invariant
d'affichage percent==100.0 ⟺ ok. Échantillon commité à 67.8% (hors bande) →
gate_status_example.json/out rebuild BYTE-IDENTIQUE.

Test à dents test_apport_quasi_complet_ninclut_pas_100pct (mordu sans le fix).
Cascade +1 test : régression 633→634/616→617, plan+MANIFEST+quality_report
régénérés, fiches QA/Backend/CRM re-dérivées. run_ci 33/0/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-08-12 09:43:10 +00:00
parent cb8069b83c
commit 85cd625dac
10 changed files with 60 additions and 13 deletions
@@ -450,7 +450,7 @@
"criterion": "TESTS",
"weight": 25,
"passed": true,
"evidence": "35 méthodes test_* dans 1 fichier(s) (seuil 8)"
"evidence": "36 méthodes test_* dans 1 fichier(s) (seuil 8)"
},
{
"criterion": "CLI",
@@ -5,7 +5,7 @@
"version": "1.0",
"verdict": "PASS",
"suites": 24,
"test_methods": 633,
"test_methods": 634,
"coverage_ok": true,
"artifacts": [
"regression_plan.json"
@@ -57,7 +57,7 @@
"in_gate": true,
"has_tests_dir": true,
"test_files": 1,
"test_methods": 35
"test_methods": 36
},
{
"id": "crm.workflow_vente",
@@ -295,7 +295,7 @@
"totals": {
"suites": 24,
"test_files": 24,
"test_methods": 633,
"test_methods": 634,
"min_methods": 10,
"under_threshold": 0
},
@@ -30,9 +30,9 @@
{
"id": "crm.financement_bancaire",
"path": "crm/financement_bancaire",
"expected_methods": 35,
"ran": 35,
"passed": 35,
"expected_methods": 36,
"ran": 36,
"passed": 36,
"failures": 0,
"errors": 0,
"skipped": 0,
@@ -296,8 +296,8 @@
"suites": 24,
"green": 24,
"red": 0,
"ran": 633,
"passed": 616,
"ran": 634,
"passed": 617,
"failures": 0,
"errors": 0,
"skipped": 17