Files
motor-de-encuestas/migrate-claude/PROMPT_NUEVA_SESION.md
markosbenitez 157e108322 Los triggers 1.1, 1.6, 1.13 muestran solo Sí · No (sin "Prefiero no decir")
Al responder "No" en las tres, el formulario salta a 6.4 (no muestra secciones 2-5 ni 6.1-6.3)
La pregunta 6.6 aparece antes del cierre
Las preguntas multiple_choice muestran el hint "Podés marcar más de una opción"
2026-06-10 15:49:05 -03:00

4.0 KiB

PROMPT DE CONTINUIDAD — nueva sesión de dirección técnica

Datos País sobre el Cuidado

Pegá este prompt al inicio de una nueva conversación con Claude. Actualizado: junio 2026.


Sos el copiloto técnico del proyecto "Datos País sobre el Cuidado" — una plataforma soberana de encuestas sobre economía del cuidado en Paraguay. Ya tenemos múltiples sesiones de trabajo juntos. Este mensaje te pone al día antes de continuar.

Contexto del proyecto

Plataforma de dos caras: formulario web anónimo + dashboard analítico con k-anonimato. Marca RE, Fundación Solidaridad, powered by InQuality.

  • Stack: Next.js 15.3.3 + TypeScript + Tailwind CSS + Supabase self-hosted
  • Deploy: Dokploy v0.29.4 en VPS (IP VPN: 172.20.5.11)
  • URL producción: https://economia-cuidado.inqualityhq.com
  • Repos: app en git.inquality.com.py/marcos/motor-de-encuestas, Supabase stack en git.inquality.com.py/marcos/supabase-motor-fomularios
  • API Supabase: https://db.inqualityhq.com (Kong con SSL)

Estado actual — Sprint 3 COMPLETADO

El formulario y el dashboard están operativos con Supabase self-hosted. Las 12 migraciones están aplicadas. Backups locales configurados con retención GFS. El formulario carga y permite completar la encuesta end-to-end.

Deuda técnica abierta (ver TECH_DEBT.md en el repo)

  • TECH-DEBT-006 — Backup remoto S3 — BLOQUEANTE antes del primer dato real de empresa
  • TECH-DEBT-007 — auth.jwt() deprecado en GoTrue v2.189+ — no bloqueante para el piloto
  • CVE-2025-66478 — Next.js 15.3.3 con vulnerabilidad crítica — BLOQUEANTE antes del primer dato real

Decisiones tomadas — no reabrir

  1. Supabase en Dokploy siempre via modo Git (docker raw no tiene ./volumes/db/)
  2. POSTGRES_PASSWORD siempre con openssl rand -hex (evita caracteres problemáticos)
  3. kong.yml: una sola entrada por bloque keyauth_credentials
  4. SMTP_PORT=587 siempre explícito aunque SMTP esté desactivado
  5. GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED=false siempre explícito
  6. LUA_AUTH_EXPR con prefijo "Bearer " en kong-entrypoint.sh rama legacy
  7. NEXT_PUBLIC_SUPABASE_URL via Build Argument en Dokploy (no Environment Setting)
  8. App Next.js conecta a Supabase por URL pública https://db.inqualityhq.com

Prompts pendientes de ejecutar en Claude Code

  1. ETAPA 2Gsprints/sprint-2/ETAPA_2G_PROMPT.md — cierre Sprint 2, formaliza patrones C.8, AP.10, AP.11 en el método
  2. ETAPA 3Vsprints/sprint-3-infra/ETAPA_3V_PROMPT.md — vista /admin/responses para control operativo

Próximos pasos en orden

  1. TECH-DEBT-006 (S3 backup) — bloqueante
  2. CVE-2025-66478 (Next.js update) — bloqueante
  3. Ejecutar ETAPA 2G en Claude Code
  4. Ejecutar ETAPA 3V en Claude Code
  5. RE Index — confirmar mapeo G1/G2/G4/G5 → códigos seed antes de implementar
  6. Informe descargable — prometido en deck comercial, no existe aún

Método de trabajo

Usamos niveles de autonomía explícitos en los prompts (Nivel 1 = reportar antes de hacer, Nivel 3 = ejecutar con validación al final). Los prompts de Claude Code están en sprints/. Las decisiones arquitecturales se documentan como ADRs en docs/adr/. Las reglas no negociables del proyecto están en CLAUDE.md del repo.

Preguntas frecuentes de contexto

¿Por qué Supabase self-hosted y no Cloud? Soberanía del dato — datos de cuidadores paraguayos no deben vivir en servidores de terceros fuera de control del proyecto. Decisión tomada antes de ingresar el primer dato real.

¿Por qué k-anonimato k≥5? Regla no negociable del sistema. En empresas chicas, un cruce demográfico de menos de 5 personas puede reidentificar a un individuo aunque el nombre nunca se haya guardado.

¿Por qué el dashboard usa service_role? Porque las políticas de org_admin con JWT custom claims no están implementadas (TECH-DEBT-007). Para el piloto, el dashboard es herramienta interna y service_role es aceptable. Cuando haya org_admin real, hay que resolver TECH-DEBT-007 primero.


¿Listo para continuar? El próximo paso es [COMPLETAR CON LO QUE VAYAS A HACER].