# CONTEXT-MAP: ERP-CORE
# Sistema: SIMCO - NEXUS v4.0
# Propósito: Mapear contexto automático por nivel y tarea
# Versión: 1.0.0
# Fecha: 2026-01-04

metadata:
  proyecto: "erp-core"
  nivel: "VERTICAL"
  version: "1.0.0"
  ultima_actualizacion: "2026-01-04"
  workspace_root: "/home/isem/workspace-v1"
  project_root: "/home/isem/workspace-v1/projects/erp-core"
  suite_parent: "/home/isem/workspace-v1/projects/erp-suite"

# ═══════════════════════════════════════════════════════════════════════════════
# VARIABLES DEL PROYECTO (PRE-RESUELTAS)
# ═══════════════════════════════════════════════════════════════════════════════

variables:
  # Identificación
  PROJECT: "erp-core"
  PROJECT_NAME: "ERP-CORE"
  PROJECT_LEVEL: "VERTICAL"
  SUITE_NAME: "ERP-SUITE"

  # Base de datos
  DB_NAME: "erp_core"
  DB_DDL_PATH: "/home/isem/workspace-v1/projects/erp-core/database/ddl"
  DB_SCRIPTS_PATH: "/home/isem/workspace-v1/projects/erp-core/database"
  DB_SEEDS_PATH: "/home/isem/workspace-v1/projects/erp-core/database/seeds"

  # Backend
  BACKEND_ROOT: "/home/isem/workspace-v1/projects/erp-core/backend"
  BACKEND_SRC: "/home/isem/workspace-v1/projects/erp-core/backend/src"

  # Frontend
  FRONTEND_ROOT: "/home/isem/workspace-v1/projects/erp-core/frontend"
  FRONTEND_SRC: "/home/isem/workspace-v1/projects/erp-core/frontend/src"

  # Documentación
  DOCS_PATH: "/home/isem/workspace-v1/projects/erp-core/docs"
  ORCHESTRATION_PATH: "/home/isem/workspace-v1/projects/erp-core/orchestration"

# ═══════════════════════════════════════════════════════════════════════════════
# ALIASES RESUELTOS
# ═══════════════════════════════════════════════════════════════════════════════

aliases:
  # Directivas globales
  "@SIMCO": "/home/isem/workspace-v1/orchestration/directivas/simco"
  "@PRINCIPIOS": "/home/isem/workspace-v1/orchestration/directivas/principios"
  "@PERFILES": "/home/isem/workspace-v1/orchestration/agents/perfiles"
  "@CATALOG": "/home/isem/workspace-v1/shared/catalog"

  # Suite padre
  "@SUITE": "/home/isem/workspace-v1/projects/erp-suite"
  "@SHARED_LIBS": "/home/isem/workspace-v1/projects/erp-suite/apps/shared-libs"

  # Proyecto específico
  "@DDL": "/home/isem/workspace-v1/projects/erp-core/database/ddl"
  "@SEEDS": "/home/isem/workspace-v1/projects/erp-core/database/seeds"
  "@BACKEND": "/home/isem/workspace-v1/projects/erp-core/backend/src"
  "@FRONTEND": "/home/isem/workspace-v1/projects/erp-core/frontend/src"
  "@DOCS": "/home/isem/workspace-v1/projects/erp-core/docs"

  # Inventarios
  "@INVENTORY": "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios"
  "@INV_DB": "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/DATABASE_INVENTORY.yml"
  "@INV_BE": "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/BACKEND_INVENTORY.yml"
  "@INV_FE": "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/FRONTEND_INVENTORY.yml"

  # Trazas
  "@TRAZA_DB": "/home/isem/workspace-v1/projects/erp-core/orchestration/trazas/TRAZA-TAREAS-DATABASE.md"
  "@TRAZA_BE": "/home/isem/workspace-v1/projects/erp-core/orchestration/trazas/TRAZA-TAREAS-BACKEND.md"
  "@TRAZA_FE": "/home/isem/workspace-v1/projects/erp-core/orchestration/trazas/TRAZA-TAREAS-FRONTEND.md"

# ═══════════════════════════════════════════════════════════════════════════════
# CONTEXTO POR NIVEL
# ═══════════════════════════════════════════════════════════════════════════════

contexto_por_nivel:
  L0_sistema:
    descripcion: "Principios fundamentales y perfil de agente"
    tokens_estimados: 4500
    obligatorio: true
    archivos:
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-CAPVED.md"
        proposito: "Ciclo de vida de tareas"
        tokens: 800
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md"
        proposito: "Documentación antes de código"
        tokens: 500
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md"
        proposito: "Verificar catálogo antes de crear"
        tokens: 600
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md"
        proposito: "Build/lint deben pasar"
        tokens: 600
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md"
        proposito: "Límites de contexto"
        tokens: 500
      - path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-NO-ASUMIR.md"
        proposito: "Preguntar si falta información"
        tokens: 500
      - path: "/home/isem/workspace-v1/orchestration/referencias/ALIASES.yml"
        proposito: "Resolución de @ALIAS"
        tokens: 400

  L1_proyecto:
    descripcion: "Contexto específico de ERP-CORE"
    tokens_estimados: 3000
    obligatorio: true
    archivos:
      - path: "/home/isem/workspace-v1/projects/erp-core/orchestration/00-guidelines/CONTEXTO-PROYECTO.md"
        proposito: "Variables y configuración del proyecto"
        tokens: 1500
      - path: "/home/isem/workspace-v1/projects/erp-core/orchestration/PROXIMA-ACCION.md"
        proposito: "Estado actual y siguiente paso"
        tokens: 500

  L2_operacion:
    descripcion: "SIMCO específicos según operación y dominio"
    tokens_estimados: 2500
    archivos_por_operacion:
      CREAR:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-CREAR.md"
      MODIFICAR:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-MODIFICAR.md"
      VALIDAR:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-VALIDAR.md"
      DELEGAR:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-DELEGACION.md"
    archivos_por_dominio:
      DDL:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-DDL.md"
        - "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/DATABASE_INVENTORY.yml"
      BACKEND:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-BACKEND.md"
        - "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/BACKEND_INVENTORY.yml"
      FRONTEND:
        - "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-FRONTEND.md"
        - "/home/isem/workspace-v1/projects/erp-core/orchestration/inventarios/FRONTEND_INVENTORY.yml"

  L3_tarea:
    descripcion: "Contexto específico de la tarea"
    tokens_max: 8000
    dinamico: true

# ═══════════════════════════════════════════════════════════════════════════════
# MAPA TAREA → ARCHIVOS
# ═══════════════════════════════════════════════════════════════════════════════

mapa_tarea_contexto:
  database:
    crear_tabla:
      simco: ["SIMCO-CREAR.md", "SIMCO-DDL.md"]
      inventario: "@INV_DB"
      referencia: "@DDL/schemas/*/tables/*.sql"
      docs: "@DOCS/02-especificaciones-tecnicas/"

    crear_indice:
      simco: ["SIMCO-CREAR.md", "SIMCO-DDL.md"]
      inventario: "@INV_DB"
      referencia: "DDL de tabla objetivo"

  backend:
    crear_entity:
      simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
      inventario: "@INV_BE"
      referencia: "@BACKEND/modules/*/entities/*.entity.ts"

    crear_service:
      simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
      inventario: "@INV_BE"
      referencia: "@BACKEND/modules/*/services/*.service.ts"

    crear_controller:
      simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
      inventario: "@INV_BE"
      referencia: "@BACKEND/modules/*/controllers/*.controller.ts"

  frontend:
    crear_componente:
      simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
      inventario: "@INV_FE"
      referencia: "@FRONTEND/components/**/*.tsx"

    crear_pagina:
      simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
      inventario: "@INV_FE"
      referencia: "@FRONTEND/pages/**/*.tsx"

# ═══════════════════════════════════════════════════════════════════════════════
# INFORMACIÓN ESPECÍFICA DEL PROYECTO
# ═══════════════════════════════════════════════════════════════════════════════

info_proyecto:
  tipo: "ERP Base - Core Genérico Reutilizable"
  estado: "60% completado"
  version: "1.0"

  stack:
    backend: "Node.js 20+, Express.js, TypeScript 5.3+, TypeORM"
    frontend: "React 18, Vite, TypeScript, Tailwind CSS"
    database: "PostgreSQL 15+ con RLS"

  modulos_core:
    - autenticacion
    - usuarios
    - roles_permisos
    - catalogos
    - configuracion

# ═══════════════════════════════════════════════════════════════════════════════
# VALIDACIÓN DE TOKENS
# ═══════════════════════════════════════════════════════════════════════════════

validacion_tokens:
  limite_absoluto: 25000
  limite_seguro: 18000
  limite_alerta: 20000

  presupuesto:
    L0_sistema: 4500
    L1_proyecto: 3000
    L2_operacion: 2500
    L3_tarea_max: 8000
    total_base: 10000
    disponible_tarea: 8000

# ═══════════════════════════════════════════════════════════════════════════════
# HERENCIA
# ═══════════════════════════════════════════════════════════════════════════════

herencia:
  tipo: "VERTICAL"
  hereda_de:
    - "/home/isem/workspace-v1/projects/erp-suite/orchestration/"
    - "/home/isem/workspace-v1/orchestration/"
  provee_a:
    - "/home/isem/workspace-v1/projects/erp-clinicas/"
    - "/home/isem/workspace-v1/projects/erp-construccion/"
    - "/home/isem/workspace-v1/projects/erp-mecanicas-diesel/"
    - "/home/isem/workspace-v1/projects/erp-retail/"
    - "/home/isem/workspace-v1/projects/erp-vidrio-templado/"

# ═══════════════════════════════════════════════════════════════════════════════
# BÚSQUEDA DE HISTÓRICO
# ═══════════════════════════════════════════════════════════════════════════════

busqueda_historico:
  habilitado: true
  ubicaciones:
    - "/home/isem/workspace-v1/projects/erp-core/orchestration/trazas/"
    - "/home/isem/workspace-v1/projects/erp-suite/orchestration/trazas/"
    - "/home/isem/workspace-v1/orchestration/errores/REGISTRO-ERRORES.yml"
    - "/home/isem/workspace-v1/shared/knowledge-base/lessons-learned/"
