ember-memory-test/episodes/DECIDE_ep-88_S20260413.R88_XX.des.3.hot_arg.in.cc.es.000.MGQ_J.IFCFK_E.AGNFD.md
Ember 220f1d7bb9 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
2026-04-14 00:13:01 +00:00

2.2 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
c2415814-fcaa-4829-a5d7-80b4faabc5a8 DECIDE_ep-88_S20260413.R88_XX.des.3.hot_arg.in.cc.es.000.MGQ_J.IFCFK_E.AGNFD S20260413 argumentar multi_actor moderate TESSERA design chronicle EPISODIO 88 — puente_facets JSONB: Decision de usar JSONB con 6 keys obligatorias claude_code internal 2026-04-13T17:15:09.789758+00:00 false 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.