Documentación de Mentat — en evolución continua.
OperaciónArquitectura y stack

Arquitectura y stack

Mentat es un monorepo pnpm con TypeScript estricto end-to-end. La fuente de verdad arquitectónica es mentat-arquitectura-mvp.md (documento maestro) y GENESIS.md (orientación) en la raíz del repo.

Stack

CapaTecnología
FrontendNext.js 14 (App Router), Tailwind, shadcn/ui, Geist, Framer Motion
BackendCloud Functions v2 (Node 20), Cloud Firestore, Firebase Auth, Cloud Storage
EmailResend
SchedulerCloud Scheduler (ingestas periódicas)
HostingFirebase Hosting (static export)
DocsNextra (este sitio)
CI/CDGitHub Actions

Estructura del monorepo

mentat/
├── apps/
│   ├── web/         # Frontend Next.js (la app operativa)
│   ├── functions/   # Cloud Functions (todo el backend)
│   └── docs/        # Esta documentación (Nextra)
├── packages/
│   ├── ontology-core/    # Tipos del modelo (fuente única de verdad)
│   └── firebase-config/  # Config compartida (client + admin SDK)
├── scripts/         # admin / pilot / qa
├── firestore.rules · storage.rules · firestore.indexes.json
└── mentat-arquitectura-mvp.md · GENESIS.md

Principios no negociables

  1. Type safety end-to-end — cero any sin justificar; tipos en ontology-core.
  2. Validación en el backend, siempre — cero writes directos del cliente.
  3. Operaciones atómicas para Actions (transacciones).
  4. Audit trail completo e inmutable (ActionExecution, AuditEvent).
  5. Optimistic locking con version (nunca incrementar por trigger).
  6. Soft delete por defecto.
  7. Sin lógica de negocio en el frontend (crítico para migrar a futuro).
  8. Costos visibles desde el día uno.
  9. El documento maestro se actualiza primero, después el código.

Multi-tenant

Segregación lógica por organizationId con Security Rules estrictas. Para clientes con compliance crítico se evalúa multi-tenant físico (proyectos separados) en el futuro. Ver límites.

Estado de producción

25 Cloud Functions desplegadas, hosting en dawoork-mentat.web.app, Cloud Scheduler activo, dominio de email send.dawoork.com verificado en Resend. Las fases 0–6 están selladas; la 7 (configuración de casos) tiene un piloto de referencia operativo.