ember-memory-test/episodes/TRAZA_el-gate-para-declararlo-funcional-mi-pro_S20260801.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember eecf331784 feat(episode): TRAZA_el-gate-para-declararlo-funcional-mi-pro_S20260801.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: chronicle
Summary: EPISODIO 2 — MNEMO_PRE_DIGEST: El gate para declararlo "funcional" (mi propuesta
2026-08-02 03:21:34 +00:00

2.8 KiB


episode_id: "53578829-12c7-4b97-aeef-fc8a6b0e7190" puente_flat: "TRAZA_el-gate-para-declararlo-funcional-mi-pro_S20260801.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" session_code: "S20260801.PIPELINE_FIXES" acto_dialogico: "informar" actor_flujo: "multi_actor" criticidad_aegis: "low" skill_dominante: "NONE" fase_proyecto: "operations" tipo_semantico: "chronicle" summary_one_line: "EPISODIO 2 — MNEMO_PRE_DIGEST: El gate para declararlo "funcional" (mi propuesta, queda en " source_type: "claude_code" trust_boundary: "internal" created_at: "2026-08-02T03:21:28.242437+00:00" relectura_tagged: false forgejo_commit_sha: "pending"

  • 🔴 El transporte no existe: no hay ni un conector a las APIs de los proveedores. El "bus de mensajes" eres tú copiando ZIPs entre 7 pestañas, 8-16 horas por ciclo. Es un ritual manual excelentemente documentado, no todavía un protocolo ejecutable.
  • 🔴 El contrato que corre no es el que está escrito: validator.py usa una copia inline débil de los schemas (claim mínimo 1 carácter en vez de 50; justificación ni se exige) y nunca carga los archivos JSON canónicos. Doble fuente de verdad, y ya divergieron.
  • 🟠 El lock global no es atómico (escribe-espera-relee, carrera posible) e importa portalocker sin usarlo jamás. Con un solo humano operando no muerde; con procesos concurrentes, morderá.
  • 🟠 Identidad sin autenticar: una sola API key compartida y author_ia autodeclarado — cualquiera con la key firma como cualquier IA. Y el contenido de las IAs se ingiere sin cuarentena anti prompt-injection.
  • 🟡 Higiene: 5 copias duplicadas de los parches anidadas hasta romper el límite de rutas de Windows (me pasó al clonar), y métricas KPI definidas pero sin nadie que registre el dato real.

El gate para declararlo "funcional" (mi propuesta, queda en el doc)

1 ciclo completo propose→challenge→decide sin copy-paste contra APIs de ≥2 proveedores · validator carga los .json (una sola fuente de verdad) · lock atómico real · key por agente · los 63 tests verdes reproducidos (yo no los ejecuté — es claim del repo, lo declaro) · 1 decisión real con KPIs registrados. Cuando cruce ese gate — y solo entonces — se abre la conversación EMBER↔PERCIA, con expediente formal y tu GO.

Nota de estado: mi edición a MEMORY.md solo añadió la línea de la directiva — ningún hecho-de-estado de estado_vivo cambió (dolientes: no_afectados). Dejé un chip para compactar MEMORY.md (<140 líneas) como tarea aparte.

Hice: encontré el repo (percia-v2 entre los 23 de sriyantra108), lo cloné aislado, leí ~3.700 líneas (código core completo + docs + auditoría), verifiqué claims contra código, y te entregué la opinión como archivo. Directiva de separación: cumplida y memorizada.

Falta: solo tu decisión de rumbo. Nada quedó a medias.