Qué pasa desde que la pieza queda sellada hasta que Adriana dice PASA o BLOQUEA, afirmación por afirmación. Cómo está hoy, qué se corrige, cómo le llega la información, los pasos de su turno, dónde se detiene, y por qué ya no necesita salir a internet. Todo lo de Hermes lo leí en su casa en el VPS; su último veredicto real y las herramientas que usó los saqué de su state.db. Escrito antes de construir; construida y probada el 2-sep: el resultado real está al final (11).
El chico de la familia glm. Para cotejar texto contra texto alcanza y sobra, y es el linaje de Rodrigo, no el de Cecilia. Se queda.
Es la única del tronco con internet. En su última revisión hizo 2 búsquedas y 1 extracción de página (falló), y luego escribió en su memoria que web_extract falla. Esa memoria hoy dice «Vacía»: el deploy la borra (ver abajo).
Lo mejor escrito del departamento: «contra la fuente, no contra tu memoria», «si no hay fuente, el dato no pasa», y el porqué: «HAILO le cobra medio millón de pesos por prometer que la IA funciona; si publicamos un dato falso, el comprador concluye que no distinguimos lo real de lo anunciado». No se toca.
cadena.py: pieza + «contexto de origen» recortado a 1,500 caracteres, «máximo 2 búsquedas»El contexto era el texto suelto del Ulises viejo, cortado a un cuarto. El código decide buscando «BLOQUEA» en los últimos 300 caracteres. Si bloquea, Cecilia reescribe «solo el caption» y la segunda revisión llega sin contexto de ningún tipo.
state.db«2. "30 de agosto de 2026". SIN FUENTE — El snippet de la página original no muestra ninguna fecha. El contexto de origen lo trae con rótulo de "fuente primaria verificada", pero ese rótulo no acredita la fecha (ya me ha pasado con bloques de origen con fechas equivocadas). Agoté mis 2 búsquedas permitidas sin poder cotejarla. […] 5. "Un agente que recibe el historial completo del ERP decide peor…" AUTORREPORTADO — Es aplicación propia, no afirmación de Anthropic. La pieza lo enmarca como interpretación, lo cual es honesto. Pasa como aterrizaje, no como dato del laboratorio.»
Dos cosas se ven aquí. La buena: distingue un hecho del mundo de un aterrizaje propio, y lo dice con claridad. La mala: bloqueó una fecha correcta porque desconfió del contexto (con razón: venía recortado y sin cita) y sus dos búsquedas no la encontraron. Un falso BLOQUEA por darle internet y quitarle la evidencia.
| Hoy | Por qué duele | Cómo queda |
|---|---|---|
| Verifica contra internet, con 2 búsquedas. | Dos búsquedas no acreditan nada y sí producen falsos SIN FUENTE. Y lo que sí acredita (la cita literal del post, con enlace y fecha) ya lo trajo Ulises y lo verificó el código contra X. | Web apagada. El juez es el dossier entero: cita, enlace, fecha, nivel por punto. Lo que no está en el dossier es SIN FUENTE, y eso es correcto: la pieza no puede afirmar lo que Ulises no trajo. |
| Recibe un contexto recortado a 1,500 caracteres. | Veía un cuarto de la evidencia y juzgaba el resto de memoria. | Recibe la pieza entera y el dossier entero (~6K). Nadie resume a nadie. |
| Revisa números, nombres, fechas, promesas, todo junto. | Los números ya los verifica el código (c4–c6) contra el dossier, con fuente y atribución. Repetirlo con un modelo agrega ruido y contradicciones. | Adriana coteja lo que el código no puede: afirmaciones en palabras. Qué hace la herramienta, en qué modelos, desde cuándo, quién lo dijo, qué probó un tercero, qué se promete. Y que ninguna afirmación diga más que su cita. |
| «BLOQUEA» en los últimos 300 caracteres. | Igual que con Rodrigo: adivinar. Un «no BLOQUEA» engaña. | Formato exacto por afirmación, línea VEREDICTO:, cerrojos a1–a7 sobre su salida. |
| Si bloquea, Cecilia reescribe todo y la segunda revisión va sin contexto. | La segunda revisión es peor que la primera por diseño. | Corrección quirúrgica de las tarjetas bloqueadas (tarjetas congeladas, como con Rodrigo) y segunda revisión con el mismo dossier. |
| Su memoria se borra en cada deploy. | deploy.sh sube memories/MEMORY.md con la plantilla «Vacía» a todas las casas. Lo que Adriana aprendió el 31-ago murió el 1-sep. | Decisión de GEG (abajo). Para Adriana da igual: sin web no tiene nada que recordar. Para el departamento no. |
Existe _comun/piezas/<fecha>.md sellada con cerrojos OK. Adriana corre sobre la pieza sellada, no sobre la escalada.
La pieza entera. El dossier entero, con sus puntos (a)–(e), citas, enlaces, fechas y NIVEL. La lista de números ya verificados por código (cifra → punto), para que no los repita ni los contradiga.
Le dice qué es una afirmación (cualquier cosa que un lector podría creer sobre el mundo), los cuatro estados y su definición exacta, que el dossier es el único juez, y el formato de entrega. Se guarda en _comun/prompts/adriana-….
HERMES_HOME=…/verificador hermes chat -Q -q "<encargo>". Sin herramientas: una sola llamada. Con flash, la más rápida del tronco.
Lo que Adriana NO recibe, a propósito: internet, la crítica de Rodrigo (dos jueces que no se leen entre sí), la orden, el veredicto de Máximo. Su pregunta es una sola: ¿lo que la pieza afirma está en el dossier, y lo dice igual o dice más?
| arranque | Lee config.yaml: modelo glm-5.3-flash, candado platform_toolsets.cli: []. Sin web, sin search, sin memoria: nada que llamar. |
| system prompt | SOUL.md (rol + RÚBRICA) + índice de skills (se apagan por config, como en Cecilia y Rodrigo). |
| mensaje | El encargo del código. Único input. |
| una llamada | glm-5.3-flash lee y escribe la lista de afirmaciones con estado y punto. Salida ≤ 1,500 caracteres. |
| cierre | Guarda en state.db, devuelve por stdout, el código limpia el aviso de toolsets. |
Lo importante para diseñar: Hermes no sabe si el punto (c) existe ni si la frase que Adriana cita está en la tarjeta 4. El código sí, y lo comprueba en cada afirmación.
| Estado | Qué significa | Ejemplo del dossier de hoy |
|---|---|---|
| VERIFICADO | La cita literal del dossier dice eso. Hechos de existencia: que lo lanzó, cuándo, en qué modelos, dónde está disponible, quién lo dijo, qué probó un tercero. | «Disponible hoy en 3.7 Flash, 3.6 Flash y 3.5 Flash-Lite» → punto (b), cita de @googledevs. |
| AUTORREPORTADO | Lo afirma la fuente interesada sobre sus propios resultados, y nadie más lo midió. Pasa solo si la tarjeta lo dice («según Google»). | «88% menos tokens» → punto (c): cuenta oficial @Google, benchmarks propios. Nadie fuera de Google contó tokens. |
| INTERPRETACIÓN | Aterrizaje propio de la pieza, no un dato del mundo. Pasa si está enmarcado como tal y no promete resultado. | «Revisar lo grabado dejó de ser un lujo de presupuesto» → es la traducción a operación, no una medición. |
| SIN FUENTE | No está en el dossier, o la pieza dice más que la cita (la cita dice «hasta 88%», la pieza dice «88% siempre»). | «Google lanzó Agentic Video el 1 de septiembre» → la fecha está en los posts (2026-09-01): VERIFICADO. Si dijera «el precio bajó»: SIN FUENTE, el dossier dice que el precio no aparece. |
Un solo SIN FUENTE bloquea la pieza. Un AUTORREPORTADO sin su «según» en la tarjeta también bloquea, pero eso ya lo detiene c6 antes de que Adriana lo vea.
| # | Paso | Quién |
|---|---|---|
| 1 | Recibe el encargo: pieza, dossier, números ya verificados, definiciones, formato. | código |
| 2 | Lee cada tarjeta y el pie y extrae las afirmaciones en palabras: qué hace la herramienta, quién, cuándo, en qué modelos, qué probó quién, qué se promete. Los números ya vienen con su punto: no los relitiga. | modelo |
| 3 | Por cada afirmación busca el punto del dossier cuya cita la sostiene. Compara alcance: si la pieza dice más que la cita, es SIN FUENTE aunque el tema esté. | modelo |
| 4 | Asigna el estado con la definición exacta. Si duda entre VERIFICADO y AUTORREPORTADO, mira el NIVEL del punto y quién habla: la fuente sobre sí misma es AUTORREPORTADO. | modelo |
| 5 | Escribe la lista: afirmación · tarjeta · estado · punto · nota de una línea. Cierra con VEREDICTO: PASA o BLOQUEA. | modelo |
| 6 | Hermes guarda y devuelve. | hermes |
| 7 | Cerrojos a1–a7 (abajo). Si BLOQUEA: Cecilia corrige solo las tarjetas bloqueadas (quita la afirmación o la deja en [FALTA DATO], que escala), c1–c10 de nuevo, tarjetas congeladas, y segunda revisión de Adriana con el mismo dossier. Si BLOQUEA otra vez: escalado a humano. Sello en _comun/hechos/<fecha>.md. | código |
| 8 | La pieza con PASA sigue a Selene (mismidad, agente 6). Aquí termina Adriana. | cadena |
HECHOS — martes 1 de septiembre de 2026 · pieza 2026-09-01.md · revisión 1 AFIRMACIÓN 1 · TARJETA 2 · «Google lanzó Agentic Video en la API de Gemini el 1 de septiembre» ESTADO: VERIFICADO · PUNTO: (a) · posts del 2026-09-01 de @OfficialLoganK y @googledevs AFIRMACIÓN 2 · TARJETA 2 · «Disponible hoy en 3.7 Flash, 3.6 Flash y 3.5 Flash-Lite» ESTADO: VERIFICADO · PUNTO: (b) · cita literal de @googledevs AFIRMACIÓN 3 · TARJETA 5 · «El agente escanea frames, audio y transcripciones, no todo el video» ESTADO: VERIFICADO · PUNTO: (b) · lo describe la cuenta oficial AFIRMACIÓN 4 · TARJETA 6 · «El 88% aparece en 2 de 3 pruebas; la tercera da 58.4%» ESTADO: AUTORREPORTADO · PUNTO: (c) · benchmarks de Google transcritos por @WesRoth; la tarjeta dice «según Google» AFIRMACIÓN 5 · PIE · «revisar lo grabado dejó de ser un lujo de presupuesto» ESTADO: INTERPRETACIÓN · PUNTO: (e) · aterrizaje sobre el costo de revisión manual, no promete resultado VEREDICTO: PASA NOTA: ninguna afirmación dice más que su cita
Un BLOQUEA lleva la afirmación con ESTADO: SIN FUENTE y en la nota qué diría el dossier si dijera algo. Adriana no propone redacción: dice qué no está sostenido. Cecilia decide si lo quita o lo marca.
Como con Rodrigo: los cerrojos juzgan a la jueza. Que cada afirmación exista, que cada punto exista, que el estado sea coherente con el nivel, y que el veredicto se lea de una línea.
Formato. Empieza con «HECHOS —», cada afirmación trae TARJETA (o PIE), texto entre «», ESTADO de los cuatro, PUNTO con letra; termina con VEREDICTO: PASA o BLOQUEA, una sola vez.
La afirmación existe en la pieza. El texto entre «» está en la tarjeta que dice (comparación sin acentos ni mayúsculas, tolerando recortes). Una afirmación que la pieza no dice es una alucinación de la jueza: falla.
El punto existe y la sostiene. La letra está en el dossier, y las palabras clave de la afirmación (nombres, modelos, fechas, números) aparecen en el bloque de ese punto. VERIFICADO apuntando a un punto que no habla de eso: falla.
Coherencia. BLOQUEA si y solo si hay al menos un SIN FUENTE. PASA con un SIN FUENTE, o BLOQUEA sin ninguno: contradicción, vuelta con el error.
Cobertura. Todas las tarjetas de la 2 a la 7 y el pie tienen al menos una afirmación evaluada. Una revisión que se saltó la tarjeta 5 no es una revisión.
El nivel manda. Una afirmación con un número que el código marcó «según X» solo puede ser AUTORREPORTADO. Un punto de nivel TERCERO LO PROBÓ no puede sostener un VERIFICADO sobre lo que el fabricante afirma de sí mismo. El código lo cruza con el NIVEL del dossier.
No reescribe y no sale. Ningún renglón empieza con TARJETA/TITULAR/APOYO/PANEL/PIE:, y ningún enlace de su salida está fuera del dossier (sin web no debería haberlos; si aparece uno, lo inventó).
Se prueban sin modelo contra la pieza real de hoy: una revisión buena → 0 fallas; siete malas, una por cerrojo (afirmación inventada, punto que no la sostiene, PASA con SIN FUENTE, tarjeta 5 saltada, VERIFICADO sobre el 88%, un enlace inventado, sin línea de veredicto). Igual que con Cecilia: ningún cerrojo se enciende sin su fixture.
Cita, enlace, fecha, nivel. Verificado contra X.
5.7K chars
Números y fuentes verificados por código.
~2.8K chars
Cada afirmación en palabras con su punto y su estado.
≤ 1.5K chars
La misma pieza, ya sostenida hecho por hecho.
misma pieza
deploy.sh incluye memories/MEMORY.md; su memoria del 31-ago no existe. Lo que un agente aprende no puede vivir en un archivo que se pisa.Verifica la pieza sellada, corta pieza + dossier + números verificados, arma el encargo, corre el turno, cerrojos a1–a7, corrección quirúrgica de Cecilia, segunda revisión, escalado, sello en _comun/hechos/.
platform_toolsets.cli: []: sin web, sin search, sin memoria, sin session_search. Skills apagadas por config. SOUL: se agregan los cuatro estados con su definición y el formato de entrega. Su rol no se toca.
Una revisión buena sobre la pieza real de hoy → 0 fallas; siete malas → cada una su cerrojo. Más la prueba de alcance: la pieza dice «88% siempre» y la cita dice «hasta 88%» → SIN FUENTE esperado.
Agentic Video → cámaras. Se lee la lista, se cuentan afirmaciones y estados, se mide tiempo y costo (flash: segundos y centavos). Se compara con lo que habría dicho con internet.
| Decisión | Lo que propongo |
|---|---|
| Adriana sin internet. | Se le apagan web y search. El dossier es el único juez. Si falta evidencia, el camino es REBUSCA a Ulises, no una búsqueda a ciegas desde la verificadora. Es la decisión que quedó pendiente en la página de Cecilia; aquí está el porqué completo. |
| Rodrigo y Adriana en paralelo, no en fila. | Son jueces independientes sobre la misma pieza sellada. Corren a la vez (minutos de ahorro cada día) y sus devoluciones se juntan en una sola corrección quirúrgica de Cecilia, con tarjetas congeladas. Segunda vuelta, los dos otra vez, solo si alguno devolvió. |
| Las memorias fuera del deploy. | deploy.sh deja de subir memories/MEMORY.md; la plantilla «Vacía» se instala solo la primera vez. Lo que un agente aprende con evidencia se queda. Para Adriana no cambia nada (sin web, sin nada que recordar); para Máximo y Ulises sí. |
Se construyó adriana.py tal como dice el 09: sin internet, platform_toolsets.cli: [], el dossier entero como único juez. Corrió en paralelo con Rodrigo y Selene.
| Ronda | Vuelta 1 | Vuelta 2 | Veredicto |
|---|---|---|---|
| 1 · sobre la pieza sellada | 155 s · 4,885 chars · 19 afirmaciones, cerrojos OK a la primera | — | PASA ninguna SIN FUENTE |
| 2 · sobre la pieza corregida por Rodrigo | 263 s · a6 tronó: marcó VERIFICADO la afirmación 19 del pie («El 88% es de Google») y el código exige AUTORREPORTADO para un número «según X» | 105 s · corregido a AUTORREPORTADO con su nota | PASA «los reclamos de rendimiento de Google viajan con su atribución; los aterrizajes de costo quedaron como interpretación» |
cli: [] es sin herramientas, y se comprobó donde toca. Antes de la corrida se le pidió que ejecutara un comando de terminal: contestó con una salida inventada. En su state.db el turno no tiene ninguna llamada a herramienta. La prueba de qué tiene un agente es la base, no lo que dice tener.