From 551289017142a6ab564fea455a078a52be51b16d Mon Sep 17 00:00:00 2001 From: Ember Date: Sun, 27 Sep 2026 04:27:33 +0000 Subject: [PATCH] feat(episode): TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skill: NONE | Type: design Summary: EPISODIO 1 — MEMORIA: 1. Resultado: SOL-M2 cerró lo viejo y abrió riesgos nuevos --- ...ot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 episodes/TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md diff --git a/episodes/TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md b/episodes/TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md new file mode 100644 index 00000000..2a57f729 --- /dev/null +++ b/episodes/TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md @@ -0,0 +1,52 @@ +--- +episode_id: "ab9b7242-d7dc-4a34-93c0-8ee804def6c7" +puente_flat: "TRAZA_1-resultado-sol-m2-cerr-lo-viejo-y-abri_S20260926.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" +session_code: "S20260926.SID8BFB883A7AA7" +acto_dialogico: "informar" +actor_flujo: "multi_actor" +criticidad_aegis: "low" +skill_dominante: "NONE" +fase_proyecto: "operations" +tipo_semantico: "design" +summary_one_line: "EPISODIO 1 — MEMORIA: 1. Resultado: SOL-M2 cerró lo viejo y abrió riesgos nuevos" +source_type: "claude_code" +trust_boundary: "internal" +created_at: "2026-09-27T04:27:28.567439+00:00" +relectura_tagged: false +forgejo_commit_sha: "pending" +--- + +🧭 **CHAT-TEMA-RAÍZ:** dictamen de Ember sobre `ARQUITECTURA_Y_PLAN.md` (proyecto SOL) +**R2 · SUB-TEMA:** verificación del paquete SOL-M2 (camino A) + +El detalle completo vive en el [informe de verificación](../../EMBER_verificacion_SOL-M2_2026-09-27/INFORME_VERIFICACION_SOL-M2.md). El chat lleva lo esencial. + +## 1. Resultado: SOL-M2 cerró lo viejo y abrió riesgos nuevos + +`[R2.seccion1.T1]` + +**La afirmación central del documento quedó confirmada.** SOL-M2 cerró los huecos que medí en `sol_m1`: 8 de 8 sondas. El paquete es íntegro (manifiesto 8 de 8) y sus propios tests pasan 11 de 11 en el equipo de John. + +**Pero SOL-M2 no es `sol_m1` reparado.** SOL-M2 es un motor nuevo de 243 líneas; `sol_m1` tenía 1.360. Funciona como un fichero de tarjetas: cada tarjeta dice "entidad, atributo, valor". Si la pregunta nombra la entidad y el atributo, SOL-M2 copia el valor; si no, calla. Varios huecos se cerraron quitando la pieza que fallaba. Es como arreglar una gotera quitando el grifo: la gotera desaparece, y el agua también. + +| Grupo de sondas | Resultado | +|---|---| +| **A** · huecos heredados de `sol_m1` | 8 de 8 cerrados ✅ | +| **B** · riesgos del diseño nuevo | 11 hallazgos, 7 de ellos graves | +| **C** · banco de pruebas `benchmark.py` | 5 hallazgos | + +**Los 7 hallazgos graves son errores confiados:** SOL-M2 responde mal con total seguridad, sin ninguna señal de duda. Tres ejemplos observados: + +| Pregunta | Respuesta de SOL-M2 | Problema | +|---|---|---| +| "¿Quién aprobó la política activa de SOL-M2?" | `R2` | No mira qué se pregunta | +| "¿Cuál era la política activa de SOL-M2 el 2025-06-01?" | `R2`, el valor de 2026 | Ignora la fecha escrita en la pregunta | +| "¿Cuánto es 1.500 + 2.500?" | `4.0` | Lee el punto de miles colombiano como decimal | + +El segundo ejemplo es el más serio. La clase central del plan es el "dato con fuente y momento", y SOL-M2 no lee el momento que el usuario escribe. Los otros cuatro errores confiados: no liga el atributo con su entidad, acepta alias de una sola palabra, y una tarjeta revocada vuelve a responderse de dos maneras (reconstruyendo la base, o reingresando con otro identificador). + +## 2. El examen de SOL-M2 está inclinado + +`[R2.seccion2.L1]` + +Mi crítica principal al plan decía que el criterio de promoción no aclaraba contra quién se compara. El código lo confirma: `benchmark.py` compara al controlador **solo** contra el modelo sin memoria. El examen tiene tres inclinaciones: