erp-core/orchestration/inventarios/MASTER_INVENTORY.yml
rckrdmrd 0086695b4c
Some checks failed
ERP Core CI / Backend Lint (push) Has been cancelled
ERP Core CI / Backend Unit Tests (push) Has been cancelled
ERP Core CI / Backend Integration Tests (push) Has been cancelled
ERP Core CI / Frontend Lint (push) Has been cancelled
ERP Core CI / Frontend Unit Tests (push) Has been cancelled
ERP Core CI / Frontend E2E Tests (push) Has been cancelled
ERP Core CI / Database DDL Validation (push) Has been cancelled
ERP Core CI / Backend Build (push) Has been cancelled
ERP Core CI / Frontend Build (push) Has been cancelled
ERP Core CI / CI Success (push) Has been cancelled
Performance Tests / Lighthouse CI (push) Has been cancelled
Performance Tests / Bundle Size Analysis (push) Has been cancelled
Performance Tests / k6 Load Tests (push) Has been cancelled
Performance Tests / Performance Summary (push) Has been cancelled
[SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios backend
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Actualizaciones en modulos CRM y OpenAPI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

1112 lines
36 KiB
YAML

# Master Inventory - ERP Core
# Ultima actualizacion: 2026-01-10
# SSOT: Single Source of Truth para metricas del proyecto
# NOTA: Los Story Points en este archivo son los valores CANONICOS
# Cualquier discrepancia con otros documentos debe corregirse aqui
proyecto:
nombre: ERP Core
tipo: Modulo Base / Foundation
version: 1.0.0
progreso: 100% # 219 SP completados (184 SP Sprints 1-6 + 35 SP Sprint 7)
fase_actual: fase_02_core_business
proxima_accion: Sprint 8 - Reports Module
# =============================================================================
# IMPLEMENTACION SPRINTS 1-3 (2026-01-06)
# =============================================================================
implementacion_sprints:
fecha_inicio: "2026-01-06"
metodologia: CAPVED
orquestador: Claude Code Opus 4.5
resumen:
story_points_completados: 240 # 219 + 21 (GAPS resolution)
story_points_totales: 240
progreso: 100%
sprints_completados: 7
gaps_resueltos: 5
sprints_pendientes: 0
sprint_1:
nombre: "Database Validation + Tests Setup + Catalogs"
story_points: 36
status: COMPLETADO
tareas:
- {id: DB-001, nombre: "HR Schema", sp: 0, status: "ya existia"}
- {id: DB-002, nombre: "RLS Validation Tests", sp: 5, status: completado}
- {id: DB-003, nombre: "track_field_changes()", sp: 0, status: "ya existia"}
- {id: DB-004, nombre: "Seed Data Catalogs", sp: 0, status: "ya existia"}
- {id: BE-001, nombre: "Jest + Supertest Setup", sp: 5, status: completado, tests: 13}
- {id: BE-002, nombre: "Auth Tests", sp: 8, status: completado, tests: 59}
- {id: FE-001, nombre: "Catalogs Structure", sp: 5, status: completado}
- {id: FE-002, nombre: "Countries Pages", sp: 5, status: completado, pages: 6}
sprint_2:
nombre: "Tests Foundation + Catalogs Frontend"
story_points: 37
status: COMPLETADO
tareas:
- {id: BE-003, nombre: "Tests Users Module", sp: 5, status: completado, tests: 74}
- {id: BE-004, nombre: "Tests Roles Module", sp: 5, status: completado, tests: 48}
- {id: BE-005, nombre: "Tests Tenants Module", sp: 5, status: completado, tests: 77}
- {id: BE-006, nombre: "Permission Cache Service", sp: 4, status: completado, tests: 37}
- {id: FE-003, nombre: "Currencies Pages", sp: 5, status: completado, pages: 4}
- {id: FE-004, nombre: "Units of Measure Pages", sp: 5, status: completado, pages: 5}
- {id: FE-005, nombre: "Product Categories Pages", sp: 8, status: completado, pages: 5}
- {id: FE-006, nombre: "Routes Catalogs", sp: 0, status: completado, routes: 20}
sprint_3:
nombre: "OAuth + Settings Frontend"
story_points: 36
status: COMPLETADO
tareas:
- {id: BE-007, nombre: "Tests Financial Module", sp: 8, status: completado, tests: 93}
- {id: BE-008, nombre: "Tests Inventory Module", sp: 6, status: completado, tests: 69}
- {id: BE-009, nombre: "OAuth2 Google/Microsoft", sp: 8, status: completado, tests: 32}
- {id: FE-007, nombre: "Stores Catalogs Zustand", sp: 3, status: completado, stores: 4}
- {id: FE-008, nombre: "Feature Settings Structure", sp: 3, status: completado}
- {id: FE-009, nombre: "System Settings Page", sp: 5, status: completado}
- {id: FE-010, nombre: "Tenant Settings Page", sp: 3, status: completado}
sprint_4:
nombre: "2FA + Settings Completion"
story_points: 33
status: COMPLETADO
fecha_completado: "2026-01-07"
tareas:
- {id: BE-010, nombre: "2FA/MFA Implementation", sp: 8, status: completado}
- {id: BE-011, nombre: "Email Verification Flow", sp: 4, status: completado}
- {id: FE-011, nombre: "User Preferences Page", sp: 5, status: completado}
- {id: FE-012, nombre: "Feature Flags Management", sp: 5, status: completado}
- {id: FE-013, nombre: "Settings Stores Zustand", sp: 3, status: completado}
- {id: FE-014, nombre: "Theme Selector Component", sp: 3, status: completado}
- {id: FE-015, nombre: "Tests Frontend Vitest", sp: 3, status: completado}
- {id: FE-016, nombre: "Tenant Settings completar", sp: 2, status: completado}
archivos_creados:
backend:
- src/modules/auth/mfa.service.ts
- src/modules/auth/mfa.controller.ts
- src/modules/auth/mfa.routes.ts
- src/modules/auth/entities/user-mfa.entity.ts
- src/modules/auth/services/email-verification.service.ts
- src/modules/auth/email-verification.controller.ts
- src/modules/auth/email-verification.routes.ts
- src/modules/auth/entities/email-verification-token.entity.ts
- src/shared/services/email.service.ts
frontend:
- src/pages/settings/UserPreferencesPage.tsx
- src/pages/settings/FeatureFlagsPage.tsx
- src/pages/settings/components/NotificationSettingsForm.tsx
- src/pages/settings/components/DashboardSettingsForm.tsx
- src/test/mocks/handlers.ts
- src/test/mocks/server.ts
- src/shared/components/atoms/Button/__tests__/Button.test.tsx
- src/features/settings/__tests__/userPreferences.store.test.ts
database:
- database/ddl/01-auth-mfa-email-verification.sql
sprint_5:
nombre: "Estabilizacion + DDL Migrations"
story_points: 12
status: COMPLETADO
fecha_inicio: "2026-01-07"
fecha_completado: "2026-01-07"
tareas:
- {id: FIX-001, nombre: "Corregir TypeScript UserPreferencesPage", sp: 1, status: completado}
- {id: FIX-002, nombre: "Corregir TypeScript FeatureFlagsPage", sp: 2, status: completado}
- {id: FIX-003, nombre: "Corregir DashboardSettingsForm Select", sp: 1, status: completado}
- {id: FIX-004, nombre: "Corregir useTheme null safety", sp: 1, status: completado}
- {id: FIX-005, nombre: "Corregir tsconfig.json backend tests", sp: 1, status: completado}
- {id: FIX-006, nombre: "Corregir oauth.service.ts TypeORM types", sp: 1, status: completado}
- {id: DDL-001, nombre: "Crear DDL MFA + Email Verification", sp: 3, status: completado}
- {id: DOC-001, nombre: "Actualizar MASTER_INVENTORY", sp: 2, status: completado}
sprint_6:
nombre: "Fase 2 - Catalogs & Settings Foundation"
story_points: 30
status: COMPLETADO
fecha_inicio: "2026-01-07"
fecha_completado: "2026-01-07"
tareas:
- {id: BE-012, nombre: "Countries/States API + Entity", sp: 5, status: completado}
- {id: BE-013, nombre: "Currency Exchange Rates Service", sp: 5, status: completado}
- {id: BE-014, nombre: "UoM Conversions Enhancement", sp: 4, status: completado}
- {id: BE-015, nombre: "Partners CRUD (verificado completo)", sp: 0, status: ya_existia}
- {id: BE-016, nombre: "Settings Service 3-Level", sp: 6, status: completado}
- {id: DDL-002, nombre: "DDL currency_rates + settings", sp: 2, status: completado}
- {id: TEST-001, nombre: "Tests Core Services", sp: 5, status: completado, tests: 145}
- {id: FE-017, nombre: "Catalogs Frontend APIs (ya conectado)", sp: 0, status: ya_existia}
- {id: DOC-002, nombre: "Actualizar MASTER_INVENTORY", sp: 3, status: completado}
archivos_creados:
backend:
- src/modules/core/entities/state.entity.ts
- src/modules/core/states.service.ts
- src/modules/core/entities/currency-rate.entity.ts
- src/modules/core/currency-rates.service.ts
- src/modules/system/entities/system-setting.entity.ts
- src/modules/system/entities/tenant-setting.entity.ts
- src/modules/system/entities/user-preference.entity.ts
- src/modules/system/settings.service.ts
- src/modules/system/settings.controller.ts
- src/modules/system/settings.routes.ts
tests:
- src/modules/core/__tests__/countries.service.spec.ts
- src/modules/core/__tests__/states.service.spec.ts
- src/modules/core/__tests__/currencies.service.spec.ts
- src/modules/core/__tests__/currency-rates.service.spec.ts
- src/modules/core/__tests__/uom.service.spec.ts
- src/modules/system/__tests__/settings.service.spec.ts
database:
- database/ddl/02-core-extensions.sql
- database/ddl/09-system-extensions.sql
sprint_7:
nombre: "Fase 2 - Audit & Notifications"
story_points: 35
status: COMPLETADO
fecha_inicio: "2026-01-07"
fecha_completado: "2026-01-07"
tareas:
- {id: BE-017, nombre: "Audit Trail System (TypeORM Subscriber)", sp: 8, status: completado}
- {id: BE-018, nombre: "Access Logs Service", sp: 6, status: completado}
- {id: BE-019, nombre: "Security Events Service", sp: 6, status: completado}
- {id: BE-020, nombre: "WebSocket Gateway Real-time Notifications", sp: 5, status: completado}
- {id: DDL-003, nombre: "DDL audit tables", sp: 2, status: completado}
- {id: FE-018, nombre: "Notification Center UI", sp: 4, status: completado}
- {id: FE-019, nombre: "Audit Logs Pages (3)", sp: 4, status: completado}
archivos_creados:
backend:
- src/modules/audit/entities/audit-log.entity.ts
- src/modules/audit/entities/access-log.entity.ts
- src/modules/audit/entities/security-event.entity.ts
- src/modules/audit/audit.service.ts
- src/modules/audit/audit.controller.ts
- src/modules/audit/audit.subscriber.ts
- src/modules/audit/audit-context.ts
- src/modules/audit/access-logs.service.ts
- src/modules/audit/access-logs.controller.ts
- src/modules/audit/security-events.service.ts
- src/modules/audit/security-events.controller.ts
- src/modules/audit/utils/brute-force-detector.ts
- src/modules/audit/utils/anomaly-detector.ts
- src/modules/notifications/websocket/notification.gateway.ts
- src/shared/middleware/access-logger.middleware.ts
frontend:
- src/features/notifications/components/NotificationBell.tsx
- src/features/notifications/components/NotificationDropdown.tsx
- src/features/notifications/stores/notifications.store.ts
- src/features/notifications/hooks/useNotificationSocket.ts
- src/features/audit/components/AuditLogTable.tsx
- src/features/audit/components/SecurityDashboard.tsx
- src/pages/notifications/NotificationsPage.tsx
- src/pages/audit/AuditLogsPage.tsx
- src/pages/audit/AccessLogsPage.tsx
- src/pages/audit/SecurityEventsPage.tsx
database:
- database/ddl/13-audit.sql
# =============================================================================
# RESOLUCION DE GAPS (2026-01-10)
# =============================================================================
gaps_resolution:
fecha: "2026-01-10"
story_points: 21
status: COMPLETADO
metodologia: CAPVED
plan: orchestration/02-planeacion/PLAN-RESOLUCION-GAPS-2026-01-10.md
reporte: orchestration/03-validacion/REPORTE-GAPS-RESUELTOS-2026-01-10.md
gaps_resueltos:
- id: GAP-001
nombre: "Tests MFA Service"
sp: 5
status: completado
tests: 45
archivo: src/modules/auth/__tests__/mfa.service.spec.ts
- id: GAP-002
nombre: "Trusted Devices Service + Tests"
sp: 3
status: completado
tests: 41
archivos:
- src/modules/auth/services/trusted-devices.service.ts
- src/modules/auth/__tests__/trusted-devices.service.spec.ts
- id: GAP-003
nombre: "Tests Permissions Service"
sp: 5
status: completado
tests: 42
archivo: src/modules/roles/__tests__/permissions.service.spec.ts
- id: GAP-004
nombre: "Tests Payment Reconciliation"
sp: 3
status: completado
tests: 36
archivo: src/modules/financial/__tests__/payments.service.spec.ts
- id: GAP-005
nombre: "Tests Valuation FIFO/LIFO/Average"
sp: 5
status: completado
tests: 37
archivo: src/modules/inventory/__tests__/valuation.service.spec.ts
validacion_db:
recreacion_ejecutada: true
ddl_ejecutados: "20/20"
resultado: "DATABASE RECREATED SUCCESSFULLY"
tablas_auth: 29
tabla_trusted_devices: "verificada - 21 columnas, 4 indices"
metricas_implementacion:
backend:
tests_totales: 848 # 647 + 201 (GAPS resolution)
cobertura: "~82%" # Actualizado post-GAPS
modulos_testeados: [auth, users, roles, tenants, financial, inventory, oauth, core, system, audit, permissions, mfa, trusted-devices, payments, valuation]
frontend:
pages_creadas: 29 # +4 (Notifications, AuditLogs, AccessLogs, SecurityEvents)
stores_creados: 6 # +2 (notifications, audit)
routes_agregadas: 27 # +4
build_time: "5.02s"
database:
ddl_validados: 17 # +2 (13-audit.sql, updates)
seeds_cargados: 7
rls_tests: 10+
# Metricas consolidadas
metricas:
documentacion:
directivas_creadas: 6
templates_creados: 4
total_archivos_docs: 630
archivos_migrados_gamilit: 119
modulos:
total: 15
p0_criticos: 4
p1_core: 6
p2_extended: 5
documentados: 10
migrados_gamilit: 10
modulos:
total: 15
implementados: 0
en_desarrollo: 0
documentacion_completa: 5
rf_documentados: 10
documentacion_pendiente: 5
migrados_estructura_gamilit: 10
lista:
- codigo: MGN-001
nombre: auth
estado: migrado_gamilit
descripcion: Autenticacion JWT, OAuth, sessions
ubicacion_gamilit: docs/01-fase-foundation/MGN-001-auth/
documentos:
- requerimientos/RF-AUTH-*.md (5 archivos)
- especificaciones/ET-*.md (3 archivos)
- historias-usuario/US-MGN001-*.md (4 archivos)
- implementacion/TRACEABILITY.yml
story_points: 40
tablas_bd: 6
endpoints: 7
test_cases: 8
- codigo: MGN-002
nombre: users
estado: migrado_gamilit
descripcion: Gestion de usuarios CRUD, perfil, preferencias
ubicacion_gamilit: docs/01-fase-foundation/MGN-002-users/
documentos:
- requerimientos/RF-USER-*.md (5 archivos)
- especificaciones/ET-*.md (2 archivos)
- historias-usuario/US-MGN002-*.md (4 archivos)
- implementacion/TRACEABILITY.yml
story_points: 35
tablas_bd: 6
endpoints: 14
test_cases: 18
- codigo: MGN-003
nombre: roles
estado: migrado_gamilit
descripcion: Roles y permisos (RBAC), guards, decoradores
ubicacion_gamilit: docs/01-fase-foundation/MGN-003-roles/
documentos:
- requerimientos/RF-ROLE-*.md (4 archivos)
- especificaciones/ET-*.md (2 archivos)
- historias-usuario/US-MGN003-*.md (4 archivos)
- implementacion/TRACEABILITY.yml
story_points: 40
tablas_bd: 4
endpoints: 10
test_cases: 14
- codigo: MGN-004
nombre: tenants
estado: migrado_gamilit
descripcion: Multi-tenancy, aislamiento RLS, subscripciones
ubicacion_gamilit: docs/01-fase-foundation/MGN-004-tenants/
documentos:
- requerimientos/RF-TENANT-*.md (4 archivos)
- especificaciones/ET-*.md (2 archivos)
- historias-usuario/US-MGN004-*.md (4 archivos)
- implementacion/TRACEABILITY.yml
story_points: 35
tablas_bd: 8
endpoints: 25
test_cases: 18
- codigo: MGN-005
nombre: catalogs
estado: rf_documentado
descripcion: Catalogos maestros genericos
ubicacion_gamilit: docs/02-fase-core-business/MGN-005-catalogs/
documentos:
- requerimientos/RF-CATALOG-*.md (5 archivos)
- requerimientos/INDICE-RF-CATALOGS.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml
story_points: 30
rf_count: 5
tablas_bd: 3
endpoints: 12
- codigo: MGN-006
nombre: settings
estado: rf_documentado
descripcion: Configuraciones del sistema, tenant y usuario
ubicacion_gamilit: docs/02-fase-core-business/MGN-006-settings/
documentos:
- requerimientos/RF-SETTINGS-001.md (Configuracion Sistema)
- requerimientos/RF-SETTINGS-002.md (Configuracion Tenant)
- requerimientos/RF-SETTINGS-003.md (Preferencias Usuario)
- requerimientos/RF-SETTINGS-004.md (Feature Flags)
- requerimientos/INDICE-RF-SETTINGS.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml (actualizado)
story_points: 25
rf_count: 4
tablas_bd: 5
endpoints: 15
- codigo: MGN-007
nombre: audit
estado: rf_documentado
descripcion: Auditoria, access logs y eventos de seguridad
ubicacion_gamilit: docs/02-fase-core-business/MGN-007-audit/
documentos:
- requerimientos/RF-AUDIT-001.md (Audit Trail)
- requerimientos/RF-AUDIT-002.md (Access Logs)
- requerimientos/RF-AUDIT-003.md (Security Events)
- requerimientos/RF-AUDIT-004.md (Consultas y Reportes)
- requerimientos/INDICE-RF-AUDIT.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml (actualizado)
story_points: 30
rf_count: 4
tablas_bd: 4
endpoints: 12
- codigo: MGN-008
nombre: notifications
estado: rf_documentado
descripcion: Notificaciones in-app, email y push
ubicacion_gamilit: docs/02-fase-core-business/MGN-008-notifications/
documentos:
- requerimientos/RF-NOTIF-001.md (In-App)
- requerimientos/RF-NOTIF-002.md (Email)
- requerimientos/RF-NOTIF-003.md (Push)
- requerimientos/RF-NOTIF-004.md (Preferencias)
- requerimientos/INDICE-RF-NOTIF.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml (actualizado)
story_points: 25
rf_count: 4
tablas_bd: 6
endpoints: 15
- codigo: MGN-009
nombre: reports
estado: rf_documentado
descripcion: Reportes predefinidos, dashboards y report builder
ubicacion_gamilit: docs/02-fase-core-business/MGN-009-reports/
documentos:
- requerimientos/RF-REPORT-001.md (Predefinidos)
- requerimientos/RF-REPORT-002.md (Dashboards)
- requerimientos/RF-REPORT-003.md (Report Builder)
- requerimientos/RF-REPORT-004.md (Programados)
- requerimientos/INDICE-RF-REPORT.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml (actualizado)
story_points: 35
rf_count: 4
tablas_bd: 7
endpoints: 18
- codigo: MGN-010
nombre: financial
estado: rf_documentado
descripcion: Base financiera (cuentas, monedas, periodos, asientos)
ubicacion_gamilit: docs/02-fase-core-business/MGN-010-financial/
documentos:
- requerimientos/RF-FIN-001.md (Plan de Cuentas)
- requerimientos/RF-FIN-002.md (Monedas y TC)
- requerimientos/RF-FIN-003.md (Periodos Contables)
- requerimientos/RF-FIN-004.md (Asientos Contables)
- requerimientos/INDICE-RF-FINANCIAL.md
- especificaciones/ (pendiente)
- historias-usuario/ (pendiente)
- implementacion/TRACEABILITY.yml (actualizado)
story_points: 45
rf_count: 4
tablas_bd: 10
endpoints: 25
- codigo: MGN-011
nombre: inventory
estado: planificado
descripcion: Inventario basico
- codigo: MGN-012
nombre: purchasing
estado: planificado
descripcion: Compras basicas
- codigo: MGN-013
nombre: crm
estado: planificado
descripcion: CRM basico
- codigo: MGN-014
nombre: integration
estado: planificado
descripcion: APIs de integracion
verticales_dependientes:
- nombre: construccion
codigo: MAI/MAE
estado: 40%
fase: EN_DESARROLLO
path: ../verticales/construccion/
modulos: 18
specs_aplicables: 26
specs_implementadas: 0
tablas_heredadas: 124
tablas_especificas: 33
- nombre: mecanicas-diesel
codigo: MMD
estado: 20%
fase: DDL_IMPLEMENTADO
path: ../verticales/mecanicas-diesel/
modulos: 6
specs_aplicables: 25
specs_implementadas: 0
tablas_heredadas: 97
tablas_especificas: 30
- nombre: vidrio-templado
codigo: VT
estado: 15%
fase: PLANIFICACION_COMPLETA
path: ../verticales/vidrio-templado/
modulos: 8
specs_aplicables: 25
specs_implementadas: 0
tablas_heredadas: 97
tablas_especificas: 25
- nombre: retail
codigo: RT
estado: 15%
fase: PLANIFICACION_COMPLETA
path: ../verticales/retail/
modulos: 10
specs_aplicables: 24
specs_implementadas: 0
tablas_heredadas: 102
tablas_especificas: 30
- nombre: clinicas
codigo: CL
estado: 15%
fase: PLANIFICACION_COMPLETA
path: ../verticales/clinicas/
modulos: 12
specs_aplicables: 24
specs_implementadas: 0
tablas_heredadas: 100
tablas_especificas: 35
# ============================================================================
# MAPEO DE SPECS A VERTICALES (Referencia)
# ============================================================================
mapeo_specs_verticales:
documento_completo: docs/04-modelado/MAPEO-SPECS-VERTICALES.md
fecha_actualizacion: 2025-12-08
resumen:
total_specs: 30
por_vertical:
construccion: {aplicables: 26, obligatorias: 22, opcionales: 4}
mecanicas_diesel: {aplicables: 25, obligatorias: 23, opcionales: 2}
vidrio_templado: {aplicables: 25, obligatorias: 22, opcionales: 3}
retail: {aplicables: 24, obligatorias: 21, opcionales: 3}
clinicas: {aplicables: 24, obligatorias: 20, opcionales: 4}
documentacion:
total_archivos: 630
archivos_md: 615+
archivos_sql: 0
path: /docs/
# Fase 01 - Foundation (completa)
modulo_auth:
requerimientos: 6
especificaciones_tecnicas: 3
user_stories: 5
test_plans: 1
modulo_users:
requerimientos: 5
especificaciones_tecnicas: 2
user_stories: 4
test_plans: 1
modulo_rbac:
requerimientos: 5
especificaciones_tecnicas: 2
user_stories: 4
test_plans: 1
modulo_tenants:
requerimientos: 5
especificaciones_tecnicas: 2
user_stories: 4
test_plans: 1
# Fase 02 - Core Business (RF documentados)
modulo_catalogs:
requerimientos: 5
especificaciones_tecnicas: 0
user_stories: 0
modulo_settings:
requerimientos: 4
especificaciones_tecnicas: 0
user_stories: 0
modulo_audit:
requerimientos: 4
especificaciones_tecnicas: 0
user_stories: 0
modulo_notifications:
requerimientos: 4
especificaciones_tecnicas: 0
user_stories: 0
modulo_reports:
requerimientos: 4
especificaciones_tecnicas: 0
user_stories: 0
modulo_financial:
requerimientos: 4
especificaciones_tecnicas: 0
user_stories: 0
schemas_bd:
- nombre: core_auth
tablas_documentadas: 6
estado: documentado
- nombre: core_users
tablas_documentadas: 6
estado: documentado
- nombre: core_rbac
tablas_documentadas: 4
estado: documentado
- nombre: core_tenants
tablas_documentadas: 8
estado: documentado
- nombre: core_catalogs
tablas_estimadas: 3
estado: rf_documentado
- nombre: core_settings
tablas_estimadas: 5
estado: rf_documentado
- nombre: core_audit
tablas_estimadas: 4
estado: rf_documentado
- nombre: core_notifications
tablas_estimadas: 6
estado: rf_documentado
- nombre: core_reports
tablas_estimadas: 7
estado: rf_documentado
- nombre: core_financial
tablas_estimadas: 10
estado: rf_documentado
# Resumen de documentacion completada
documentacion_completada:
# Fase 01
auth_module:
fecha_completado: 2025-12-05
documentos_creados: 14
story_points_totales: 29
sprints_estimados: 2
tablas_bd: 6
endpoints: 7
casos_prueba: 8
users_module:
fecha_completado: 2025-12-05
documentos_creados: 14
story_points_totales: 21
sprints_estimados: 2
tablas_bd: 6
endpoints: 14
casos_prueba: 18
rbac_module:
fecha_completado: 2025-12-05
documentos_creados: 13
story_points_totales: 29
sprints_estimados: 2
tablas_bd: 4
endpoints: 10
casos_prueba: 14
tenants_module:
fecha_completado: 2025-12-05
documentos_creados: 13
story_points_totales: 47
sprints_estimados: 3
tablas_bd: 8
endpoints: 25
casos_prueba: 18
# Fase 02 - RF Documentados
fase_02_rf:
fecha_completado: 2025-12-05
modulos_documentados: 6
total_rf: 25
story_points: 190
descripcion: "RF documentados para MGN-005 a MGN-010"
# Totales acumulados
totales:
modulos_documentados: 10
modulos_con_estructura: 10
documentos_totales: 109
rf_total: 46
et_total: 9
us_total: 17
story_points_fase_1: 150
story_points_fase_2: 190
story_points_total: 340
tablas_bd: 59
endpoints: 148
test_cases: 58
# Conteos RF por Fase
rf_por_fase:
fase_01_foundation:
total: 21
por_modulo:
- {modulo: MGN-001, rf: 6}
- {modulo: MGN-002, rf: 5}
- {modulo: MGN-003, rf: 5}
- {modulo: MGN-004, rf: 5}
fase_02_core_business:
total: 25
por_modulo:
- {modulo: MGN-005, rf: 5}
- {modulo: MGN-006, rf: 4}
- {modulo: MGN-007, rf: 4}
- {modulo: MGN-008, rf: 4}
- {modulo: MGN-009, rf: 4}
- {modulo: MGN-010, rf: 4}
# Hitos
hitos:
fase_1_foundation_core:
estado: COMPLETADO
fecha: 2025-12-05
modulos:
- MGN-001 Auth
- MGN-002 Users
- MGN-003 RBAC
- MGN-004 Tenants
descripcion: "Todos los modulos P0 criticos documentados y migrados GAMILIT"
fase_2_core_business_structure:
estado: COMPLETADO
fecha: 2025-12-05
modulos:
- MGN-005 Catalogs (estructura)
- MGN-006 Settings (estructura)
- MGN-007 Audit (estructura)
- MGN-008 Notifications (estructura)
- MGN-009 Reports (estructura)
- MGN-010 Financial (estructura)
descripcion: "Estructura GAMILIT creada para todos los modulos de Fase 02"
fase_2_rf_documented:
estado: COMPLETADO
fecha: 2025-12-05
modulos:
- MGN-005 Catalogs (5 RF)
- MGN-006 Settings (4 RF)
- MGN-007 Audit (4 RF)
- MGN-008 Notifications (4 RF)
- MGN-009 Reports (4 RF)
- MGN-010 Financial (4 RF)
descripcion: "RF documentados para todos los modulos de Fase 02 (25 RF total)"
proximo_hito:
nombre: fase_2_et_documented
descripcion: "Especificaciones Tecnicas para Fase 02"
modulos_pendientes: 6
fase_3_gap_analysis:
estado: COMPLETADO
fecha: 2025-12-08
descripcion: "Analisis de gaps vs Odoo 18 - 100% documentados"
metricas:
gaps_p0_documentados: 18
gaps_p1_documentados: 22
patrones_tecnicos_documentados: 2
especificaciones_transversales: 30
workflows_documentados: 3
# ============================================================================
# ESPECIFICACIONES TRANSVERSALES (Gap Analysis vs Odoo 18)
# ============================================================================
especificaciones_transversales:
total: 30
fecha_creacion: 2025-12-08
ubicacion: docs/04-modelado/especificaciones-tecnicas/transversal/
# Gaps P0 - Funcionales (16 documentos)
p0_funcionales:
- archivo: SPEC-SISTEMA-SECUENCIAS.md
gap: "GAP-MGN-004-002 (ir.sequence)"
sp: 8
- archivo: SPEC-VALORACION-INVENTARIO.md
gap: "GAP-MGN-005-001 (FIFO/AVCO)"
sp: 21
- archivo: SPEC-SEGURIDAD-API-KEYS-PERMISOS.md
gap: "GAP-MGN-001-001,002,003 (API Keys + ACL + RLS)"
sp: 31
- archivo: SPEC-REPORTES-FINANCIEROS.md
gap: "GAP-MGN-004-001 (Balance/P&L)"
sp: 13
- archivo: SPEC-PORTAL-PROVEEDORES.md
gap: "GAP-MGN-013-001 (Portal RFQ)"
sp: 13
- archivo: SPEC-NOMINA-BASICA.md
gap: "GAP-MGN-010-001 (hr_payroll)"
sp: 21
- archivo: SPEC-GASTOS-EMPLEADOS.md
gap: "GAP-MGN-010-002 (hr_expense)"
sp: 13
- archivo: SPEC-TAREAS-RECURRENTES.md
gap: "GAP-MGN-011-001 (project.task.recurrence)"
sp: 13
- archivo: SPEC-SCHEDULER-REPORTES.md
gap: "GAP-MGN-012-001 (ir.cron + mail)"
sp: 8
- archivo: SPEC-INTEGRACION-CALENDAR.md
gap: "GAP-MGN-014-001 (calendar + google_calendar)"
sp: 8
# Gaps P1 (14 documentos)
p1:
- archivo: SPEC-CONTABILIDAD-ANALITICA-MULTIDIMENSIONAL.md
gap: "GAP-MGN-008-001"
sp: 21
- archivo: SPEC-CONCILIACION-BANCARIA.md
gap: "GAP-MGN-004-004"
sp: 21
- archivo: SPEC-FIRMA-ELECTRONICA-NOM151.md
gap: "GAP-MGN-013-002"
sp: 13
- archivo: SPEC-TWO-FACTOR-AUTHENTICATION.md
gap: "GAP-MGN-001-004"
sp: 13
- archivo: SPEC-TRAZABILIDAD-LOTES-SERIES.md
gap: "GAP-MGN-005-002"
sp: 13
- archivo: SPEC-PRICING-RULES.md
gap: "GAP-MGN-007-002"
sp: 8
- archivo: SPEC-BLANKET-ORDERS.md
gap: "GAP-MGN-006-002"
sp: 13
- archivo: SPEC-OAUTH2-SOCIAL-LOGIN.md
gap: "GAP-MGN-001-005"
sp: 8
- archivo: SPEC-INVENTARIOS-CICLICOS.md
gap: "GAP-MGN-005-003"
sp: 13
- archivo: SPEC-IMPUESTOS-AVANZADOS.md
gap: "GAP-MGN-004-005"
sp: 8
- archivo: SPEC-PLANTILLAS-CUENTAS.md
gap: "GAP-MGN-004-006"
sp: 8
- archivo: SPEC-CONSOLIDACION-FINANCIERA.md
gap: "GAP-MGN-002-001"
sp: 13
- archivo: SPEC-TASAS-CAMBIO-AUTOMATICAS.md
gap: "GAP-MGN-003-001"
sp: 5
- archivo: SPEC-ALERTAS-PRESUPUESTO.md
gap: "GAP-MGN-008-001"
sp: 8
- archivo: SPEC-PRESUPUESTOS-REVISIONES.md
gap: "GAP-MGN-008-002"
sp: 8
- archivo: SPEC-RRHH-EVALUACIONES-SKILLS.md
gap: "GAP-MGN-010-001,002,003"
sp: 26
- archivo: SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN.md
gap: "GAP-MGN-011-001,002"
sp: 13
- archivo: SPEC-LOCALIZACION-PAISES.md
gap: "GAP-MGN-002-002"
sp: 13
# Patrones Tecnicos P0 (2 documentos)
patrones_tecnicos:
- archivo: SPEC-MAIL-THREAD-TRACKING.md
patron: "mail.thread mixin (tracking/mensajeria)"
sp: 13
- archivo: SPEC-WIZARD-TRANSIENT-MODEL.md
patron: "TransientModel (wizards)"
sp: 8
# Total SP cubiertos
total_sp: 394
# ============================================================================
# WORKFLOWS DOCUMENTADOS
# ============================================================================
workflows:
total: 3
ubicacion: docs/04-modelado/workflows/
documentos:
- archivo: WORKFLOW-CIERRE-PERIODO-CONTABLE.md
gap: "GAP-MGN-004-003 (lock dates)"
- archivo: WORKFLOW-3-WAY-MATCH.md
gap: "GAP-MGN-006-001 (3-way match)"
- archivo: WORKFLOW-PAGOS-ANTICIPADOS.md
gap: "GAP-MGN-007-001 (down payments)"
# ============================================================================
# ANALISIS DE GAPS
# ============================================================================
analisis_gaps:
archivo_principal: orchestration/01-analisis/ANALISIS-GAPS-CONSOLIDADO.md
version: "10.0"
fecha: 2025-12-08
estado: "100% P0 + 100% P1 + Patrones Tecnicos COMPLETOS"
metricas:
gaps_p0_total: 18
gaps_p0_documentados: 18
gaps_p1_total: 22
gaps_p1_documentados: 22
patrones_tecnicos_total: 2
patrones_tecnicos_documentados: 2
cobertura: "100%"
# ============================================================================
# IMPLEMENTACION DATABASE (DDL)
# ============================================================================
implementacion_database:
estado: "EN_PROGRESO"
fecha_inicio: 2025-12-08
ubicacion: database/ddl/
archivos_ddl:
# DDL Base (existentes)
- archivo: 00-prerequisites.sql
estado: existente
descripcion: "Extensiones y configuracion inicial"
- archivo: 01-auth.sql
estado: existente
descripcion: "Schema auth base: tenants, companies, users, roles, permissions, sessions"
tablas: 10
- archivo: 01-auth-extensions.sql
estado: NUEVO
fecha: 2025-12-08
descripcion: "Extensiones de seguridad: Groups, ACL, Record Rules, Field Permissions, API Keys, 2FA, OAuth2"
specs_relacionadas:
- SPEC-TWO-FACTOR-AUTHENTICATION.md
- SPEC-SEGURIDAD-API-KEYS-PERMISOS.md
- SPEC-OAUTH2-SOCIAL-LOGIN.md
tablas_nuevas:
- auth.groups
- auth.group_implied
- auth.user_groups
- auth.models
- auth.model_access
- auth.record_rules
- auth.rule_groups
- auth.model_fields
- auth.field_permissions
- auth.api_keys
- auth.trusted_devices
- auth.verification_codes
- auth.mfa_audit_log
- auth.oauth_providers
- auth.oauth_user_links
- auth.oauth_states
total_tablas: 16
funciones_nuevas:
- auth.get_user_effective_groups()
- auth.check_model_access()
- auth.cleanup_expired_oauth_states()
- auth.cleanup_expired_verification_codes()
- auth.cleanup_expired_trusted_devices()
- auth.cleanup_expired_api_keys()
vistas_nuevas:
- auth.users_oauth_summary
- auth.user_model_access_view
columnas_extendidas_users:
- mfa_enabled
- mfa_method
- mfa_secret
- backup_codes
- backup_codes_count
- mfa_setup_at
- last_2fa_verification
- oauth_only
- primary_oauth_provider_id
- archivo: 02-core.sql
estado: existente
descripcion: "Schema core: partners, addresses, tags"
- archivo: 03-analytics.sql
estado: existente
descripcion: "Schema analytics"
- archivo: 04-financial.sql
estado: existente
descripcion: "Schema financial: accounts, journals, moves"
- archivo: 05-inventory.sql
estado: existente
descripcion: "Schema inventory: products, warehouses, stock_moves"
- archivo: 06-purchase.sql
estado: existente
descripcion: "Schema purchase: purchase_orders"
- archivo: 07-sales.sql
estado: existente
descripcion: "Schema sales: sale_orders"
- archivo: 08-projects.sql
estado: existente
descripcion: "Schema projects"
- archivo: 09-system.sql
estado: existente
descripcion: "Schema system"
- archivo: 10-billing.sql
estado: existente
descripcion: "Schema billing"
- archivo: 11-crm.sql
estado: existente
descripcion: "Schema CRM"
- archivo: 12-hr.sql
estado: existente
descripcion: "Schema HR"
metricas_ddl:
archivos_existentes: 13
archivos_nuevos: 2
tablas_nuevas: 26
funciones_nuevas: 13
vistas_nuevas: 5
columnas_extendidas: 39
archivos_ddl_extensiones:
- archivo: 05-inventory-extensions.sql
estado: NUEVO
fecha: 2025-12-08
descripcion: "Extensiones de inventario: SVL, Lotes/Series, Conteos Ciclicos"
specs_relacionadas:
- SPEC-VALORACION-INVENTARIO.md
- SPEC-TRAZABILIDAD-LOTES-SERIES.md
- SPEC-INVENTARIOS-CICLICOS.md
tablas_nuevas:
- inventory.stock_valuation_layers
- inventory.category_stock_accounts
- inventory.valuation_settings
- inventory.lots
- inventory.move_line_consume_rel
- inventory.removal_strategies
- inventory.inventory_count_sessions
- inventory.inventory_count_lines
- inventory.abc_classification_rules
- inventory.product_abc_classification
total_tablas: 10
funciones_nuevas:
- inventory.run_fifo()
- inventory.calculate_abc_classification()
- inventory.get_pending_counts()
- inventory.mark_quants_outdated()
- inventory.compute_lot_expiration_dates()
- inventory.refresh_product_valuation_summary()
- inventory.update_session_stats()
total_funciones: 7
vistas_nuevas:
- inventory.product_valuation_summary (materialized)
- inventory.expiring_lots_view
- inventory.location_count_summary_view
total_vistas: 3
columnas_extendidas:
products: "10 columnas (tracking, expiration, lot_properties)"
product_categories: "3 columnas (cost_method, valuation_method, removal_strategy)"
quants: "8 columnas (lot, inventory_quantity, in_date, etc)"
locations: "4 columnas (cyclic_inventory, abc_classification)"
stock_move_lines: "3 columnas (lot_id, lot_name, tracking)"
stock_moves: "2 columnas (is_inventory, inventory_session_id)"
# Metricas consolidadas (redundante, se puede eliminar)
metricas_ddl_consolidadas:
archivos_existentes: 13
archivos_nuevos: 2
tablas_nuevas_total: 26
funciones_nuevas_total: 13
vistas_nuevas_total: 5
columnas_extendidas_total: 39