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"
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 engit.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
- Supabase en Dokploy siempre via modo Git (docker raw no tiene ./volumes/db/)
- POSTGRES_PASSWORD siempre con openssl rand -hex (evita caracteres problemáticos)
- kong.yml: una sola entrada por bloque keyauth_credentials
- SMTP_PORT=587 siempre explícito aunque SMTP esté desactivado
- GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED=false siempre explícito
- LUA_AUTH_EXPR con prefijo "Bearer " en kong-entrypoint.sh rama legacy
- NEXT_PUBLIC_SUPABASE_URL via Build Argument en Dokploy (no Environment Setting)
- App Next.js conecta a Supabase por URL pública https://db.inqualityhq.com
Prompts pendientes de ejecutar en Claude Code
- ETAPA 2G —
sprints/sprint-2/ETAPA_2G_PROMPT.md— cierre Sprint 2, formaliza patrones C.8, AP.10, AP.11 en el método - ETAPA 3V —
sprints/sprint-3-infra/ETAPA_3V_PROMPT.md— vista /admin/responses para control operativo
Próximos pasos en orden
- TECH-DEBT-006 (S3 backup) — bloqueante
- CVE-2025-66478 (Next.js update) — bloqueante
- Ejecutar ETAPA 2G en Claude Code
- Ejecutar ETAPA 3V en Claude Code
- RE Index — confirmar mapeo G1/G2/G4/G5 → códigos seed antes de implementar
- 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].