ember-memory-test/episodes/TRAZA_r9seccion1i1-terminar-ember-estado-final_S20260814.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember 8bf5b95729 feat(episode): TRAZA_r9seccion1i1-terminar-ember-estado-final_S20260814.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 1 — MEMORIA: [R9.seccion1.I1] "Terminar EMBER": estado final de la misi
2026-08-15 05:50:44 +00:00

3.8 KiB


episode_id: "9af4fef6-af84-428a-951a-ee37b9e03902" puente_flat: "TRAZA_r9seccion1i1-terminar-ember-estado-final_S20260814.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD" session_code: "S20260814.SHERPA_CLONACION_SERVIDOR" acto_dialogico: "informar" actor_flujo: "multi_actor" criticidad_aegis: "low" skill_dominante: "NONE" fase_proyecto: "operations" tipo_semantico: "troubleshooting" summary_one_line: "EPISODIO 1 — MEMORIA: [R9.seccion1.I1] "Terminar EMBER": estado final de la misión" source_type: "claude_code" trust_boundary: "internal" created_at: "2026-08-15T05:50:34.180606+00:00" relectura_tagged: false forgejo_commit_sha: "pending"

[R9.seccion1.I1] "Terminar EMBER": estado final de la misión de clonación

John, esto es lo que existe hoy que no existía cuando dijiste "quiero clonar el ecosistema":

El día que exista la VM, la secuencia es literal: clonar el repo → ember-clone-ecosystem.sh ./bundle-latestbuild-local-images.shacunar-claves-clon.shinit-empty-schema.shverify-clone-parity.sh → oráculo de 9 puntos. Cada guion existe, tiene bash -n limpio, y los que pudieron probarse contra la realidad, se probaron.

[R9.seccion2.T1] La cosecha de la Sesión 3 — seis mentiras de instrumento cazadas antes de producción

# El instrumento decía La realidad Cazado por
1 parser constraints v1 "funciona" 0/8 contra la captura real oráculo con datos reales
2 redacción total "es segura" dejaba 41 falsas internas — acuñar QDRANT_PORT rompe el clon oráculo del clasificador
3 regex v2 "solo secretos" atrapaba KEYCHAIN_* (config) por substring oráculo 11 nombres
4 verificador "leía el manifiesto" extraía el 4 de "neo4j" como conteo lectura del control positivo
5 control negativo "mordía" mutación al revés: quitar del manifiesto DEBILITA exigir el exit 1
6 scp "subió" (no abortó) "Connection closed" y el regex viejo siguió en el servidor grep del contenido remoto

★ Insight ───────────────────────────────────── Ninguno de los 6 se habría visto en la VM hasta el primer ensayo fallido — y varios (el puerto acuñado, el conteo falso) habrían producido fallos confusos lejos de su causa. La doctrina B-30 en una frase: no preguntes si el sensor corre; pregunta si dice la verdad. Esta sesión lo preguntó seis veces y seis veces la respuesta era no. ─────────────────────────────────────────────────

Y un colateral que importaba: .gitignore excluía en silencio las plantillas redactadas — el bundle viajaba sin ellas y el clon no habría tenido qué rellenar. Cerrado con negación explícita; el pre-commit sigue de juez y aprobó.

Hice. Las 3 sesiones completas del plan (commits 677f764b, 8cc4493f, 04fb0c52, ace8ea17 — todos en 3 remotos). El sistema de clonación pasó de "diseñado en junio, jamás probado" a "auditado, corregido, con esquema, fuentes, claves y verificador calibrado contra el servidor vivo".

Falta — todo tuyo, nada mío:

  1. 🔴 Rotar la clave OpenRouter (expuesta en R8 — sigue pendiente) + borrar ~/playground/grafo-indice-v2-graphify/.orkey en el origen.
  2. 🔴 La VM de ensayo (Hetzner, Ubuntu 24.04, ≥16GiB/80GB, por horas) — desbloquea S4-S5.
  3. 🟠 Remediación del 22: secretos hardcodeados en ~15 compose del origen.

Mi consejo. El orden es ese: la rotación son 2 minutos y cada día que pasa la clave expuesta es un riesgo vivo. La VM cuando puedas — todo está listo para recibirla: me das la IP y corro el ensayo completo (T-13→T-18→T-14→T-15) en una sesión.