feat(short): el prompt sabe cuánto texto cabe dibujado, y el informe grita si quedó ilegible
Build & Deploy ResearchOwl / build-and-push (push) Successful in 10s

x-fits llega vivo del contrato y se pone delante del modelo: es el único
límite que nada rechaza, porque el renderizador encoge en vez de fallar. Sin
esto el modelo escribe una cita de 58 caracteres para un hueco de 16 y se
entera cuando ya está renderizada.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
ChemaVX
2026-08-06 16:19:48 +00:00
co-authored by Claude Fable 5
parent a13c3062b6
commit 129f436fd2
5 changed files with 63 additions and 1 deletions
+9 -1
View File
@@ -473,9 +473,17 @@ def _claims_message(result) -> str:
if trimmed:
lines.append("")
# Un recorte grave no es un titular más pequeño, es uno ilegible: se
# separa para que no se pierda entre los cosméticos.
severe = [w for w in trimmed if w.get("severe")]
lines.append(f"✂️ {len(trimmed)} textos recortados al dibujar:")
for w in trimmed[:5]:
lines.append(f" • [{w.get('template', '?')}] {str(w.get('text', ''))[:60]}")
mark = "🔴 " if w.get("severe") else ""
lines.append(f"{mark}[{w.get('template', '?')}] "
f"{str(w.get('text', ''))[:60]}")
if severe:
lines.append(f" 🔴 {len(severe)} quedaron ILEGIBLES (dibujados a menos "
"de la mitad): acorta ese texto y reenvía el spec.")
if spoken:
lines.append("")