SaaS Workspaces Foundation

Estado: base minima implementada + onboarding E2E verificable

Fecha: 2026-05-05

Objetivo

Preparar OPS Center para venderse como SaaS sin romper el uso actual de operador unico.

La base queda orientada a:

  • empresas/cuentas (accounts)
  • planes por limites de usuarios y workspaces (account_plans)
  • workspaces separados por cuenta (workspaces)
  • miembros por workspace (workspace_members)

Modelo inicial

Planes sembrados:

  • solo: 1 usuario, 2 workspaces
  • team: 5 usuarios, 5 workspaces
  • studio: 10 usuarios, 15 workspaces
  • custom: 999 usuarios, 999 workspaces

Cuenta por defecto:

  • empresa: Soluciones Abiertas
  • slug: soluciones-abiertas
  • plan: team

Workspace por defecto:

  • nombre: OPS Internal
  • slug: ops-internal

Todos los usuarios activos existentes se asignan al workspace por defecto al aplicar la migracion.

Migraciones

El runner idempotente vive en:


npm run db:migrate

El runner registra cada migracion aplicada en schema_migrations con checksum. Si una migracion ya aplicada cambia de contenido, el proceso falla para evitar estados ambiguos.

UI/admin

La vista admin Workspaces permite:

  • crear empresa
  • crear workspace
  • ver limites y uso del plan
  • asignar usuarios activos a workspaces
  • crear/revocar invitaciones seguras
  • revisar el checklist SaaS E2E del workspace activo

Es una base operativa, no un panel comercial completo.

Onboarding E2E

Flujo cubierto:

  1. Admin de plataforma crea una empresa (account) con plan.
  2. Admin de plataforma crea uno o mas workspaces para esa empresa.
  3. Owner/admin de workspace crea invitacion para un usuario nuevo.
  4. El usuario acepta el enlace, define contrasena y queda autenticado.
  5. El usuario solo ve los workspaces donde tiene membresia activa.
  6. Las operaciones de tareas, skills, credenciales, deployment targets y auditoria se consultan con X-OPS-Workspace-Id.

Verificacion:

  • API: GET /api/saas/readiness
  • UI: Cuenta y acceso -> Workspaces -> Checklist SaaS E2E

El checklist valida planes, cuenta activa, limites del plan, rol admin/owner del workspace, owner activo, miembros, invitaciones, auditoria y consultas principales aisladas por workspace.

Nota runtime, 2026-05-05:

  • claudecode queda inactivo en el VPS hasta configurar ANTHROPIC_API_KEY o una sesion claude auth login.
  • Dispatch queda operativo con workers frescos para los agentes disponibles.

Fuera de alcance de esta base

  • billing/pagos
  • invitaciones por email
  • alta self-service publica sin admin
  • pantalla comercial de planes/suscripcion

Esos puntos quedan para fases posteriores, cuando el contrato de datos ya este estable.