ember-memory-test/episodes/DEPURA_edge-case-codeheavy-john-pega_S20260406.R1_XX.imp.3.hot_inf.pr.fi.es.0RC.HPQ_J.PFDBX_E.CTNFD.md
Ember fb540f1b79 feat(episode): DEPURA_edge-case-codeheavy-john-pega_S20260406.R1_XX.imp.3.hot_inf.pr.fi.es.0RC.HPQ_J.PFDBX_E.CTNFD
Skill: NONE | Type: design
Summary: EPISODIO 31 — ANTES: EDGE CASE CODE-HEAVY: JOHN PEGA DOCKER-COMPOSE MASIVO CON..
2026-04-13 13:07:56 +00:00

3.1 KiB

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

# 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