Files
AnchorOS/AGENTS.md
2026-01-15 12:12:42 -06:00

118 lines
3.3 KiB
Markdown

# AGENTS.md — Roles de IA y Responsabilidades
Este documento define cómo deben usarse agentes de IA (Claude, Codex, OpenCode, Gemini) dentro del proyecto SalonOS.
Ningún agente tiene autoridad de producto. Todos ejecutan estrictamente bajo el PRD.
---
## Principios de Uso de Agentes
- Los agentes no deciden alcance.
- Los agentes no redefinen reglas de negocio.
- Los agentes no introducen lógica no descrita en el PRD.
- Toda salida debe ser revisable, versionable y auditable.
- El PRD es la única fuente de verdad funcional.
---
## Claude — Arquitectura y Lógica
**Rol:** Arquitecto de sistema y reglas de negocio.
**Responsabilidades explícitas alineadas al PRD:**
- Definir la lógica de reseteo mensual de invitaciones (día 1, idempotente, auditable).
- Especificar manejo UTC-first y puntos válidos de conversión de zona horaria.
- Diseñar el algoritmo de generación de Short ID con reintentos por colisión.
- Modelar estados, transiciones y edge cases críticos.
**Usar para:**
- Descomposición de lógica compleja.
- Validación de consistencia con el PRD.
- Diseño de flujos y contratos lógicos.
**No usar para:**
- Código final sin revisión humana.
- Decisiones visuales o de UX.
---
## Codex — Implementación Backend
**Rol:** Ingeniero de backend.
**Responsabilidades explícitas alineadas al PRD:**
- Implementar el reseteo mensual de invitaciones mediante:
- Cron Job o
- Supabase Edge Function.
- Garantizar que todos los timestamps persistidos estén en UTC.
- Implementar generación de Short ID (6 caracteres) con verificación de unicidad y reintentos.
- Registrar todos los automatismos y eventos críticos en `audit_logs`.
**Usar para:**
- SQL, migraciones y esquemas.
- Funciones server-side.
- Webhooks (Stripe, WhatsApp).
- Integraciones API.
**Reglas:**
- Todo código debe respetar RLS.
- No hardcodear secretos.
- No persistir horas locales bajo ninguna circunstancia.
---
## OpenCode — Frontend e Integración
**Rol:** Ingeniero de interfaz y pegamento.
**Responsabilidades explícitas alineadas al PRD:**
- Convertir timestamps desde UTC a la zona horaria definida en `locations.timezone`.
- Nunca enviar ni persistir horas locales al backend.
- Exponer Short ID únicamente como referencia humana, nunca como identificador primario.
**Usar para:**
- Componentes Next.js.
- Integración frontend ↔ backend.
- Manejo de estado y formularios.
- Flujos de agenda y visualización.
**Reglas:**
- No exponer datos privados.
- Validaciones críticas siempre en backend.
---
## Gemini — QA y Seguridad
**Rol:** Auditor técnico.
**Responsabilidades explícitas alineadas al PRD:**
- Verificar que ningún timestamp no-UTC sea almacenado.
- Auditar la idempotencia del reseteo mensual de invitaciones.
- Detectar riesgos de colisión, enumeración o fuga de Short IDs.
- Revisar cumplimiento de RLS y límites de acceso.
**Usar para:**
- Revisión de RLS.
- Detección de fugas de datos.
- Edge cases de seguridad.
- Validación de flujos críticos.
---
## Flujo de Trabajo Canónico
1. El PRD define la regla.
2. La lógica es descompuesta y formalizada.
3. El backend implementa la regla.
4. La interfaz conecta y presenta.
5. Se audita y valida el cumplimiento técnico.
---
## Regla de Oro
Si un agente contradice el PRD, el agente está equivocado.