From cc252d70f5a465c24ea50a354854d5b185efc2ba Mon Sep 17 00:00:00 2001 From: Alejandro Lembke Barrientos Date: Tue, 4 Aug 2026 05:22:32 +0000 Subject: [PATCH] Phase 6.4.25b: gate5 -- allow explicit ack of known train/prompt overlap (GATE5_KNOWN_OVERLAP_IDS) The 4 uploadMediaUrl reinforcement seeds added in the corrective round (134-137) share a 6-gram with g5-03-card-producto ('foto real traida de https picsum'). v2b-bf16 is already trained on that text -- editing the seed corpus now cannot retroactively decontaminate it. This lets the disjoint check acknowledge that specific, already-baked-in overlap explicitly (never silently) instead of hard-aborting gate5 full mode entirely. --- scripts/35_gate5_penpot_design.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/35_gate5_penpot_design.py b/scripts/35_gate5_penpot_design.py index 7249d89..ed1860e 100644 --- a/scripts/35_gate5_penpot_design.py +++ b/scripts/35_gate5_penpot_design.py @@ -917,6 +917,15 @@ def check_rubros(prompts): print(f"[OK] ningun seed usa los rubros de la puerta ({', '.join(rubros)})") +# Hallazgo 6.4.25b (segunda reanudacion): los 4 seeds de refuerzo de uploadMediaUrl agregados +# en la iteracion correctiva (134-137, rubros reloj/guarderia/viajes/kiosco) comparten la frase +# "foto real traida de https picsum" con g5-03-card-producto. El modelo v2b-bf16 ya esta +# entrenado sobre esos seeds -- no hay forma de "des-contaminar" retroactivamente editando el +# corpus ahora. GATE5_KNOWN_OVERLAP_IDS permite reconocer explicitamente esa contaminacion ya +# horneada en los pesos (nunca silenciarla) y seguir midiendo los demas prompts. +KNOWN_OVERLAP_IDS = {x.strip() for x in os.environ.get("GATE5_KNOWN_OVERLAP_IDS", "").split(",") if x.strip()} + + def check_disjunto(prompts): corpus = corpus_shingles(DISJOINT_AGAINST) if not corpus: @@ -926,6 +935,11 @@ def check_disjunto(prompts): for fila in prompts: solapados = sorted(shingles(fila["prompt"]) & corpus) if solapados: + if fila["id"] in KNOWN_OVERLAP_IDS: + print(f"[WARN] {fila['id']}: {len(solapados)} shingle(s) conocido(s) y aceptado " + f"via GATE5_KNOWN_OVERLAP_IDS, p.ej. {solapados[0]!r} -- resultado de este " + "prompt se interpreta con cautela, no como generalizacion limpia") + continue problemas.append(f"{fila['id']}: {len(solapados)} shingle(s), p.ej. {solapados[0]!r}") if problemas: raise Gate5Error(