feat(episode): TRAZA_por-qu-un-campo-existe-en-uno-y-no-en-ot_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: TESSERA | Type: reflection
Summary: EPISODIO 2 — PostgreSQL: Por qué un campo existe en uno y no en otro (razón técn
This commit is contained in:
Ember 2026-06-21 18:26:30 +00:00
parent fa3e0232a4
commit edda98f6f8

View file

@ -0,0 +1,31 @@
---
episode_id: "34c0904e-cc50-43cc-b9bb-a1801d4fbc3a"
puente_flat: "TRAZA_por-qu-un-campo-existe-en-uno-y-no-en-ot_S20260621.R2_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260621.CRONICA_SEMANAL_C15"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "TESSERA"
fase_proyecto: "operations"
tipo_semantico: "reflection"
summary_one_line: "EPISODIO 2 — PostgreSQL: Por qué un campo existe en uno y no en otro (razón técnica)"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-21T18:26:22.962832+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
- **I-2 Integridad BLC frágil:** vive solo en Qdrant; si Qdrant se reconstruye, **se pierde la cadena** y PostgreSQL no la puede regenerar (está en ceros). - **I-3 Sin fallback de búsqueda:** la columna vector de PostgreSQL vacía = si Qdrant cae, no hay búsqueda semántica de respaldo. - **I-4 Redundancia 2× = riesgo de divergencia:** `content_text` y `content` son copias sin trigger de sincronización. - **I-5 Tabla zombi + columnas muertas:** `mnemo.episode` (40 filas) + `embedding`/`blc_hash`/`nomenclatura_*`/`phi_*` en ceros/NULL = deuda cognitiva. - **I-6 Doble encoding** complica reconciliación (necesita diccionario `informar`↔`inf`, `0.9`↔`H`). - **I-7 Bug latente:** `neo4j_mentions_reprocess.py` busca por `{id:}` (solo 40 nodos) cuando la llave es `episode_id` (296 nodos) → repara el 13%. ### 📍 PARA JOHN — R1
- **Hice:** la comparación completa de los 3 esquemas está escrita y entregada (doc MAPA + ANATOMIA + EPISODIOS). Arriba el resumen completo sin abreviar. - **Pendiente (durabilidad, no bloquea la respuesta):** el commit de los 3 docs está frenado por el hook `detect-secrets` (falso positivo: marca los hashes hex/uuid de los docs como "credenciales nuevas"). La passphrase NO está en los docs (verificado). Resolución limpia = truncar los hex o actualizar `.secrets.baseline.json` (opción sancionada del hook para falsos positivos) — pero tocar la baseline de secretos es sensible. - **Pregunta:** ¿quieres que (a) **trunque los hashes** en los docs y commitee (más seguro, no toca la baseline), o (b) **actualice `.secrets.baseline.json`** (más rápido pero toca la línea de seguridad)? Mientras decides, los 3 docs ya existen localmente — la respuesta a tu pregunta está completa.
Verifiqué: **detect-secrets NO encuentra nada en mis 3 docs** (scan limpio). El bloqueo real es la primera línea del hook — `.secrets.baseline.json` está **modificada-pero-unstaged** (cambio de OTRA instancia), no un secreto en mi trabajo.
Decisión que tomo yo (sin rebotártela): **NO fuerzo el commit.** No voy a (a) `git add` un archivo de seguridad ajeno que no sé qué contiene, ni (b) `--no-verify` (saltar el hook de seguridad — LEY ZERO). Tus 3 documentos ya existen localmente y son la respuesta completa; la durabilidad (push triple-remoto) queda en pausa segura hasta que se resuelva la coordinación de la baseline entre instancias.
**Resumen del estado para ti:**
- ✅ **Respuesta entregada:** la comparación completa de los 3 stores está en chat (turno anterior) + en [docs/MAPA_CAMPOS_3STORES_COMPLETO_S20260621.md](docs/MAPA_CAMPOS_3STORES_COMPLETO_S20260621.md) (+ ANATOMIA + EPISODIOS) — locales, completos.
- ⏸️ **Commit/push:** bloqueado por `.secrets.baseline.json` unstaged (otra instancia). Mis docs están limpios (detect-secrets 0 hallazgos). No bypasseo seguridad.
- **Si quieres el push ahora:** dime y (a) reviso qué cambió en la baseline antes de stagearla, o (b) tú confirmas que es seguro stagearla. Si no, los docs viven locales y se pushean cuando la baseline se sincronice.
No hay nada más que requiera tu decisión — la respuesta a tu pregunta está completa y a la vista.