[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:
@@ -41,7 +41,7 @@ de Michel, d'où son suivi séparé (il ne partage pas la source unique du trio)
|
||||
|
||||
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|
||||
|---|---|---|---|---|---|
|
||||
| [`financement_bancaire/`](../../05_deliverables_mvp/crm/financement_bancaire/README.md) | 4 (roadmap L52) | Parcours **hypothécaire RD** : cœur métier du **gate check 4 conditions** — aucun document n'est transmis à la banque tant que apport initial (20 % résident · 30 % étranger · Ley 189-11) + documents exigés + autorisations signées + validation référente ne sont pas réunis ; fonctions **pures** sans I/O | `financement_bancaire_gen.py build\|validate` | `crm-financement-bancaire-tests` | 35 |
|
||||
| [`financement_bancaire/`](../../05_deliverables_mvp/crm/financement_bancaire/README.md) | 4 (roadmap L52) | Parcours **hypothécaire RD** : cœur métier du **gate check 4 conditions** — aucun document n'est transmis à la banque tant que apport initial (20 % résident · 30 % étranger · Ley 189-11) + documents exigés + autorisations signées + validation référente ne sont pas réunis ; fonctions **pures** sans I/O | `financement_bancaire_gen.py build\|validate` | `crm-financement-bancaire-tests` | 36 |
|
||||
|
||||
Matérialise [`DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md`](../../DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md)
|
||||
(**Phase 1 · P0 · MVP** : contrat de données + cœur du gate + 7 sections + bannière
|
||||
|
||||
@@ -37,7 +37,7 @@ le VPS reçoit — jamais l'inverse.
|
||||
vente, le barème commissions, le DocType Dossier Vente et le plan e-CF **résolvent**
|
||||
leurs rôles depuis ce fichier, jamais un nom Frappe en dur. Total backend **RBAC 60
|
||||
tests** (10 + 11 + 12 + 11 + 16) + **e-CF 39 tests**, tous gated dans le CI (matrice
|
||||
de régression du repo : **633 tests · 24 suites** · verdict `PASS`, source
|
||||
de régression du repo : **634 tests · 24 suites** · verdict `PASS`, source
|
||||
`qa/regression/out/regression_run.json` — jamais compté à la main · #6).
|
||||
|
||||
## Hand-off reçus (à appliquer sur le VPS, dans l'ordre)
|
||||
|
||||
@@ -32,7 +32,7 @@ périmètre — un auditeur ne s'audite jamais.
|
||||
**conformité** normative des hand-off.
|
||||
|
||||
## Verdict agrégé courant (source `qa/regression/out/regression_run.json`)
|
||||
**24 suites gated · 633 tests · 616 passés · 0 échec · 0 erreur → verdict `PASS`.**
|
||||
**24 suites gated · 634 tests · 617 passés · 0 échec · 0 erreur → verdict `PASS`.**
|
||||
Ce compte est **découvert automatiquement depuis le CI** (`q4lib.registry.parse_ci`,
|
||||
réutilisé sans duplication) — jamais compté à la main.
|
||||
Les **17 tests restants sont ignorés** (`skipped`) : ce sont les *oracles optionnels*
|
||||
|
||||
Reference in New Issue
Block a user