--- episode_id: "9e43a2e4-dace-4ad4-ab8d-213272ca1ca9" puente_flat: "DEPURA_edge-case-codeheavy-john-pega_S20260406.R1_XX.imp.3.hot_inf.pr.fi.es.0RC.HPQ_J.PFDBX_E.CTNFD" session_code: "S20260413" acto_dialogico: "informar" actor_flujo: "multi_actor" criticidad_aegis: "moderate" skill_dominante: "NONE" fase_proyecto: "implementation" tipo_semantico: "design" summary_one_line: "EPISODIO 31 — ANTES: EDGE CASE CODE-HEAVY: JOHN PEGA DOCKER-COMPOSE MASIVO CON..." source_type: "chat_ember" trust_boundary: "private" created_at: "2026-04-13T12:07:34.073619+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 ✅