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..
This commit is contained in:
parent
995f8a9464
commit
fb540f1b79
1 changed files with 56 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
||||||
|
---
|
||||||
|
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 ✅
|
||||||
Loading…
Reference in a new issue