feat(episode): BACKFILL_q-5ee26ad7-94d6-59ba-b709-3a2978921acd_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.CF16C_E.104-D

Skill: NONE | Type: chronicle
Summary: El bug está en la configuración de redes de `mnemo-api`. El servicio `mnemo-api`
This commit is contained in:
Ember 2026-05-11 04:39:45 +00:00
parent da257c3d5b
commit bee1311568

View file

@ -0,0 +1,56 @@
---
episode_id: "cf16c104-df3e-5c60-b770-3e6a43dcc14d"
puente_flat: "BACKFILL_q-5ee26ad7-94d6-59ba-b709-3a2978921acd_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.CF16C_E.104-D"
session_code: "S20260510.BACKFILL_RECOVERED"
acto_dialogico: "informar"
actor_flujo: "ember_internal"
criticidad_aegis: "moderate"
skill_dominante: "NONE"
fase_proyecto: "maintenance"
tipo_semantico: "chronicle"
summary_one_line: "El bug está en la configuración de redes de `mnemo-api`. El servicio `mnemo-api` está conectado ÚNICAMENTE a la red `ember-net`, pero el servicio `postgres` (y todos los demás servicios del stack) est"
source_type: "claude_code"
trust_boundary: "default"
created_at: "2026-05-10T00:00:00+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
El bug está en la configuración de redes de `mnemo-api`. El servicio `mnemo-api` está conectado ÚNICAMENTE a la red `ember-net`, pero el servicio `postgres` (y todos los demás servicios del stack) están conectados ÚNICAMENTE a la red `mnemo-net`. Las redes `ember-net` y `mnemo-net` son redes Docker separadas — los containers en redes distintas NO pueden comunicarse directamente entre sí por nombre de servicio (`postgres:5432`).
El hostname `postgres` solo es resolvible dentro de la red `mnemo-net`. Cuando `mnemo-api` intenta conectarse a `postgresql://mnemo:...@postgres:5432/mnemo_plex`, Docker DNS NO puede resolver `postgres` porque `mnemo-api` no está en `mnemo-net`. El resultado es un error de tipo `could not translate host name "postgres" to address: Name or service not known`.
El siguiente diff muestra el fix: agregar `mnemo-net` a las redes de `mnemo-api`:
```yaml
# ANTES (buggy):
mnemo-api:
networks:
- ember-net # solo ember-net → NO puede ver postgres, qdrant, neo4j
# DESPUÉS (correcto):
mnemo-api:
networks:
- ember-net # para acceso desde otros servicios externos
- mnemo-net # para acceso a postgres, qdrant y neo4j del stack interno
```
VERIFICADO: En Docker Compose, un container puede estar en múltiples redes simultáneamente. La práctica recomendada para servicios que necesitan comunicarse con ambas una red externa (ember-net) y una red interna del stack (mnemo-net) es listar ambas bajo `networks:` en el servicio.
HIPÓTESIS: El bug original puede haberse generado al copiar la configuración de redes de otro servicio del ecosistema EMBER que solo necesitaba `ember-net`. Este es un error de copia frecuente en docker-compose multi-stack.
---
## GROUND TRUTH (abreviado)
**Entidades:** MEMORIA CX53 (implícito), PostgreSQL (existente), Qdrant (existente), Neo4j (existente), ember-net (existente), mnemo-net (existente)
**Negaciones:**
- "NO pueden comunicarse directamente" → negación de conectividad
- "NO puede resolver `postgres`" → negación de DNS
- "NO puede ver postgres, qdrant, neo4j" (en comentario YAML)
**Code snippets challenge:** El episodio tiene ~1100 palabras de YAML + 1 diff YAML. ¿code_snippets extractor reporta el número correcto? ¿Los backtick inline como `postgres:5432` y `ember-net` se cuentan como snippets individuales?
**Clasificación:** mode=troubleshooting (intent>content: el intent es "encontrar el bug", no "documentar config")
**TP-7 check:** Los bloques YAML/diff tienen párrafos introductorios en la misma sección ✅