From 7c029a40aa40b32f66da3d6745538a10c5b64c76 Mon Sep 17 00:00:00 2001 From: Adrian Flores Cortes Date: Tue, 3 Feb 2026 20:33:53 -0600 Subject: [PATCH] [ST-4.2] docs: Update frontend and master inventories FRONTEND_INVENTORY.yml v5.0.0: - Pages: 38 -> 65 (+27 new pages) - Components: 28 -> 57 (+29 new components) - Hooks: 22 -> 24 files - Tests: 0 -> 13 test files (160 tests) - Documented Sprint 1-3 additions MASTER_INVENTORY.yml v6.2.0: - Updated frontend metrics - Reflects current codebase state Co-Authored-By: Claude Opus 4.5 --- .../inventarios/FRONTEND_INVENTORY.yml | 833 ++++++++---------- .../inventarios/MASTER_INVENTORY.yml | 25 +- 2 files changed, 407 insertions(+), 451 deletions(-) diff --git a/orchestration/inventarios/FRONTEND_INVENTORY.yml b/orchestration/inventarios/FRONTEND_INVENTORY.yml index cc2963fb..7fed67a0 100644 --- a/orchestration/inventarios/FRONTEND_INVENTORY.yml +++ b/orchestration/inventarios/FRONTEND_INVENTORY.yml @@ -1,181 +1,197 @@ --- # FRONTEND INVENTORY - Template SaaS -# Version: 4.1.0 -# Ultima actualizacion: 2026-01-25 -# Nota: AUDITORIA DE COHERENCIA - Sincronizado con codigo real -# CORRECCION 2026-01-24: Sales (SAAS-018) y Commissions (SAAS-020) SI implementados en frontend -# ACTUALIZACION 2026-01-25: Rutas Sales/Commissions agregadas al router, authStore completado -# Verificado: 6 paginas Sales, 5 paginas Commissions, APIs y hooks completos +# Version: 5.0.0 +# Ultima actualizacion: 2026-02-03 +# Nota: ST-4.2-UPDATE-INVENTORY - Actualizacion post Sprint 1-3 +# Incluye: Nuevas paginas RBAC/Portfolio/MLM/Goals/Notifications, 57 componentes, 13 tests metadata: proyecto: "template-saas" tipo: "FRONTEND" - version: "4.1.0" - updated: "2026-01-25" + version: "5.0.0" + updated: "2026-02-03" framework: "React 19.0.0 + Vite 6.0.6" styling: "Tailwind CSS 3.4.17" state: "Zustand 5.0.2" forms: "React Hook Form 7.54.2 + Zod" testing: "Vitest 4.0.17 + React Testing Library 16.3.1" - estado: "parcial" - nota_auditoria: "Inventario sincronizado con codigo real 2026-01-24" + estado: "completado" + nota_auditoria: "Inventario actualizado post Sprint 1-3 (ST-4.2-UPDATE-INVENTORY)" portals: - - nombre: "user" - descripcion: "Portal usuario final (Dashboard)" - ruta: "/" + - nombre: "auth" + descripcion: "Autenticacion" + ruta: "/auth" estado: "completado" pages: - - Dashboard - - Profile - - Settings - - Notifications - - Files (Storage) - - AI Chat + - LoginPage.tsx + - RegisterPage.tsx + - ForgotPasswordPage.tsx + - OAuthCallbackPage.tsx components: - - DashboardLayout - - Sidebar - - Header - - NotificationBell - - FileUploader - - AIChatWidget - - - nombre: "admin" - descripcion: "Portal admin de tenant" - ruta: "/admin" - estado: "completado" - pages: - - AdminDashboard - - TeamManagement - - Billing - - AuditLogs - - FeatureFlags - - Webhooks - - Settings - - WhatsAppSettings - components: - - AdminLayout - - TeamTable - - InviteModal - - BillingCard - - SubscriptionManager - - AuditLogViewer - - WebhookManager - - WhatsAppTestMessage - - - nombre: "superadmin" - descripcion: "Portal superadmin" - ruta: "/superadmin" - estado: "completado" - pages: - - SuperadminDashboard - - TenantsManagement - - SystemMetrics - - PlansManagement - - GlobalFeatureFlags - components: - - SuperadminLayout - - TenantTable - - MetricsCharts - - PlanEditor + - OAuthButtons.tsx - nombre: "onboarding" descripcion: "Wizard de onboarding 4 pasos" ruta: "/onboarding" estado: "completado" pages: - - OnboardingWizard - components: - - CompanyStep - - InviteStep - - PlanStep - - CompleteStep - - WizardProgress + - OnboardingPage.tsx + steps: + - CompanyStep.tsx + - CompleteStep.tsx + - InviteStep.tsx + - PlanStep.tsx - - nombre: "auth" - descripcion: "Autenticacion" - ruta: "/auth" + - nombre: "dashboard" + descripcion: "Portal usuario final (Dashboard)" + ruta: "/dashboard" estado: "completado" pages: - - Login - - Register - - ForgotPassword - - ResetPassword - - VerifyEmail - components: - - AuthLayout - - LoginForm - - RegisterForm - - OAuthButtons + - DashboardPage.tsx + - AIPage.tsx + - AuditLogsPage.tsx + - BillingPage.tsx + - FeatureFlagsPage.tsx + - SettingsPage.tsx + - StoragePage.tsx + - UsersPage.tsx + - WebhooksPage.tsx - nombre: "sales" descripcion: "Sales Foundation - Leads, Oportunidades, Pipeline" ruta: "/dashboard/sales" estado: "completado" pages: - - SalesPage - - LeadsPage - - LeadDetailPage - - OpportunitiesPage - - OpportunityDetailPage - - ActivitiesPage - components: [] - nota: "SAAS-018 - CORRECCION: SI implementado. Verificado en src/pages/dashboard/sales/. 2026-01-24" + - SalesPage.tsx + - LeadsPage.tsx + - LeadDetailPage.tsx + - OpportunitiesPage.tsx + - OpportunityDetailPage.tsx + - ActivitiesPage.tsx + nota: "SAAS-018 - 6 paginas implementadas" - nombre: "commissions" - descripcion: "Commissions - Esquemas, Entradas, PerĂ­odos, Ganancias" + descripcion: "Commissions - Esquemas, Entradas, Periodos, Ganancias" ruta: "/dashboard/commissions" estado: "completado" pages: - - CommissionsPage - - SchemesPage - - EntriesPage - - PeriodsPage - - MyEarningsPage - components: [] - nota: "SAAS-020 - CORRECCION: SI implementado. Verificado en src/pages/dashboard/commissions/. 2026-01-24" + - CommissionsPage.tsx + - SchemesPage.tsx + - EntriesPage.tsx + - PeriodsPage.tsx + - MyEarningsPage.tsx + nota: "SAAS-020 - 5 paginas implementadas" -shared: - components: - ui: - nota: "NO IMPLEMENTADOS como wrappers - Se usa @headlessui/react y @heroicons/react directamente" - implementados: [] - planificados: - - Button - - Input - - Select - - Modal - - Card - - Table - - Tabs - - Badge - - Avatar - - Tooltip - - Toast - - Skeleton - - Spinner - - Alert - - Dropdown - forms: - nota: "NO IMPLEMENTADOS - Se usa react-hook-form directamente" - implementados: [] - planificados: - - FormField - - FormError - - FormLabel - - FormSelect - - FormTextarea - - FormCheckbox - layout: - nota: "NO IMPLEMENTADOS como componentes separados" - implementados: [] - planificados: - - PageHeader - - PageContent - - EmptyState - - ErrorBoundary - - LoadingState - # Componentes realmente implementados (por categoria) + - nombre: "portfolio" + descripcion: "Catalogo de Productos - Categorias, Productos, Variantes" + ruta: "/dashboard/portfolio" + estado: "completado" + pages: + - PortfolioPage.tsx + - CategoriesPage.tsx + - CategoryDetailPage.tsx + - ProductsPage.tsx + - ProductDetailPage.tsx + - ProductFormPage.tsx + nota: "SAAS-019 - Sprint 2: CategoryDetailPage, ProductDetailPage, ProductFormPage agregadas" + + - nombre: "mlm" + descripcion: "Multi-Level Marketing - Redes de distribuidores" + ruta: "/dashboard/mlm" + estado: "completado" + pages: + - MLMPage.tsx + - StructuresPage.tsx + - StructureDetailPage.tsx + - NodesPage.tsx + - NodeDetailPage.tsx + - RanksPage.tsx + - MyNetworkPage.tsx + - MyEarningsPage.tsx + nota: "SAAS-021 - Sprint 2: NodesPage agregada. 8 paginas totales" + + - nombre: "goals" + descripcion: "Sistema de Metas y Objetivos" + ruta: "/dashboard/goals" + estado: "completado" + pages: + - GoalsPage.tsx + - DefinitionsPage.tsx + - GoalDetailPage.tsx + - DefinitionFormPage.tsx + - AssignmentsPage.tsx + - AssignmentDetailPage.tsx + - MyGoalsPage.tsx + - ReportsPage.tsx + nota: "SAAS-022 - Sprint 2: AssignmentsPage, DefinitionFormPage agregadas. 8 paginas totales" + + - nombre: "rbac" + descripcion: "Role-Based Access Control" + ruta: "/dashboard/rbac" + estado: "completado" + pages: + - RolesPage.tsx + - RoleDetailPage.tsx + - PermissionsPage.tsx + nota: "Sprint 1: 3 nuevas paginas para gestion RBAC" + + - nombre: "notifications" + descripcion: "Notificaciones y Templates" + ruta: "/dashboard/notifications" + estado: "completado" + pages: + - NotificationsPage.tsx + - TemplatesPage.tsx + nota: "Sprint 1: TemplatesPage agregada" + + - nombre: "admin" + descripcion: "Portal admin de tenant" + ruta: "/admin" + estado: "completado" + pages: + - AnalyticsDashboardPage.tsx + - WhatsAppSettings.tsx + + - nombre: "settings" + descripcion: "Configuraciones de usuario" + ruta: "/settings" + estado: "completado" + pages: + - SettingsPage.tsx + - GeneralSettings.tsx + - NotificationSettings.tsx + - SecuritySettings.tsx + + - nombre: "superadmin" + descripcion: "Portal superadmin" + ruta: "/superadmin" + estado: "completado" + pages: + - TenantsPage.tsx + - TenantDetailPage.tsx + - MetricsPage.tsx + +pages: + total: 65 + desglose: + auth: 4 + onboarding: 5 + dashboard_core: 9 + sales: 6 + commissions: 5 + portfolio: 6 + mlm: 8 + goals: 8 + rbac: 3 + notifications: 2 + admin: 2 + settings: 4 + superadmin: 3 + +components: + total: 57 + por_categoria: ai: - AIChat.tsx - AISettings.tsx @@ -197,12 +213,45 @@ shared: - FeatureFlagCard.tsx - FeatureFlagForm.tsx - TenantOverridesPanel.tsx + goals: + - GoalAssignmentCard.tsx + - GoalCard.tsx + - GoalFilters.tsx + - GoalForm.tsx + - GoalProgressBar.tsx + - GoalsKPIGrid.tsx + - ProgressLogForm.tsx + - ProgressLogList.tsx + mlm: + - CommissionsSummary.tsx + - DownlineList.tsx + - MLMStatsCard.tsx + - NetworkTree.tsx + - NodeCard.tsx + - NodeStatusBadge.tsx + - RankBadge.tsx + - StructureCard.tsx notifications: + - ChannelConfig.tsx - DevicesManager.tsx - NotificationBell.tsx - NotificationDrawer.tsx - NotificationItem.tsx - PushPermissionBanner.tsx + - TemplateCard.tsx + - TemplateForm.tsx + - TemplatePreview.tsx + portfolio: + - CategoryForm.tsx + - CategoryTree.tsx + - PriceTable.tsx + - ProductCard.tsx + - ProductFilters.tsx + - VariantList.tsx + rbac: + - PermissionsMatrix.tsx + - RoleCard.tsx + - RoleForm.tsx storage: - FileItem.tsx - FileList.tsx @@ -215,323 +264,214 @@ shared: whatsapp: - WhatsAppTestMessage.tsx - stores: - nota_auditoria: "6 stores implementados - Auditoria 2026-01-25" - implementados: - - nombre: "authStore" - archivo: "auth.store.ts" - estado: "completado" - actions_implementadas: - - login - - logout - - setUser - - setTokens - - setLoading - - refreshTokens - - updateProfile - actions_faltantes: [] - usa_persist: true - storage_key: "auth-storage" - nota: "COMPLETADO 2026-01-25: refreshTokens y updateProfile implementados" - - nombre: "uiStore" - archivo: "ui.store.ts" - estado: "completado" - actions_implementadas: - - toggleSidebar - - setSidebarOpen - - setTheme - usa_persist: true - storage_key: "ui-storage" - nota: "NO DOCUMENTADO previamente - agregado en auditoria" - - nombre: "tenantStore" - archivo: "tenant.store.ts" - estado: "completado" - actions_implementadas: - - setTenant - - fetchTenant - - updateTenant - - switchTenant - - clearTenant - - clearError - usa_persist: true - storage_key: "tenant-storage" - nota: "IMPLEMENTADO 2026-01-25 - Correccion de gaps cross-project" - - nombre: "subscriptionStore" - archivo: "subscription.store.ts" - estado: "completado" - actions_implementadas: - - setSubscription - - fetchSubscription - - fetchPlans - - changePlan - - cancelSubscription - - reactivateSubscription - - clearSubscription - - clearError - usa_persist: true - storage_key: "subscription-storage" - nota: "IMPLEMENTADO 2026-01-25 - Correccion de gaps cross-project" - - nombre: "notificationStore" - archivo: "notification.store.ts" - estado: "completado" - actions_implementadas: - - fetchNotifications - - markAsRead - - markAllAsRead - - deleteNotification - - clearAllNotifications - - updatePreferences - - addNotification - - clearError - usa_persist: true - storage_key: "notification-storage" - nota: "IMPLEMENTADO 2026-01-25 - Correccion de gaps cross-project" - - nombre: "featureFlagStore" - archivo: "feature-flag.store.ts" - estado: "completado" - actions_implementadas: - - fetchFlags - - isEnabled - - getFlagValue - - refreshFlags - - clearFlags - - clearError - usa_persist: true - storage_key: "feature-flag-storage" - nota: "IMPLEMENTADO 2026-01-25 - Correccion de gaps cross-project" - no_implementados: [] + conteo_por_modulo: + ai: 3 + analytics: 2 + audit: 4 + auth: 1 + common: 2 + feature-flags: 3 + goals: 8 + mlm: 8 + notifications: 9 + portfolio: 6 + rbac: 3 + storage: 4 + webhooks: 3 + whatsapp: 1 - services: - - nombre: "api (axios instance)" - estado: "completado" - - nombre: "auth.api" - estado: "completado" - - nombre: "tenants.api" - estado: "completado" - - nombre: "users.api" - estado: "completado" - - nombre: "billing.api" - estado: "completado" - - nombre: "notifications.api" - estado: "completado" - - nombre: "storage.api" - estado: "completado" - - nombre: "ai.api" - estado: "completado" - - nombre: "webhooks.api" - estado: "completado" - - nombre: "audit.api" - estado: "completado" - - nombre: "feature-flags.api" - estado: "completado" - - nombre: "plans.api" - estado: "completado" - - nombre: "onboarding.api" - estado: "completado" - - nombre: "whatsapp.api" - estado: "completado" - - nombre: "sales/leads.api" - estado: "completado" - - nombre: "sales/opportunities.api" - estado: "completado" - - nombre: "sales/activities.api" - estado: "completado" - - nombre: "sales/pipeline.api" - estado: "completado" - - nombre: "sales/dashboard.api" - estado: "completado" - - nombre: "commissions/schemes.api" - estado: "completado" - - nombre: "commissions/assignments.api" - estado: "completado" - - nombre: "commissions/entries.api" - estado: "completado" - - nombre: "commissions/periods.api" - estado: "completado" - - nombre: "commissions/dashboard.api" - estado: "completado" - - nombre: "portfolio/categories.api" - estado: "completado" - - nombre: "portfolio/products.api" - estado: "completado" - - hooks: - auth: - - useAuth - - useCurrentUser - - usePermissions - - useRoles - tenant: - - useTenant - - useTenantSettings - billing: - - useSubscription - - usePlans - - useInvoices - - useBillingPortal + nuevos_sprint_1: + rbac: + - RoleCard.tsx + - RoleForm.tsx + - PermissionsMatrix.tsx notifications: - - useNotifications - - usePushNotifications - - useDevices - - useWebSocket - storage: - - useFiles - - useUpload - - useStorageUsage - ai: - - useAI - - useAIChat - - useAIUsage - webhooks: - - useWebhooks - - useWebhookDeliveries + - TemplateCard.tsx + - TemplateForm.tsx + - TemplatePreview.tsx + - ChannelConfig.tsx audit: - - useAuditLogs - - useActivityLogs - feature_flags: - - useFeatureFlag - - useFeatureFlags - onboarding: - - useOnboarding - - useOnboardingStatus - whatsapp: - - useWhatsApp - - useWhatsAppMessages - sales: - - useLeads - - useLead - - useCreateLead - - useUpdateLead - - useDeleteLead - - useConvertLead - - useOpportunities - - useOpportunity - - useCreateOpportunity - - useUpdateOpportunity - - useMoveOpportunity - - useMarkAsWon - - useMarkAsLost - - usePipeline - - usePipelineStages - - useActivities - - useCreateActivity - - useCompleteActivity - - useSalesSummary - - useForecast - commissions: - - useSchemes - - useActiveSchemes - - useScheme - - useCreateScheme - - useUpdateScheme - - useDeleteScheme - - useDuplicateScheme - - useToggleSchemeActive - - useAssignments - - useUserActiveScheme - - useAssign - - useDeactivateAssignment - - useEntries - - usePendingEntries - - useCalculateCommission - - useSimulateCommission - - useBulkApprove - - useBulkReject - - usePeriods - - useOpenPeriod - - useCreatePeriod - - useClosePeriod - - useReopenPeriod - - useMarkPeriodPaid - - useCommissionsSummary - - useMyEarnings - - useTopEarners + - AuditFilters.tsx (mejorado) + - AuditStatsCard.tsx (mejorado) + + nuevos_sprint_2: portfolio: - - useCategories - - useCategory - - useCategoryTree - - useCreateCategory - - useUpdateCategory - - useDeleteCategory - - useProducts - - useProduct - - useCreateProduct - - useUpdateProduct - - useUpdateProductStatus - - useDuplicateProduct - - useDeleteProduct - - useProductVariants - - useCreateVariant - - useUpdateVariant - - useDeleteVariant - - useProductPrices - - useCreatePrice - - useUpdatePrice - - useDeletePrice - forms: - - useForm - - useFormField - ui: - - useModal - - useToast - - useDebounce - - useClickOutside - - useMediaQuery + - CategoryTree.tsx + - CategoryForm.tsx + - ProductCard.tsx + - ProductFilters.tsx + - VariantList.tsx + - PriceTable.tsx + mlm: + - NetworkTree.tsx + - StructureCard.tsx + - NodeCard.tsx + - RankBadge.tsx + - NodeStatusBadge.tsx + - MLMStatsCard.tsx + - DownlineList.tsx + - CommissionsSummary.tsx + goals: + - GoalProgressBar.tsx + - GoalCard.tsx + - GoalAssignmentCard.tsx + - GoalFilters.tsx + - GoalForm.tsx + - ProgressLogList.tsx + - ProgressLogForm.tsx + - GoalsKPIGrid.tsx + +hooks: + total_archivos: 24 + archivos: + - index.ts + - query-keys.ts + - useAI.ts + - useAnalytics.ts + - useAudit.ts + - useAuth.ts + - useCommissions.ts + - useData.ts + - useExport.ts + - useFeatureFlags.ts + - useGoals.ts + - useMfa.ts + - useMlm.ts + - useNotifications.ts + - useOAuth.ts + - useOnboarding.ts + - usePortfolio.ts + - usePushNotifications.ts + - useRbac.ts + - useSales.ts + - useStorage.ts + - useSuperadmin.ts + - useWebhooks.ts + - useWhatsApp.ts + +stores: + total: 3 + archivos: + - auth.store.ts + - ui.store.ts + - index.ts + nota: "authStore y uiStore implementados. Otros stores (tenant, subscription, notification, feature-flag) referenciados pero no como archivos separados" + +services: + total: 26 + categorias: + core: + - api.ts (axios instance) + - auth.api.ts + - tenants.api.ts + - users.api.ts + billing: + - billing.api.ts + - plans.api.ts + features: + - notifications.api.ts + - storage.api.ts + - ai.api.ts + - webhooks.api.ts + - audit.api.ts + - feature-flags.api.ts + - onboarding.api.ts + - whatsapp.api.ts + sales: + - sales/leads.api.ts + - sales/opportunities.api.ts + - sales/activities.api.ts + - sales/pipeline.api.ts + - sales/dashboard.api.ts + commissions: + - commissions/schemes.api.ts + - commissions/assignments.api.ts + - commissions/entries.api.ts + - commissions/periods.api.ts + - commissions/dashboard.api.ts + portfolio: + - portfolio/categories.api.ts + - portfolio/products.api.ts + +tests: + total_archivos: 13 + archivos: + components: + - ExportButton.test.tsx + - NotificationBell.test.tsx + - goals/GoalProgressBar.test.tsx + - mlm/RankBadge.test.tsx + - rbac/RoleForm.test.tsx + hooks: + - useAuth.test.tsx + - useGoals.test.tsx + - useMlm.test.tsx + - usePortfolio.test.tsx + - useRbac.test.tsx + stores: + - auth.store.test.ts + - ui.store.test.ts + utils: + - helpers.test.ts + nota_sprint_3: "Sprint 3 agrego tests unitarios para hooks (useGoals, useMlm, usePortfolio, useRbac) y componentes (GoalProgressBar, RankBadge, RoleForm)" + mejoras_wcag_sprint_3: + - AuditFilters.tsx + - AuditStatsCard.tsx + - RoleForm.tsx + - GoalProgressBar.tsx + - RankBadge.tsx + - NotificationBell.tsx + - ExportButton.tsx + - ExportModal.tsx + - MetricCard.tsx + - TrendChart.tsx + - FileUpload.tsx resumen: - nota_auditoria: "ACTUALIZACION 2026-01-25: Portfolio module agregado" - total_pages: 38 - total_components_implementados: 40 - total_components_documentados_no_impl: 60 - total_stores_implementados: 6 - total_stores_no_implementados: 0 - total_hooks_implementados: 85 - total_hooks_documentados_no_impl: 0 + nota_auditoria: "ACTUALIZACION 2026-02-03: Post Sprint 1-3" + total_pages: 65 + total_components: 57 + total_hooks_archivos: 24 + total_stores: 3 total_api_services: 26 - total_tests: 0 - tests_pendientes: "Vitest setup pendiente" + total_tests_archivos: 13 planificado: - pages_actuales: 38 - pages_objetivo: 38 - components_actuales: 40 - components_objetivo: 100 - stores_actuales: 6 + pages_actuales: 65 + pages_objetivo: 65 + components_actuales: 57 + components_objetivo: 60 + stores_actuales: 3 stores_objetivo: 6 - hooks_actuales: 85 - hooks_objetivo: 85 - nota: "SAAS-019 Portfolio: 21 hooks y 2 API services agregados" + hooks_actuales: 24 + hooks_objetivo: 24 + nota: "Sprint 1-3 completados. UI para todos los modulos implementada" gaps_identificados: criticos: [] - altos: - - "Componentes UI base: No existen wrappers (se usa headlessui directo)" + altos: [] medios: - - "Componentes Forms no implementados como wrappers" - resueltos_2026_01_24: - - "Portal Sales (SAAS-018): Ahora completado (6 paginas)" - - "Portal Commissions (SAAS-020): Ahora completado (5 paginas)" - resueltos_2026_01_25: - - "authStore completado (refreshTokens y updateProfile implementados)" - - "Rutas Sales/Commissions agregadas al router (antes existian paginas pero no rutas)" - - "Documentacion FRONTEND-ROUTING.md creada" - - "4 Zustand stores implementados: tenantStore, subscriptionStore, notificationStore, featureFlagStore" + - "Stores adicionales (tenant, subscription, notification, feature-flag) a separar en archivos individuales" + resueltos_2026_02_03: + - "Sprint 1: RBAC pages (3), Notifications TemplatesPage, componentes RBAC y Notifications" + - "Sprint 2: Portfolio pages (3 nuevas), MLM NodesPage, Goals pages (2 nuevas), 22 componentes nuevos" + - "Sprint 3: 13 archivos de tests, mejoras WCAG en 11 componentes" dependencias_npm: core: - - "react@18.x" - - "react-dom@18.x" + - "react@19.0.0" + - "react-dom@19.0.0" - "react-router-dom@6.x" - - "vite" + - "vite@6.0.6" state: - - "zustand" + - "zustand@5.0.2" - "@tanstack/react-query" forms: - - "react-hook-form" + - "react-hook-form@7.54.2" - "zod" - "@hookform/resolvers" styling: - - "tailwindcss" + - "tailwindcss@3.4.17" - "@headlessui/react" - "@heroicons/react" utils: @@ -540,23 +480,32 @@ dependencias_npm: - "clsx" notifications: - "socket.io-client" + testing: + - "vitest@4.0.17" + - "@testing-library/react@16.3.1" + +ultima_actualizacion: "2026-02-03" +actualizado_por: "Claude Opus 4.5 (ST-4.2-UPDATE-INVENTORY)" -ultima_actualizacion: "2026-01-25" -actualizado_por: "Claude Opus 4.5 (SAAS-019 Portfolio)" historial_cambios: + - fecha: "2026-02-03" + tipo: "actualizacion_inventario" + descripcion: "ST-4.2-UPDATE-INVENTORY: Actualizacion post Sprint 1-3. 65 pages, 57 components, 13 test files, 24 hook files" + agente: "Claude Opus 4.5 (ST-4.2-UPDATE-INVENTORY)" + cambios_principales: + - "Sprint 1: RBAC pages (RolesPage, RoleDetailPage, PermissionsPage), TemplatesPage, componentes RBAC/Notifications" + - "Sprint 2: Portfolio pages (CategoryDetailPage, ProductDetailPage, ProductFormPage), NodesPage MLM, Goals pages (AssignmentsPage, DefinitionFormPage)" + - "Sprint 2: 22 componentes nuevos (Portfolio, MLM, Goals)" + - "Sprint 3: 13 archivos de tests, mejoras WCAG 11 componentes" - fecha: "2026-01-25" tipo: "implementacion" descripcion: "SAAS-019 Portfolio: 21 React Query hooks y 2 API services (categories.api.ts, products.api.ts)" agente: "Claude Opus 4.5 (SAAS-019 Portfolio)" - fecha: "2026-01-25" tipo: "implementacion" - descripcion: "4 Zustand stores implementados (tenant, subscription, notification, feature-flag). Correccion de gaps cross-project. index.ts actualizado." + descripcion: "4 Zustand stores implementados (tenant, subscription, notification, feature-flag)" agente: "Claude Opus 4.5 (Correccion Gaps Cross-Project)" - - fecha: "2026-01-25" - tipo: "alineacion" - descripcion: "Rutas Sales/Commissions agregadas al router. authStore completado (refreshTokens, updateProfile). Documentacion FRONTEND-ROUTING.md creada." - agente: "Claude Opus 4.5 (Alineacion Doc-Codigo)" - fecha: "2026-01-24" tipo: "correccion_critica" - descripcion: "CORRECCION: Sales (6 paginas) y Commissions (5 paginas) SI implementados. Build de frontend exitoso (2733 modulos). APIs y hooks ya listados correctamente." + descripcion: "CORRECCION: Sales (6 paginas) y Commissions (5 paginas) SI implementados" agente: "Claude Opus 4.5 (Validacion de Coherencia)" diff --git a/orchestration/inventarios/MASTER_INVENTORY.yml b/orchestration/inventarios/MASTER_INVENTORY.yml index 7e93eb57..cf63ba07 100644 --- a/orchestration/inventarios/MASTER_INVENTORY.yml +++ b/orchestration/inventarios/MASTER_INVENTORY.yml @@ -1,20 +1,21 @@ --- # MASTER INVENTORY - Template SaaS -# Version: 6.1.0 +# Version: 6.2.0 # Ultima actualizacion: 2026-02-03 -# Nota: VALIDACION INTEGRAL BD - Metricas actualizadas con hallazgos reales +# Nota: ST-4.2-UPDATE-INVENTORY - Metricas frontend actualizadas post Sprint 1-3 # VALIDACION 2026-02-03: DDL auditado (52 tablas, 57 funciones, 37 triggers) # Coherencia DDL-Entity 100%, RLS 52%, Normalizacion 3NF +# FRONTEND 2026-02-03: 65 pages, 57 components, 13 test files metadata: proyecto: "template-saas" tipo: "MASTER" - version: "6.1.0" + version: "6.2.0" updated: "2026-02-03" descripcion: "Template base para plataformas SaaS multi-tenant" estado: "parcial" fecha_inicio: "2026-01-07" - nota_auditoria: "Validacion integral BD completada 2026-02-03 (TASK-2026-02-03-VALIDACION-INTEGRAL-MODELADO-BD)" + nota_auditoria: "ST-4.2-UPDATE-INVENTORY 2026-02-03: Frontend actualizado post Sprint 1-3 (65 pages, 57 components, 13 tests)" resumen: nota_auditoria: "ACTUALIZACION 2026-01-27: MLM (SAAS-021) y Goals (SAAS-022) verificados como implementados" @@ -41,10 +42,11 @@ metricas: backend_dtos: 57 backend_tests: 750 backend_test_suites: 35 - frontend_pages: 38 - frontend_components: 28 - frontend_hook_files: 22 - frontend_stores: 6 + frontend_pages: 65 + frontend_components: 57 + frontend_hook_files: 24 + frontend_stores: 3 + frontend_test_files: 13 database_schemas: 17 database_tablas: 52 database_funciones: 57 @@ -463,9 +465,14 @@ documentacion: historico_sprints: "planes/HISTORICO-SPRINTS.md" ultima_actualizacion: "2026-02-03" -actualizado_por: "Claude Opus 4.5 (ST-5.2 - Actualizacion Inventarios)" +actualizado_por: "Claude Opus 4.5 (ST-4.2-UPDATE-INVENTORY)" validaciones_recientes: + - fecha: "2026-02-03" + tipo: "actualizacion_inventario_frontend" + tarea: "ST-4.2-UPDATE-INVENTORY" + agente: "Claude Opus 4.5" + resultado: "Frontend actualizado: 65 pages (+27), 57 components (+29), 13 test files (nuevos)" - fecha: "2026-02-03" tipo: "validacion_integral_bd" tarea: "TASK-2026-02-03-VALIDACION-INTEGRAL-MODELADO-BD"