caa3b90556
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>
178 lines
4.0 KiB
JSON
178 lines
4.0 KiB
JSON
{
|
|
"generated_from": "acceptance_spec.json v1.0",
|
|
"reference_cadre": "Roadmap 04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md · livrables de sprint (L33..L76) + métriques succès MVP (L81..L87) · CLAUDE.md #8 (VPS pour TOUS projets · le worker n'écrit jamais sur le VPS) · Sprint 8 « Bufer pour corrections finales » (L75)",
|
|
"roadmap_ref": "04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md",
|
|
"cible_portage": "Michel / comité de recette — document de recette (hand-off démo publique)",
|
|
"self_module": "qa/acceptance",
|
|
"counts": {
|
|
"sprint_deliverables": 8,
|
|
"mvp_metrics": 7,
|
|
"deliverables_total": 15,
|
|
"in_repo": 15,
|
|
"out_of_scope_full": 0,
|
|
"gated_modules": 24,
|
|
"cited_modules": 24,
|
|
"out_of_scope_items": 14
|
|
},
|
|
"coverage": {
|
|
"ci_modules_count": 24,
|
|
"cited_modules_count": 24,
|
|
"bijective": true,
|
|
"missing_in_matrix": [],
|
|
"phantom_evidence": [],
|
|
"partition_ok": true,
|
|
"sprint_partition": [
|
|
{
|
|
"sprint": "S1",
|
|
"expected": [],
|
|
"cited": [],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S2",
|
|
"expected": [
|
|
"publiciste",
|
|
"rbac",
|
|
"rbac/apply_plan",
|
|
"rbac/fixtures_gen",
|
|
"rbac/roleprofile_gen",
|
|
"rbac/userperm_gen"
|
|
],
|
|
"cited": [
|
|
"publiciste",
|
|
"rbac",
|
|
"rbac/apply_plan",
|
|
"rbac/fixtures_gen",
|
|
"rbac/roleprofile_gen",
|
|
"rbac/userperm_gen"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S3",
|
|
"expected": [
|
|
"faisabilite/bancable",
|
|
"faisabilite/generator"
|
|
],
|
|
"cited": [
|
|
"faisabilite/bancable",
|
|
"faisabilite/generator"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S4",
|
|
"expected": [
|
|
"crm/commissions",
|
|
"crm/dossier_vente",
|
|
"crm/financement_bancaire",
|
|
"crm/workflow_vente",
|
|
"fiscal/ecf_dgii",
|
|
"frontend/portails"
|
|
],
|
|
"cited": [
|
|
"crm/commissions",
|
|
"crm/dossier_vente",
|
|
"crm/financement_bancaire",
|
|
"crm/workflow_vente",
|
|
"fiscal/ecf_dgii",
|
|
"frontend/portails"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S5",
|
|
"expected": [
|
|
"legal/confotur",
|
|
"mobile/app_config",
|
|
"qa/audit_5d"
|
|
],
|
|
"cited": [
|
|
"legal/confotur",
|
|
"mobile/app_config",
|
|
"qa/audit_5d"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S6",
|
|
"expected": [
|
|
"frontend/chat_otoia",
|
|
"seo"
|
|
],
|
|
"cited": [
|
|
"frontend/chat_otoia",
|
|
"seo"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S7",
|
|
"expected": [
|
|
"demo/scenarios",
|
|
"qa/audit_4big"
|
|
],
|
|
"cited": [
|
|
"demo/scenarios",
|
|
"qa/audit_4big"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
},
|
|
{
|
|
"sprint": "S8",
|
|
"expected": [
|
|
"devops/deploy_runbook",
|
|
"pie/manifest",
|
|
"qa/regression"
|
|
],
|
|
"cited": [
|
|
"devops/deploy_runbook",
|
|
"pie/manifest",
|
|
"qa/regression"
|
|
],
|
|
"missing": [],
|
|
"extra": [],
|
|
"exact": true
|
|
}
|
|
],
|
|
"unknown_sprint": [],
|
|
"missing_artifacts": [],
|
|
"self_module_excluded": "qa/acceptance"
|
|
},
|
|
"roadmap": {
|
|
"sprint_ids": [
|
|
"S1",
|
|
"S2",
|
|
"S3",
|
|
"S4",
|
|
"S5",
|
|
"S6",
|
|
"S7",
|
|
"S8"
|
|
],
|
|
"metric_ids": [
|
|
"M1",
|
|
"M2",
|
|
"M3",
|
|
"M4",
|
|
"M5",
|
|
"M6",
|
|
"M7"
|
|
]
|
|
}
|
|
}
|