[DTP-Worker 20260802_090530] Sprint 8 · buffer · Angle mort gate « comptes tests par suite » : la cellule rbac (fiche pointe une SPEC, pas un README) était non vérifiée
row_re du gate check_readme_claims §comptes-par-suite exigeait un lien …/README.md ; la fiche erpnext_backend pointe rbac/ via RBAC_50_ROLES_SPEC.md (son point d'entrée contrat), donc sa cellule « Tests | 10 | » échappait au recompute depuis regression_plan.json. Mutation-test 10→99 : gate restait VERT (vrai angle mort, classe « vert trompeur »). Extension : accepte tout *.md d'entrée du dossier module (/[\w.-]+.md) ; le garde path-not-in-auth protège l'élargissement. rbac désormais vue+mordue ; 7 gates verts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -631,11 +631,15 @@ self_mod = plan["coverage"].get("self_module_excluded")
|
||||
if count_tests is not None and self_mod:
|
||||
auth[self_mod] = count_tests(f"{D}/{self_mod}/tests")[1]
|
||||
|
||||
# Ligne de table Tests : lien vers 05_deliverables_mvp/<path>/README.md + dernier
|
||||
# champ numérique. On ne vérifie QUE les lignes pointant une suite gatée connue
|
||||
# (auth) — toute autre ligne de table est ignorée (pas notre périmètre).
|
||||
# Ligne de table Tests : lien vers 05_deliverables_mvp/<path>/<doc>.md + dernier
|
||||
# champ numérique. Le <doc>.md est l'ENTRÉE du module — le plus souvent README.md,
|
||||
# mais parfois une SPEC (la fiche `rbac` pointe RBAC_50_ROLES_SPEC.md, son point
|
||||
# d'entrée) : on accepte donc tout `*.md` du dossier module, sinon cette cellule-là
|
||||
# reste un angle mort (mutation 10→99 non mordue). On ne vérifie QUE les lignes
|
||||
# pointant une suite gatée connue (auth) — toute autre ligne est ignorée (hors
|
||||
# périmètre), le garde `path not in auth` protège de tout élargissement fortuit.
|
||||
row_re = re.compile(
|
||||
r"^\|\s*\[`\w+/`\]\([^)]*?05_deliverables_mvp/([\w/]+?)/README\.md\)"
|
||||
r"^\|\s*\[`\w+/`\]\([^)]*?05_deliverables_mvp/([\w/]+?)/[\w.-]+\.md\)"
|
||||
r".*\|\s*(\d+)\s*\|\s*$")
|
||||
fiches = subprocess.run(["git", "ls-files", "03_agents/*/AGENT.md"],
|
||||
capture_output=True, text=True).stdout.split()
|
||||
|
||||
Reference in New Issue
Block a user