# Odoo Agent Release Plan

## Objetivo

Pasar de `Mission Control` en modo de prueba controlada a una operación Odoo 100% ejecutable por agentes, manteniendo trazabilidad completa, approvals explícitos y rollback claro.

## Estado actual

- Permitido desde Mission Control:
  - crear y editar clientes
  - crear y editar productos
  - crear oportunidades CRM
  - crear y editar cotizaciones en borrador
  - crear seguimiento mediante `mail.activity`
  - consultar stock, compras y facturas
- Bloqueado intencionalmente:
  - confirmar ventas
  - validar compras
  - contabilizar facturas
  - registrar pagos
  - ajustar inventario
  - transferencias, recepciones o entregas
  - borrados

## Gates obligatorios antes de liberar

1. Gate de identidad
   - Cada agente debe operar con identidad propia o delegación firmada.
   - Debe quedar prohibido el uso compartido opaco de credenciales en producción.

2. Gate de permisos
   - Definir matriz por modelo y método Odoo.
   - Separar lectura, escritura reversible y acción irreversible.
   - Denegar por defecto cualquier método no listado.

3. Gate de entorno
   - Mantener entornos separados: `trial`, `staging`, `production`.
   - Requerir marca explícita de entorno en cada operación.
   - Bloquear automáticamente acciones finales fuera del entorno aprobado.

4. Gate de approvals
   - Requerir approval humano para:
     - `sale.order.action_confirm`
     - validación de `purchase.order`
     - publicación de `account.move`
     - pagos
     - movimientos de stock
     - cambios de precio fuera de tolerancia
     - escrituras masivas

5. Gate de trazabilidad
   - Cada operación debe llevar:
     - `trace_id`
     - agente
     - motivo
     - input normalizado
     - diff de campos
     - resultado
     - timestamp
   - El log debe ser exportable y conciliable contra Odoo.

6. Gate de rollback
   - Toda acción reversible debe tener procedimiento de reversión documentado.
   - Toda acción irreversible debe exigir approval y doble confirmación previa.

7. Gate de observabilidad
   - Métricas mínimas:
     - operaciones por agente
     - errores por modelo/método
     - approvals pendientes
     - reintentos
     - latencia Odoo
   - Alertas para errores repetidos, drift de permisos y fallos de autenticación.

## Approvals recomendados

- Nivel A: lectura amplia
  - stock, compras, facturas, búsquedas
  - sin approval manual si el entorno es correcto

- Nivel B: escritura reversible
  - clientes, productos, oportunidades, cotizaciones en borrador, actividades
  - approval opcional según criticidad del tenant

- Nivel C: transición de estado sensible
  - confirmaciones, validaciones, contabilización, pagos, inventario
  - approval humano obligatorio

## Qué falta habilitar para 100% agentes

- políticas por modelo y método en backend
- firma o identidad individual por agente
- approvals con estados, SLA y responsable
- trazabilidad persistente fuera de `db.json`
- reconciliación automática entre Mission Control y Odoo
- bloqueo técnico de acciones irreversibles no aprobadas
- pruebas automáticas contra sandbox Odoo o tenant staging
- snapshots o playbooks de rollback para cada flujo sensible

## Secuencia de liberación sugerida

1. Consolidar este modo `trial` como baseline estable.
2. Añadir permisos granulares y approval engine.
3. Activar staging con usuarios técnicos por agente.
4. Habilitar primero confirmación de cotizaciones con approval humano.
5. Habilitar después compras, facturas y stock por fases separadas.
6. Revisar incidentes y ajustar gates antes de producción.

## Rollback claro

- Clientes y productos:
  - revertir campos mediante `write` auditado
- Oportunidades:
  - marcar pérdida o revertir campos, nunca borrar
- Cotizaciones borrador:
  - volver a estado borrador o ajustar líneas, nunca confirmar desde piloto
- Seguimientos:
  - marcar actividad completada o cancelada con nota de auditoría
- Si una operación cae fuera del alcance:
  - detener el agente
  - abrir approval
  - escalar a operador humano
