erp-core/orchestration/01-analisis/VALIDACION-COMPLETA/FASE-4-VALIDACION-DEPENDENCIAS.md
rckrdmrd 4c4e27d9ba feat: Documentation and orchestration updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:35:20 -06:00

11 KiB

FASE 4: Validacion de Dependencias

ID: EPIC-VAL-004 Fecha: 2026-01-04 Estado: Completado Basado en: FASE-3 (Plan de Correcciones)


1. Objetivo

Validar que las correcciones planificadas en FASE 3:

  1. No rompan dependencias existentes
  2. Tengan todas sus dependencias satisfechas
  3. Sean compatibles con la estructura actual
  4. Identifiquen correcciones ya implementadas

2. Analisis de Estado Actual

2.1 Correcciones Ya Implementadas (Excluir del Plan)

ID Plan Descripcion Estado Actual Accion
COR-034 core.attachments YA EXISTE (linea 271) EXCLUIR
COR-027 hr.leaves YA EXISTE (linea 252) AJUSTAR
COR-027 hr.leave_types YA EXISTE (linea 231) AJUSTAR

Nota: HR ya tiene estructura de leaves. Solo falta leave_allocations.

2.2 Correcciones P1/P2 Anteriores Verificadas

ID Tabla/Funcion Archivo Linea Verificado
COR-005 financial.tax_groups 04-financial.sql 285 OK
COR-013 financial.account_full_reconcile 04-financial.sql 593 OK
COR-013 financial.account_partial_reconcile 04-financial.sql 606 OK
COR-020 core.partner_duplicates 02-core.sql 759 OK

3. Validacion de Dependencias por Correccion

3.1 COR-021: core.states

Dependencia Tabla/Schema Existe Estado
core.countries core SI OK
system.tenants auth SI OK

Dependencias Satisfechas: SI Tablas que dependeran de states:

  • core.partners (agregar state_id)
  • core.addresses (agregar state_id)
  • financial.fiscal_positions (state_ids array)

3.2 COR-022: core.banks, core.partner_banks

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
core.countries core SI OK
core.partners core SI OK
core.currencies core SI OK

Dependencias Satisfechas: SI Tablas que dependeran:

  • financial.bank_statements (journal_id -> partner_bank_id)
  • financial.payments (partner_bank_id)

3.3 COR-023: financial.bank_statements, bank_statement_lines

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
financial.journals financial SI OK
core.currencies core SI OK
core.partners core SI OK
core.partner_banks core NO REQUIERE COR-022

Dependencias Satisfechas: NO - Requiere COR-022 primero Orden de ejecucion: COR-022 -> COR-023

3.4 COR-024: financial.tax_repartition_lines

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
financial.taxes financial SI OK
financial.accounts financial SI OK

Dependencias Satisfechas: SI

3.5 COR-025: inventory.routes, stock_rules

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
inventory.warehouses inventory SI OK
inventory.locations inventory SI OK
inventory.picking_types inventory SI OK (COR-007)
core.partners core SI OK
core.companies core SI OK

Dependencias Satisfechas: SI

3.6 COR-026: hr.attendances

Dependencia Tabla/Schema Existe Estado
auth.tenants auth SI OK
hr.employees hr SI OK

Dependencias Satisfechas: SI

3.7 COR-027: hr.leave_allocations (AJUSTADO)

Dependencia Tabla/Schema Existe Estado
auth.tenants auth SI OK
hr.employees hr SI OK
hr.leave_types hr SI YA EXISTE

Dependencias Satisfechas: SI Nota: Solo se requiere agregar leave_allocations, no recrear estructura

3.8 COR-028: financial.fiscal_positions

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
core.companies core SI OK
core.countries core SI OK
core.states core NO REQUIERE COR-021
financial.taxes financial SI OK
financial.accounts financial SI OK

Dependencias Satisfechas: PARCIAL - Requiere COR-021 para state_ids Workaround: Puede implementarse sin states, agregar despues

3.9 COR-029: purchase.button_cancel, button_draft

Dependencia Tabla/Schema Existe Estado
purchase.purchase_orders purchase SI OK
inventory.pickings inventory SI OK

Dependencias Satisfechas: SI

3.10 COR-030: crm.merge_leads

Dependencia Tabla/Schema Existe Estado
crm.leads crm SI OK
crm.lead_activities crm VERIFICAR -

Dependencias Satisfechas: VERIFICAR lead_activities

3.11 COR-031: inventory.stock_scrap

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
inventory.products inventory SI OK
core.uom core SI OK
inventory.lots inventory SI OK
inventory.locations inventory SI OK
inventory.stock_moves inventory SI OK
inventory.pickings inventory SI OK

Dependencias Satisfechas: SI

3.12 COR-032: projects.project_updates

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
projects.projects projects SI OK
auth.users auth SI OK

Dependencias Satisfechas: SI

3.13 COR-033: sales.order_templates

Dependencia Tabla/Schema Existe Estado
system.tenants auth SI OK
inventory.products inventory SI OK
core.uom core SI OK

Dependencias Satisfechas: SI


4. Grafo de Dependencias

GRUPO 0 (Sin dependencias) - Ejecutar primero
├── COR-021: core.states
├── COR-024: financial.tax_repartition_lines
├── COR-025: inventory.routes + rules
├── COR-026: hr.attendances
├── COR-027: hr.leave_allocations (ajustado)
├── COR-029: purchase.button_cancel/draft
├── COR-031: inventory.stock_scrap
├── COR-032: projects.project_updates
└── COR-033: sales.order_templates

GRUPO 1 (Depende de GRUPO 0)
├── COR-022: core.banks + partner_banks (despues de states)
├── COR-028: financial.fiscal_positions (depende de COR-021)
└── COR-030: crm.merge_leads (verificar activities)

GRUPO 2 (Depende de GRUPO 1)
└── COR-023: financial.bank_statements (depende de COR-022)

EXCLUIDOS (Ya existen)
├── COR-034: core.attachments - YA EXISTE
├── hr.leaves - YA EXISTE
└── hr.leave_types - YA EXISTE

5. Tabla de Referencias Cruzadas

5.1 Tablas que Agregan FK a Tablas Existentes

Tabla Existente Nuevo Campo Referencia a Correccion
core.partners state_id core.states COR-021
core.addresses state_id core.states COR-021
core.partners bank_ids core.partner_banks COR-022
financial.payments partner_bank_id core.partner_banks COR-022

5.2 Tablas Nuevas con Referencias a Existentes

Nueva Tabla Referencia Tabla Existente
core.states country_id core.countries
core.banks country_id core.countries
core.partner_banks partner_id core.partners
financial.bank_statements journal_id financial.journals
financial.bank_statement_lines partner_id core.partners
financial.tax_repartition_lines tax_id financial.taxes
inventory.routes warehouse_id inventory.warehouses
inventory.stock_rules route_id inventory.routes
hr.attendances employee_id hr.employees
hr.leave_allocations employee_id hr.employees

6. Validacion de Schemas

6.1 Orden de Carga de Schemas

00-prerequisites.sql  (funciones utilitarias)
     ↓
01-auth.sql          (tenants, users, roles)
     ↓
02-core.sql          (countries, currencies, partners)
     ↓
03-analytics.sql     (analytic accounts)
     ↓
04-financial.sql     (accounts, journals, taxes)
     ↓
05-inventory.sql     (products, warehouses, stock)
     ↓
06-purchase.sql      (purchase orders)
     ↓
07-sales.sql         (sales orders)
     ↓
08-projects.sql      (projects, tasks)
     ↓
09-system.sql        (system config)
     ↓
10-billing.sql       (subscriptions)
     ↓
11-crm.sql           (leads, opportunities)
     ↓
12-hr.sql            (employees, contracts)

Validacion: El orden actual es correcto para las nuevas correcciones.


7. Conflictos Identificados

7.1 Conflicto Potencial: auth.tenants vs system.tenants

Observacion: Algunos archivos usan auth.tenants, otros system.tenants. Estado: Necesita verificacion de cual es el estandar actual. Accion: Usar el schema que corresponda segun el archivo DDL donde se implemente.

7.2 Conflicto Potencial: Trigger function core.update_timestamp

Observacion: 12-hr.sql usa core.update_timestamp() pero podria no existir. Estado: Verificar que existe en 02-core.sql Accion: Usar update_updated_at_column() de 00-prerequisites.sql si es necesario.


8. Resumen de Validacion

8.1 Correcciones Validadas

ID Descripcion Dependencias OK Listo
COR-021 core.states SI SI
COR-022 core.banks SI SI
COR-023 bank_statements SI (con COR-022) SI
COR-024 tax_repartition SI SI
COR-025 routes/rules SI SI
COR-026 hr.attendances SI SI
COR-027 hr.leave_allocations SI (ajustado) SI
COR-028 fiscal_positions SI (con COR-021) SI
COR-029 purchase functions SI SI
COR-030 merge_leads VERIFICAR PARCIAL
COR-031 stock_scrap SI SI
COR-032 project_updates SI SI
COR-033 order_templates SI SI

8.2 Correcciones Excluidas

ID Razon
COR-034 core.attachments ya existe

8.3 Metricas Finales

Metrica Cantidad
Correcciones planificadas 14
Correcciones validadas 12
Correcciones excluidas 1
Correcciones a verificar 1
Listas para ejecucion 12

9. Proximos Pasos

  1. FASE 5: Refinar el plan con el orden exacto de ejecucion
  2. Verificar existencia de crm.lead_activities para COR-030
  3. Confirmar trigger function para timestamps

Generado: 2026-01-04 Herramienta: Claude Code Metodologia: SCRUM/SIMCO