[DTP-Worker 20260805_064201] FIX RÉEL : fenêtre de sprint roadmap-globale de faisabilite/generator corrigée S2→S3
Défaut (1re vraie édition de prod après plusieurs sessions de sondes « 0 édition ») :
quality_spec.json:66 attribuait au générateur de faisabilité 4 volets la fenêtre roadmap
« S2 » avec un source falsifiable-faux (« roadmap Sprint 2 · Faisabilité… »), alors que la
roadmap n'a AUCUNE faisabilité au Sprint 2 (Console/CRM/RBAC) et place « génération 4 volets »
au Sprint 3 (L43, livrable L46 « P07 faisabilité complète auto-générée »). Cause racine :
confusion de 2 cadres de sprint — le label agent-interne « S2 » (AGENT.md §130-133 : phases
S1 template/S2 générateur/S3 versioning, toutes ancrées roadmap Sprint 3) recopié dans le
champ roadmap-global (seul quality_spec le porte, toutes ses entrées sourcent « roadmap
Sprint N »). Effet : le livrable-phare S3 était prouvé SANS son propre générateur, ce dernier
mal-classé comme preuve du S2 (dashboards/CRM/RBAC) sans rapport.
Correctif coordonné 2-spec + régénération byte-gatée :
- quality_spec.json:66 : sprint S2→S3 + source recitée « roadmap Sprint 3 » (style aligné sur
le jumeau bancable, déjà S3).
- acceptance_spec.json : generator retiré de evidence_modules S2, ajouté à S3
(sinon invariant 5 « partition exacte » casse : want lu dans quality_spec ≠ have déclaré).
- régénération audit_4big PUIS acceptance (lit la fenêtre depuis quality_spec).
Vérif : partition_ok=True · bijective=True · S2=6 (publiciste+5 rbac) · S3={bancable,generator}
· run_ci 33 PASS · score 4Big générateur inchangé 100/100 (le champ sprint ne sert qu'au tri+méta,
pas d'oracle de scoring). Portée honnête : 5 fichiers (2 specs + 3 artefacts régénérés) + log.
0 doc de module éditée (les ~10 « S2 » ailleurs = cadre agent-interne, corrects, #5) · daily_reports
= historique non réécrit · 0 gate ajouté (déjà gaté par inv5) · 0 chiffre inventé (#6) · 0 VPS (#8).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,42 +40,6 @@
|
||||
}
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"id": "faisabilite-generator",
|
||||
"path": "faisabilite/generator",
|
||||
"sprint": "S2",
|
||||
"archetype": "data_room",
|
||||
"applicable_weight": 80,
|
||||
"earned_weight": 80,
|
||||
"score": 100,
|
||||
"verdict": "PASS",
|
||||
"checks": [
|
||||
{
|
||||
"criterion": "DOC",
|
||||
"weight": 20,
|
||||
"passed": true,
|
||||
"evidence": "README.md (4797 octets)"
|
||||
},
|
||||
{
|
||||
"criterion": "CONTRAT",
|
||||
"weight": 20,
|
||||
"passed": true,
|
||||
"evidence": "brief.schema.json"
|
||||
},
|
||||
{
|
||||
"criterion": "TESTS",
|
||||
"weight": 25,
|
||||
"passed": true,
|
||||
"evidence": "16 méthodes test_* dans 1 fichier(s) (seuil 8)"
|
||||
},
|
||||
{
|
||||
"criterion": "CLI",
|
||||
"weight": 15,
|
||||
"passed": true,
|
||||
"evidence": "faisabilite_gen.py (argparse + __main__)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "publiciste",
|
||||
"path": "publiciste",
|
||||
@@ -340,6 +304,42 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "faisabilite-generator",
|
||||
"path": "faisabilite/generator",
|
||||
"sprint": "S3",
|
||||
"archetype": "data_room",
|
||||
"applicable_weight": 80,
|
||||
"earned_weight": 80,
|
||||
"score": 100,
|
||||
"verdict": "PASS",
|
||||
"checks": [
|
||||
{
|
||||
"criterion": "DOC",
|
||||
"weight": 20,
|
||||
"passed": true,
|
||||
"evidence": "README.md (4797 octets)"
|
||||
},
|
||||
{
|
||||
"criterion": "CONTRAT",
|
||||
"weight": 20,
|
||||
"passed": true,
|
||||
"evidence": "brief.schema.json"
|
||||
},
|
||||
{
|
||||
"criterion": "TESTS",
|
||||
"weight": 25,
|
||||
"passed": true,
|
||||
"evidence": "16 méthodes test_* dans 1 fichier(s) (seuil 8)"
|
||||
},
|
||||
{
|
||||
"criterion": "CLI",
|
||||
"weight": 15,
|
||||
"passed": true,
|
||||
"evidence": "faisabilite_gen.py (argparse + __main__)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "crm-commissions",
|
||||
"path": "crm/commissions",
|
||||
|
||||
Reference in New Issue
Block a user