{
  "project": "NexoCaja",
  "documented_at": "2026-09-29",
  "status": "piloto local funcional con paquete de prueba para subdominio Node.js",
  "institutional_context": {
    "initiative": "Proyecto MYPES Digitales",
    "organization": "Gerencia Regional de Producción del Gobierno Regional Cusco",
    "country": "Perú",
    "region": "Cusco",
    "currency": "PEN"
  },
  "runtime": {
    "node_minimum": "22.13.0",
    "server": "Node.js HTTP nativo",
    "database": "SQLite mediante node:sqlite",
    "default_url": "http://127.0.0.1:4173",
    "demo_url": "http://127.0.0.1:4174",
    "health_endpoint": "/api/health",
    "hosting_package": "dist/NexoCaja-hosting",
    "hosting_archive": "dist/NexoCaja-hosting.zip"
  },
  "roles": {
    "master": "administra gestores y usuarios",
    "gestor": "administra únicamente usuarios normales sin ver finanzas",
    "usuario": "administra únicamente sus datos financieros"
  },
  "modules": [
    "autenticación",
    "movimientos y categorías",
    "importación y exportación XLSX CSV",
    "plan de caja anual",
    "créditos y amortización",
    "impuestos y aportes configurables",
    "reportes y gráficos",
    "administración y bitácora",
    "recorrido guiado versionado por rol"
  ],
  "critical_invariants": [
    "el gestor no puede ver datos financieros",
    "el gestor solo puede crear y administrar usuarios normales",
    "las contraseñas no se exportan",
    "data y data-demo permanecen separados",
    "los cálculos financieros deben contar con pruebas",
    "solo el Administrador puede activar o reiniciar el recorrido para todos"
  ],
  "quality_gate": [
    "node --check public/app.js",
    "node --check public/spreadsheet.js",
    "node --check src/server.js",
    "npm test",
    "npm run coord:check",
    "verificación manual de interfaz si corresponde"
  ],
  "documentation_entrypoint": "documentacion/00_LEEME_PRIMERO.md",
  "request_tracker": "documentacion/SOLICITUDES_Y_ESTADO.md",
  "change_log": "documentacion/REGISTRO_CAMBIOS.md",
  "decisions": "documentacion/DECISIONES_TECNICAS.md",
  "agent_inbox": "documentacion/coordinacion/BANDEJA.md",
  "coordination_protocol": "documentacion/coordinacion/README.md",
  "ux_mype_guide": "documentacion/07_GUIA_MEJORAS_UX_MYPE.md",
  "report_images": "documentacion/imagenes/README.md",
  "antigravity_handoff": "documentacion/ANTIGRAVITY.md",
  "gemini_handoff": "GEMINI.md"
}
