feat(episode): TRAZA_por-qu-un-campo-existe-en-uno-y-no-en-ot_S20260621.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 3 — PostgreSQL: Por qué un campo existe en uno y no en otro (razón técn
This commit is contained in:
parent
363e0eca18
commit
fa3e0232a4
1 changed files with 21 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
episode_id: "91700af6-0063-46ea-8b8d-77a27f541074"
|
||||
puente_flat: "TRAZA_por-qu-un-campo-existe-en-uno-y-no-en-ot_S20260621.R3_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: "NONE"
|
||||
fase_proyecto: "operations"
|
||||
tipo_semantico: "troubleshooting"
|
||||
summary_one_line: "EPISODIO 3 — 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:23:33.490443+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
## Por qué un campo existe en uno y no en otro (razón técnica)
|
||||
1. **Contenido en PostgreSQL+Qdrant, no Neo4j:** PostgreSQL es la fuente (debe devolver el episodio íntegro); Qdrant guarda una copia para mostrar el resultado de búsqueda sin un 2º viaje; Neo4j es grafo — meter blobs de 2.600 chars inflaría los recorridos. 2. **Vector solo en Qdrant:** solo tiene sentido donde hay búsqueda por similitud (índice HNSW). La columna pgvector de PostgreSQL se previó pero nunca se llenó (deuda). 3. **BLC solo en Qdrant:** se construye en el pipeline y se escribe al payload Qdrant; PostgreSQL tiene la columna pero no la llena — **no hay razón de diseño, es deuda**. 4. **Entidades = aristas en Neo4j:** una lista responde "¿qué entidades tiene?"; una arista además responde "¿qué OTROS episodios mencionan a John?" — eso es para lo que existe Neo4j. 5. **Enums tipados vs strings:** PostgreSQL puede declarar tipos ENUM (integridad a nivel de base); Qdrant/Neo4j no tienen tipos → strings libres abreviados. 6. **3 ids distintos:** PostgreSQL usa uuid4 aleatorio (PK relacional estándar); el pipeline deriva el id de Qdrant del `content_sha256` (uuid5 determinista → idempotencia/dedup); Neo4j lo copia. ## Implicaciones de la asimetría (lo que SIGNIFICA)
|
||||
- **I-1 "¿Cuál es la verdad?" depende del store:** `hyde_queries` (5 en PostgreSQL vs 10 en Qdrant) y `has_code` (false vs true) **DIFIEREN para el mismo episodio** — el pipeline escribe versiones distintas a cada store. No hay UNA respuesta canónica.
|
||||
Loading…
Reference in a new issue