schema: spec-driven

context: |
    Repo: addons-cm (Odoo 18.0 / OCB). Stack: Python 3.10+, Odoo ORM, XML/QWeb, JS.

    Restricciones:
    - NO modificar el core de Odoo/OCB en `ocb/`.
    - NO modificar addons OCA originales (ver `.github/copilot-instructions.md`).
    - Los cambios deben hacerse en addons custom del repo.

    Convenciones clave:
    - Seguir guías OCA (black/isort/flake8/pylint-odoo).
    - Tests: `docker-compose run odoo odoo -d odoo --test-enable --stop-after-init -u <addon>`.
    - Evitar `_()` en definiciones de campos; usar traducciones en `i18n/*.po`.
    - No meter lógica compleja en QWeb; preparar datos en Python (controller/model).

rules:
    proposal:
        - "Incluir siempre: Objetivo, Alcance, No-objetivos, Riesgos, Criterios de aceptación."
        - "Listar explícitamente los addons afectados (y los NO afectados)."
        - "Reafirmar restricciones: no tocar `ocb/` ni addons OCA originales; cambios solo en custom."
        - "Si afecta a UI/website/QWeb, indicar qué páginas/vistas se tocan y el impacto para usuario."
    design:
        - "Referenciar modelos/campos/vistas por nombre técnico (ej: `group.order`, `sale.order`)."
        - "Incluir consideraciones de seguridad (grupos/reglas) y multi-compañía si aplica."
        - "Evitar lógica compleja en QWeb: documentar qué datos se preparan en Python."
        - "Si hay impactos de datos (migración/recomputes), describir estrategia (cron, compute store, scripts)."
    tasks:
        - "Descomponer en tareas pequeñas (ideal: <= 2h cada una) y ordenadas."
        - "Cada tarea debe mencionar archivos/carpetas a tocar (rutas relativas) y el addon."
        - "Incluir al menos una tarea de verificación: tests con `docker-compose run ... --test-enable` (no `exec`)."
        - "Incluir notas de calidad cuando aplique: lint/format (black/isort) y evitar `_()` en fields."
        - "Prohibido proponer cambios en `ocb/` o addons OCA originales; si se necesita, crear un addon custom heredando."
    specs:
        - "Especificar comportamiento observable (inputs/outputs), edge cases y criterios de aceptación verificables."
        - "Evitar detalles de implementación; esos van en design.md."
# Project context (optional)
# This is shown to AI when creating artifacts.
# Add your tech stack, conventions, style guides, domain knowledge, etc.
# Example:
#   context: |
#     Tech stack: TypeScript, React, Node.js
#     We use conventional commits
#     Domain: e-commerce platform

# Per-artifact rules (optional)
# Add custom rules for specific artifacts.
# Example:
#   rules:
#     proposal:
#       - Keep proposals under 500 words
#       - Always include a "Non-goals" section
#     tasks:
#       - Break tasks into chunks of max 2 hours
