[DTP-Worker 20260802_123546] Sprint 8 · buffer · Dérive doc-vs-réalité « 12 agents » sur les 2 docs de mandat de tête (AGENTS_EXISTING_ASSETS titre + MASTER_PROMPT §28) : le 13e agent (publiciste) est livré+gaté 100/100 → correction 12→13 (source unique 03_agents/) + clarification statut publiciste (LIVRÉ mandat · runtime VPS hors #8) + extension check_readme_claims réutilisant n_agents pour ancrer ces 2 docs (surface prouvée non couverte par mutation-test)
This commit is contained in:
@@ -216,6 +216,35 @@ if re.search(r"verdict `true`", norm):
|
||||
else:
|
||||
bad("Recette · verdict `true` non cité dans README (attendu)")
|
||||
|
||||
# ============================================================================
|
||||
# Comptes d'agents dans les docs de mandat de tête (hors README) · même classe.
|
||||
# ----------------------------------------------------------------------------
|
||||
# Le README est déjà gaté (« 13 agents » ×2 ci-dessus, recompté depuis
|
||||
# 03_agents/*/AGENT.md). Or DEUX autres docs de tête retranscrivent ce même
|
||||
# compte en dur et se périmaient en silence : ils affichaient « 12 agents » alors
|
||||
# que le 13e (publiciste) était livré+gaté (fiche + générateur 100/100 + suite de
|
||||
# régression). Aucun gate ne les comparait à la réalité du disque. On réutilise
|
||||
# le `n_agents` DÉJÀ dérivé de `git ls-files 03_agents/*/AGENT.md` (source unique,
|
||||
# pas de nouvelle machinerie) et on exige que chaque doc cite exactement ce compte.
|
||||
# ============================================================================
|
||||
for path, pat, label in [
|
||||
("AGENTS_EXISTING_ASSETS.md",
|
||||
r"Mapping vers les (\d+) agents DTP", "Actifs existants · titre"),
|
||||
("02_master_prompt/MASTER_PROMPT_DTP_v2.md",
|
||||
r"Tes (\d+) agents spécialisés", "Master prompt · titre"),
|
||||
]:
|
||||
try:
|
||||
doc = re.sub(r"\s+", " ", open(path, encoding="utf-8").read())
|
||||
except OSError as e:
|
||||
bad(f"{label} — {path} illisible : {e}"); continue
|
||||
m = re.search(pat, doc)
|
||||
if m is None:
|
||||
bad(f"{label} — compte d'agents INTROUVABLE dans {path} (attendu {n_agents}) · motif=/{pat}/")
|
||||
elif m.group(1) == str(n_agents):
|
||||
good(f"{label} — {path} cite {m.group(1)} == 03_agents/ ({n_agents})")
|
||||
else:
|
||||
bad(f"{label} — {path} dit {m.group(1)} MAIS 03_agents/ en compte {n_agents} → corriger le doc")
|
||||
|
||||
# ============================================================================
|
||||
# Fiche QA (03_agents/qa/AGENT.md) · même classe de « vert trompeur » —
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user