Files
motor-de-encuestas/docs/estado/ESTADO_PROYECTO_JUNIO_2026.md
2026-06-25 14:10:48 -03:00

5.5 KiB

ESTADO DEL PROYECTO — Datos País sobre el Cuidado

Documento de continuidad — 25 junio 2026

Director (Product Owner): Marcos · Claude (Projects) = arquitecto/copiloto · Claude Code = implementación Metodología: Maria Mersan · Contacto Fundación: Valeria Arce


1. Versionado y ramas

  • Producción: 2.1.0 (formulario lineal) — los 3 surveys en draft
  • Desarrollo: 3.0.0 (wizard + dashboard nuevo) en main, NO desplegado aún
  • Preservación: v2.1.0-stable + tag v2.1.0
  • SemVer + CHANGELOG + tags. ADRs en docs/adr/.

⚠️ Los 3 surveys están en draft a propósito (el frontend v2 desplegado no entiende seed v3). Se reactivan a live al desplegar v3 completo.


2. Sprint 4 — Wizard v3 — Formulario COMPLETO, falta release

Etapa Estado
4.0 Preservación v2
4A instance_id prod
4B esquema declarativo + seed v3 prod
4C motor de flujo (lib/form-engine.ts, puro)
4D wizard renderer (layout estable)
4E instancias (emergente del motor)
4G submit + validación server-side (RPC transaccional) verificado vs Postgres real
4F autocomplete barrios (UX) pendiente
4I validación e2e + tag v3.0.0 + desplegar + reactivar surveys pendiente

El formulario v3 funciona end-to-end: motor, wizard, instancias, submit con validación server-side (RPC rpc_submit_response, único camino de escritura, verificado).


3. Dashboard v3 — DECISIÓN MAYOR: rediseño de "tres miradas"

Decisión: NO migrar las RPCs v2 (referencian códigos inexistentes en v3). En su lugar, dashboard nuevo de tres miradas, fundamentado en marcos reales (OIT 5R, CEPAL, PNCUPA Paraguay).

Estado

  • Mirada Empresa: RPCs implementadas y VERIFICADAS contra 50 respuestas reales. E1-E4 exactos, estrella "Talento en riesgo" con umbral parametrizable, E9 segmentación con k≥5. Migraciones 20260625000001 (fix helper) + 20260625000002 (11 RPCs). Commiteado. Widgets del frontend: PENDIENTE (etapa siguiente).
  • Mirada País y Mirada Humana: propuesta + mockup listos, implementación DIFERIDA a sprint de dashboard post-deadline.

Documentos (en docs/dashboard/)

  • PROPUESTA_DASHBOARD_v3.md — las 3 miradas, ~30 métricas, marcos citados honestamente
  • dashboard_tres_miradas_mockup.html — mockup funcional 3 pestañas
  • SPEC_MIRADA_EMPRESA.md — contrato técnico de las 10 métricas + estrella

Decisiones del dashboard

  • CUIDADOR_ACTIVO incluye "hijo menor sin discapacidad" (criterio UNFPA, validado por Maria). Definido en helper _dash_es_cuidador.
  • Mirada Empresa NO expone datos sensibles (3.x, 4.2, 4.3). Solo 4.1 existencia, 6.x, 7.x, 9.x, 2.6, 2.7.
  • Métrica por persona vs por instancia: presentar ambas rotuladas; k≥5 sobre count(DISTINCT response_id).
  • 2 gaps de datos marcados [REQUIERE PREGUNTA]: horas cuidado no remunerado (País), escolarización niñez (Humana). Para el sprint de dashboard.

4. Deuda técnica y seguridad

ID Descripción Prioridad
TECH-DEBT-006 Backup remoto S3 Antes de datos reales
TECH-DEBT-009 Rotar secrets post-CVE Antes de datos reales
TECH-DEBT-010 E9 lee modalidad por JOIN a answers (2.7) en vez de qi_modalidad. Promover si se usa seguido Baja
SEC-002 Sprint compliance (audit log, hashing, cifrado en reposo) Sprint dedicado
SEC-003 Agujero TRUNCATE evade ADR-003 Antes de datos reales
SEC-004 RPC validable por bypass REST (coherencia de flujo en Server Action) Sprint futuro
BACKLOG-002 Fase 2: motor genérico Post-deadline

5. Infraestructura

  • Next.js 15.3.8 · Supabase self-hosted · Dokploy v0.29.4 · VPS inq-mart-2 (172.20.5.11)
  • App: economia-cuidado.inqualityhq.com · API: db.inqualityhq.com
  • Repos Gitea: git.inquality.com.py/marcos/motor-de-encuestas
  • Para sembrar datos de prueba: seed_prueba_50.sql (en docs/dashboard/), 50 respuestas deterministas vía RPC. Usa question_id (UUIDs), NO question_code. Incluye su limpieza.

6. Próximos pasos

  1. Widgets de Mirada Empresa — el frontend del dashboard que consume las RPCs ya verificadas. La spec (SPEC_MIRADA_EMPRESA.md) define shapes de retorno; el mockup define el aspecto.
  2. 4F autocomplete barrios — subir geo_paraguay_full.json (8152 barrios) a public/data/.
  3. 4I release — validación e2e, tag v3.0.0, desplegar v3, reactivar surveys a live.
  4. Sprint de dashboard (post-deadline): Miradas País y Humana, preguntas faltantes (bienestar, horas no remuneradas, escolarización), decisión qi_modalidad.

Orden sugerido para go-live: widgets Mirada Empresa → 4F → 4I.


7. Contexto comercial

  • 2 clientes inminentes en ~10-20 días (deadline v3). Mirada Empresa es la que le habla al cliente que paga.
  • InQuality y Fundación Solidaridad en joint venture.

8. Prompt para nueva sesión

Sos el arquitecto/copiloto técnico de "Datos País sobre el Cuidado", motor de formularios
soberano (Paraguay). Yo soy el product owner. Sprint 4: wizard v3 (ADR-005, esquema declarativo).

Estado completo: docs/estado/ESTADO_PROYECTO_JUNIO_2026.md.
Formulario v3: COMPLETO y verificado (motor, wizard, submit con validación server-side).
Dashboard: rediseño de "tres miradas". Mirada Empresa = RPCs implementadas y verificadas
contra datos reales; faltan sus widgets. País/Humana diferidas a sprint posterior.

Pendiente go-live: widgets Mirada Empresa → 4F (barrios) → 4I (release).
Los 3 surveys en draft (v3 no desplegado aún).

Próximo paso: [COMPLETAR]