[DTP-Worker] Sprint 7 · Générateur Scénarios démo (run-sheet P07 banquier / P05 client) (CRM+Faisabilité · roadmap L68)
Orchestrateur méta-niveau : compose les hand-offs out/ des 10 modules déjà livrés en un run-sheet de démo jouable, via pointeurs RFC 6901 résolus à la construction (zéro chiffre en dur · #6). Réutilise le validateur Publiciste et la preuve de couverture CI de l'auditeur 4Big (#5) — une démo ne s'appuie que sur des modules gated. Enregistre demo/scenarios dans l'audit 4Big (17→18, verdict PASS 18/18 à 100). 32 tests (9 injections négatives) · régression 474 tests verts · guards CI verts · builds déterministes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -259,7 +259,7 @@ class BuildTest(unittest.TestCase):
|
||||
def test_real_build_passes_gate(self):
|
||||
self.assertEqual(self.report["verdict"], "PASS")
|
||||
self.assertEqual(self.report["totals"]["fail"], 0)
|
||||
self.assertEqual(self.report["totals"]["modules"], 17)
|
||||
self.assertEqual(self.report["totals"]["modules"], 18)
|
||||
self.assertGreaterEqual(self.report["totals"]["min_score"], 95)
|
||||
|
||||
def test_invariants_clean_on_real_report(self):
|
||||
@@ -318,7 +318,7 @@ class InvariantGuardTest(unittest.TestCase):
|
||||
m["verdict"] = "PASS" if m["score"] >= 95 else "FAIL"
|
||||
bad["totals"]["fail"] = sum(1 for x in bad["modules"]
|
||||
if x["verdict"] != "PASS")
|
||||
bad["totals"]["pass"] = 17 - bad["totals"]["fail"]
|
||||
bad["totals"]["pass"] = 18 - bad["totals"]["fail"]
|
||||
bad["verdict"] = "FAIL"
|
||||
errs = gen.check_invariants(bad, self.spec)
|
||||
# Le rapport est cohérent en interne mais porte un FAIL → INV7 le signale.
|
||||
|
||||
Reference in New Issue
Block a user