mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-04-28 11:30:15 +00:00
4920 lines
234 KiB
JSON
4920 lines
234 KiB
JSON
{
|
|
"version": 12,
|
|
"shared_ownerships": [
|
|
{
|
|
"path": "frontend-modern/src/api/agentProfiles.ts",
|
|
"rationale": "the agent profiles frontend client is both an agent lifecycle control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/ai.ts",
|
|
"rationale": "the AI frontend client is both an AI runtime control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/nodes.ts",
|
|
"rationale": "the shared Proxmox node client is both an agent lifecycle setup/install control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/notifications.ts",
|
|
"rationale": "the notifications frontend client is both a notification delivery control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"notifications"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/orgs.ts",
|
|
"rationale": "the organization frontend client is both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/patrol.ts",
|
|
"rationale": "the Patrol frontend client is both an AI runtime control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/rbac.ts",
|
|
"rationale": "the RBAC frontend client is both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/security.ts",
|
|
"rationale": "the security frontend client is both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/api/updates.ts",
|
|
"rationale": "the updates frontend client is both a deployment-installability control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"deployment-installability"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
|
|
"rationale": "the infrastructure selector pipeline is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/InfrastructureSummary.tsx",
|
|
"rationale": "the infrastructure summary surface is both a canonical unified-resource consumer and a fleet-scale summary chart hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/infrastructureSummaryModel.ts",
|
|
"rationale": "infrastructure summary chart matching, focused-summary view derivation, and metric-series shaping are both a canonical unified-resource consumer surface and a fleet-scale summary chart hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
|
|
"rationale": "resource detail mappers are both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourceHostTableCard.tsx",
|
|
"rationale": "the unified resource host table card is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourcePBSTableSection.tsx",
|
|
"rationale": "the unified resource PBS section is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourcePMGTableSection.tsx",
|
|
"rationale": "the unified resource PMG section is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourceServiceInfrastructureCard.tsx",
|
|
"rationale": "the unified resource service infrastructure card is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
|
|
"rationale": "the unified resource table is both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/unifiedResourceTableModel.ts",
|
|
"rationale": "unified resource service row shaping and I/O emphasis are both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/unifiedResourceTableStateModel.ts",
|
|
"rationale": "unified resource table state derivation, sort-cycle policy, service sorting, and responsive column layout are both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts",
|
|
"rationale": "infrastructure summary chart polling, cache hydration, and summary-state orchestration are both a canonical unified-resource consumer surface and a fleet-scale summary chart hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts",
|
|
"rationale": "unified resource table state, grouping, and windowing are both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Infrastructure/useUnifiedResourceTableViewportSync.ts",
|
|
"rationale": "unified resource table viewport sync and selected-row reveal are both a canonical unified-resource consumer surface and a fleet-scale performance hot-path boundary",
|
|
"subsystems": [
|
|
"performance-and-scalability",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/APITokenManager.tsx",
|
|
"rationale": "the API token settings surface is both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/apiTokenManagerModel.ts",
|
|
"rationale": "the pure API token settings model is both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
|
"rationale": "the general settings privacy panel is both a security/privacy control surface and a canonical settings-shell presentation boundary",
|
|
"subsystems": [
|
|
"frontend-primitives",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
|
"rationale": "the infrastructure operations controller is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
|
"rationale": "the pure infrastructure operations inventory/install model is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/MonitoredSystemAdmissionPreview.tsx",
|
|
"rationale": "the monitored-system admission preview is both a platform-connections lifecycle surface and a canonical cloud-paid monitored-system presentation boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"cloud-paid"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModal.tsx",
|
|
"rationale": "the node setup modal render shell is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx",
|
|
"rationale": "the node setup authentication section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx",
|
|
"rationale": "the node setup basic-info section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/nodeModalModel.ts",
|
|
"rationale": "the pure node setup modal model is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
|
"rationale": "the node setup monitoring section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
|
"rationale": "the node setup guide section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
|
"rationale": "the node setup status/footer section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/SecurityAuthPanel.tsx",
|
|
"rationale": "the authentication settings surface is both a security/privacy control surface and a canonical settings-shell presentation boundary",
|
|
"subsystems": [
|
|
"frontend-primitives",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
|
"rationale": "the security overview settings surface is both a security/privacy control surface and a canonical settings-shell presentation boundary",
|
|
"subsystems": [
|
|
"frontend-primitives",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useAPITokenManagerState.ts",
|
|
"rationale": "the API token settings state hook is both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useInfrastructureConfiguredNodesState.ts",
|
|
"rationale": "the direct-node infrastructure settings state hook is both an agent lifecycle control surface and a shared Proxmox node API contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useInfrastructureDiscoveryRuntimeState.ts",
|
|
"rationale": "the infrastructure discovery runtime state hook is both an agent lifecycle control surface and a shared discovery/settings API contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useInfrastructureInstallState.tsx",
|
|
"rationale": "the infrastructure install state hook is both an agent fleet lifecycle control surface and an API token, lookup, and install transport contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
|
"rationale": "the shared infrastructure operations state hook is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useInfrastructureReportingState.tsx",
|
|
"rationale": "the infrastructure reporting state hook is both an agent fleet lifecycle control surface and an API-backed assignment, reporting, and reconnect contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/components/Settings/useNodeModalState.ts",
|
|
"rationale": "the node setup modal state hook is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/stores/aiChat.ts",
|
|
"rationale": "the assistant drawer and session store is both an AI runtime control surface and a canonical app-shell presentation boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"frontend-primitives"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/utils/agentInstallCommand.ts",
|
|
"rationale": "the shared frontend install-command helper is both an agent lifecycle control surface and a canonical API/install transport contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/utils/apiTokenPresentation.ts",
|
|
"rationale": "the API token presentation helper is both a security/privacy control surface and a canonical API token management boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "frontend-modern/src/utils/infrastructureSettingsPresentation.ts",
|
|
"rationale": "the infrastructure settings presentation helper is both an agent lifecycle control surface and an API-backed direct-node/discovery settings boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/access_control_handlers.go",
|
|
"rationale": "RBAC role and user-assignment handlers are both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/agent_install_command_shared.go",
|
|
"rationale": "agent install command assembly is both an agent lifecycle control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/ai_handler.go",
|
|
"rationale": "Pulse Assistant handlers are both an AI runtime control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/ai_handlers.go",
|
|
"rationale": "AI settings and remediation handlers are both an AI runtime control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/ai_intelligence_handlers.go",
|
|
"rationale": "AI intelligence handlers are both an AI runtime control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"ai-runtime",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/config_setup_handlers.go",
|
|
"rationale": "auto-register and setup handlers are both an agent lifecycle control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/enterprise_extension_rbac_admin.go",
|
|
"rationale": "RBAC admin extension endpoints are both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/licensing_bridge.go",
|
|
"rationale": "commercial licensing bridge handlers carry both API payload contract and cloud-paid entitlement boundary ownership",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"cloud-paid"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/licensing_handlers.go",
|
|
"rationale": "commercial licensing handlers carry both API payload contract and cloud-paid entitlement boundary ownership",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"cloud-paid"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/notifications.go",
|
|
"rationale": "notification handlers are both a notification delivery control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"notifications"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/org_handlers.go",
|
|
"rationale": "organization management handlers are both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/org_lifecycle_handlers.go",
|
|
"rationale": "organization lifecycle handlers are both an organization settings control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"organization-settings"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/payments_webhook_handlers.go",
|
|
"rationale": "commercial payment webhook handlers carry both API payload contract and cloud-paid billing boundary ownership",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"cloud-paid"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/public_signup_handlers.go",
|
|
"rationale": "hosted signup handlers carry both API payload contract and cloud-paid hosted provisioning boundary ownership",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"cloud-paid"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/relay_mobile_capability.go",
|
|
"rationale": "the backend-owned Pulse Mobile relay capability inventory is both a relay runtime boundary and a canonical API payload contract surface",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"relay-runtime"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/resources.go",
|
|
"rationale": "the unified resource endpoint is both a backend payload contract surface and a unified-resource runtime boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"unified-resources"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/security.go",
|
|
"rationale": "the security handlers are both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/security_tokens.go",
|
|
"rationale": "the security token handlers are both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/slo.go",
|
|
"rationale": "the SLO endpoint is both an API contract surface and a protected performance hot-path boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"performance-and-scalability"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/system_settings.go",
|
|
"rationale": "the system settings telemetry and auth controls are both a security/privacy control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"security-privacy"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/unified_agent.go",
|
|
"rationale": "unified agent download and installer handlers are both an agent lifecycle control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"api-contracts"
|
|
]
|
|
},
|
|
{
|
|
"path": "internal/api/updates.go",
|
|
"rationale": "update handlers are both a deployment-installability control surface and a canonical API payload contract boundary",
|
|
"subsystems": [
|
|
"api-contracts",
|
|
"deployment-installability"
|
|
]
|
|
},
|
|
{
|
|
"path": "scripts/install.ps1",
|
|
"rationale": "the Windows installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"deployment-installability"
|
|
]
|
|
},
|
|
{
|
|
"path": "scripts/install.sh",
|
|
"rationale": "the shell installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary",
|
|
"subsystems": [
|
|
"agent-lifecycle",
|
|
"deployment-installability"
|
|
]
|
|
}
|
|
],
|
|
"subsystems": [
|
|
{
|
|
"id": "agent-lifecycle",
|
|
"lane": "L16",
|
|
"contract": "docs/release-control/v6/internal/subsystems/agent-lifecycle.md",
|
|
"owned_prefixes": [
|
|
"internal/agentupdate/",
|
|
"internal/hostagent/"
|
|
],
|
|
"owned_files": [
|
|
"cmd/pulse-agent/main.go",
|
|
"frontend-modern/src/api/agentProfiles.ts",
|
|
"frontend-modern/src/api/nodes.ts",
|
|
"frontend-modern/src/components/Infrastructure/deploy/ResultsStep.tsx",
|
|
"frontend-modern/src/components/Settings/AgentProfilesPanel.tsx",
|
|
"frontend-modern/src/components/Settings/ConfiguredNodeTables.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureActiveRowDetails.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureIgnoredRowDetails.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInstallerSection.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInstallPanel.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInventorySection.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructurePlatformConnectionsSummaryCard.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureReportingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/InfrastructureStopMonitoringDialog.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureWorkspaceModel.ts",
|
|
"frontend-modern/src/components/Settings/MonitoredSystemAdmissionPreview.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModal.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx",
|
|
"frontend-modern/src/components/Settings/nodeModalModel.ts",
|
|
"frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
|
"frontend-modern/src/components/Settings/platformConnectionsModel.ts",
|
|
"frontend-modern/src/components/Settings/PlatformConnectionsWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxConfiguredNodesTable.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDeleteNodeDialog.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDirectConnectionsCard.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDirectWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDiscoveryResultsCard.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxNodeModalStack.tsx",
|
|
"frontend-modern/src/components/Settings/proxmoxSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/ProxmoxSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SettingsSectionNav.tsx",
|
|
"frontend-modern/src/components/Settings/TrueNASSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useAgentProfilesPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureConfiguredNodesState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureDiscoveryRuntimeState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureInstallState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureReportingState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureSettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useNodeModalState.ts",
|
|
"frontend-modern/src/components/Settings/useProxmoxDirectWorkspaceState.ts",
|
|
"frontend-modern/src/components/Settings/useTrueNASSettingsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useVMwareSettingsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/VMwareSettingsPanel.tsx",
|
|
"frontend-modern/src/components/SetupWizard/SetupCompletionPanel.tsx",
|
|
"frontend-modern/src/utils/agentCapabilityPresentation.ts",
|
|
"frontend-modern/src/utils/agentInstallCommand.ts",
|
|
"frontend-modern/src/utils/agentProfilesPresentation.ts",
|
|
"frontend-modern/src/utils/agentProfileSuggestionPresentation.ts",
|
|
"frontend-modern/src/utils/clusterEndpointPresentation.ts",
|
|
"frontend-modern/src/utils/configuredNodeCapabilityPresentation.ts",
|
|
"frontend-modern/src/utils/configuredNodeStatusPresentation.ts",
|
|
"frontend-modern/src/utils/infrastructureSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/nodeModalPresentation.ts",
|
|
"frontend-modern/src/utils/proxmoxSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/unifiedAgentInventoryPresentation.ts",
|
|
"frontend-modern/src/utils/unifiedAgentStatusPresentation.ts",
|
|
"internal/api/agent_install_command_shared.go",
|
|
"internal/api/config_setup_handlers.go",
|
|
"internal/api/unified_agent.go",
|
|
"scripts/install.ps1",
|
|
"scripts/install.sh"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "pulse-agent-cli-entrypoint",
|
|
"label": "pulse-agent CLI entrypoint proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"cmd/pulse-agent/main.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"cmd/pulse-agent/main_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-install-api-surface",
|
|
"label": "agent install and registration API proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/agent_install_command_shared.go",
|
|
"internal/api/config_setup_handlers.go",
|
|
"internal/api/unified_agent.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/agent_install_command_shared_test.go",
|
|
"internal/api/config_handlers_auto_register_test.go",
|
|
"internal/api/config_handlers_canonical_auto_register_test.go",
|
|
"internal/api/contract_test.go",
|
|
"internal/api/hosted_agent_install_command_test.go",
|
|
"internal/api/unified_agent_more_test.go",
|
|
"internal/api/unified_agent_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-update-runtime",
|
|
"label": "agent update runtime proof",
|
|
"match_prefixes": [
|
|
"internal/agentupdate/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/agentupdate/coverage_test.go",
|
|
"internal/agentupdate/update_hostagent_integration_test.go",
|
|
"internal/agentupdate/update_http_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "proxmox-unified-agent-setup-runtime",
|
|
"label": "proxmox unified agent setup runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/hostagent/proxmox_setup.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/hostagent/proxmox_setup_network_coverage_test.go",
|
|
"internal/hostagent/proxmox_setup_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "unified-agent-runtime",
|
|
"label": "unified agent runtime proof",
|
|
"match_prefixes": [
|
|
"internal/hostagent/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/agentupdate/coverage_test.go",
|
|
"internal/hostagent/agent_metrics_test.go",
|
|
"internal/hostagent/agent_new_test.go",
|
|
"internal/hostagent/send_report_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "unified-agent-installer-runtime",
|
|
"label": "unified agent installer runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/install.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/install_sh_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "windows-agent-installer-runtime",
|
|
"label": "windows agent installer lifecycle proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/install.ps1"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/install_ps1_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-profiles-surface",
|
|
"label": "agent profile management proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/agentProfiles.ts",
|
|
"frontend-modern/src/components/Settings/AgentProfilesPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useAgentProfilesPanelState.ts",
|
|
"frontend-modern/src/utils/agentProfilesPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/AgentProfilesPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/agentProfilesPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "frontend-install-command-helper",
|
|
"label": "frontend install command helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/agentInstallCommand.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/agentInstallCommand.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "proxmox-lifecycle-client-surface",
|
|
"label": "proxmox lifecycle API client proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/nodes.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/nodes.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "node-setup-settings-surface",
|
|
"label": "node setup/install command proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/NodeModal.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx",
|
|
"frontend-modern/src/components/Settings/nodeModalModel.ts",
|
|
"frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
|
"frontend-modern/src/components/Settings/useNodeModalState.ts",
|
|
"frontend-modern/src/utils/nodeModalPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/NodeModal.guardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/nodeModalPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "setup-completion-install-surface",
|
|
"label": "setup completion install handoff proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/SetupWizard/SetupCompletionPanel.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/SetupWizard/__tests__/SetupCompletionPanel.guardrails.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "deploy-fallback-install-surface",
|
|
"label": "deploy fallback install command proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Infrastructure/deploy/ResultsStep.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Infrastructure/__tests__/DeployStepComponents.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "unified-agent-settings-surface",
|
|
"label": "unified agent settings lifecycle proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/InfrastructureActiveRowDetails.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureIgnoredRowDetails.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInstallerSection.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInventorySection.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureStopMonitoringDialog.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureInstallState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureReportingState.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
|
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "platform-connections-workspace-surface",
|
|
"label": "platform connections workspace lifecycle proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/ConfiguredNodeTables.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureInstallPanel.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructurePlatformConnectionsSummaryCard.tsx",
|
|
"frontend-modern/src/components/Settings/InfrastructureReportingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/InfrastructureWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureWorkspaceModel.ts",
|
|
"frontend-modern/src/components/Settings/MonitoredSystemAdmissionPreview.tsx",
|
|
"frontend-modern/src/components/Settings/platformConnectionsModel.ts",
|
|
"frontend-modern/src/components/Settings/PlatformConnectionsWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxConfiguredNodesTable.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDeleteNodeDialog.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDirectConnectionsCard.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDirectWorkspace.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxDiscoveryResultsCard.tsx",
|
|
"frontend-modern/src/components/Settings/ProxmoxNodeModalStack.tsx",
|
|
"frontend-modern/src/components/Settings/proxmoxSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/ProxmoxSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SettingsSectionNav.tsx",
|
|
"frontend-modern/src/components/Settings/TrueNASSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureConfiguredNodesState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureDiscoveryRuntimeState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureSettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useProxmoxDirectWorkspaceState.ts",
|
|
"frontend-modern/src/components/Settings/useTrueNASSettingsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useVMwareSettingsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/VMwareSettingsPanel.tsx",
|
|
"frontend-modern/src/utils/clusterEndpointPresentation.ts",
|
|
"frontend-modern/src/utils/proxmoxSettingsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/PlatformConnectionsWorkspace.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/TrueNASSettingsPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/useTrueNASSettingsPanelState.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/useVMwareSettingsPanelState.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/VMwareSettingsPanel.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/clusterEndpointPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/proxmoxSettingsPresentation.test.ts",
|
|
"tests/integration/tests/21-truenas-settings-platform-connections.spec.ts",
|
|
"tests/integration/tests/22-vmware-settings-platform-connections.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-lifecycle-presentation-helpers",
|
|
"label": "agent lifecycle presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/agentCapabilityPresentation.ts",
|
|
"frontend-modern/src/utils/agentProfileSuggestionPresentation.ts",
|
|
"frontend-modern/src/utils/configuredNodeCapabilityPresentation.ts",
|
|
"frontend-modern/src/utils/configuredNodeStatusPresentation.ts",
|
|
"frontend-modern/src/utils/unifiedAgentInventoryPresentation.ts",
|
|
"frontend-modern/src/utils/unifiedAgentStatusPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/agentCapabilityPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/agentProfileSuggestionPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/configuredNodeCapabilityPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/configuredNodeStatusPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/unifiedAgentInventoryPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/unifiedAgentStatusPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "direct-proxmox-presentation-helper",
|
|
"label": "direct Proxmox presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/infrastructureSettingsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/infrastructureSettingsPresentation.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "ai-runtime",
|
|
"lane": "L6",
|
|
"contract": "docs/release-control/v6/internal/subsystems/ai-runtime.md",
|
|
"owned_prefixes": [
|
|
"frontend-modern/src/components/AI/Chat/",
|
|
"internal/ai/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/api/ai.ts",
|
|
"frontend-modern/src/api/patrol.ts",
|
|
"frontend-modern/src/components/AI/AICostDashboard.tsx",
|
|
"frontend-modern/src/stores/aiChat.ts",
|
|
"frontend-modern/src/stores/aiRuntimeState.ts",
|
|
"frontend-modern/src/utils/aiChatPresentation.ts",
|
|
"frontend-modern/src/utils/aiControlLevelPresentation.ts",
|
|
"frontend-modern/src/utils/aiCostPresentation.ts",
|
|
"frontend-modern/src/utils/aiExplorePresentation.ts",
|
|
"frontend-modern/src/utils/aiProviderHealthPresentation.ts",
|
|
"frontend-modern/src/utils/aiProviderPresentation.ts",
|
|
"frontend-modern/src/utils/aiSessionDiffPresentation.ts",
|
|
"internal/api/ai_handler.go",
|
|
"internal/api/ai_handlers.go",
|
|
"internal/api/ai_intelligence_handlers.go",
|
|
"internal/config/ai.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "ai-api-surface",
|
|
"label": "AI transport and handler proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/ai.ts",
|
|
"frontend-modern/src/api/patrol.ts",
|
|
"internal/api/ai_handler.go",
|
|
"internal/api/ai_handlers.go",
|
|
"internal/api/ai_intelligence_handlers.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/api/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"internal/api/ai_handler_test.go",
|
|
"internal/api/ai_handlers_test.go",
|
|
"internal/api/ai_intelligence_handlers_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "ai-cost-dashboard-surface",
|
|
"label": "AI cost dashboard proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/AI/AICostDashboard.tsx",
|
|
"frontend-modern/src/utils/aiCostPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/AI/__tests__/AICostDashboard.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/aiCostPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "ai-chat-runtime-read-model",
|
|
"label": "AI chat and shared runtime read model proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/components/AI/Chat/"
|
|
],
|
|
"match_files": [
|
|
"frontend-modern/src/stores/aiChat.ts",
|
|
"frontend-modern/src/stores/aiRuntimeState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/components/AI/Chat/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/AI/__tests__/AICostDashboard.test.tsx",
|
|
"frontend-modern/src/stores/__tests__/aiChat.test.ts",
|
|
"tests/integration/tests/42-vmware-ai-chat-read-recovery.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "ai-presentation-helpers",
|
|
"label": "AI presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/aiChatPresentation.ts",
|
|
"frontend-modern/src/utils/aiControlLevelPresentation.ts",
|
|
"frontend-modern/src/utils/aiExplorePresentation.ts",
|
|
"frontend-modern/src/utils/aiProviderHealthPresentation.ts",
|
|
"frontend-modern/src/utils/aiProviderPresentation.ts",
|
|
"frontend-modern/src/utils/aiSessionDiffPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiChatPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiControlLevelPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiExplorePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiProviderHealthPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiProviderPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiSessionDiffPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "ai-runtime-engine",
|
|
"label": "AI runtime engine proof",
|
|
"match_prefixes": [
|
|
"internal/ai/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"internal/ai/"
|
|
],
|
|
"exact_files": []
|
|
},
|
|
{
|
|
"id": "ai-runtime-config",
|
|
"label": "AI runtime config proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/config/ai.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/config/ai_config_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "alerts",
|
|
"lane": "L6",
|
|
"contract": "docs/release-control/v6/internal/subsystems/alerts.md",
|
|
"owned_prefixes": [
|
|
"frontend-modern/src/components/Alerts/",
|
|
"frontend-modern/src/features/alerts/",
|
|
"internal/alerts/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/pages/Alerts.tsx",
|
|
"frontend-modern/src/utils/alertActivationPresentation.ts",
|
|
"frontend-modern/src/utils/alertAdministrationPresentation.ts",
|
|
"frontend-modern/src/utils/alertBulkEditPresentation.ts",
|
|
"frontend-modern/src/utils/alertConfigPresentation.ts",
|
|
"frontend-modern/src/utils/alertDestinationsPresentation.ts",
|
|
"frontend-modern/src/utils/alertEmailPresentation.ts",
|
|
"frontend-modern/src/utils/alertFrequencyPresentation.ts",
|
|
"frontend-modern/src/utils/alertGroupingPresentation.ts",
|
|
"frontend-modern/src/utils/alertHistoryPresentation.ts",
|
|
"frontend-modern/src/utils/alertIncidentPresentation.ts",
|
|
"frontend-modern/src/utils/alertOverviewPresentation.ts",
|
|
"frontend-modern/src/utils/alertResourceTablePresentation.ts",
|
|
"frontend-modern/src/utils/alertSchedulePresentation.ts",
|
|
"frontend-modern/src/utils/alertSeverityPresentation.ts",
|
|
"frontend-modern/src/utils/alertTabsPresentation.ts",
|
|
"frontend-modern/src/utils/alertThresholdsPresentation.ts",
|
|
"frontend-modern/src/utils/alertThresholdsSectionPresentation.ts",
|
|
"frontend-modern/src/utils/alertWebhookPresentation.ts"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": true,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/alerts/migration_characterization_test.go",
|
|
"internal/alerts/specs/evaluator_test.go",
|
|
"internal/alerts/specs/types_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "alert-specs",
|
|
"label": "alert spec proof",
|
|
"match_prefixes": [
|
|
"internal/alerts/specs/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/alerts/specs/evaluator_test.go",
|
|
"internal/alerts/specs/types_test.go",
|
|
"internal/alerts/specs/unified_resource_builder_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "canonical-alert-runtime",
|
|
"label": "canonical alert runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/alerts/canonical_identity.go",
|
|
"internal/alerts/canonical_lifecycle.go",
|
|
"internal/alerts/canonical_metric.go",
|
|
"internal/alerts/unified_eval.go",
|
|
"internal/alerts/unified_incidents.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/alerts/migration_characterization_test.go",
|
|
"internal/alerts/unified_eval_parity_test.go",
|
|
"internal/alerts/unified_eval_test.go",
|
|
"internal/alerts/unified_incidents_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "alerts-frontend-surface",
|
|
"label": "alerts frontend surface proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/components/Alerts/",
|
|
"frontend-modern/src/features/alerts/"
|
|
],
|
|
"match_files": [
|
|
"frontend-modern/src/pages/Alerts.tsx",
|
|
"frontend-modern/src/utils/alertOverviewPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Alerts/__tests__/BulkEditDialog.test.tsx",
|
|
"frontend-modern/src/components/Alerts/__tests__/InvestigateAlertButton.test.tsx",
|
|
"frontend-modern/src/components/Alerts/__tests__/RecentAlertsPanel.test.tsx",
|
|
"frontend-modern/src/components/Alerts/__tests__/ThresholdsTable.test.tsx",
|
|
"frontend-modern/src/components/Alerts/EmailProviderSelect.test.tsx",
|
|
"frontend-modern/src/components/Alerts/ResourceTable.test.tsx",
|
|
"frontend-modern/src/components/Alerts/Thresholds/hooks/__tests__/useCollapsedSections.test.ts",
|
|
"frontend-modern/src/components/Alerts/Thresholds/sections/__tests__/CollapsibleSection.test.tsx",
|
|
"frontend-modern/src/components/Alerts/WebhookConfig.test.tsx",
|
|
"frontend-modern/src/features/alerts/__tests__/helpers.test.ts",
|
|
"frontend-modern/src/features/alerts/__tests__/OverviewTab.emptystate.test.tsx",
|
|
"frontend-modern/src/features/alerts/__tests__/OverviewTab.timelineerror.test.tsx",
|
|
"frontend-modern/src/features/alerts/__tests__/OverviewTab.total24h.test.tsx",
|
|
"frontend-modern/src/features/alerts/identity.test.ts",
|
|
"frontend-modern/src/features/alerts/thresholds/__tests__/helpers.test.ts",
|
|
"frontend-modern/src/features/alerts/thresholds/hooks/__tests__/useThresholdsTableState.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/Alerts.helpers.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertOverviewPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-configuration-presentation-helpers",
|
|
"label": "alert configuration presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertActivationPresentation.ts",
|
|
"frontend-modern/src/utils/alertAdministrationPresentation.ts",
|
|
"frontend-modern/src/utils/alertBulkEditPresentation.ts",
|
|
"frontend-modern/src/utils/alertConfigPresentation.ts",
|
|
"frontend-modern/src/utils/alertEmailPresentation.ts",
|
|
"frontend-modern/src/utils/alertFrequencyPresentation.ts",
|
|
"frontend-modern/src/utils/alertGroupingPresentation.ts",
|
|
"frontend-modern/src/utils/alertHistoryPresentation.ts",
|
|
"frontend-modern/src/utils/alertSeverityPresentation.ts",
|
|
"frontend-modern/src/utils/alertTabsPresentation.ts",
|
|
"frontend-modern/src/utils/alertThresholdsPresentation.ts",
|
|
"frontend-modern/src/utils/alertThresholdsSectionPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertActivationPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertAdministrationPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertBulkEditPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertConfigPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertEmailPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertFrequencyPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertGroupingPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertHistoryPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertSeverityPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertTabsPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertThresholdsPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/alertThresholdsSectionPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-resource-table-presentation-helper",
|
|
"label": "alert resource table presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertResourceTablePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/alertResourceTablePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-destinations-presentation-helper",
|
|
"label": "alert destinations presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertDestinationsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/alertDestinationsPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-incident-presentation-helper",
|
|
"label": "alert incident presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertIncidentPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/alertIncidentPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-schedule-presentation-helper",
|
|
"label": "alert schedule presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertSchedulePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/alertSchedulePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alert-webhook-presentation-helper",
|
|
"label": "alert webhook presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/alertWebhookPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/alertWebhookPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "alerts-runtime-support",
|
|
"label": "alerts runtime support proof",
|
|
"match_prefixes": [
|
|
"internal/alerts/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/alerts/alerts_test.go",
|
|
"internal/alerts/callback_config_coverage_test.go",
|
|
"internal/alerts/config_validation_test.go",
|
|
"internal/alerts/filter_evaluation_test.go",
|
|
"internal/alerts/guest_snapshot_test.go",
|
|
"internal/alerts/history_concurrency_test.go",
|
|
"internal/alerts/history_test.go",
|
|
"internal/alerts/synology_test.go",
|
|
"internal/alerts/threshold_resolution_shared_test.go",
|
|
"internal/alerts/update_alerts_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "api-contracts",
|
|
"lane": "L6",
|
|
"contract": "docs/release-control/v6/internal/subsystems/api-contracts.md",
|
|
"owned_prefixes": [
|
|
"frontend-modern/src/api/",
|
|
"internal/api/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/Settings/APITokenManager.tsx",
|
|
"frontend-modern/src/components/Settings/apiTokenManagerModel.ts",
|
|
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModal.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx",
|
|
"frontend-modern/src/components/Settings/nodeModalModel.ts",
|
|
"frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
|
"frontend-modern/src/components/Settings/useAPITokenManagerState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureConfiguredNodesState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureDiscoveryRuntimeState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureInstallState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureReportingState.tsx",
|
|
"frontend-modern/src/components/Settings/useNodeModalState.ts",
|
|
"frontend-modern/src/types/api.ts",
|
|
"frontend-modern/src/utils/agentInstallCommand.ts",
|
|
"frontend-modern/src/utils/apiTokenPresentation.ts",
|
|
"frontend-modern/src/utils/infrastructureSettingsPresentation.ts",
|
|
"internal/websocket/hub.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/api/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"internal/api/contract_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "auth-state-persistence-compatibility",
|
|
"label": "session and CSRF persistence migration proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/csrf_store.go",
|
|
"internal/api/session_store.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/csrf_store_test.go",
|
|
"internal/api/session_store_test.go",
|
|
"tests/migration/v5_session_db_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-install-backend-contract",
|
|
"label": "agent install and registration backend API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/agent_install_command_shared.go",
|
|
"internal/api/config_setup_handlers.go",
|
|
"internal/api/unified_agent.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/agent_install_command_shared_test.go",
|
|
"internal/api/config_handlers_auto_register_test.go",
|
|
"internal/api/config_handlers_canonical_auto_register_test.go",
|
|
"internal/api/contract_test.go",
|
|
"internal/api/hosted_agent_install_command_test.go",
|
|
"internal/api/unified_agent_more_test.go",
|
|
"internal/api/unified_agent_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "update-transport-contract",
|
|
"label": "update transport API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/updates.ts",
|
|
"internal/api/updates.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/updates.test.ts",
|
|
"frontend-modern/src/types/api.ts",
|
|
"internal/api/updates_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "security-transport-contract",
|
|
"label": "security transport API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/security.ts",
|
|
"internal/api/security.go",
|
|
"internal/api/security_tokens.go",
|
|
"internal/api/system_settings.go",
|
|
"internal/websocket/hub.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/security.test.ts",
|
|
"frontend-modern/src/types/api.ts",
|
|
"internal/api/security_regression_test.go",
|
|
"internal/api/security_status_additional_test.go",
|
|
"internal/api/security_tokens_lifecycle_test.go",
|
|
"internal/api/security_tokens_owner_binding_test.go",
|
|
"internal/api/security_tokens_test.go",
|
|
"internal/api/system_settings_telemetry_test.go",
|
|
"internal/api/websocket_origin_security_test.go",
|
|
"internal/websocket/hub_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "diagnostics-memory-contract",
|
|
"label": "diagnostics memory-source API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/diagnostics.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/diagnostics_memory_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "backend-payload-contracts",
|
|
"label": "backend API payload proof",
|
|
"match_prefixes": [
|
|
"internal/api/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/api/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"frontend-modern/src/types/api.ts",
|
|
"internal/api/contract_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "api-token-management-surface",
|
|
"label": "API token management surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/APITokenManager.tsx",
|
|
"frontend-modern/src/components/Settings/apiTokenManagerModel.ts",
|
|
"frontend-modern/src/components/Settings/useAPITokenManagerState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/APITokenManager.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "api-token-presentation-helper",
|
|
"label": "API token presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/apiTokenPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/apiTokenPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "agent-profiles-client-contract",
|
|
"label": "agent profiles client API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/agentProfiles.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
|
"frontend-modern/src/types/api.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "proxmox-node-client-contract",
|
|
"label": "proxmox node client API contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/nodes.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/nodes.test.ts",
|
|
"frontend-modern/src/types/api.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "node-setup-settings-client-surface",
|
|
"label": "node setup client consumer proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/NodeModal.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx",
|
|
"frontend-modern/src/components/Settings/nodeModalModel.ts",
|
|
"frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
|
"frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
|
"frontend-modern/src/components/Settings/useNodeModalState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/nodes.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/NodeModal.guardrails.test.ts",
|
|
"frontend-modern/src/types/api.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "frontend-api-clients",
|
|
"label": "frontend API client proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/api/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/api/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"frontend-modern/src/types/api.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "frontend-api-types",
|
|
"label": "frontend API type sync proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/types/api.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"frontend-modern/src/api/__tests__/"
|
|
],
|
|
"exact_files": [
|
|
"frontend-modern/src/types/api.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "frontend-install-command-helper",
|
|
"label": "frontend install transport contract proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/agentInstallCommand.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/agentInstallCommand.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "unified-agent-settings-surface",
|
|
"label": "infrastructure operations API proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
|
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureConfiguredNodesState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureDiscoveryRuntimeState.ts",
|
|
"frontend-modern/src/components/Settings/useInfrastructureInstallState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
|
"frontend-modern/src/components/Settings/useInfrastructureReportingState.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
|
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
|
"frontend-modern/src/api/__tests__/security.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "infrastructure-settings-presentation-helper",
|
|
"label": "infrastructure settings presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/infrastructureSettingsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/infrastructureSettingsPresentation.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "cloud-paid",
|
|
"lane": "L3",
|
|
"contract": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
|
|
"owned_prefixes": [
|
|
"internal/api/licensing_",
|
|
"internal/api/payments_",
|
|
"internal/api/stripe_",
|
|
"internal/cloudcp/portal/",
|
|
"pkg/licensing/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/App.tsx",
|
|
"frontend-modern/src/AppLayout.tsx",
|
|
"frontend-modern/src/components/Commercial/MonitoredSystemDefinitionDisclosure.tsx",
|
|
"frontend-modern/src/components/Settings/BillingAdminOrganizationsTable.tsx",
|
|
"frontend-modern/src/components/Settings/BillingAdminPanel.tsx",
|
|
"frontend-modern/src/components/Settings/CommercialBillingSections.tsx",
|
|
"frontend-modern/src/components/Settings/MonitoredSystemAdmissionPreview.tsx",
|
|
"frontend-modern/src/components/Settings/MonitoredSystemLedgerPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationBillingLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationBillingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/ProLicensePanel.tsx",
|
|
"frontend-modern/src/components/Settings/ProLicensePlanSection.tsx",
|
|
"frontend-modern/src/components/Settings/RelayPairingSection.tsx",
|
|
"frontend-modern/src/components/Settings/RelaySettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SelfHostedCommercialRecoverySection.tsx",
|
|
"frontend-modern/src/components/Settings/useBillingAdminPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useOrganizationBillingPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useProLicensePanelState.ts",
|
|
"frontend-modern/src/components/Settings/useRelaySettingsPanelState.ts",
|
|
"frontend-modern/src/pages/CloudPricing.tsx",
|
|
"frontend-modern/src/pages/HostedSignup.tsx",
|
|
"frontend-modern/src/pages/PricingHandoff.tsx",
|
|
"frontend-modern/src/useAppRuntimeState.ts",
|
|
"frontend-modern/src/utils/apiClient.ts",
|
|
"frontend-modern/src/utils/cloudPlans.ts",
|
|
"frontend-modern/src/utils/commercialBillingModel.ts",
|
|
"frontend-modern/src/utils/licensePresentation.ts",
|
|
"frontend-modern/src/utils/monitoredSystemPresentation.ts",
|
|
"frontend-modern/src/utils/pricingHandoff.ts",
|
|
"frontend-modern/src/utils/selfHostedPlans.ts",
|
|
"frontend-modern/src/utils/upgradePresentation.ts",
|
|
"internal/api/public_signup_handlers.go",
|
|
"internal/cloudcp/account/tenant_handlers.go",
|
|
"internal/cloudcp/config.go",
|
|
"internal/cloudcp/entitlements/service.go",
|
|
"internal/cloudcp/public_cloud_signup_handlers.go",
|
|
"internal/cloudcp/registry/registry.go",
|
|
"internal/cloudcp/routes.go",
|
|
"internal/cloudcp/stripe/provisioner.go",
|
|
"internal/hosted/provisioner.go",
|
|
"pulse-pro:.github/workflows/deploy-v6-preview-demo.yml",
|
|
"pulse-pro:license-server/checkout_funnel.go",
|
|
"pulse-pro:license-server/grandfathering.go",
|
|
"pulse-pro:license-server/main.go",
|
|
"pulse-pro:license-server/v6_handlers.go",
|
|
"pulse-pro:scripts/audit_v6_preview_demo.sh",
|
|
"pulse-pro:scripts/audit_v6_preview_demo_browser.cjs",
|
|
"pulse-pro:scripts/bootstrap-v6-demo-preview.sh",
|
|
"pulse-pro:scripts/grandfathered_recurring_cutover_preview.py"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": true,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/contract_test.go",
|
|
"pkg/licensing/grant_claims_contract_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "runtime-entitlement-surface",
|
|
"label": "runtime entitlement surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/entitlement_payload.go",
|
|
"pkg/licensing/evaluator.go",
|
|
"pkg/licensing/hosted_subscription.go",
|
|
"pkg/licensing/token_source.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/cloud_paid_guardrails_test.go",
|
|
"pkg/licensing/entitlement_payload_test.go",
|
|
"pkg/licensing/evaluator_test.go",
|
|
"pkg/licensing/hosted_subscription_test.go",
|
|
"pkg/licensing/token_source_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "billing-state-canonicalization",
|
|
"label": "billing state canonicalization proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/billing_state_normalization.go",
|
|
"pkg/licensing/database_source.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/billing_state_normalization_test.go",
|
|
"pkg/licensing/cloud_paid_guardrails_test.go",
|
|
"pkg/licensing/database_source_test.go",
|
|
"pkg/licensing/grant_claims_contract_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "cloud-plan-contracts",
|
|
"label": "cloud plan limit proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/features.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/features_test.go",
|
|
"pkg/licensing/grant_claims_contract_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "stripe-plan-derivation",
|
|
"label": "stripe plan derivation proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/stripe_subscription.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/grant_claims_contract_test.go",
|
|
"pkg/licensing/stripe_subscription_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "jwt-entitlement-claims",
|
|
"label": "JWT entitlement claim proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/models.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/cloud_paid_guardrails_test.go",
|
|
"pkg/licensing/models_test.go",
|
|
"pkg/licensing/service_activate_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "activation-grant-bridge",
|
|
"label": "activation grant bridge proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/activation_types.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/activation_types_test.go",
|
|
"pkg/licensing/grant_claims_contract_test.go",
|
|
"pkg/licensing/service_activate_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-entitlement-issuer",
|
|
"label": "hosted entitlement issuer proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/cloudcp/entitlements/service.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/entitlements/service_test.go",
|
|
"pkg/licensing/entitlement_lease_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "control-plane-registry-canonicalization",
|
|
"label": "control-plane registry plan proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/cloudcp/registry/registry.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/registry/registry_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "msp-workspace-provisioning-handler",
|
|
"label": "MSP workspace provisioning handler proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/cloudcp/account/tenant_handlers.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/account/tenant_handlers_test.go",
|
|
"internal/cloudcp/stripe/msp_lifecycle_integration_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "public-cloud-signup-price-selection",
|
|
"label": "public cloud signup price proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/cloudcp/config.go",
|
|
"internal/cloudcp/public_cloud_signup_handlers.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/config_test.go",
|
|
"internal/cloudcp/public_cloud_signup_handlers_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "pulse-account-portal-surface",
|
|
"label": "Pulse Account portal surface proof",
|
|
"match_prefixes": [
|
|
"internal/cloudcp/portal/"
|
|
],
|
|
"match_files": [
|
|
"internal/cloudcp/routes.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"internal/cloudcp/portal/frontend/src/"
|
|
],
|
|
"exact_files": [
|
|
"internal/cloudcp/portal/frontend_sync_test.go",
|
|
"internal/cloudcp/portal/handlers_test.go",
|
|
"internal/cloudcp/routes_auth_test.go",
|
|
"internal/cloudcp/routes_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "stripe-plan-resolution",
|
|
"label": "stripe plan resolution proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/cloudcp/stripe/provisioner.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/stripe/cloud_lifecycle_integration_test.go",
|
|
"internal/cloudcp/stripe/helpers_test.go",
|
|
"internal/cloudcp/stripe/msp_lifecycle_integration_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "entitlement-lease-boundary",
|
|
"label": "hosted entitlement lease proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/entitlement_lease.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/cloud_paid_guardrails_test.go",
|
|
"pkg/licensing/database_source_test.go",
|
|
"pkg/licensing/entitlement_lease_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "activation-service-runtime",
|
|
"label": "activation service runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/dev_mode_features.go",
|
|
"pkg/licensing/grant_refresh.go",
|
|
"pkg/licensing/revocation_poll.go",
|
|
"pkg/licensing/service.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/cloud_paid_guardrails_test.go",
|
|
"pkg/licensing/grant_refresh_test.go",
|
|
"pkg/licensing/revocation_poll_test.go",
|
|
"pkg/licensing/service_activate_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "license-server-transport",
|
|
"label": "license server transport proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/license_server_client.go",
|
|
"pkg/licensing/quickstart_bootstrap.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/license_server_client_test.go",
|
|
"pkg/licensing/revocation_poll_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "activation-state-persistence",
|
|
"label": "activation state persistence proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/activation_store.go",
|
|
"pkg/licensing/persistence.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/activation_store_test.go",
|
|
"pkg/licensing/persistence_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "feature-and-limit-primitives",
|
|
"label": "feature and limit primitive proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/capability_aliases.go",
|
|
"pkg/licensing/feature_map.go",
|
|
"pkg/licensing/legacy_v5_monitored_system_limit_aliases.go",
|
|
"pkg/licensing/monitored_system_limit.go",
|
|
"pkg/licensing/user_limit.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/capability_aliases_test.go",
|
|
"pkg/licensing/feature_map_test.go",
|
|
"pkg/licensing/monitored_system_limit_test.go",
|
|
"pkg/licensing/user_limit_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "billing-and-entitlement-types",
|
|
"label": "billing and entitlement type proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/billing_store.go",
|
|
"pkg/licensing/contracts.go",
|
|
"pkg/licensing/entitlement_source.go",
|
|
"pkg/licensing/entitlements.go",
|
|
"pkg/licensing/subscription_state.go",
|
|
"pkg/licensing/subscription_transitions.go",
|
|
"pkg/licensing/types.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/contract_test.go",
|
|
"pkg/licensing/entitlement_payload_test.go",
|
|
"pkg/licensing/grant_claims_contract_test.go",
|
|
"pkg/licensing/subscription_test.go",
|
|
"pkg/licensing/trial_start_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "commercial-migration-and-trial-flow",
|
|
"label": "commercial migration and trial flow proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/commercial_migration.go",
|
|
"pkg/licensing/http.go",
|
|
"pkg/licensing/quickstart_credits.go",
|
|
"pkg/licensing/trial_start.go",
|
|
"pkg/licensing/upgrade.go",
|
|
"pkg/licensing/upgrade_reasons.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/commercial_migration_test.go",
|
|
"pkg/licensing/http_test.go",
|
|
"pkg/licensing/quickstart_credits_test.go",
|
|
"pkg/licensing/trial_start_test.go",
|
|
"pkg/licensing/upgrade_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "purchase-return-handoff",
|
|
"label": "purchase return handoff proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/purchase_return.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/purchase_return_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "conversion-telemetry-pipeline",
|
|
"label": "conversion telemetry pipeline proof",
|
|
"match_prefixes": [
|
|
"pkg/licensing/conversion_",
|
|
"pkg/licensing/metering/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/conversion_api_helpers_test.go",
|
|
"pkg/licensing/conversion_config_test.go",
|
|
"pkg/licensing/conversion_events_test.go",
|
|
"pkg/licensing/conversion_metrics_test.go",
|
|
"pkg/licensing/conversion_quality_test.go",
|
|
"pkg/licensing/conversion_recorder_test.go",
|
|
"pkg/licensing/conversion_store_queryplan_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "host-lifecycle-tracking",
|
|
"label": "host lifecycle tracking proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/host_lifecycle.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/host_lifecycle_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "public-key-and-build-modes",
|
|
"label": "public key and build mode proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/dev_mode_dev.go",
|
|
"pkg/licensing/dev_mode_release.go",
|
|
"pkg/licensing/public_key.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/license_server_client_test.go",
|
|
"pkg/licensing/public_key_test.go",
|
|
"pkg/licensing/service_activate_test.go",
|
|
"pkg/licensing/trial_activation_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-trial-activation",
|
|
"label": "hosted trial activation proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/licensing/trial_activation.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/licensing/trial_activation_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "cloud-paid-api-boundary",
|
|
"label": "cloud paid API boundary proof",
|
|
"match_prefixes": [
|
|
"internal/api/licensing_",
|
|
"internal/api/payments_",
|
|
"internal/api/stripe_"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/hostedSignup.test.ts",
|
|
"frontend-modern/src/pages/__tests__/HostedSignup.test.tsx",
|
|
"internal/api/billing_state_handlers_test.go",
|
|
"internal/api/contract_test.go",
|
|
"internal/api/licensing_handlers_auto_migrate_test.go",
|
|
"internal/api/licensing_handlers_self_hosted_fallback_test.go",
|
|
"internal/api/stripe_webhook_handlers_additional_test.go",
|
|
"internal/api/stripe_webhook_handlers_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-billing-admin-surface",
|
|
"label": "hosted billing admin surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/BillingAdminOrganizationsTable.tsx",
|
|
"frontend-modern/src/components/Settings/BillingAdminPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useBillingAdminPanelState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/BillingAdminPanel.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "organization-billing-surface",
|
|
"label": "organization billing surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/OrganizationBillingLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationBillingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useOrganizationBillingPanelState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "pro-license-surface",
|
|
"label": "pro license surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/MonitoredSystemLedgerPanel.tsx",
|
|
"frontend-modern/src/components/Settings/ProLicensePanel.tsx",
|
|
"frontend-modern/src/components/Settings/ProLicensePlanSection.tsx",
|
|
"frontend-modern/src/components/Settings/selfHostedBillingPresentation.ts",
|
|
"frontend-modern/src/components/Settings/SelfHostedCommercialRecoverySection.tsx",
|
|
"frontend-modern/src/components/Settings/useProLicensePanelState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/MonitoredSystemLedgerPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/ProLicensePanel.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "monitored-system-presentation-helper",
|
|
"label": "monitored system presentation and admission preview proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/MonitoredSystemAdmissionPreview.tsx",
|
|
"frontend-modern/src/utils/monitoredSystemPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/TrueNASSettingsPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/VMwareSettingsPanel.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/monitoredSystemPresentation.test.ts",
|
|
"tests/integration/tests/21-truenas-settings-platform-connections.spec.ts",
|
|
"tests/integration/tests/22-vmware-settings-platform-connections.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "commercial-presentation-helpers",
|
|
"label": "commercial presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/licensePresentation.ts",
|
|
"frontend-modern/src/utils/upgradePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/licensePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/upgradePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "commercial-plan-models",
|
|
"label": "commercial plan model proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Commercial/MonitoredSystemDefinitionDisclosure.tsx",
|
|
"frontend-modern/src/components/Settings/CommercialBillingSections.tsx",
|
|
"frontend-modern/src/utils/cloudPlans.ts",
|
|
"frontend-modern/src/utils/commercialBillingModel.ts",
|
|
"frontend-modern/src/utils/selfHostedPlans.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Commercial/__tests__/MonitoredSystemDefinitionDisclosure.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/ProLicensePanel.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/CloudPricing.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/HostedSignup.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/selfHostedPlans.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "relay-frontend-surfaces",
|
|
"label": "relay frontend surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/RelayPairingSection.tsx",
|
|
"frontend-modern/src/components/Settings/RelaySettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useRelaySettingsPanelState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/RelaySettingsPanel.runtime.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsReadOnlyPanels.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-signup-provisioning",
|
|
"label": "hosted signup provisioning proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/public_signup_handlers.go",
|
|
"internal/hosted/provisioner.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/hosted_lifecycle_integration_test.go",
|
|
"internal/api/hosted_signup_handlers_test.go",
|
|
"internal/hosted/provisioner_additional_test.go",
|
|
"internal/hosted/provisioner_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-browser-org-bootstrap",
|
|
"label": "hosted browser org bootstrap proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/App.tsx",
|
|
"frontend-modern/src/AppLayout.tsx",
|
|
"frontend-modern/src/useAppRuntimeState.ts",
|
|
"frontend-modern/src/utils/apiClient.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/__tests__/App.architecture.test.ts",
|
|
"frontend-modern/src/utils/__tests__/apiClient.org.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "pricing-pages",
|
|
"label": "pricing route and page proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/pages/CloudPricing.tsx",
|
|
"frontend-modern/src/pages/HostedSignup.tsx",
|
|
"frontend-modern/src/pages/PricingHandoff.tsx",
|
|
"frontend-modern/src/utils/pricingHandoff.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/hostedSignup.test.ts",
|
|
"frontend-modern/src/pages/__tests__/CloudPricing.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/HostedSignup.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/PricingHandoff.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/pricingHandoff.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "checkout-funnel-analytics",
|
|
"label": "checkout funnel analytics proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pulse-pro:license-server/checkout_funnel.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pulse-pro:license-server/checkout_funnel_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "legacy-grandfathering-cutover",
|
|
"label": "legacy recurring grandfathering cutover proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pulse-pro:license-server/grandfathering.go",
|
|
"pulse-pro:license-server/main.go",
|
|
"pulse-pro:license-server/v6_handlers.go",
|
|
"pulse-pro:scripts/grandfathered_recurring_cutover_preview.py"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pulse-pro:license-server/grandfathering_test.go",
|
|
"pulse-pro:license-server/main_test.go",
|
|
"pulse-pro:scripts/tests/test_grandfathered_recurring_cutover_preview.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "public-demo-preview-operations",
|
|
"label": "public demo preview operations proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pulse-pro:.github/workflows/deploy-v6-preview-demo.yml",
|
|
"pulse-pro:scripts/audit_v6_preview_demo.sh",
|
|
"pulse-pro:scripts/audit_v6_preview_demo_browser.cjs",
|
|
"pulse-pro:scripts/bootstrap-v6-demo-preview.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pulse-pro:scripts/audit_v6_preview_demo.sh",
|
|
"tests/integration/tests/53-demo-mode-commercial-boundary.spec.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "deployment-installability",
|
|
"lane": "L1",
|
|
"contract": "docs/release-control/v6/internal/subsystems/deployment-installability.md",
|
|
"owned_prefixes": [
|
|
"deploy/helm/pulse/",
|
|
"docs/releases/",
|
|
"internal/updates/"
|
|
],
|
|
"owned_files": [
|
|
".dockerignore",
|
|
".github/ISSUE_TEMPLATE/v6_rc_feedback.yml",
|
|
".github/workflows/create-release.yml",
|
|
".github/workflows/deploy-demo-server.yml",
|
|
".github/workflows/helm-pages.yml",
|
|
".github/workflows/promote-floating-tags.yml",
|
|
".github/workflows/publish-docker.yml",
|
|
".github/workflows/publish-helm-chart.yml",
|
|
".github/workflows/release-dry-run.yml",
|
|
".github/workflows/update-demo-server.yml",
|
|
"cmd/pulse-control-plane/main.go",
|
|
"Dockerfile",
|
|
"docs/release-control/v6/internal/PRE_RELEASE_CHECKLIST.md",
|
|
"docs/release-control/v6/internal/RC_TO_GA_REHEARSAL_TEMPLATE.md",
|
|
"docs/release-control/v6/internal/RELEASE_PROMOTION_POLICY.md",
|
|
"docs/RELEASE_NOTES.md",
|
|
"docs/UPGRADE_v6.md",
|
|
"frontend-modern/package-lock.json",
|
|
"frontend-modern/package.json",
|
|
"frontend-modern/src/api/updates.ts",
|
|
"frontend-modern/vite.config.ts",
|
|
"go.mod",
|
|
"go.sum",
|
|
"internal/api/updates.go",
|
|
"internal/cloudcp/docker/labels.go",
|
|
"internal/cloudcp/docker/manager.go",
|
|
"internal/cloudcp/tenant_runtime_rollout.go",
|
|
"Makefile",
|
|
"package-lock.json",
|
|
"package.json",
|
|
"scripts/build-release.sh",
|
|
"scripts/check-workflow-dispatch-inputs.py",
|
|
"scripts/clean-mock-alerts.sh",
|
|
"scripts/com.pulse.hot-dev.plist.template",
|
|
"scripts/demo_public_browser_smoke.cjs",
|
|
"scripts/dev-check.sh",
|
|
"scripts/dev-launchd-setup.sh",
|
|
"scripts/dev-launchd-wrapper.sh",
|
|
"scripts/hot-dev-bg.sh",
|
|
"scripts/hot-dev.sh",
|
|
"scripts/install-container-agent.sh",
|
|
"scripts/install.ps1",
|
|
"scripts/install.sh",
|
|
"scripts/pulse-auto-update.sh",
|
|
"scripts/release_control/internal/record_rc_to_ga_rehearsal.py",
|
|
"scripts/release_control/record_rc_to_ga_rehearsal.py",
|
|
"scripts/release_control/release_promotion_policy_support.py",
|
|
"scripts/release_control/render_release_body.py",
|
|
"scripts/release_control/resolve_release_promotion.py",
|
|
"scripts/release_ldflags.sh",
|
|
"scripts/run_demo_public_browser_smoke.sh",
|
|
"scripts/run_hosted_staging_smoke.sh",
|
|
"scripts/toggle-mock.sh",
|
|
"scripts/trigger-release-dry-run.sh",
|
|
"scripts/trigger-release.sh",
|
|
"tests/integration/playwright.config.ts",
|
|
"tests/integration/QUICK_START.md",
|
|
"tests/integration/README.md",
|
|
"tests/integration/scripts/bootstrap-hosted-mobile-onboarding.mjs",
|
|
"tests/integration/scripts/hosted-mobile-token-runtime.mjs",
|
|
"tests/integration/scripts/hosted-tenant-runtime.mjs",
|
|
"tests/integration/scripts/managed-dev-runtime.mjs",
|
|
"tests/integration/scripts/relay-mobile-token-helper.go",
|
|
"tests/integration/tests/helpers.ts",
|
|
"tests/integration/tests/runtime-defaults.ts",
|
|
"VERSION"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "deployment-update-runtime",
|
|
"label": "deployment update runtime proof",
|
|
"match_prefixes": [
|
|
"internal/updates/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"internal/updates/"
|
|
],
|
|
"exact_files": []
|
|
},
|
|
{
|
|
"id": "updates-api-surface",
|
|
"label": "update transport API proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/updates.ts",
|
|
"internal/api/updates.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/updates.test.ts",
|
|
"internal/api/updates_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "helm-chart-release-runtime",
|
|
"label": "Helm chart release packaging proof",
|
|
"match_prefixes": [
|
|
"deploy/helm/pulse/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/release_control/subsystem_lookup_test.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "release-promotion-metadata-runtime",
|
|
"label": "release promotion and artifact dispatch proof",
|
|
"match_prefixes": [
|
|
"docs/releases/"
|
|
],
|
|
"match_files": [
|
|
".github/ISSUE_TEMPLATE/v6_rc_feedback.yml",
|
|
".github/workflows/create-release.yml",
|
|
".github/workflows/helm-pages.yml",
|
|
".github/workflows/promote-floating-tags.yml",
|
|
".github/workflows/publish-docker.yml",
|
|
".github/workflows/publish-helm-chart.yml",
|
|
".github/workflows/release-dry-run.yml",
|
|
".github/workflows/update-demo-server.yml",
|
|
"docs/release-control/v6/internal/PRE_RELEASE_CHECKLIST.md",
|
|
"docs/release-control/v6/internal/RC_TO_GA_REHEARSAL_TEMPLATE.md",
|
|
"docs/release-control/v6/internal/RELEASE_PROMOTION_POLICY.md",
|
|
"docs/RELEASE_NOTES.md",
|
|
"docs/UPGRADE_v6.md",
|
|
"scripts/check-workflow-dispatch-inputs.py",
|
|
"scripts/release_control/internal/record_rc_to_ga_rehearsal.py",
|
|
"scripts/release_control/record_rc_to_ga_rehearsal.py",
|
|
"scripts/release_control/release_promotion_policy_support.py",
|
|
"scripts/release_control/render_release_body.py",
|
|
"scripts/release_control/resolve_release_promotion.py",
|
|
"scripts/trigger-release-dry-run.sh",
|
|
"scripts/trigger-release.sh",
|
|
"VERSION"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/release_control/internal/record_rc_to_ga_rehearsal_test.py",
|
|
"scripts/release_control/release_promotion_policy_support_test.py",
|
|
"scripts/release_control/release_promotion_policy_test.py",
|
|
"scripts/release_control/render_release_body_test.py",
|
|
"scripts/release_control/resolve_release_promotion_test.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "release-build-metadata-runtime",
|
|
"label": "release build metadata proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
".dockerignore",
|
|
".github/workflows/deploy-demo-server.yml",
|
|
"Dockerfile",
|
|
"scripts/build-release.sh",
|
|
"scripts/release_ldflags.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/build_release_assets_test.go",
|
|
"scripts/installtests/release_ldflags_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "demo-public-browser-smoke-runtime",
|
|
"label": "demo public browser smoke proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/demo_public_browser_smoke.cjs",
|
|
"scripts/run_demo_public_browser_smoke.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/build_release_assets_test.go",
|
|
"scripts/release_control/release_promotion_policy_test.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-staging-smoke-runtime",
|
|
"label": "hosted staging smoke proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/run_hosted_staging_smoke.sh",
|
|
"tests/integration/scripts/bootstrap-hosted-mobile-onboarding.mjs",
|
|
"tests/integration/scripts/hosted-mobile-token-runtime.mjs",
|
|
"tests/integration/scripts/hosted-tenant-runtime.mjs",
|
|
"tests/integration/scripts/relay-mobile-token-helper.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/relay_hosted_runtime_test.go",
|
|
"tests/integration/tests/08-cloud-hosting.spec.ts",
|
|
"tests/integration/tests/09-cloud-billing-lifecycle.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "deployment-script-runtime",
|
|
"label": "deployment script runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/install-container-agent.sh",
|
|
"scripts/install.ps1",
|
|
"scripts/pulse-auto-update.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/install_docker_sh_test.go",
|
|
"scripts/installtests/install_ps1_test.go",
|
|
"scripts/installtests/root_install_sh_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "hosted-runtime-rollout-control",
|
|
"label": "hosted runtime rollout control proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"cmd/pulse-control-plane/main.go",
|
|
"internal/cloudcp/docker/labels.go",
|
|
"internal/cloudcp/docker/manager.go",
|
|
"internal/cloudcp/tenant_runtime_rollout.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/cloudcp/tenant_runtime_rollout_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "dev-runtime-orchestration",
|
|
"label": "dev runtime orchestration proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/package-lock.json",
|
|
"frontend-modern/package.json",
|
|
"frontend-modern/vite.config.ts",
|
|
"go.mod",
|
|
"go.sum",
|
|
"Makefile",
|
|
"package-lock.json",
|
|
"package.json",
|
|
"scripts/clean-mock-alerts.sh",
|
|
"scripts/com.pulse.hot-dev.plist.template",
|
|
"scripts/dev-check.sh",
|
|
"scripts/dev-launchd-setup.sh",
|
|
"scripts/dev-launchd-wrapper.sh",
|
|
"scripts/hot-dev-bg.sh",
|
|
"scripts/hot-dev.sh",
|
|
"scripts/toggle-mock.sh",
|
|
"tests/integration/playwright.config.ts",
|
|
"tests/integration/QUICK_START.md",
|
|
"tests/integration/README.md",
|
|
"tests/integration/scripts/managed-dev-runtime.mjs",
|
|
"tests/integration/tests/helpers.ts",
|
|
"tests/integration/tests/runtime-defaults.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/tests/test-hot-dev-bg.sh",
|
|
"scripts/tests/test-toggle-mock.sh",
|
|
"tests/integration/tests/16-dev-runtime-recovery.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "shell-installer-runtime",
|
|
"label": "shell installer runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"scripts/install.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/install_sh_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "frontend-primitives",
|
|
"lane": "L8",
|
|
"contract": "docs/release-control/v6/internal/subsystems/frontend-primitives.md",
|
|
"owned_prefixes": [
|
|
"frontend-modern/src/components/shared/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/Settings/AIChatMaintenanceSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIModelSelectionSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIProviderConfigurationSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIRuntimeControlsSection.tsx",
|
|
"frontend-modern/src/components/Settings/AISettings.tsx",
|
|
"frontend-modern/src/components/Settings/AISettingsDialogs.tsx",
|
|
"frontend-modern/src/components/Settings/aiSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/AISettingsStatusAndActions.tsx",
|
|
"frontend-modern/src/components/Settings/APIAccessPanel.tsx",
|
|
"frontend-modern/src/components/Settings/AuditLogPanel.tsx",
|
|
"frontend-modern/src/components/Settings/AuditWebhookPanel.tsx",
|
|
"frontend-modern/src/components/Settings/CopyCommandBlock.tsx",
|
|
"frontend-modern/src/components/Settings/diagnosticsModel.ts",
|
|
"frontend-modern/src/components/Settings/DiagnosticsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/DiagnosticsResultsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/DockerRuntimeSettingsCard.tsx",
|
|
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/NetworkBoundarySettingsSection.tsx",
|
|
"frontend-modern/src/components/Settings/NetworkDiscoverySection.tsx",
|
|
"frontend-modern/src/components/Settings/networkSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/NetworkSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OperationsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/ReportingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/reportingPanelModel.ts",
|
|
"frontend-modern/src/components/Settings/reportingResourceTypes.ts",
|
|
"frontend-modern/src/components/Settings/ResourcePicker.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityAuthPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/Settings.tsx",
|
|
"frontend-modern/src/components/Settings/SettingsDialogs.tsx",
|
|
"frontend-modern/src/components/Settings/settingsHeaderMeta.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavCatalog.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavigationModel.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavVisibility.ts",
|
|
"frontend-modern/src/components/Settings/SettingsPageShell.tsx",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistry.ts",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistryLoaders.ts",
|
|
"frontend-modern/src/components/Settings/settingsRouting.ts",
|
|
"frontend-modern/src/components/Settings/settingsTabSaveBehavior.ts",
|
|
"frontend-modern/src/components/Settings/settingsTypes.ts",
|
|
"frontend-modern/src/components/Settings/ssoProvidersModel.ts",
|
|
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SystemLogsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/UpdateInstallGuide.tsx",
|
|
"frontend-modern/src/components/Settings/updatesSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/UpdatesSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useAISettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useAuditLogPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useAuditWebhookPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useDiagnosticsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useDiscoverySettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useReportingPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsInfrastructurePanelProps.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsNavigation.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx",
|
|
"frontend-modern/src/components/Settings/useSettingsShellState.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsSystemPanels.tsx",
|
|
"frontend-modern/src/components/Settings/useSSOProvidersState.ts",
|
|
"frontend-modern/src/components/Settings/useSystemLogsPanelState.ts",
|
|
"frontend-modern/src/components/SetupWizard/SetupCompletionPreview.tsx",
|
|
"frontend-modern/src/components/SetupWizard/SetupWizard.tsx",
|
|
"frontend-modern/src/components/Toast/Toast.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/ActionRequiredPanel.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/DashboardCustomizer.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/index.ts",
|
|
"frontend-modern/src/features/dashboardOverview/KPIStrip.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/ProblemResourcesTable.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/TrendCharts.tsx",
|
|
"frontend-modern/src/hooks/createNonSuspendingQuery.ts",
|
|
"frontend-modern/src/pages/Operations.tsx",
|
|
"frontend-modern/src/stores/aiChat.ts",
|
|
"frontend-modern/src/utils/aiSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/dashboardGuestPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardKpiPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardMetricPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardTrendPresentation.ts",
|
|
"frontend-modern/src/utils/diagnosticsPresentation.ts",
|
|
"frontend-modern/src/utils/discoveryPresentation.ts",
|
|
"frontend-modern/src/utils/emptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/environmentLockPresentation.ts",
|
|
"frontend-modern/src/utils/problemResourcePresentation.ts",
|
|
"frontend-modern/src/utils/reportableResourceTypes.ts",
|
|
"frontend-modern/src/utils/reportingPresentation.ts",
|
|
"frontend-modern/src/utils/reportingResourceTypes.ts",
|
|
"frontend-modern/src/utils/semanticTonePresentation.ts",
|
|
"frontend-modern/src/utils/settingsShellPresentation.ts",
|
|
"frontend-modern/src/utils/ssoProviderPresentation.ts",
|
|
"frontend-modern/src/utils/systemLogsPresentation.ts",
|
|
"frontend-modern/src/utils/systemSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/textPresentation.ts",
|
|
"frontend-modern/src/utils/toast.ts",
|
|
"frontend-modern/src/utils/typeColumnPresentation.ts",
|
|
"frontend-modern/src/utils/updatesPresentation.ts",
|
|
"frontend-modern/src/utils/upgradeNavigation.ts"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/PageControls.guardrails.test.ts",
|
|
"frontend-modern/src/components/shared/TypeColumn.guardrails.test.ts"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "page-controls-and-filters",
|
|
"label": "page controls and filter proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/shared/FilterToolbar.tsx",
|
|
"frontend-modern/src/components/shared/PageControls.tsx",
|
|
"frontend-modern/src/components/shared/SettingsPanel.tsx",
|
|
"frontend-modern/src/components/shared/Subtabs.tsx",
|
|
"frontend-modern/src/components/shared/Toggle.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
|
"frontend-modern/src/components/shared/FilterToolbar.test.tsx",
|
|
"frontend-modern/src/components/shared/PageControls.guardrails.test.ts",
|
|
"frontend-modern/src/components/shared/PageControls.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "settings-shell-and-framing",
|
|
"label": "settings shell framing proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/AIChatMaintenanceSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIModelSelectionSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIProviderConfigurationSection.tsx",
|
|
"frontend-modern/src/components/Settings/AIRuntimeControlsSection.tsx",
|
|
"frontend-modern/src/components/Settings/AISettings.tsx",
|
|
"frontend-modern/src/components/Settings/AISettingsDialogs.tsx",
|
|
"frontend-modern/src/components/Settings/aiSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/AISettingsStatusAndActions.tsx",
|
|
"frontend-modern/src/components/Settings/APIAccessPanel.tsx",
|
|
"frontend-modern/src/components/Settings/AuditLogPanel.tsx",
|
|
"frontend-modern/src/components/Settings/AuditWebhookPanel.tsx",
|
|
"frontend-modern/src/components/Settings/CopyCommandBlock.tsx",
|
|
"frontend-modern/src/components/Settings/diagnosticsModel.ts",
|
|
"frontend-modern/src/components/Settings/DiagnosticsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/DiagnosticsResultsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/DockerRuntimeSettingsCard.tsx",
|
|
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/NetworkBoundarySettingsSection.tsx",
|
|
"frontend-modern/src/components/Settings/NetworkDiscoverySection.tsx",
|
|
"frontend-modern/src/components/Settings/networkSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/NetworkSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OperationsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityAuthPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/Settings.tsx",
|
|
"frontend-modern/src/components/Settings/SettingsDialogs.tsx",
|
|
"frontend-modern/src/components/Settings/settingsHeaderMeta.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavCatalog.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavigationModel.ts",
|
|
"frontend-modern/src/components/Settings/settingsNavVisibility.ts",
|
|
"frontend-modern/src/components/Settings/SettingsPageShell.tsx",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistry.ts",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistryContext.tsx",
|
|
"frontend-modern/src/components/Settings/settingsPanelRegistryLoaders.ts",
|
|
"frontend-modern/src/components/Settings/settingsRouting.ts",
|
|
"frontend-modern/src/components/Settings/settingsTabSaveBehavior.ts",
|
|
"frontend-modern/src/components/Settings/settingsTypes.ts",
|
|
"frontend-modern/src/components/Settings/ssoProvidersModel.ts",
|
|
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
|
|
"frontend-modern/src/components/Settings/UpdateInstallGuide.tsx",
|
|
"frontend-modern/src/components/Settings/updatesSettingsModel.ts",
|
|
"frontend-modern/src/components/Settings/UpdatesSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useAISettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useAuditLogPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useAuditWebhookPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useDiagnosticsPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useDiscoverySettingsState.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsInfrastructurePanelProps.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsNavigation.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsPanelRegistry.tsx",
|
|
"frontend-modern/src/components/Settings/useSettingsShellState.ts",
|
|
"frontend-modern/src/components/Settings/useSettingsSystemPanels.tsx",
|
|
"frontend-modern/src/components/Settings/useSSOProvidersState.ts",
|
|
"frontend-modern/src/utils/ssoProviderPresentation.ts",
|
|
"frontend-modern/src/utils/systemSettingsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "environment-lock-primitives",
|
|
"label": "environment lock primitive proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/shared/EnvironmentLockBadge.tsx",
|
|
"frontend-modern/src/utils/environmentLockPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/environmentLockPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "upgrade-navigation-helper",
|
|
"label": "upgrade navigation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/upgradeNavigation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/__tests__/UpgradeLink.test.tsx",
|
|
"frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/upgradeNavigation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "route-shell-and-operations",
|
|
"label": "route shell and settings support proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/ReportingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/reportingPanelModel.ts",
|
|
"frontend-modern/src/components/Settings/reportingResourceTypes.ts",
|
|
"frontend-modern/src/components/Settings/ResourcePicker.tsx",
|
|
"frontend-modern/src/components/Settings/SystemLogsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useReportingPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useSystemLogsPanelState.ts",
|
|
"frontend-modern/src/pages/Operations.tsx",
|
|
"frontend-modern/src/utils/reportableResourceTypes.ts",
|
|
"frontend-modern/src/utils/reportingPresentation.ts",
|
|
"frontend-modern/src/utils/reportingResourceTypes.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/__tests__/App.architecture.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/reportingPanelModel.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/reportingResourceTypes.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/ResourcePicker.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/SystemLogsPanel.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/Operations.helpers.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/reportableResourceTypes.test.ts",
|
|
"frontend-modern/src/utils/__tests__/reportingPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/reportingResourceTypes.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "dashboard-presentation-helpers",
|
|
"label": "dashboard presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/dashboardEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/dashboardGuestPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardKpiPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardMetricPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardTrendPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardEmptyStatePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardGuestPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardKpiPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardMetricPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardTrendPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "assistant-app-shell-bootstrap",
|
|
"label": "assistant app-shell bootstrap proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/stores/aiChat.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/__tests__/App.architecture.test.ts",
|
|
"frontend-modern/src/stores/__tests__/aiChat.test.ts",
|
|
"tests/integration/tests/11-first-session.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "shared-feedback-and-column-presentation",
|
|
"label": "shared feedback and column presentation proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Toast/Toast.tsx",
|
|
"frontend-modern/src/utils/emptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/semanticTonePresentation.ts",
|
|
"frontend-modern/src/utils/toast.ts",
|
|
"frontend-modern/src/utils/typeColumnPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/TypeColumn.guardrails.test.ts",
|
|
"frontend-modern/src/components/Toast/__tests__/Toast.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/emptyStatePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/semanticTonePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/typeColumnPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "ai-settings-presentation-helper",
|
|
"label": "AI settings presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/aiSettingsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/aiSettingsPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "discovery-presentation-helper",
|
|
"label": "discovery presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/discoveryPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/discoveryPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "diagnostics-presentation-helper",
|
|
"label": "diagnostics presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/diagnosticsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/diagnosticsPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "settings-shell-presentation-helper",
|
|
"label": "settings shell presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/settingsShellPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/settingsShellPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "text-presentation-helper",
|
|
"label": "text presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/textPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/textPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "updates-presentation-helper",
|
|
"label": "updates presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/updatesPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/updatesPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "system-logs-presentation-helper",
|
|
"label": "system logs presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/systemLogsPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/systemLogsPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "retained-value-query-helper",
|
|
"label": "retained-value query helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/hooks/createNonSuspendingQuery.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "dashboard-overview-feature-surface",
|
|
"label": "dashboard overview feature proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/features/dashboardOverview/ActionRequiredPanel.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/DashboardCustomizer.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/index.ts",
|
|
"frontend-modern/src/features/dashboardOverview/KPIStrip.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/ProblemResourcesTable.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/TrendCharts.tsx",
|
|
"frontend-modern/src/utils/problemResourcePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/features/dashboardOverview/__tests__/KPIStrip.test.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/__tests__/ProblemResourcesTable.test.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/__tests__/TrendCharts.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/DashboardPage.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/problemResourcePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/typeColumnPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "first-session-runtime-and-preview",
|
|
"label": "first-session runtime and preview proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/SetupWizard/SetupCompletionPreview.tsx",
|
|
"frontend-modern/src/components/SetupWizard/SetupWizard.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/SetupWizard/__tests__/SetupCompletionPreview.test.tsx",
|
|
"frontend-modern/src/components/SetupWizard/__tests__/SetupWizard.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "search-inputs",
|
|
"label": "search input proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/shared/CollapsibleSearchInput.tsx",
|
|
"frontend-modern/src/components/shared/SearchField.tsx",
|
|
"frontend-modern/src/components/shared/SearchInput.tsx",
|
|
"frontend-modern/src/components/shared/SearchInputEnhancements.tsx",
|
|
"frontend-modern/src/components/shared/useSearchInputEnhancements.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/__tests__/SearchField.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/SearchInput.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "data-grid-and-summary",
|
|
"label": "data grid and summary proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/shared/InfrastructureSummaryTable.tsx",
|
|
"frontend-modern/src/components/shared/infrastructureSummaryTableModel.ts",
|
|
"frontend-modern/src/components/shared/InfrastructureSummaryTableRow.tsx",
|
|
"frontend-modern/src/components/shared/PulseDataGrid.tsx",
|
|
"frontend-modern/src/components/shared/Table.tsx",
|
|
"frontend-modern/src/components/shared/useInfrastructureSummaryTableState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/__tests__/InfrastructureSummaryTable.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/PulseDataGrid.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "shared-component-guardrails",
|
|
"label": "shared primitive guardrail proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/components/shared/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/shared/__tests__/CommandPaletteModal.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/ContainerUpdateBadge.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/DensityMap.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/Dialog.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/HelpIcon.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/HistoryChart.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/InfrastructureSelector.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/InfrastructureSummaryTable.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/MobileNavBar.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/PulseDataGrid.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/SearchField.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/SearchInput.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/TagBadges.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/UpgradeLink.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/WebInterfaceUrlField.test.tsx",
|
|
"frontend-modern/src/components/shared/__tests__/WhatsNewModal.test.tsx",
|
|
"frontend-modern/src/components/shared/ColumnPicker.test.tsx",
|
|
"frontend-modern/src/components/shared/FilterToolbar.test.tsx",
|
|
"frontend-modern/src/components/shared/PageControls.guardrails.test.ts",
|
|
"frontend-modern/src/components/shared/PageControls.test.tsx",
|
|
"frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts",
|
|
"frontend-modern/src/components/shared/TypeColumn.guardrails.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "monitoring",
|
|
"lane": "L13",
|
|
"contract": "docs/release-control/v6/internal/subsystems/monitoring.md",
|
|
"owned_prefixes": [
|
|
"internal/monitoring/",
|
|
"internal/storagehealth/",
|
|
"internal/truenas/"
|
|
],
|
|
"owned_files": [
|
|
"docker-entrypoint.sh",
|
|
"internal/dockeragent/collect.go",
|
|
"internal/dockeragent/swarm.go",
|
|
"internal/mock/demo_scenarios.go",
|
|
"internal/mock/fixture_graph.go",
|
|
"internal/mock/platform_fixtures.go",
|
|
"pkg/proxmox/ceph.go",
|
|
"pkg/proxmox/zfs.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": true,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/unifiedresources/code_standards_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "discovery-provider-runtime",
|
|
"label": "monitoring discovery provider proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/monitoring/kubernetes_agents.go",
|
|
"internal/monitoring/monitor_discovery_helpers.go",
|
|
"internal/monitoring/monitor_pbs_pmg.go",
|
|
"internal/monitoring/poll_providers.go",
|
|
"internal/monitoring/truenas_poller.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/monitoring/kubernetes_agents_test.go",
|
|
"internal/monitoring/monitor_host_agents_test.go",
|
|
"internal/monitoring/monitor_pbs_coverage_test.go",
|
|
"internal/monitoring/monitor_pmg_test.go",
|
|
"internal/monitoring/monitor_polling_test.go",
|
|
"internal/monitoring/truenas_poller_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "host-agent-ingest-runtime",
|
|
"label": "monitoring host-agent ingest proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/monitoring/monitor_agents.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/monitoring/monitor_host_agents_test.go",
|
|
"internal/unifiedresources/code_standards_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "truenas-runtime",
|
|
"label": "monitoring truenas runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/truenas/client.go",
|
|
"internal/truenas/fixtures.go",
|
|
"internal/truenas/provider.go",
|
|
"internal/truenas/types.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/resources_test.go",
|
|
"internal/monitoring/monitor_polling_test.go",
|
|
"internal/truenas/client_test.go",
|
|
"internal/truenas/contract_test.go",
|
|
"internal/truenas/provider_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "metrics-hot-path",
|
|
"label": "monitoring metrics hot-path proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/monitoring/monitor_metrics.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/monitoring/monitor_metrics_chart_batch_bench_test.go",
|
|
"internal/monitoring/monitor_metrics_slo_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "metrics-history-runtime",
|
|
"label": "monitoring metrics history proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/monitoring/metrics.go",
|
|
"internal/monitoring/metrics_history.go",
|
|
"internal/monitoring/mock_metrics_history.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/monitoring/metrics_history_concurrency_test.go",
|
|
"internal/monitoring/metrics_history_memory_regression_test.go",
|
|
"internal/monitoring/metrics_history_test.go",
|
|
"internal/monitoring/metrics_test.go",
|
|
"internal/monitoring/mock_metrics_history_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "storage-risk-runtime",
|
|
"label": "monitoring storage-risk proof",
|
|
"match_prefixes": [
|
|
"internal/storagehealth/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/resources_test.go",
|
|
"internal/storagehealth/risk_test.go",
|
|
"internal/storagehealth/topology_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "memory-source-runtime",
|
|
"label": "monitoring memory-source proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/diagnostics.go",
|
|
"internal/monitoring/guest_memory_sources.go",
|
|
"internal/monitoring/memory_source_catalog.go",
|
|
"internal/monitoring/monitor_polling_node.go",
|
|
"internal/monitoring/monitor_polling_vm.go",
|
|
"internal/monitoring/node_memory_sources.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/diagnostics_memory_test.go",
|
|
"internal/monitoring/diagnostic_snapshots_test.go",
|
|
"internal/monitoring/memory_source_catalog_test.go",
|
|
"internal/monitoring/memory_trust_characterization_test.go",
|
|
"internal/monitoring/node_memory_sources_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "docker-collect-runtime",
|
|
"label": "docker and podman container collection proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/dockeragent/collect.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/dockeragent/agent_collect_test.go",
|
|
"internal/dockeragent/agent_cpu_test.go",
|
|
"internal/dockeragent/agent_internal_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "docker-swarm-runtime",
|
|
"label": "docker swarm runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/dockeragent/swarm.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/dockeragent/swarm_coverage_test.go",
|
|
"internal/dockeragent/swarm_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "proxmox-zfs-runtime",
|
|
"label": "proxmox zfs compatibility proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/proxmox/zfs.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/proxmox/zfs_details_test.go",
|
|
"pkg/proxmox/zfs_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "proxmox-ceph-runtime",
|
|
"label": "proxmox ceph compatibility proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"pkg/proxmox/ceph.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/proxmox/ceph_test.go",
|
|
"pkg/proxmox/cluster_client_api_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "container-entrypoint-runtime",
|
|
"label": "container entrypoint runtime proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"docker-entrypoint.sh"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"scripts/installtests/docker_entrypoint_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "mock-runtime-fixtures",
|
|
"label": "monitoring mock runtime fixture proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/mock/demo_scenarios.go",
|
|
"internal/mock/fixture_graph.go",
|
|
"internal/mock/platform_fixtures.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/mock/canonical_api_guardrails_test.go",
|
|
"internal/mock/demo_scenarios_test.go",
|
|
"internal/mock/platform_fixtures_test.go",
|
|
"tests/integration/tests/43-platform-mock-runtime.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "monitoring-runtime",
|
|
"label": "monitoring runtime proof",
|
|
"match_prefixes": [
|
|
"internal/monitoring/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/monitoring/canonical_guardrails_test.go",
|
|
"internal/unifiedresources/code_standards_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications",
|
|
"lane": "L6",
|
|
"contract": "docs/release-control/v6/internal/subsystems/notifications.md",
|
|
"owned_prefixes": [
|
|
"internal/notifications/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/api/notifications.ts",
|
|
"internal/api/notifications.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "notifications-api-surface",
|
|
"label": "notification management API proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/notifications.ts",
|
|
"internal/api/notifications.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/notifications.test.ts",
|
|
"internal/api/notifications_scope_test.go",
|
|
"internal/api/notifications_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "notification-delivery-runtime",
|
|
"label": "notification delivery runtime proof",
|
|
"match_prefixes": [
|
|
"internal/notifications/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [
|
|
"internal/notifications/"
|
|
],
|
|
"exact_files": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "organization-settings",
|
|
"lane": "L14",
|
|
"contract": "docs/release-control/v6/internal/subsystems/organization-settings.md",
|
|
"owned_prefixes": [],
|
|
"owned_files": [
|
|
"frontend-modern/src/api/orgs.ts",
|
|
"frontend-modern/src/api/rbac.ts",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessManagementSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessMembersSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx",
|
|
"frontend-modern/src/components/Settings/RolesEditorDialog.tsx",
|
|
"frontend-modern/src/components/Settings/RolesPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts",
|
|
"frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx",
|
|
"frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useRBACFeatureGateState.ts",
|
|
"frontend-modern/src/components/Settings/useRolesPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts",
|
|
"frontend-modern/src/utils/organizationRolePresentation.ts",
|
|
"frontend-modern/src/utils/organizationSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/orgUtils.ts",
|
|
"internal/api/access_control_handlers.go",
|
|
"internal/api/enterprise_extension_rbac_admin.go",
|
|
"internal/api/org_handlers.go",
|
|
"internal/api/org_lifecycle_handlers.go",
|
|
"internal/models/organization.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/orgs.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationAccessPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationOverviewPanel.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
|
|
"internal/models/organization_additional_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "organization-api-clients",
|
|
"label": "organization and RBAC API client proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/orgs.ts",
|
|
"frontend-modern/src/api/rbac.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/orgs.test.ts",
|
|
"frontend-modern/src/api/__tests__/rbac.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "organization-domain-model",
|
|
"label": "organization domain model proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/models/organization.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/org_handlers_test.go",
|
|
"internal/api/org_lifecycle_handlers_test.go",
|
|
"internal/api/org_validation_test.go",
|
|
"internal/models/organization_additional_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "organization-rbac-transport",
|
|
"label": "organization RBAC backend transport proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/access_control_handlers.go",
|
|
"internal/api/enterprise_extension_rbac_admin.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/enterprise_extension_rbac_admin_test.go",
|
|
"internal/api/rbac_admin_handlers_test.go",
|
|
"internal/api/rbac_handlers_additional_test.go",
|
|
"internal/api/rbac_handlers_more_test.go",
|
|
"internal/api/rbac_handlers_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "organization-settings-surface",
|
|
"label": "organization settings surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/OrganizationAccessLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessManagementSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessMembersSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationAccessPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationIncomingSharesSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOutgoingSharesSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewDetailsSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewMembersSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingCreateSection.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingLoadingState.tsx",
|
|
"frontend-modern/src/components/Settings/OrganizationSharingPanel.tsx",
|
|
"frontend-modern/src/components/Settings/RBACFeatureGateSection.tsx",
|
|
"frontend-modern/src/components/Settings/RolesEditorDialog.tsx",
|
|
"frontend-modern/src/components/Settings/RolesPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useOrganizationAccessPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useOrganizationOverviewPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useOrganizationSharingPanelState.ts",
|
|
"frontend-modern/src/components/Settings/UserAssignmentsDialog.tsx",
|
|
"frontend-modern/src/components/Settings/UserAssignmentsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useRBACFeatureGateState.ts",
|
|
"frontend-modern/src/components/Settings/useRolesPanelState.ts",
|
|
"frontend-modern/src/components/Settings/useUserAssignmentsPanelState.ts",
|
|
"frontend-modern/src/utils/organizationRolePresentation.ts",
|
|
"frontend-modern/src/utils/organizationSettingsPresentation.ts",
|
|
"frontend-modern/src/utils/orgUtils.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/orgs.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationAccessPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationOverviewPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/organizationRolePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/orgUtils.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "organization-transport-backend",
|
|
"label": "organization backend transport proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/org_handlers.go",
|
|
"internal/api/org_lifecycle_handlers.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/org_handlers_test.go",
|
|
"internal/api/org_lifecycle_handlers_test.go",
|
|
"internal/api/org_validation_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "patrol-intelligence",
|
|
"lane": "L6",
|
|
"contract": "docs/release-control/v6/internal/subsystems/patrol-intelligence.md",
|
|
"owned_prefixes": [],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/AI/FindingsPanel.tsx",
|
|
"frontend-modern/src/components/Brand/PulsePatrolLogo.tsx",
|
|
"frontend-modern/src/components/patrol/ApprovalBanner.tsx",
|
|
"frontend-modern/src/components/patrol/ApprovalSection.tsx",
|
|
"frontend-modern/src/components/patrol/CountdownTimer.tsx",
|
|
"frontend-modern/src/components/patrol/index.ts",
|
|
"frontend-modern/src/components/patrol/InvestigationMessages.tsx",
|
|
"frontend-modern/src/components/patrol/InvestigationSection.tsx",
|
|
"frontend-modern/src/components/patrol/PatrolStatusBar.tsx",
|
|
"frontend-modern/src/components/patrol/RemediationStatus.tsx",
|
|
"frontend-modern/src/components/patrol/RunHistoryEntry.tsx",
|
|
"frontend-modern/src/components/patrol/RunHistoryPanel.tsx",
|
|
"frontend-modern/src/components/patrol/RunToolCallTrace.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceBanners.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceHeader.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceSummary.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceWorkspace.tsx",
|
|
"frontend-modern/src/features/patrol/patrolInvestigationContextModel.ts",
|
|
"frontend-modern/src/features/patrol/usePatrolIntelligenceState.ts",
|
|
"frontend-modern/src/pages/AIIntelligence.tsx",
|
|
"frontend-modern/src/stores/aiIntelligence.ts",
|
|
"frontend-modern/src/stores/aiIntelligenceSummaryModel.ts",
|
|
"frontend-modern/src/types/aiIntelligence.ts",
|
|
"frontend-modern/src/utils/aiFindingPresentation.ts",
|
|
"frontend-modern/src/utils/aiPatrolSchedulePresentation.ts",
|
|
"frontend-modern/src/utils/aiQuickstartPresentation.ts",
|
|
"frontend-modern/src/utils/approvalRiskPresentation.ts",
|
|
"frontend-modern/src/utils/findingAlertIdentity.ts",
|
|
"frontend-modern/src/utils/patrolEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/patrolFormat.ts",
|
|
"frontend-modern/src/utils/patrolRunPresentation.ts",
|
|
"frontend-modern/src/utils/patrolSummaryPresentation.ts",
|
|
"frontend-modern/src/utils/remediationPresentation.ts"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts",
|
|
"frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx",
|
|
"frontend-modern/src/stores/__tests__/aiIntelligence.test.ts",
|
|
"frontend-modern/src/stores/__tests__/aiIntelligenceSummaryModel.test.ts"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "patrol-page-and-state",
|
|
"label": "patrol page and state proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Brand/PulsePatrolLogo.tsx",
|
|
"frontend-modern/src/components/patrol/index.ts",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceBanners.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceHeader.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceSummary.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx",
|
|
"frontend-modern/src/features/patrol/PatrolIntelligenceWorkspace.tsx",
|
|
"frontend-modern/src/features/patrol/patrolInvestigationContextModel.ts",
|
|
"frontend-modern/src/features/patrol/usePatrolIntelligenceState.ts",
|
|
"frontend-modern/src/pages/AIIntelligence.tsx",
|
|
"frontend-modern/src/stores/aiIntelligence.ts",
|
|
"frontend-modern/src/stores/aiIntelligenceSummaryModel.ts",
|
|
"frontend-modern/src/types/aiIntelligence.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Brand/__tests__/PulsePatrolLogo.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
|
"frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx",
|
|
"frontend-modern/src/stores/__tests__/aiIntelligence.test.ts",
|
|
"frontend-modern/src/stores/__tests__/aiIntelligenceSummaryModel.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"tests/integration/tests/18-patrol-runtime-state.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "patrol-header-presentation-helpers",
|
|
"label": "patrol header presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/aiPatrolSchedulePresentation.ts",
|
|
"frontend-modern/src/utils/aiQuickstartPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/aiPatrolSchedulePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/aiQuickstartPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "patrol-findings-and-approvals",
|
|
"label": "patrol findings and approvals proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/AI/FindingsPanel.tsx",
|
|
"frontend-modern/src/components/patrol/ApprovalBanner.tsx",
|
|
"frontend-modern/src/components/patrol/ApprovalSection.tsx",
|
|
"frontend-modern/src/components/patrol/InvestigationMessages.tsx",
|
|
"frontend-modern/src/components/patrol/InvestigationSection.tsx",
|
|
"frontend-modern/src/components/patrol/RemediationStatus.tsx",
|
|
"frontend-modern/src/utils/aiFindingPresentation.ts",
|
|
"frontend-modern/src/utils/approvalRiskPresentation.ts",
|
|
"frontend-modern/src/utils/findingAlertIdentity.ts",
|
|
"frontend-modern/src/utils/remediationPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts",
|
|
"frontend-modern/src/components/patrol/__tests__/ApprovalSection.test.tsx",
|
|
"frontend-modern/src/components/patrol/__tests__/InvestigationSection.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/approvalRiskPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/findingAlertIdentity.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/remediationPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "patrol-history-and-summary",
|
|
"label": "patrol history and summary proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/patrol/CountdownTimer.tsx",
|
|
"frontend-modern/src/components/patrol/PatrolStatusBar.tsx",
|
|
"frontend-modern/src/components/patrol/RunHistoryEntry.tsx",
|
|
"frontend-modern/src/components/patrol/RunHistoryPanel.tsx",
|
|
"frontend-modern/src/components/patrol/RunToolCallTrace.tsx",
|
|
"frontend-modern/src/utils/patrolEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/patrolFormat.ts",
|
|
"frontend-modern/src/utils/patrolRunPresentation.ts",
|
|
"frontend-modern/src/utils/patrolSummaryPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/patrol/__tests__/PatrolStatusBar.test.tsx",
|
|
"frontend-modern/src/components/patrol/__tests__/RunHistoryEntry.test.tsx",
|
|
"frontend-modern/src/components/patrol/__tests__/RunToolCallTrace.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/patrolEmptyStatePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/patrolFormat.test.ts",
|
|
"frontend-modern/src/utils/__tests__/patrolRunPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/patrolSummaryPresentation.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "performance-and-scalability",
|
|
"lane": "L10",
|
|
"contract": "docs/release-control/v6/internal/subsystems/performance-and-scalability.md",
|
|
"owned_prefixes": [
|
|
"pkg/metrics/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/Dashboard/Dashboard.tsx",
|
|
"frontend-modern/src/components/Dashboard/DashboardFilter.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardFilterModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardSelectionModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DashboardStateCards.tsx",
|
|
"frontend-modern/src/components/Dashboard/DashboardStatsStrip.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadFilterConfigModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadRouteModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadRouteStateModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DashboardWorkloadTable.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadUrlSyncModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DiskList.tsx",
|
|
"frontend-modern/src/components/Dashboard/diskListModel.ts",
|
|
"frontend-modern/src/components/Dashboard/EnhancedCPUBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/enhancedCpuBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/GuestDrawer.tsx",
|
|
"frontend-modern/src/components/Dashboard/guestDrawerModel.ts",
|
|
"frontend-modern/src/components/Dashboard/GuestDrawerOverview.tsx",
|
|
"frontend-modern/src/components/Dashboard/GuestRow.tsx",
|
|
"frontend-modern/src/components/Dashboard/GuestRowCells.tsx",
|
|
"frontend-modern/src/components/Dashboard/guestRowModel.tsx",
|
|
"frontend-modern/src/components/Dashboard/MetricBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/metricBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/StackedDiskBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/stackedDiskBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/StackedMemoryBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/stackedMemoryBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/ThresholdSlider.tsx",
|
|
"frontend-modern/src/components/Dashboard/thresholdSliderModel.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardControlsState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardFilterState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardGuestMetadataState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardSelectionState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadDerivedState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadFilterOptions.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadRouteState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadUrlSync.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadViewportSync.ts",
|
|
"frontend-modern/src/components/Dashboard/useDiskListState.ts",
|
|
"frontend-modern/src/components/Dashboard/useEnhancedCPUBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useGroupedTableWindowing.ts",
|
|
"frontend-modern/src/components/Dashboard/useGuestDrawerState.ts",
|
|
"frontend-modern/src/components/Dashboard/useGuestRowState.ts",
|
|
"frontend-modern/src/components/Dashboard/useMetricBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useStackedDiskBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useStackedMemoryBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useThresholdSliderState.ts",
|
|
"frontend-modern/src/components/Dashboard/WorkloadPanel.tsx",
|
|
"frontend-modern/src/components/Dashboard/workloadSelectors.ts",
|
|
"frontend-modern/src/components/Dashboard/WorkloadTableHeader.tsx",
|
|
"frontend-modern/src/components/Dashboard/workloadTopology.ts",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
|
|
"frontend-modern/src/components/Infrastructure/InfrastructureSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSummaryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceHostTableCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePBSTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePMGTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceServiceInfrastructureCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableStateModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableViewportSync.ts",
|
|
"frontend-modern/src/components/Workloads/WorkloadsSummary.tsx",
|
|
"frontend-modern/src/utils/thresholdSliderPresentation.ts",
|
|
"frontend-modern/src/utils/throughputPresentation.ts",
|
|
"internal/api/router_bench_test.go",
|
|
"internal/api/slo.go",
|
|
"internal/api/slo_bench_test.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Dashboard/__tests__/Dashboard.performance.contract.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/DashboardFilter.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardSelectionModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadFilterConfigModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadRouteModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadRouteStateModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadUrlSyncModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/DiskList.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/EnhancedCPUBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/StackedDiskBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardFilterState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardSelectionState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardWorkloadViewportSync.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useEnhancedCPUBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useGroupedTableWindowing.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useMetricBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useStackedDiskBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useStackedMemoryBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useThresholdSliderState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/MetricBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/StackedMemoryBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/ThresholdSlider.test.tsx",
|
|
"internal/api/router_bench_test.go",
|
|
"internal/api/slo_bench_test.go",
|
|
"pkg/metrics/store_bench_test.go",
|
|
"pkg/metrics/store_query_plan_test.go",
|
|
"pkg/metrics/store_slo_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "metrics-store-hot-paths",
|
|
"label": "metrics store hot-path proof",
|
|
"match_prefixes": [
|
|
"pkg/metrics/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pkg/metrics/store_additional_test.go",
|
|
"pkg/metrics/store_bench_test.go",
|
|
"pkg/metrics/store_query_plan_test.go",
|
|
"pkg/metrics/store_slo_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "dashboard-workload-hot-path",
|
|
"label": "dashboard workload selector proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Dashboard/Dashboard.tsx",
|
|
"frontend-modern/src/components/Dashboard/DashboardFilter.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardFilterModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardSelectionModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DashboardStateCards.tsx",
|
|
"frontend-modern/src/components/Dashboard/DashboardStatsStrip.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadFilterConfigModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadRouteModel.ts",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadRouteStateModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DashboardWorkloadTable.tsx",
|
|
"frontend-modern/src/components/Dashboard/dashboardWorkloadUrlSyncModel.ts",
|
|
"frontend-modern/src/components/Dashboard/DiskList.tsx",
|
|
"frontend-modern/src/components/Dashboard/diskListModel.ts",
|
|
"frontend-modern/src/components/Dashboard/EnhancedCPUBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/enhancedCpuBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/GuestDrawer.tsx",
|
|
"frontend-modern/src/components/Dashboard/guestDrawerModel.ts",
|
|
"frontend-modern/src/components/Dashboard/GuestDrawerOverview.tsx",
|
|
"frontend-modern/src/components/Dashboard/GuestRow.tsx",
|
|
"frontend-modern/src/components/Dashboard/GuestRowCells.tsx",
|
|
"frontend-modern/src/components/Dashboard/guestRowModel.tsx",
|
|
"frontend-modern/src/components/Dashboard/MetricBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/metricBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/StackedDiskBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/stackedDiskBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/StackedMemoryBar.tsx",
|
|
"frontend-modern/src/components/Dashboard/stackedMemoryBarModel.ts",
|
|
"frontend-modern/src/components/Dashboard/ThresholdSlider.tsx",
|
|
"frontend-modern/src/components/Dashboard/thresholdSliderModel.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardControlsState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardFilterState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardGuestMetadataState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardSelectionState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadDerivedState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadFilterOptions.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadRouteState.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadUrlSync.ts",
|
|
"frontend-modern/src/components/Dashboard/useDashboardWorkloadViewportSync.ts",
|
|
"frontend-modern/src/components/Dashboard/useDiskListState.ts",
|
|
"frontend-modern/src/components/Dashboard/useEnhancedCPUBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useGroupedTableWindowing.ts",
|
|
"frontend-modern/src/components/Dashboard/useGuestDrawerState.ts",
|
|
"frontend-modern/src/components/Dashboard/useGuestRowState.ts",
|
|
"frontend-modern/src/components/Dashboard/useMetricBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useStackedDiskBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useStackedMemoryBarState.ts",
|
|
"frontend-modern/src/components/Dashboard/useThresholdSliderState.ts",
|
|
"frontend-modern/src/components/Dashboard/WorkloadPanel.tsx",
|
|
"frontend-modern/src/components/Dashboard/workloadSelectors.ts",
|
|
"frontend-modern/src/components/Dashboard/WorkloadTableHeader.tsx",
|
|
"frontend-modern/src/components/Dashboard/workloadTopology.ts",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
|
|
"frontend-modern/src/components/Infrastructure/InfrastructureSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSummaryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceHostTableCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePBSTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePMGTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceServiceInfrastructureCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableStateModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableViewportSync.ts",
|
|
"frontend-modern/src/components/Workloads/WorkloadsSummary.tsx",
|
|
"frontend-modern/src/utils/thresholdSliderPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Dashboard/__tests__/Dashboard.performance.contract.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/DashboardFilter.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardSelectionModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadFilterConfigModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadRouteModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadRouteStateModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/dashboardWorkloadUrlSyncModel.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/DiskList.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/EnhancedCPUBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/GuestRow.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/StackedDiskBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardFilterState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardSelectionState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useDashboardWorkloadViewportSync.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useEnhancedCPUBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useGroupedTableWindowing.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useMetricBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useStackedDiskBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useStackedMemoryBarState.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/__tests__/useThresholdSliderState.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/workloadSelectors.test.ts",
|
|
"frontend-modern/src/components/Dashboard/__tests__/workloadTopology.test.ts",
|
|
"frontend-modern/src/components/Dashboard/GuestDrawer.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/MetricBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/StackedMemoryBar.test.tsx",
|
|
"frontend-modern/src/components/Dashboard/ThresholdSlider.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/infrastructureSummaryModel.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/UnifiedResourceTable.performance.contract.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/unifiedResourceTableStateModel.test.ts",
|
|
"frontend-modern/src/components/Workloads/WorkloadsSummary.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/thresholdSliderPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "throughput-presentation-helper",
|
|
"label": "throughput presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/throughputPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/throughputPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "api-history-slo",
|
|
"label": "API history SLO proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/slo.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/slo_bench_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "relay-runtime",
|
|
"lane": "L7",
|
|
"contract": "docs/release-control/v6/internal/subsystems/relay-runtime.md",
|
|
"owned_prefixes": [
|
|
"internal/relay/",
|
|
"pulse-mobile:src/relay/"
|
|
],
|
|
"owned_files": [
|
|
"internal/api/relay_mobile_capability.go",
|
|
"internal/config/persistence_relay.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": true,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/relay_mobile_capability_test.go",
|
|
"internal/config/persistence_relay_test.go",
|
|
"internal/relay/client_test.go",
|
|
"pulse-mobile:src/relay/__tests__/channel.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/client-hardening.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/client.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/encryption.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/identity.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/protocol-contract.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/protocol.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/proxy.test.ts"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "relay-client-runtime",
|
|
"label": "desktop relay runtime proof",
|
|
"match_prefixes": [
|
|
"internal/relay/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/relay/client_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "relay-config-persistence",
|
|
"label": "relay config persistence proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/config/persistence_relay.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/config/persistence_relay_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "relay-mobile-capability-boundary",
|
|
"label": "relay mobile capability boundary proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/api/relay_mobile_capability.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/api/relay_mobile_capability_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "mobile-relay-runtime",
|
|
"label": "mobile relay runtime proof",
|
|
"match_prefixes": [
|
|
"pulse-mobile:src/relay/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"pulse-mobile:src/relay/__tests__/channel.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/client-hardening.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/client.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/encryption.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/identity.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/protocol-contract.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/protocol.test.ts",
|
|
"pulse-mobile:src/relay/__tests__/proxy.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "security-privacy",
|
|
"lane": "L14",
|
|
"contract": "docs/release-control/v6/internal/subsystems/security-privacy.md",
|
|
"owned_prefixes": [],
|
|
"owned_files": [
|
|
"docs/PRIVACY.md",
|
|
"frontend-modern/src/api/security.ts",
|
|
"frontend-modern/src/components/Settings/APITokenManager.tsx",
|
|
"frontend-modern/src/components/Settings/apiTokenManagerModel.ts",
|
|
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/QuickSecuritySetup.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityAuthPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityPostureSummary.tsx",
|
|
"frontend-modern/src/components/Settings/SSOProviderTypeIcon.tsx",
|
|
"frontend-modern/src/components/Settings/useAPITokenManagerState.ts",
|
|
"frontend-modern/src/components/Settings/useSystemSettingsState.ts",
|
|
"frontend-modern/src/utils/apiTokenPresentation.ts",
|
|
"frontend-modern/src/utils/auditLogPresentation.ts",
|
|
"frontend-modern/src/utils/auditWebhookPresentation.ts",
|
|
"frontend-modern/src/utils/securityAuthPresentation.ts",
|
|
"frontend-modern/src/utils/securityScorePresentation.ts",
|
|
"internal/api/security.go",
|
|
"internal/api/security_tokens.go",
|
|
"internal/api/system_settings.go",
|
|
"internal/crypto/crypto.go",
|
|
"internal/securityutil/secure_storage_dir.go",
|
|
"internal/telemetry/telemetry.go",
|
|
"scripts/telemetry_adoption_report.py",
|
|
"SECURITY.md"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/security.test.ts",
|
|
"frontend-modern/src/components/Settings/__tests__/APITokenManager.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/SecurityPostureSummary.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
|
"frontend-modern/src/stores/__tests__/systemSettings.test.ts",
|
|
"internal/api/security_regression_test.go",
|
|
"internal/api/security_status_additional_test.go",
|
|
"internal/api/security_tokens_lifecycle_test.go",
|
|
"internal/api/security_tokens_owner_binding_test.go",
|
|
"internal/api/security_tokens_test.go",
|
|
"internal/api/system_settings_telemetry_test.go",
|
|
"internal/telemetry/telemetry_test.go",
|
|
"scripts/tests/test_telemetry_adoption_report.py"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "privacy-docs-and-telemetry",
|
|
"label": "privacy docs and telemetry proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"docs/PRIVACY.md",
|
|
"frontend-modern/src/components/Settings/useSystemSettingsState.ts",
|
|
"internal/telemetry/telemetry.go",
|
|
"scripts/telemetry_adoption_report.py",
|
|
"SECURITY.md"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/stores/__tests__/systemSettings.test.ts",
|
|
"internal/api/system_settings_telemetry_test.go",
|
|
"internal/telemetry/telemetry_test.go",
|
|
"scripts/tests/test_telemetry_adoption_report.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "security-settings-surfaces",
|
|
"label": "security settings surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/APITokenManager.tsx",
|
|
"frontend-modern/src/components/Settings/apiTokenManagerModel.ts",
|
|
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityAuthPanel.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
|
|
"frontend-modern/src/components/Settings/useAPITokenManagerState.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/APITokenManager.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/SecurityPostureSummary.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
|
"frontend-modern/src/stores/__tests__/systemSettings.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "security-settings-presentation-helpers",
|
|
"label": "security settings presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Settings/QuickSecuritySetup.tsx",
|
|
"frontend-modern/src/components/Settings/SecurityPostureSummary.tsx",
|
|
"frontend-modern/src/components/Settings/SSOProviderTypeIcon.tsx",
|
|
"frontend-modern/src/utils/auditLogPresentation.ts",
|
|
"frontend-modern/src/utils/auditWebhookPresentation.ts",
|
|
"frontend-modern/src/utils/securityAuthPresentation.ts",
|
|
"frontend-modern/src/utils/securityScorePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Settings/__tests__/SecurityPostureSummary.test.tsx",
|
|
"frontend-modern/src/components/Settings/__tests__/settingsReadOnlyPanels.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/auditLogPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/auditWebhookPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/securityAuthPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/securityScorePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "security-api-token-presentation-helper",
|
|
"label": "security API token presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/apiTokenPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/apiTokenPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "storage-directory-security",
|
|
"label": "storage directory hardening proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/crypto/crypto.go",
|
|
"internal/securityutil/secure_storage_dir.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/crypto/crypto_test.go",
|
|
"internal/securityutil/secure_storage_dir_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "security-api-surface",
|
|
"label": "security API surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/api/security.ts",
|
|
"internal/api/security.go",
|
|
"internal/api/security_tokens.go",
|
|
"internal/api/system_settings.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/api/__tests__/security.test.ts",
|
|
"internal/api/security_regression_test.go",
|
|
"internal/api/security_status_additional_test.go",
|
|
"internal/api/security_tokens_lifecycle_test.go",
|
|
"internal/api/security_tokens_owner_binding_test.go",
|
|
"internal/api/security_tokens_test.go",
|
|
"internal/api/system_settings_telemetry_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "storage-recovery",
|
|
"lane": "L15",
|
|
"contract": "docs/release-control/v6/internal/subsystems/storage-recovery.md",
|
|
"owned_prefixes": [
|
|
"frontend-modern/src/components/Recovery/",
|
|
"frontend-modern/src/components/Storage/",
|
|
"frontend-modern/src/features/recovery/",
|
|
"frontend-modern/src/features/storageBackups/",
|
|
"internal/recovery/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/Recovery/DashboardRecoveryStatusPanel.tsx",
|
|
"frontend-modern/src/components/Storage/DashboardStoragePanel.tsx",
|
|
"frontend-modern/src/features/dashboardOverview/dashboardWidgets.ts",
|
|
"frontend-modern/src/features/recovery/useRecoverySurfaceState.ts",
|
|
"frontend-modern/src/hooks/useDashboardRecovery.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPoints.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPointsFacets.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPointsSeries.ts",
|
|
"frontend-modern/src/hooks/useRecoveryRollups.ts",
|
|
"frontend-modern/src/pages/Dashboard.tsx",
|
|
"frontend-modern/src/pages/RecoveryRoute.tsx",
|
|
"frontend-modern/src/pages/Storage.tsx",
|
|
"frontend-modern/src/types/recovery.ts",
|
|
"frontend-modern/src/utils/dashboardRecoveryPresentation.ts",
|
|
"frontend-modern/src/utils/dashboardStoragePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryActionPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryArtifactModePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryDatePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryFilterChipPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryIssuePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryOutcomePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryRecordPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryStatusPresentation.ts",
|
|
"frontend-modern/src/utils/recoverySummaryPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTablePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTimelineChartPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTimelinePresentation.ts"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Recovery/__tests__/Recovery.test.tsx",
|
|
"frontend-modern/src/components/Recovery/RecoverySummary.test.tsx",
|
|
"frontend-modern/src/components/Storage/code_standards.test.ts",
|
|
"frontend-modern/src/pages/__tests__/RecoveryRoute.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/dashboardRecoveryPresentation.test.ts",
|
|
"internal/recovery/recovery_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "recovery-engine-runtime",
|
|
"label": "recovery engine runtime proof",
|
|
"match_prefixes": [
|
|
"internal/recovery/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/recovery/idgen/idgen_test.go",
|
|
"internal/recovery/manager/manager_test.go",
|
|
"internal/recovery/recovery_test.go",
|
|
"internal/recovery/store/store_queryplan_test.go",
|
|
"internal/recovery/store/store_rollups_test.go",
|
|
"internal/recovery/store/store_series_test.go",
|
|
"internal/recovery/store/store_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "dashboard-storage-recovery-surface",
|
|
"label": "dashboard storage and recovery surface proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/features/dashboardOverview/dashboardWidgets.ts",
|
|
"frontend-modern/src/pages/Dashboard.tsx"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/pages/__tests__/DashboardPage.test.tsx"
|
|
]
|
|
},
|
|
{
|
|
"id": "recovery-product-surface",
|
|
"label": "recovery product surface proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/components/Recovery/"
|
|
],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Recovery/DashboardRecoveryStatusPanel.tsx",
|
|
"frontend-modern/src/features/recovery/useRecoverySurfaceState.ts",
|
|
"frontend-modern/src/hooks/useDashboardRecovery.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPoints.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPointsFacets.ts",
|
|
"frontend-modern/src/hooks/useRecoveryPointsSeries.ts",
|
|
"frontend-modern/src/hooks/useRecoveryRollups.ts",
|
|
"frontend-modern/src/pages/RecoveryRoute.tsx",
|
|
"frontend-modern/src/types/recovery.ts",
|
|
"frontend-modern/src/utils/dashboardRecoveryPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryActionPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryArtifactModePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryDatePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryEmptyStatePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryFilterChipPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryIssuePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryOutcomePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryRecordPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryStatusPresentation.ts",
|
|
"frontend-modern/src/utils/recoverySummaryPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTablePresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTimelineChartPresentation.ts",
|
|
"frontend-modern/src/utils/recoveryTimelinePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Recovery/__tests__/Recovery.test.tsx",
|
|
"frontend-modern/src/components/Recovery/RecoverySummary.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/RecoveryRoute.test.tsx",
|
|
"frontend-modern/src/utils/__tests__/dashboardRecoveryPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"tests/integration/tests/17-recovery-layout.spec.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "storage-product-surface",
|
|
"label": "storage product surface proof",
|
|
"match_prefixes": [
|
|
"frontend-modern/src/components/Storage/",
|
|
"frontend-modern/src/features/storageBackups/"
|
|
],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Storage/DashboardStoragePanel.tsx",
|
|
"frontend-modern/src/pages/Storage.tsx",
|
|
"frontend-modern/src/utils/dashboardStoragePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Storage/__tests__/DashboardStoragePanel.test.tsx",
|
|
"frontend-modern/src/components/Storage/__tests__/DiskList.test.tsx",
|
|
"frontend-modern/src/components/Storage/__tests__/Storage.test.tsx",
|
|
"frontend-modern/src/components/Storage/__tests__/StorageControls.test.tsx",
|
|
"frontend-modern/src/components/Storage/__tests__/StorageGroupRow.test.tsx",
|
|
"frontend-modern/src/components/Storage/__tests__/StoragePoolDetail.test.tsx",
|
|
"frontend-modern/src/components/Storage/code_standards.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/resourceStorageMapping.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storageAdapters.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storageAlertState.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storageDomain.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storageModelCore.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storagePagePresentation.test.ts",
|
|
"frontend-modern/src/features/storageBackups/__tests__/storagePoolsTablePresentation.test.ts",
|
|
"frontend-modern/src/pages/__tests__/Storage.helpers.test.ts",
|
|
"frontend-modern/src/utils/__tests__/dashboardStoragePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "unified-resources",
|
|
"lane": "L13",
|
|
"contract": "docs/release-control/v6/internal/subsystems/unified-resources.md",
|
|
"owned_prefixes": [
|
|
"internal/unifiedresources/"
|
|
],
|
|
"owned_files": [
|
|
"frontend-modern/src/components/Discovery/DiscoveryTab.tsx",
|
|
"frontend-modern/src/components/Discovery/useDiscoveryTabState.ts",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
|
|
"frontend-modern/src/components/Infrastructure/InfrastructureSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSummaryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/resourceBadges.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourceCorrelationSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDiscoveryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerDebugTab.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerIdentityModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerOperationalModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerOverviewTab.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerServiceModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerSupportDisclosure.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceFacetSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourcePolicySummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceHostTableCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePBSTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePMGTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceServiceInfrastructureCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableStateModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerDerivedState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerDockerActionsState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerHistoryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableViewportSync.ts",
|
|
"frontend-modern/src/components/PMG/ServiceHealthBadge.tsx",
|
|
"frontend-modern/src/features/infrastructure/infrastructurePageModel.ts",
|
|
"frontend-modern/src/features/infrastructure/InfrastructurePageSurface.tsx",
|
|
"frontend-modern/src/features/infrastructure/useInfrastructurePageRouteState.ts",
|
|
"frontend-modern/src/features/infrastructure/useInfrastructurePageState.ts",
|
|
"frontend-modern/src/hooks/useDashboardTrends.ts",
|
|
"frontend-modern/src/hooks/useUnifiedResources.ts",
|
|
"frontend-modern/src/pages/Infrastructure.tsx",
|
|
"frontend-modern/src/routing/resourceLinks.ts",
|
|
"frontend-modern/src/types/resource.ts",
|
|
"frontend-modern/src/utils/agentResources.ts",
|
|
"frontend-modern/src/utils/canonicalResourceTypes.ts",
|
|
"frontend-modern/src/utils/resourceBadgePresentation.ts",
|
|
"frontend-modern/src/utils/resourceChangePresentation.ts",
|
|
"frontend-modern/src/utils/resourceCorrelationPresentation.ts",
|
|
"frontend-modern/src/utils/resourceIdentity.ts",
|
|
"frontend-modern/src/utils/resourcePlatformData.ts",
|
|
"frontend-modern/src/utils/resourcePolicyPresentation.ts",
|
|
"frontend-modern/src/utils/resourceStateAdapters.ts",
|
|
"frontend-modern/src/utils/resourceTypeCompat.ts",
|
|
"frontend-modern/src/utils/resourceTypePresentation.ts",
|
|
"frontend-modern/src/utils/serviceHealthPresentation.ts",
|
|
"frontend-modern/src/utils/sourceTypePresentation.ts",
|
|
"frontend-modern/src/utils/workloadTypePresentation.ts",
|
|
"internal/api/resources.go"
|
|
],
|
|
"verification": {
|
|
"allow_same_subsystem_tests": true,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/stores/__tests__/websocket-unified.test.ts",
|
|
"internal/unifiedresources/code_standards_test.go"
|
|
],
|
|
"require_explicit_path_policy_coverage": true,
|
|
"path_policies": [
|
|
{
|
|
"id": "identity-canonicalization",
|
|
"label": "canonical identity proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/resourceIdentity.ts",
|
|
"internal/unifiedresources/canonical_identity.go",
|
|
"internal/unifiedresources/identity.go",
|
|
"internal/unifiedresources/ids.go",
|
|
"internal/unifiedresources/legacy_aliases.go",
|
|
"internal/unifiedresources/physical_disk_ids.go",
|
|
"internal/unifiedresources/types.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/resourceIdentity.test.ts",
|
|
"internal/unifiedresources/canonical_identity_test.go",
|
|
"internal/unifiedresources/canonical_ids_types_test.go",
|
|
"internal/unifiedresources/code_standards_test.go",
|
|
"internal/unifiedresources/identity_test.go",
|
|
"internal/unifiedresources/ids_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "read-state-views",
|
|
"label": "read-state and adapter proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/unifiedresources/adapters.go",
|
|
"internal/unifiedresources/monitor_adapter.go",
|
|
"internal/unifiedresources/read_state.go",
|
|
"internal/unifiedresources/views.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/stores/__tests__/websocket-unified.test.ts",
|
|
"internal/unifiedresources/adapter_coverage_test.go",
|
|
"internal/unifiedresources/adapters_test.go",
|
|
"internal/unifiedresources/monitor_adapter_read_state_test.go",
|
|
"internal/unifiedresources/views_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-consumers",
|
|
"label": "unified resource consumer proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Discovery/DiscoveryTab.tsx",
|
|
"frontend-modern/src/components/Discovery/useDiscoveryTabState.ts",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
|
|
"frontend-modern/src/components/Infrastructure/InfrastructureSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/infrastructureSummaryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourceCorrelationSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDiscoveryModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawer.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerDebugTab.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerIdentityModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerOperationalModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerOverviewTab.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailDrawerServiceModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceDetailDrawerSupportDisclosure.tsx",
|
|
"frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
|
|
"frontend-modern/src/components/Infrastructure/ResourceFacetSummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/ResourcePolicySummary.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceHostTableCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePBSTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourcePMGTableSection.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceServiceInfrastructureCard.tsx",
|
|
"frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/unifiedResourceTableStateModel.ts",
|
|
"frontend-modern/src/components/Infrastructure/useInfrastructureSummaryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerDerivedState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerDockerActionsState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerHistoryState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useResourceDetailDrawerState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableState.ts",
|
|
"frontend-modern/src/components/Infrastructure/useUnifiedResourceTableViewportSync.ts",
|
|
"frontend-modern/src/features/infrastructure/infrastructurePageModel.ts",
|
|
"frontend-modern/src/features/infrastructure/InfrastructurePageSurface.tsx",
|
|
"frontend-modern/src/features/infrastructure/useInfrastructurePageRouteState.ts",
|
|
"frontend-modern/src/features/infrastructure/useInfrastructurePageState.ts",
|
|
"frontend-modern/src/hooks/useDashboardTrends.ts",
|
|
"frontend-modern/src/hooks/useUnifiedResources.ts",
|
|
"frontend-modern/src/pages/Infrastructure.tsx",
|
|
"frontend-modern/src/routing/resourceLinks.ts",
|
|
"frontend-modern/src/types/resource.ts",
|
|
"frontend-modern/src/utils/resourceIdentity.ts",
|
|
"internal/api/resources.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Infrastructure/__tests__/infrastructureSelectors.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/infrastructureSummaryModel.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourceChangeSummary.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourceCorrelationSummary.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.discovery.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.history.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/resourceDetailDrawerIdentityModel.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/resourceDetailDrawerOperationalModel.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/resourceDetailMappers.test.ts",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/ResourcePolicySummary.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/UnifiedResourceTable.performance.contract.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/UnifiedResourceTable.workloads-link.test.tsx",
|
|
"frontend-modern/src/components/Infrastructure/__tests__/unifiedResourceTableStateModel.test.ts",
|
|
"frontend-modern/src/features/infrastructure/__tests__/infrastructurePageModel.test.ts",
|
|
"frontend-modern/src/features/infrastructure/__tests__/InfrastructurePageSurface.guardrails.test.ts",
|
|
"frontend-modern/src/hooks/__tests__/useDashboardTrends.test.ts",
|
|
"frontend-modern/src/hooks/__tests__/useUnifiedResources.test.ts",
|
|
"frontend-modern/src/pages/__tests__/Infrastructure.empty-state.test.tsx",
|
|
"frontend-modern/src/pages/__tests__/Infrastructure.pbs-pmg.test.tsx",
|
|
"frontend-modern/src/routing/__tests__/resourceLinks.test.ts",
|
|
"frontend-modern/src/stores/__tests__/websocket-unified.test.ts",
|
|
"frontend-modern/src/types/__tests__/resource.test.ts",
|
|
"internal/unifiedresources/code_standards_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-change-presentation-helper",
|
|
"label": "resource change presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/resourceChangePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/resourceChangePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-runtime-adapter-helpers",
|
|
"label": "resource runtime adapter helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/agentResources.ts",
|
|
"frontend-modern/src/utils/resourcePlatformData.ts",
|
|
"frontend-modern/src/utils/resourceStateAdapters.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/agentResources.test.ts",
|
|
"frontend-modern/src/utils/__tests__/resourcePlatformData.test.ts",
|
|
"frontend-modern/src/utils/__tests__/resourceStateAdapters.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-type-badge-presentation-helpers",
|
|
"label": "resource type, badge, and service-health presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/components/Infrastructure/resourceBadges.ts",
|
|
"frontend-modern/src/components/PMG/ServiceHealthBadge.tsx",
|
|
"frontend-modern/src/utils/canonicalResourceTypes.ts",
|
|
"frontend-modern/src/utils/resourceBadgePresentation.ts",
|
|
"frontend-modern/src/utils/resourceTypeCompat.ts",
|
|
"frontend-modern/src/utils/resourceTypePresentation.ts",
|
|
"frontend-modern/src/utils/serviceHealthPresentation.ts",
|
|
"frontend-modern/src/utils/sourceTypePresentation.ts",
|
|
"frontend-modern/src/utils/workloadTypePresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/components/Infrastructure/__tests__/resourceBadges.test.ts",
|
|
"frontend-modern/src/utils/__tests__/canonicalResourceTypes.test.ts",
|
|
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
|
"frontend-modern/src/utils/__tests__/resourceBadgePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/resourceTypeCompat.test.ts",
|
|
"frontend-modern/src/utils/__tests__/resourceTypePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/serviceHealthPresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/sourceTypePresentation.test.ts",
|
|
"frontend-modern/src/utils/__tests__/workloadTypePresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-correlation-presentation-helper",
|
|
"label": "resource correlation presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/resourceCorrelationPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/resourceCorrelationPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "resource-policy-presentation-helper",
|
|
"label": "resource policy presentation helper proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"frontend-modern/src/utils/resourcePolicyPresentation.ts"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"frontend-modern/src/utils/__tests__/resourcePolicyPresentation.test.ts"
|
|
]
|
|
},
|
|
{
|
|
"id": "metrics-target-runtime",
|
|
"label": "unified resource metrics target proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/unifiedresources/metrics.go",
|
|
"internal/unifiedresources/metrics_targets.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/unifiedresources/metrics_targets_test.go",
|
|
"internal/unifiedresources/metrics_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "platform-registry-runtime",
|
|
"label": "unified resource platform registry proof",
|
|
"match_prefixes": [],
|
|
"match_files": [
|
|
"internal/unifiedresources/kubernetes_capabilities.go",
|
|
"internal/unifiedresources/pbs_rollups.go",
|
|
"internal/unifiedresources/registry.go",
|
|
"internal/unifiedresources/resolve.go",
|
|
"internal/unifiedresources/resolved_host_set.go",
|
|
"internal/unifiedresources/snapshot_source_filter.go",
|
|
"internal/unifiedresources/store.go"
|
|
],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/unifiedresources/kubernetes_registry_test.go",
|
|
"internal/unifiedresources/pbs_pmg_registry_test.go",
|
|
"internal/unifiedresources/registry_merge_policy_test.go",
|
|
"internal/unifiedresources/registry_test.go",
|
|
"internal/unifiedresources/resolve_test.go",
|
|
"internal/unifiedresources/resolved_host_set_test.go",
|
|
"internal/unifiedresources/snapshot_source_filter_test.go",
|
|
"internal/unifiedresources/store_test.go"
|
|
]
|
|
},
|
|
{
|
|
"id": "unified-resource-runtime-support",
|
|
"label": "unified resource runtime support proof",
|
|
"match_prefixes": [
|
|
"internal/unifiedresources/"
|
|
],
|
|
"match_files": [],
|
|
"allow_same_subsystem_tests": false,
|
|
"test_prefixes": [],
|
|
"exact_files": [
|
|
"internal/unifiedresources/code_standards_test.go",
|
|
"internal/unifiedresources/kubernetes_registry_test.go",
|
|
"internal/unifiedresources/metrics_targets_test.go",
|
|
"internal/unifiedresources/metrics_test.go",
|
|
"internal/unifiedresources/pbs_pmg_registry_test.go",
|
|
"internal/unifiedresources/registry_merge_policy_test.go",
|
|
"internal/unifiedresources/registry_test.go",
|
|
"internal/unifiedresources/resolve_test.go",
|
|
"internal/unifiedresources/resolved_host_set_test.go",
|
|
"internal/unifiedresources/snapshot_source_filter_test.go",
|
|
"internal/unifiedresources/store_test.go"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|