VERICIDAD · AUDITORÍA EN VIVO
Lo que dice esta web,
comprobado contra el sistema.
El 2026-10-29 se ejecutaron comandos de solo lectura contra el proyecto real (canary_agent_os-main/wt-rel04, canary 0.5.1 (0.6.0 disponible)). Comandos de solo lectura ejecutados contra el proyecto real: docs check, memory list/query, journal show/verify, status. Nada se mutó.
Tres niveles de verdad
Verificado en vivo: salida real capturada del sistema. Según documento: claim del documento de diseño, no activo en el proyecto auditado. Ilustrativo: comportamiento verificado, narración compuesta.
La semántica (52.167 fragmentos, ~92 ms) y el run de Stripe son del documento: en el proyecto auditado la memoria semántica estaba desactivada. Lo decimos en vez de disimularlo.
- VERIFICADO EN VIVO
System 1: el filtro barato clasifica y exige la spec
docs check sobre la frase exacta de esta web → FALTA spec (output abajo).
- VERIFICADO EN VIVO
Journal append-only con cadena prev_hash
journal show + verify sobre la tarea a2a-p3: 7 filas, cadena intacta, 0 huecos.
- VERIFICADO EN VIVO
Gates que no aceptan un «casi»
Gate real g4-tck-must-level: 48 fallidos / 17 ok / 170 skipped → evento de aprendizaje auto-registrado, severidad alta.
- VERIFICADO EN VIVO
Lecciones accionables en el cuaderno
p. ej. la del redirect 302 (abajo) — lección real con fuente.
- VERIFICADO EN VIVO
Memoria estructural en DuckDB
status: duckdb mode=embedded OK · memory list: 20 estructuradas, 20 lecciones, 3 tareas, 3 workflows, 3 validaciones.
- VERIFICADO EN VIVO
Cada fase firma el dispatch ANTES de ejecutar
las filas seq=6 y seq=7 del journal son dispatch de builder aún sin complete.
- VERIFICADO EN VIVO
Push humano
los registros reales de release terminan en «no push» / merge_ready a la espera del owner.
- SEGÚN DOCUMENTO
Biblioteca semántica: 52.167 fragmentos, ~92 ms
es claim del documento de diseño; en el proyecto auditado la memoria semántica está desactivada (semantic=0, qdrant off).
- SEGÚN DOCUMENTO
El run de Stripe completo
es el ejemplo trabajado del documento, no un log de sesión.
- SEGÚN DOCUMENTO
Lección «adapter Stripe: reintentos con JobLock»
ejemplo del documento; JobLock no aparece en el repo.
- ILUSTRATIVO
Los «tres bloqueos» narrados en la guía de gates
cada comportamiento está verificado (arriba), pero la narración como run único es compositiva.
OUTPUTS REALES
Capturados tal cual,
sin retocar.
System 1 en vivo — la frase exacta de esta web
canary docs check --task "quiero migrar pagos por fases a stripe, lo del webhook si ya hay algo usalo, y k no se rompa na"doc governance — «quiero migrar pagos por fases a stripe, lo del webhook si ya hay algo usalo» (fuente: heuristic) [ FALTA] spec specs/f*-*.md → crear con: canary docs create --type spec --name <slug>
El veredicto del paso ② del intake, tal cual: falta la spec de fases.
El diario real de una tarea (a2a-p3)
canary journal show --task-id 7c09a042-…seq=1 event=dispatch phase=plan agent=forge outcome=ready seq=2 event=dispatch phase=scout agent=forge outcome=None seq=3 event=complete phase=scout agent=forge outcome=completed seq=4 event=dispatch phase=architect agent=forge outcome=None seq=5 event=complete phase=architect agent=forge outcome=completed seq=6 event=dispatch phase=builder agent=forge outcome=None seq=7 event=dispatch phase=builder agent=forge outcome=None
Siete filas: dispatch ANTES de complete en cada fase; el builder quedó despachado dos veces sin cerrar — y esa pausa también quedó registrada como lección.
Verificación de la cadena
canary journal verify --task-id 7c09a042-…Journal verify OK: 7 rows, chain intact "ok":true, "rows":7, "gaps":[], "chain_breaks":[], "digest_mismatches":[]
Contigüidad, cadena prev_hash y digests recomputables: todo cuadra.
Un gate rojo de verdad
learning event auto-registrado (validación g4-tck-must-level)48 failed, 17 passed, 170 skipped in 5.47s, exit 1 severity=high · event_type=validation_failure "real MUST-level conformance gap… escalated verbatim per SPEC rule, fail recorded with learning event"
El validador midió, el veredicto fue rojo, y el sistema NO lo disimuló: quedó como evento de aprendizaje de severidad alta, tal como promete la guía de gates.
Una lección real del cuaderno
canary memory query --query "adapter redirect" «urllib.request.urlopen FOLLOWS 3xx redirects — a loopback-only HTTP adapter contract MUST install a no-redirect opener or a 302 silently exfiltrates query text+auth off-machine (auditor F1)» — w5 vector-bridge, outcome: recorded
Lección accionable con fuente: técnica + consecuencia + quién la encontró. Así son las lecciones reales del cuaderno.
Estado del sistema auditado
canary statusinstalled=0.5.1 current=0.6.0 · WARN update available [duckdb] OK mode=embedded · [qdrant] disabled · semantic=0 [drift] OK tracked=335 modified=0 missing=0
Transparencia incluida: la memoria semántica estaba DESACTIVADA en este proyecto durante la auditoría — por eso esa parte consta como «según documento».