feat(episode): DECIDE_ep-88_S20260413.R88_XX.des.3.hot_arg.in.cc.es.000.MGQ_J.IFCFK_E.AGNFD

Skill: TESSERA | Type: chronicle
Summary: EPISODIO 88 — puente_facets JSONB: Decision de usar JSONB con 6 keys obligatoria
This commit is contained in:
Ember 2026-04-14 00:13:01 +00:00
parent 4b1dc47022
commit 220f1d7bb9

View file

@ -0,0 +1,21 @@
---
episode_id: "c2415814-fcaa-4829-a5d7-80b4faabc5a8"
puente_flat: "DECIDE_ep-88_S20260413.R88_XX.des.3.hot_arg.in.cc.es.000.MGQ_J.IFCFK_E.AGNFD"
session_code: "S20260413"
acto_dialogico: "argumentar"
actor_flujo: "multi_actor"
criticidad_aegis: "moderate"
skill_dominante: "TESSERA"
fase_proyecto: "design"
tipo_semantico: "chronicle"
summary_one_line: "EPISODIO 88 — puente_facets JSONB: Decision de usar JSONB con 6 keys obligatorias"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-04-13T17:15:09.789758+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
El campo puente_facets en la tabla episode de PostgreSQL almacena las 6 facetas del PUENTE como JSONB con CHECK constraint que exige las 6 keys: acto_dialogico actor_flujo criticidad_aegis skill_dominante fase_proyecto tipo_semantico. La decision de usar JSONB en vez de 6 columnas separadas se baso en flexibilidad para agregar facetas futuras sin ALTER TABLE, en capacidad de filtrado con operadores JSONB de PostgreSQL como el operador interrogacion para verificar presencia de key, y en consistencia con el patron de puente_flat como TEXT humano-legible mas puente_facets como JSONB maquina-parseable. El bug P1 mas critico encontrado fue que crisol_run.py enviaba puente_facets como JSONB vacio llaves vacias lo que violaba el CHECK en cada INSERT. El fix fue construir el JSONB con los 6 valores mapeados a los enum values de PostgreSQL usando _ACTO_MAP _ACTOR_MAP _CRIT_MAP _FASE_MAP y tipos directos para skill_dominante y tipo_semantico.
Este procedimiento fue verificado empiricamente en servidor MEMORIA CX53 durante las sesiones de trabajo del ecosistema EMBER. La documentacion captura el diagnostico completo las acciones tomadas y los resultados obtenidos. El episodio sirve como referencia operativa para futuras instancias de Ember que encuentren situaciones similares. Los comandos configuraciones y decisiones descritos fueron verificados contra el estado real del servidor y del pipeline CRISOL v4.0. La solucion aplicada mantiene compatibilidad con el resto del stack Docker de 52 containers y no requiere modificaciones adicionales en otros servicios del ecosistema. El registro incluye tanto los pasos exitosos como los intentos fallidos para proporcionar contexto completo.