[DTP-Worker] Sprint 8 · buffer · Fiches agents/master prompt : gate d'IDENTITÉ de l'endpoint GPU RunPod ComfyUI (pod t68akvx80wv092 + tag « Flux dev fp8 » · 6 citations BIM/Rendu/master prompt) ancré sur le bullet §1 de AGENTS_EXISTING_ASSETS.md
Surface data-derived jusqu'ici hors de tout gate : l'ID du pod RunPod ComfyUI et le tag modèle Flux, recopiés à la main en 6 endroits, dont la source de vérité in-repo est le fichier maître AGENTS_EXISTING_ASSETS.md (que les fiches citent explicitement). Un pod re-créé (nouvel id) ou un modèle bumpé péримait les citations en silence → batch Flux câblé vers un endpoint GPU mort (#6). Gate « RunPod endpoint » (ci/check_readme_claims.sh, avant sys.exit) : id+tag recomputés du bullet §1 (garde : bullet unique) ; direction fiche→inventaire — toute fiche/master prompt mentionnant RunPod doit citer l'id EXACT (token backtické de forme pod == canonique) + le tag EXACT ; disparition totale échoue. 6 morsures vérifiées (id change → 3 fiches cascade · tag bump → 3 · mistype → 1 · tag drop → 1 · id drop → incomplet · bullet supprimé → ancre morte) ; restauré green · 7 gates re-verts. ci/README.md (clause récap + paragraphe détaillé) + 05_activity_log mis à jour. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+23
-1
File diff suppressed because one or more lines are too long
@@ -5375,6 +5375,85 @@ if sdk is not None:
|
||||
else:
|
||||
good(f"Mobile Expo SDK · {MOB_SDK_RD} — « Expo SDK **{sdk}** » cite l'ancre roadmap")
|
||||
|
||||
# ============================================================================
|
||||
# Fiches agents + master prompt · IDENTITÉ de l'endpoint GPU RunPod ComfyUI —
|
||||
# le pod `t68akvx80wv092` (Flux dev fp8) cité DOIT == l'inventaire maître
|
||||
# AGENTS_EXISTING_ASSETS.md (même classe de « vert trompeur », côté infra GPU).
|
||||
# ----------------------------------------------------------------------------
|
||||
# Les fiches BIM/Rendu et le master prompt NOMMENT, entre backticks, l'ID du pod
|
||||
# RunPod ComfyUI qui exécute le rendu Flux (`t68akvx80wv092`) + le tag du modèle
|
||||
# (« Flux dev fp8 »). Ces valeurs sont SAISIES À LA MAIN ; la source de vérité
|
||||
# in-repo est le bullet §1 de AGENTS_EXISTING_ASSETS.md — « le fichier maître
|
||||
# en-repo » que les fiches CITENT explicitement comme leur ancre. Aucun gate ne
|
||||
# couvrait ce lien : check_docs ne voit qu'un lien Markdown, guard_constraints
|
||||
# qu'un terme interdit, check_artifacts qu'un out/ — un ID de pod n'est aucun des
|
||||
# trois. Or un pod RunPod est RE-CRÉÉ avec un NOUVEL id (le cas le plus courant) :
|
||||
# l'inventaire maître se met à jour, les 6 citations en fiches se PÉRIMENT en
|
||||
# silence → l'agent Rendu/BIM câblerait le batch Flux vers un endpoint GPU MORT
|
||||
# (l'invention même que #6 interdit). Aucune suite tests/ (FONCTIONS du module,
|
||||
# jamais la prose de fiche) ne l'attrape ; classe notée en mémoire
|
||||
# (`agent-fiche-role-attrs-ungated`) : la fiche restitue une donnée data-derived
|
||||
# (ici l'infra GPU) sur une surface distincte de tout gate.
|
||||
#
|
||||
# On RECOMPUTE l'id + le tag depuis le bullet maître (jamais une liste à la main
|
||||
# · #6). Direction fiche→inventaire (le consommateur) : toute fiche/master prompt
|
||||
# qui MENTIONNE RunPod doit citer l'id EXACT (tout token backtické de forme pod —
|
||||
# alphanum minuscule ≥12 avec un chiffre — == canonique) + le tag Flux EXACT. La
|
||||
# disparition TOTALE de la surface (plus aucune mention RunPod) échoue AUSSI.
|
||||
# ============================================================================
|
||||
RUNPOD_SRC = "AGENTS_EXISTING_ASSETS.md"
|
||||
try:
|
||||
_rp_src = re.sub(r"\s+", " ", open(RUNPOD_SRC, encoding="utf-8").read())
|
||||
except OSError as e:
|
||||
bad(f"RunPod endpoint · {RUNPOD_SRC} illisible : {e}"); _rp_src = None
|
||||
|
||||
if _rp_src is not None:
|
||||
_rp_hits = re.findall(
|
||||
r"RunPod ComfyUI\*\*\s*endpoint\s*`([a-z0-9]+)`\s*\((Flux[^)]+)\)", _rp_src)
|
||||
if len(_rp_hits) != 1:
|
||||
bad(f"RunPod endpoint · bullet canonique INTROUVABLE ou en double dans "
|
||||
f"{RUNPOD_SRC} (attendu 1, trouvé {len(_rp_hits)}) → source d'ancrage "
|
||||
f"cassée, impossible de recomputer l'id du pod GPU")
|
||||
else:
|
||||
pod_id, flux_tag = _rp_hits[0]
|
||||
flux_tag = flux_tag.strip()
|
||||
flux_norm = re.sub(r"\s+", " ", flux_tag).lower()
|
||||
pod_shape = re.compile(r"`([a-z0-9]{12,})`")
|
||||
rp_files = subprocess.run(
|
||||
["git", "ls-files", "03_agents/*/AGENT.md"],
|
||||
capture_output=True, text=True).stdout.split()
|
||||
rp_files.append("02_master_prompt/MASTER_PROMPT_DTP_v2.md")
|
||||
rp_citers = 0
|
||||
for rf in rp_files:
|
||||
try:
|
||||
rtxt = re.sub(r"\s+", " ", open(rf, encoding="utf-8").read())
|
||||
except OSError as e:
|
||||
bad(f"RunPod endpoint · {rf} illisible : {e}"); continue
|
||||
if "RunPod" not in rtxt:
|
||||
continue # fiche ne cite pas l'infra GPU (ok)
|
||||
rp_citers += 1
|
||||
toks = [t for t in pod_shape.findall(rtxt) if re.search(r"\d", t)]
|
||||
if not toks:
|
||||
bad(f"RunPod endpoint · {rf} mentionne RunPod mais ne cite AUCUN id "
|
||||
f"de pod backtické (attendu `{pod_id}`) → citation incomplète")
|
||||
else:
|
||||
stale = sorted({t for t in toks if t != pod_id})
|
||||
if stale:
|
||||
bad(f"RunPod endpoint · {rf} cite l'id périmé {stale} MAIS "
|
||||
f"l'inventaire maître dit `{pod_id}` → pod re-créé / mal "
|
||||
f"recopié, endpoint GPU fantôme (régénérer la fiche)")
|
||||
else:
|
||||
good(f"RunPod endpoint · {rf} · {len(toks)} citation(s) "
|
||||
f"`{pod_id}` == {RUNPOD_SRC}")
|
||||
if flux_norm not in rtxt.lower():
|
||||
bad(f"RunPod endpoint · {rf} cite le pod mais PAS le tag modèle "
|
||||
f"« {flux_tag} » (== {RUNPOD_SRC}) → tag Flux périmé/absent")
|
||||
else:
|
||||
good(f"RunPod endpoint · {rf} · tag modèle « {flux_tag} » == inventaire")
|
||||
if rp_citers == 0:
|
||||
bad(f"RunPod endpoint · AUCUNE fiche/master prompt ne mentionne RunPod — "
|
||||
f"la surface d'identité de l'endpoint GPU s'est évaporée (régression #6)")
|
||||
|
||||
sys.exit(1 if FAIL else 0)
|
||||
PY
|
||||
rc=$?
|
||||
|
||||
Reference in New Issue
Block a user