[DTP-Worker 20260806_104533] FIX couverture · oracle orphelin brief.schema.json câblé à un test → le SEUL des 26 *.schema.json non enforced
Constat: faisabilite/generator/brief.schema.json, documenté « Contrat d'entrée » et sibling de version/projets_master (tous deux test-enforced), n'était validé par AUCUN test — _validate_brief() ne garde que le code projet, jamais la forme complète du brief; un brief drifté hors contrat passait inaperçu. Fix (teeth): test_input_briefs_validate_against_brief_schema valide les 2 fixtures contre brief.schema.json via le validateur maison Publiciste (zéro-pip, toujours exécuté, pas de skip sous python -S). Conformité pré-vérifiée sous validateur maison ET oracle jsonschema. L'« incomplet » est conforme au sens schéma (null admis) — incomplet seulement au sens sémantique (prix→placeholders #6). Cascade régénérée (générateurs, jamais à la main #6): regression_plan/run/MANIFEST 16→17 · totaux 624→625 exécutés / 607→608 passés / 17 skippés · quality_report evidence 16→17. Prose gatée réalignée (le gate check-readme-claims a mordu): README module + fiches faisabilite/qa/erpnext_backend. Prose ungatée: GAP_ANALYSIS 16→17 + nouveau bloc daily_report (blocs currency antérieurs = snapshots datés, non réécrits). 0 gate ajouté (#5) · 0 chiffre à la main (#6) · 0 commande VPS (#8). run_ci.sh = 33 PASS · 0 FAIL · 0 SKIP. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -166,3 +166,34 @@ re-sweep de vérification. **0 artefact reconstruit**, **0 gate ajouté** (#5),
|
||||
saisi à la main** (#6 — `8`/`25`/`33`/`624`/`607`/`17` recomputés de `git ls-files` ·
|
||||
`run_ci.sh` · `ci.yml` · `regression_run.json`), **aucune commande VPS** (#8). Seules
|
||||
éditions : cette section de currency + le journal `05_activity_log/`.
|
||||
|
||||
---
|
||||
|
||||
## FIX couverture — oracle orphelin `brief.schema.json` câblé au test (session `104533`)
|
||||
|
||||
**Édition de dépôt cette session : OUI (générateur de tests + 4 artefacts régénérés).**
|
||||
Contrairement aux sessions de currency ci-dessus, cette session livre une **amélioration de
|
||||
couverture réelle**, pas un sweep lecture-seule.
|
||||
|
||||
**Constat.** `faisabilite/generator/brief.schema.json` — documenté comme **« Contrat d'entrée »**
|
||||
dans le README du module et sibling des deux autres schémas faisabilité — était le **seul des 26
|
||||
oracles `*.schema.json` non câblé à un test** : `_validate_brief()` ne garde que le code `projet`
|
||||
(`^P0[1-9]$`), jamais la forme complète du brief ; aucun test ne validait les fixtures contre le
|
||||
schéma. Un brief drifté hors contrat (type erroné, clé renommée) passait donc inaperçu.
|
||||
|
||||
**Correction.** Ajout de `test_input_briefs_validate_against_brief_schema` : valide
|
||||
`brief_complete.json` **et** `brief_incomplete.json` contre `brief.schema.json` via le **validateur
|
||||
maison Publiciste** (zéro-pip, toujours exécuté — pas de skip sous `python -S`). L'« incomplet »
|
||||
est conforme au sens schéma (null/champ absent admis) ; il n'est « incomplet » qu'au sens
|
||||
sémantique (prix→placeholders). Confirmé par les **deux** validateurs (maison + oracle `jsonschema`).
|
||||
|
||||
| Chiffre | Avant | Après | Source régénérée |
|
||||
|---|---|---|---|
|
||||
| Tests `faisabilite/generator` | 16 | **17** | `count_tests` (disque) → `regression_plan.json` |
|
||||
| Matrice de régression (exécutés) | 624 | **625** | `qa/regression/out/regression_run.json` (`totals`) |
|
||||
| Matrice de régression (passés) | 607 | **608** | idem (17 skippés inchangés) |
|
||||
|
||||
**Artefacts régénérés** (jamais édités à la main · #6) : `regression_plan.json`,
|
||||
`regression_run.json`, `regression/out/MANIFEST.json`, `audit_4big/out/quality_report.json`.
|
||||
**Prose gatée réalignée** : README module (`17 tests`), fiches `03_agents/{faisabilite,qa,erpnext_backend}`.
|
||||
`run_ci.sh` = **33 PASS · 0 FAIL · 0 SKIP** · **0 gate ajouté** (#5) · **aucune commande VPS** (#8).
|
||||
|
||||
Reference in New Issue
Block a user