Sprint 1 cerrado: seed real (34 preguntas) + REVOKE consent SELECT + validado en Cloud

This commit is contained in:
markosbenitez
2026-06-02 08:24:50 -03:00
parent e116e59ee9
commit 7cccce5866
8 changed files with 864 additions and 220 deletions

View File

@@ -150,3 +150,18 @@ granted_at timestamptz not null default now()
- `agg_segment(survey_id, dimensions[])` → agregación que **suprime** automáticamente celdas con
`count < k_threshold` (devuelve "n insuficiente" en lugar del valor).
- Un trigger/constraint que rechaza `respondent_id` no nulo cuando `is_anonymous = true`.
---
## Decisiones ratificadas en ejecución (Sprint 1)
- **`options` en preguntas `rating` (F3, G4):** se guarda como objeto
`{"min":1,"max":5,"min_label":"...","max_label":"..."}`, NO como array. El frontend (Sprint 2)
debe manejar dos formas de `options`: array para `single_choice`/`multiple_choice`, objeto para
`rating`.
- **`required = false` en todas las preguntas seeded:** la obligatoriedad real se define en Sprint 2
(validación del formulario). Nota: B1 estaba marcada obligatoria en el mockup; revisar al construir
el formulario.
- **Policies de `org_admin` presentes pero inertes en v1:** las policies RLS para `org_admin`
(acceso multi-tenant por empresa) existen en migración 003, pero v1 NO tiene login de cliente
("nosotros presentamos a cada empresa"). El acceso real lo hace el analyst vía `service_role`. El
camino `org_admin` queda reservado para un futuro de auto-servicio, no operado en v1.