Pulse/docs/release-control/v6/internal/status.json
2026-03-25 22:27:35 +00:00

3707 lines
118 KiB
JSON

{
"version": "6.0",
"updated_at": "2026-03-20",
"scope": {
"active_repos": [
"pulse",
"pulse-enterprise",
"pulse-mobile",
"pulse-pro"
],
"control_plane_repo": "pulse",
"ignored_repos": [
"pulse-5.1.x",
"pulse-refactor-streams"
],
"repo_catalog": [
{
"id": "pulse",
"purpose": "Core desktop/runtime repo and canonical Pulse v6 release-control authority.",
"visibility": "public"
},
{
"id": "pulse-enterprise",
"purpose": "Closed-source enterprise and paid runtime features that should not ship as open-source surfaces.",
"visibility": "private"
},
{
"id": "pulse-mobile",
"purpose": "Mobile client, mobile relay flows, approval UX, and device-local auth/state handling.",
"visibility": "private"
},
{
"id": "pulse-pro",
"purpose": "Financial, operational, checkout, license-server, and relay-server surfaces that back commercial flows.",
"visibility": "private"
}
]
},
"source_precedence": [
"docs/release-control/v6/internal/SOURCE_OF_TRUTH.md",
"docs/release-control/v6/internal/status.json",
"docs/release-control/v6/status.schema.json",
"docs/release-control/v6/internal/CANONICAL_DEVELOPMENT_PROTOCOL.md",
"docs/release-control/v6/internal/subsystems/registry.json",
"docs/release-control/v6/internal/subsystems/registry.schema.json"
],
"execution_model": "direct-repo-sessions",
"readiness": {
"repo_ready_rule": "all lanes target-met and evidence-present plus all repo-ready assertions passed",
"rc_ready_rule": "repo_ready plus all rc-ready assertions passed plus zero rc-ready open_decisions plus all rc-ready release_gates passed",
"release_ready_rule": "rc_ready plus all release-ready assertions passed plus zero release-ready open_decisions plus all release-ready release_gates passed"
},
"readiness_assertions": [
{
"id": "RA1",
"summary": "Governed surfaces that should use the unified resource model do not keep shipping on legacy equivalents.",
"kind": "invariant",
"blocking_level": "repo-ready",
"proof_type": "automated",
"lane_ids": [
"L6",
"L13"
],
"subsystem_ids": [
"api-contracts",
"unified-resources"
],
"release_gate_ids": [],
"proof_commands": [
{
"id": "ra1-unified-resource-guardrails",
"run": [
"go",
"test",
"./internal/unifiedresources",
"-run",
"TestNoDirectStateAccessForMigratedResources|TestNoLegacyHostResourceTypeSymbol|TestNoLegacyMigrationHintsInRuntimeCode|TestV6AgentRegistrationArtifactsStayCanonical|TestV6BroadLegacyAliasCoverage|TestV6ReleaseFacingAPITestsCoverLegacyHostRejection|TestV6DirectHostAliasValidatorCoverage",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/__tests__/UnifiedResourceTable.workloads-link.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/hooks/__tests__/useUnifiedResources.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/unifiedresources/code_standards_test.go",
"kind": "file"
}
]
},
{
"id": "RA2",
"summary": "New users can complete Pulse Pro Relay signup through paid activation without manual operator intervention or ambiguous provisioning steps.",
"kind": "journey",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L2",
"L3",
"L8",
"L12"
],
"subsystem_ids": [
"cloud-paid",
"frontend-primitives"
],
"release_gate_ids": [
"hosted-signup-billing-replay"
],
"proof_commands": [
{
"id": "hosted-signup-api-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestHostedLifecycle|TestHostedSignupSuccess|TestHostedSignupValidationFailures|TestHostedSignupHostedModeGate|TestHostedSignupRateLimit|TestHostedSignupRateLimit_NoProvisioningSideEffects|TestHostedSignupCleanupOnRBACFailure|TestHostedSignupFailsClosedWithoutPublicURL",
"-count=1"
]
},
{
"id": "hosted-signup-provisioner-tests",
"run": [
"go",
"test",
"./internal/hosted",
"-run",
"TestProvisionTenantSuccess|TestProvisionTenantIdempotentDuplicateEmail|TestProvisionTenantIdempotentDuplicateEmailCaseInsensitive|TestProvisionTenantValidationFailures|TestProvisionTenantPartialFailureRollback|TestProvisionHostedSignupSuccess",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-production-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-production-fixed-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/BillingAdminPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/hosted_lifecycle_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/hosted_signup_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/hosted/provisioner_test.go",
"kind": "file"
}
]
},
{
"id": "RA3",
"summary": "After first successful entitlement activation, Pulse preserves paid state across supported sessions and upgrades without repeated license entry.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L3",
"L5",
"L8"
],
"subsystem_ids": [
"cloud-paid",
"frontend-primitives"
],
"release_gate_ids": [
"paid-feature-entitlement-gating",
"upgrade-state-and-entitlement-preservation"
],
"proof_commands": [
{
"id": "entitlement-gating-api-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestHandleActivateLicense_ExchangesLegacyJWTInStrictV6|TestHandleActivateLicense_ClearsCommercialMigrationStateOnNativeActivation|TestHandleActivateLicense_ActivationKeyClearsStaleLegacyPersistence|TestGetTenantComponents_AutoExchangesPersistedLegacyJWT|TestGetTenantComponents_SkipsExchange_WhenActivationStateExists|TestGetTenantComponents_PersistsCommercialMigrationState_WhenAutoExchangeFails|TestRequireLicenseFeature_HostedEntitlementsBlockMissingFeature|TestRequireLicenseFeature_HostedEntitlementsAllowGrantedFeature|TestLicenseGatedEmptyResponse_HostedEntitlementsReturnEmptyArrayWhenLocked",
"-count=1"
]
},
{
"id": "upgrade-state-migration-tests",
"run": [
"go",
"test",
"./tests/migration",
"-run",
"TestV5PaidLicenseUpgrade_CommercialMigrationFailureMatrix|TestV5PaidLicenseUpgrade_RealLicenseServerExchange|TestV5DataDir_CSRFLegacyMapFormat|TestV5DataDir_CSRFTokenFileContinuity|TestV5DataDir_SessionLegacyMapFormat|TestV5DataDir_SessionTokenContinuity|TestV5DowngradeSafety|TestV5FullUpgradeScenario",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/upgrade-state-and-entitlement-preservation-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/license_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/licensing_handlers_auto_migrate_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_commercial_migration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_real_exchange_upgrade_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_session_db_test.go",
"kind": "file"
}
]
},
{
"id": "RA4",
"summary": "Typical end users cannot trivially unlock Pulse Pro features by stripping client-only checks while server and hosted entitlements still deny access.",
"kind": "trust-gate",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L2",
"L3",
"L6",
"L9",
"L12"
],
"subsystem_ids": [
"api-contracts",
"cloud-paid"
],
"release_gate_ids": [
"paid-feature-entitlement-gating"
],
"proof_commands": [
{
"id": "entitlement-gating-api-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestHandleActivateLicense_ExchangesLegacyJWTInStrictV6|TestHandleActivateLicense_ClearsCommercialMigrationStateOnNativeActivation|TestHandleActivateLicense_ActivationKeyClearsStaleLegacyPersistence|TestGetTenantComponents_AutoExchangesPersistedLegacyJWT|TestGetTenantComponents_SkipsExchange_WhenActivationStateExists|TestGetTenantComponents_PersistsCommercialMigrationState_WhenAutoExchangeFails|TestRequireLicenseFeature_HostedEntitlementsBlockMissingFeature|TestRequireLicenseFeature_HostedEntitlementsAllowGrantedFeature|TestLicenseGatedEmptyResponse_HostedEntitlementsReturnEmptyArrayWhenLocked",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/license_handlers_test.go",
"kind": "file"
}
]
},
{
"id": "RA5",
"summary": "Non-paid users do not see paid-only navigation or pages unless the surface is explicitly promotional.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L2",
"L3",
"L8",
"L9",
"L12"
],
"subsystem_ids": [
"cloud-paid",
"frontend-primitives"
],
"release_gate_ids": [
"paid-feature-entitlement-gating"
],
"proof_commands": [
{
"id": "frontend-paid-surface-visibility-tests",
"cwd": "frontend-modern",
"run": [
"npm",
"test",
"--",
"--run",
"src/components/Dashboard/__tests__/RelayOnboardingCard.test.tsx",
"src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"src/components/Settings/__tests__/settingsNavigation.integration.test.tsx",
"src/pages/__tests__/AIIntelligence.test.tsx"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Dashboard/__tests__/RelayOnboardingCard.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/settingsNavigation.integration.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx",
"kind": "file"
}
]
},
{
"id": "RA6",
"summary": "Supported upgrades preserve core state, entitlements, and first-session continuity without manual repair steps.",
"kind": "journey",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L3",
"L5",
"L8"
],
"subsystem_ids": [
"cloud-paid",
"frontend-primitives"
],
"release_gate_ids": [
"upgrade-state-and-entitlement-preservation"
],
"proof_commands": [
{
"id": "csrf-state-migration-api-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestCSRFTokenStore_Load_CurrentFormat_SkipsNilAndExpired|TestCSRFTokenStore_Load_MigratesLegacyFormat",
"-count=1"
]
},
{
"id": "upgrade-state-migration-tests",
"run": [
"go",
"test",
"./tests/migration",
"-run",
"TestV5PaidLicenseUpgrade_CommercialMigrationFailureMatrix|TestV5PaidLicenseUpgrade_RealLicenseServerExchange|TestV5DataDir_CSRFLegacyMapFormat|TestV5DataDir_CSRFTokenFileContinuity|TestV5DataDir_SessionLegacyMapFormat|TestV5DataDir_SessionTokenContinuity|TestV5DowngradeSafety|TestV5FullUpgradeScenario",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/upgrade-state-and-entitlement-preservation-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/csrf_store_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/licensing_handlers_auto_migrate_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/11-first-session.spec.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_full_upgrade_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_real_exchange_upgrade_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_session_db_test.go",
"kind": "file"
}
]
},
{
"id": "RA7",
"summary": "Monitored-system allocation stays coherent across enforcement, entitlements, and UI: counted top-level monitored systems are collection-path agnostic, capped limits stay canonical, and users see the same monitored-system usage that the runtime enforces.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L2",
"L3",
"L6",
"L8",
"L12",
"L16"
],
"subsystem_ids": [
"api-contracts",
"cloud-paid",
"frontend-primitives"
],
"release_gate_ids": [
"paid-feature-entitlement-gating"
],
"proof_commands": [
{
"id": "monitored-system-allocation-backend-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestMonitoredSystemCountNilMonitor|TestLegacyConnectionCountsFromReadState|TestLegacyConnectionCountsUsesSnapshotFallback|TestDeployReservedCount|TestUnifiedAgentHandlers_HandleReport_EnforcesMaxMonitoredSystemsForNewHostsOnly|TestHandleAddNode_BlocksNewCountedSystemAtLimit|TestHandleAutoRegister_BlocksNewCountedSystemAtLimit|TestDockerAgentHandlers_HandleReport_BlocksNewMonitoredSystemAtLimit|TestKubernetesAgentHandlers_HandleReport_BlocksNewMonitoredSystemAtLimit|TestTrueNASHandlers_HandleAdd_BlocksNewCountedSystemAtLimit|TestBuildEntitlementPayloadWithUsage_CurrentValues",
"-count=1"
]
},
{
"cwd": "frontend-modern",
"id": "monitored-system-allocation-frontend-tests",
"run": [
"npm",
"test",
"--",
"--run",
"src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
"src/components/shared/__tests__/MonitoredSystemLimitWarningBanner.test.tsx"
]
},
{
"id": "monitored-system-allocation-limit-contract-tests",
"run": [
"go",
"test",
"./pkg/licensing",
"-run",
"TestExceedsMonitoredSystemLimit|TestInstalledUnifiedAgentCount|TestLimitsForCloudPlan_KnownPlans|TestLimitsForCloudPlan_UnknownPlanFailsClosed",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/shared/__tests__/MonitoredSystemLimitWarningBanner.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/config_handlers_add_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/config_handlers_auto_register_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/docker_agents_additional_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/entitlement_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/kubernetes_agents_additional_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/monitored_system_limit_enforcement_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/truenas_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/unified_agent_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "pkg/licensing/features_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "pkg/licensing/monitored_system_limit_test.go",
"kind": "file"
}
]
},
{
"id": "RA8",
"summary": "Stable or GA promotion happens only after an exercised RC, live release-pipeline proof, a recorded rollback target, and a written v5 maintenance-only support policy.",
"kind": "trust-gate",
"blocking_level": "release-ready",
"proof_type": "hybrid",
"lane_ids": [
"L1",
"L9",
"L11",
"L12"
],
"subsystem_ids": [],
"release_gate_ids": [
"rc-to-ga-promotion-readiness"
],
"proof_commands": [
{
"id": "release-promotion-policy-tests",
"run": [
"python3",
"scripts/release_control/release_promotion_policy_test.py"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": ".github/workflows/release-dry-run.yml",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/PRE_RELEASE_CHECKLIST.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/RC_TO_GA_REHEARSAL_TEMPLATE.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/rc-to-ga-promotion-readiness-blocked-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/RELEASE_PROMOTION_POLICY.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V5_MAINTENANCE_SUPPORT_POLICY.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/release_promotion_policy_test.py",
"kind": "file"
}
]
},
{
"id": "RA9",
"summary": "A real v5-installed Pulse Unified Agent upgrades through v6 release assets into one canonical v6 agent identity, preserves one-shot update continuity metadata, keeps legacy persisted host-agent token scopes valid at the v6 canonical agent endpoints, and does not drift agent-count or fallback behavior during the crossover.",
"kind": "journey",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L11",
"L12",
"L16"
],
"subsystem_ids": [
"agent-lifecycle"
],
"release_gate_ids": [
"unified-agent-v5-upgrade-continuity"
],
"proof_commands": [
{
"id": "unified-agent-first-report-continuity-tests",
"run": [
"go",
"test",
"./internal/hostagent",
"-run",
"TestNew_CarriesUpdatedFromIntoFirstV6Report|TestAgentSendReport_SetsHeadersAndPostsJSON",
"-count=1"
]
},
{
"id": "unified-agent-install-fallback-tests",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestDownloadUnifiedInstallScript|TestDownloadUnifiedInstallScriptPS|TestProxyInstallScriptFromGitHub|TestContract_InstallScriptReleaseAssetURL|TestDownloadUnifiedAgent|TestUnifiedAgentHandlers_LegacyV5ReportUpgradesToSingleCanonicalUnifiedAgent|TestUnifiedAgentEndpointsAcceptLegacyUnifiedAgentReportScopeAlias|TestNormalizeRequestedScopesCanonicalizesLegacyUnifiedAgentAliases|TestContract_APITokenScopeAliasNormalization",
"-count=1"
]
},
{
"id": "unified-agent-update-handoff-tests",
"run": [
"go",
"test",
"./internal/agentupdate",
"-run",
"TestCheckAndUpdateToFirstHostReportCarriesPreviousVersionOnce|TestUpdateToFirstHostReportCarriesPreviousVersionOnce|TestPerformUpdatePersistsPreviousVersionForNextStart",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/unified-agent-v5-upgrade-continuity-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/agentupdate/coverage_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/agentupdate/update_hostagent_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_regression_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_tokens_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/unified_agent_more_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/unified_agent_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/unified_agent_upgrade_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/config/api_tokens_coverage_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/hostagent/agent_new_test.go",
"kind": "file"
}
]
},
{
"id": "RA10",
"summary": "Active Pulse v6 guidance reflects the current governed behavior of the codebase, and legacy or historical documentation does not remain part of the active v6 guidance surface.",
"kind": "invariant",
"blocking_level": "release-ready",
"proof_type": "hybrid",
"lane_ids": [
"L9"
],
"subsystem_ids": [],
"release_gate_ids": [
"documentation-currentness-and-legacy-cleanup"
],
"proof_commands": [
{
"id": "documentation-currentness-tests",
"run": [
"python3",
"scripts/release_control/documentation_currentness_test.py"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/control_plane.json",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/internal/CONTROL_PLANE.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/CANONICAL_DEVELOPMENT_PROTOCOL.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/documentation-currentness-and-legacy-cleanup-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/SOURCE_OF_TRUTH.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/status.json",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/README.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/documentation_currentness_test.py",
"kind": "file"
}
]
},
{
"id": "RA11",
"summary": "Pulse Hosted works as a real offered v6 tier: customers can sign up or sign in to a hosted tenant, enter a working hosted runtime, and use hosted billing/admin surfaces without self-hosted fallback paths or broken post-provisioning behavior.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L3",
"L4",
"L12"
],
"subsystem_ids": [
"cloud-paid"
],
"release_gate_ids": [
"cloud-hosted-tier-runtime-readiness"
],
"proof_commands": [
{
"id": "cloud-hosted-tier-runtime-api",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestHostedLifecycle|TestHostedOrgAdminHandlers|TestHostedSignupSuccess|TestHostedSignupValidationFailures|TestHostedSignupHostedModeGate|TestHostedSignupRateLimit|TestHostedSignupRateLimit_NoProvisioningSideEffects|TestHostedSignupCleanupOnRBACFailure|TestHostedSignupFailsClosedWithoutPublicURL|TestStripeWebhook_",
"-count=1"
]
},
{
"id": "cloud-hosted-tier-runtime-frontend",
"run": [
"npx",
"vitest",
"run",
"src/pages/__tests__/HostedSignup.test.tsx",
"src/components/Settings/__tests__/BillingAdminPanel.test.tsx",
"src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx"
],
"cwd": "frontend-modern"
},
{
"id": "cloud-hosted-tier-runtime-go",
"run": [
"go",
"test",
"./internal/cloudcp/...",
"./internal/hosted/...",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-fixed-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-followup-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/BillingAdminPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/pages/__tests__/HostedSignup.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/hosted_lifecycle_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/hosted_org_admin_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/hosted_signup_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/stripe/cloud_lifecycle_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/hosted/provisioner_test.go",
"kind": "file"
}
]
},
{
"id": "RA12",
"summary": "Multi-tenant Pulse is sound: tenant isolation, organization membership, RBAC scope, tenant-scoped runtime state, sharing, and migration all fail closed outside the intended tenant boundary instead of partially behaving like a single-tenant system.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L4",
"L6",
"L12",
"L13",
"L14"
],
"subsystem_ids": [
"api-contracts",
"monitoring",
"organization-settings"
],
"release_gate_ids": [
"multi-tenant-runtime-isolation-and-coherence"
],
"proof_commands": [
{
"id": "multi-tenant-runtime-api",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestOrgHandlers|TestMultiTenant|TestResourceHandlers_NonDefaultOrg|TestSetMultiTenantMonitor_WiresHandlers|TestMultiTenantStateProvider|TestMultiTenantAPITokenRemainsScopedToIssuingOrg",
"-count=1"
]
},
{
"id": "multi-tenant-runtime-frontend",
"run": [
"npx",
"vitest",
"run",
"src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"src/utils/__tests__/rbacPermissions.test.ts",
"src/utils/__tests__/rbacPresentation.test.ts",
"src/utils/__tests__/organizationRolePresentation.test.ts",
"src/utils/__tests__/organizationSettingsPresentation.test.ts"
],
"cwd": "frontend-modern"
},
{
"id": "multi-tenant-runtime-migration",
"run": [
"go",
"test",
"./tests/migration",
"-run",
"TestV5DataDir_MultiTenantMigration",
"-count=1"
]
},
{
"id": "multi-tenant-runtime-monitoring",
"run": [
"go",
"test",
"./internal/monitoring",
"-run",
"TestMultiTenantMonitor",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/multi-tenant-runtime-isolation-and-coherence-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/organization-settings.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationRolePresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/rbacPermissions.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/rbacPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/api_token_org_scope_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/org_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/rbac_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/resources_tenant_security_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/router_helpers_more_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/monitoring/multi_tenant_monitor_additional_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/03-multi-tenant.spec.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_to_v6_test.go",
"kind": "file"
}
]
},
{
"id": "RA13",
"summary": "MSP support works as a real v6 product mode: one provider account can onboard, view, and manage multiple client tenants from one control surface with canonical MSP plan handling and without cross-client leakage, scope confusion, or per-client operational drift.",
"kind": "journey",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L3",
"L4",
"L12"
],
"subsystem_ids": [
"cloud-paid"
],
"release_gate_ids": [
"msp-provider-tenant-management"
],
"proof_commands": [
{
"id": "msp-account-and-registry-tests",
"run": [
"go",
"test",
"./internal/cloudcp/account",
"./internal/cloudcp/registry",
"-count=1"
]
},
{
"id": "msp-frontend-tests",
"run": [
"npx",
"vitest",
"run",
"src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
"src/pages/__tests__/CloudPricing.test.tsx"
],
"cwd": "frontend-modern"
},
{
"id": "msp-lifecycle-tests",
"run": [
"go",
"test",
"./internal/cloudcp/stripe",
"-run",
"TestMSPLifecycle_AccountToPortal",
"-count=1"
]
},
{
"id": "msp-plan-guardrails",
"run": [
"go",
"test",
"./internal/cloudcp",
"./pkg/licensing",
"-run",
"TestPublicCloudSignupCheckoutMetadataRejectsMSPPlanForPublicSignup|TestMSPPlanAliasCanonicalizationContract",
"-count=1"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-fixed-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-followup-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationBillingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/pages/__tests__/CloudPricing.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/account/handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/public_cloud_signup_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/registry/registry_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/stripe/msp_lifecycle_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "pkg/licensing/grant_claims_contract_test.go",
"kind": "file"
}
]
},
{
"id": "RA14",
"summary": "API tokens remain least-privilege and correctly scoped: every token stays bound to its intended user, org, and scope, cannot silently widen authority through legacy alias handling, and stops working when revoked.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L1",
"L6",
"L11",
"L14",
"L16"
],
"subsystem_ids": [
"agent-lifecycle",
"api-contracts",
"security-privacy"
],
"release_gate_ids": [
"api-token-scope-and-assignment"
],
"proof_commands": [
{
"id": "api-token-scope-backend",
"run": [
"go",
"test",
"./internal/api",
"-run",
"Test(APIToken|SecurityTokens|SystemSettings|MultiTenant)|TestNormalizeRequestedScopesCanonicalizesLegacyUnifiedAgentAliases|TestUnifiedAgentEndpointsRequireAgentReportScope|TestUnifiedAgentEndpointsAcceptLegacyUnifiedAgentReportScopeAlias|TestMultiTenantAPITokenRemainsScopedToIssuingOrg|TestContract_APITokenScopeAliasNormalization",
"-count=1"
]
},
{
"id": "api-token-scope-frontend",
"run": [
"npx",
"vitest",
"run",
"src/components/Settings/__tests__/APITokenManager.test.tsx",
"src/utils/__tests__/apiClient.org.test.ts",
"src/utils/__tests__/apiTokenPresentation.test.ts"
],
"cwd": "frontend-modern"
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/api-token-scope-and-assignment-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/security-privacy.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/__tests__/security.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/APITokenManager.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/apiClient.org.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/apiTokenPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/api_token_org_scope_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/contract_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_regression_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_status_additional_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_tokens_owner_binding_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_tokens_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/system_settings_telemetry_test.go",
"kind": "file"
}
]
},
{
"id": "RA15",
"summary": "Assigned user privileges fail closed: a user cannot view, mutate, or destroy anything beyond the permissions granted by their effective organization membership and role, including cross-org and destructive paths.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L4",
"L6",
"L12",
"L14"
],
"subsystem_ids": [
"api-contracts",
"organization-settings"
],
"release_gate_ids": [
"organization-user-scope-and-rbac"
],
"proof_commands": [
{
"id": "user-privilege-backend",
"run": [
"go",
"test",
"./internal/api",
"-run",
"TestOrgHandlersViewerCannotManageOrg|TestOrgHandlersTokenListAllowedButWriteForbidden|TestOrgHandlersCrossOrgIsolation|TestOrgHandlersShareIsolationAcrossOrganizations|TestMultiTenantRBACRoleUpdateChangesPermissions",
"-count=1"
]
},
{
"id": "user-privilege-frontend",
"run": [
"npx",
"vitest",
"run",
"src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"src/utils/__tests__/organizationRolePresentation.test.ts",
"src/utils/__tests__/organizationSettingsPresentation.test.ts",
"src/utils/__tests__/rbacPermissions.test.ts",
"src/utils/__tests__/rbacPresentation.test.ts"
],
"cwd": "frontend-modern"
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/organization-user-scope-and-rbac-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationRolePresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/rbacPermissions.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/rbacPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/org_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/rbac_handlers_test.go",
"kind": "file"
}
]
},
{
"id": "RA16",
"summary": "Commercial continuity fails closed across cancellation and re-entry: active grandfathered v5 recurring customers keep their legacy recurring price only while the subscription remains continuous, cancellation revokes paid access cleanly, and any later re-entry uses current public v6 pricing rather than reviving grandfathered terms.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L2",
"L3",
"L11",
"L12"
],
"subsystem_ids": [
"cloud-paid"
],
"release_gate_ids": [
"commercial-cancellation-reactivation"
],
"proof_commands": [
{
"id": "commercial-cancellation-reactivation-proof",
"run": [
"python3",
"scripts/release_control/internal/commercial_cancellation_reactivation_proof.py"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/COMMERCIAL_CANCELLATION_REACTIVATION_E2E_TEST_PLAN.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/commercial-cancellation-reactivation-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/commercial-cancellation-reactivation-external-e2e-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/ProLicensePanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "pkg/licensing/billing_state_normalization_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/internal/commercial_cancellation_reactivation_proof.py",
"kind": "file"
}
]
},
{
"id": "RA17",
"summary": "Pulse Mobile access stays coherent against a real Pulse instance: pairing, secure persistence, relay reconnect, approval flows, and auth or revocation transitions recover cleanly and fail closed instead of leaving stale mobile access behind.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L5",
"L6",
"L7",
"L12"
],
"subsystem_ids": [
"api-contracts",
"relay-runtime"
],
"release_gate_ids": [
"mobile-relay-auth-approvals"
],
"proof_commands": [
{
"id": "mobile-relay-auth-approvals-proof",
"run": [
"python3",
"scripts/release_control/internal/mobile_relay_auth_approvals_proof.py"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/mobile-relay-auth-approvals-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/internal/mobile_relay_auth_approvals_proof.py",
"kind": "file"
},
{
"repo": "pulse-enterprise",
"path": "internal/aiautofix/handlers_test.go",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "src/__tests__/mobileRelayAuthApprovals.rehearsal.test.ts",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "src/hooks/__tests__/useRelayLifecycle.test.ts",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "src/stores/__tests__/approvalStore.test.ts",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "src/stores/__tests__/authStore.test.ts",
"kind": "file"
}
]
},
{
"id": "RA18",
"summary": "Relay runtime remains resilient under registration and reconnect pressure: fresh registration, reconnect, stale-session recovery, and disconnect drain all recover predictably without stranding clients in resume loops, dead sessions, or lost inflight work.",
"kind": "invariant",
"blocking_level": "rc-ready",
"proof_type": "hybrid",
"lane_ids": [
"L5",
"L6",
"L7",
"L12"
],
"subsystem_ids": [
"api-contracts",
"relay-runtime"
],
"release_gate_ids": [
"relay-registration-reconnect-drain"
],
"proof_commands": [
{
"id": "relay-registration-reconnect-drain-proof",
"run": [
"python3",
"scripts/release_control/internal/relay_registration_reconnect_drain_proof.py"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/relay-registration-reconnect-drain-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Dashboard/__tests__/RelayOnboardingCard.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RelaySettingsPanel.runtime.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/relay/client_managed_runtime_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/internal/relay_registration_reconnect_drain_proof.py",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "src/relay/__tests__/client-hardening.test.ts",
"kind": "file"
}
]
},
{
"id": "RA19",
"summary": "Comparable Pulse settings surfaces use the canonical settings page-shell contract: shared SettingsPanel framing, consistent header structure, and no ad hoc top-level layout chrome unless explicitly approved.",
"kind": "invariant",
"blocking_level": "release-ready",
"proof_type": "hybrid",
"lane_ids": [
"L8"
],
"subsystem_ids": [
"frontend-primitives"
],
"release_gate_ids": [
"settings-surface-layout-consistency"
],
"proof_commands": [
{
"id": "settings-architecture-guardrails",
"cwd": "frontend-modern",
"run": [
"npx",
"vitest",
"run",
"src/components/Settings/__tests__/settingsArchitecture.test.ts"
]
}
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/settings-surface-layout-consistency-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/SOURCE_OF_TRUTH.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/status.json",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/frontend-primitives.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/15-settings-shell-consistency.spec.ts",
"kind": "file"
}
]
}
],
"evidence_reference_policy": {
"format": "repo-qualified-relative-paths",
"allowed_kinds": [
"file",
"dir"
],
"absolute_paths_forbidden": true,
"local_repo": "pulse"
},
"priority_engine": {
"formula": "behind_score = (max(0,target-current)*4) + criticality + staleness + dependency + blocker_bonus",
"floor_rule": {
"release_critical_lanes": [
"L1",
"L2",
"L3",
"L7",
"L8",
"L9",
"L10",
"L11",
"L12"
],
"minimum_score": 6
},
"weights": {
"gap_multiplier": 4,
"criticality_range": "0-5",
"staleness_range": "0-3",
"dependency_range": "0-3",
"blocker_bonus": 8
}
},
"lanes": [
{
"id": "L1",
"name": "Self-hosted release confidence",
"target_score": 9,
"current_score": 9,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Self-hosted RC confidence is at the current floor; GA promotion still depends on the shared RC-to-GA gate plus the lane-local self-hosted promotion package follow-up.",
"tracking": [
{
"kind": "lane-followup",
"id": "self-hosted-ga-promotion-package"
},
{
"kind": "release-gate",
"id": "rc-to-ga-promotion-readiness"
}
]
},
"blockers": [],
"subsystems": [
"deployment-installability"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/deployment-installability.md",
"kind": "file"
}
]
},
{
"id": "L2",
"name": "Conversion/commercial readiness",
"target_score": 9,
"current_score": 9,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Commercial conversion surfaces are at the current tracked RC floor, including real cancellation/reactivation continuity through the governed external Stripe rehearsal.",
"tracking": []
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/COMMERCIAL_CANCELLATION_REACTIVATION_E2E_TEST_PLAN.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-msp-price-audit-2026-03-13.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
"kind": "file"
},
{
"repo": "pulse-pro",
"path": "V6_LAUNCH_CHECKLIST.md",
"kind": "file"
}
]
},
{
"id": "L3",
"name": "Cloud paid readiness",
"target_score": 8,
"current_score": 8,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Cloud-paid runtime and billing surfaces are at the current tracked RC floor, including real cancellation/reactivation continuity across checkout, portal, entitlement boundaries, and the shared commercial billing shell/model now used by both self-hosted Pulse Pro and hosted organization billing.",
"tracking": []
},
"blockers": [],
"subsystems": [
"cloud-paid"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/BillingAdminPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/BillingAdminPanel.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/CommercialBillingSections.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/commercialBillingModel.ts",
"kind": "file"
}
]
},
{
"id": "L4",
"name": "Hosted MSP readiness",
"target_score": 6,
"current_score": 6,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Hosted MSP support is at the current tracked RC floor, including real tenant-management behavior and the shared hosted commercial replay proof.",
"tracking": []
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-2026-03-13.md",
"kind": "file"
}
]
},
{
"id": "L5",
"name": "Mobile go-live readiness",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Mobile is at the RC usefulness floor; broader go-live hardening beyond pairing, auth, reconnect, and approvals remains post-RC follow-up.",
"tracking": [
{
"kind": "lane-followup",
"id": "mobile-post-rc-hardening"
}
]
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/PRE_RELEASE_CHECKLIST.md",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "store/listing.md",
"kind": "file"
},
{
"repo": "pulse-pro",
"path": "V6_LAUNCH_CHECKLIST.md",
"kind": "file"
}
]
},
{
"id": "L6",
"name": "Architecture coherence",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Architecture coherence now carries the canonical Connected infrastructure projection and frontend state contract by construction; the remaining residual is limited to later cross-surface cleanup outside those normalized contracts.",
"tracking": [
{
"kind": "lane-followup",
"id": "architecture-post-rc-canonicalization"
}
]
},
"blockers": [],
"subsystems": [
"ai-runtime",
"alerts",
"api-contracts",
"notifications",
"patrol-intelligence"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/ai-runtime.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/notifications.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/responseUtils.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/streaming.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/features/alerts/OverviewTab.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/alertIncidentPresentation.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/alertOverviewPresentation.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/resources.go",
"kind": "file"
},
{
"repo": "pulse-enterprise",
"path": "docs/V6_REPO_REALIGNMENT.md",
"kind": "file"
}
]
},
{
"id": "L7",
"name": "Relay infrastructure readiness",
"target_score": 9,
"current_score": 9,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Relay infrastructure is at the RC floor, while broader hardening and non-blocking resilience work stay bounded to later promotion work.",
"tracking": [
{
"kind": "lane-followup",
"id": "relay-post-rc-hardening"
}
]
},
"blockers": [],
"subsystems": [
"relay-runtime"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/RELAY.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/relay",
"kind": "dir"
},
{
"repo": "pulse-mobile",
"path": "src/relay",
"kind": "dir"
},
{
"repo": "pulse-pro",
"path": "relay-server",
"kind": "dir"
}
]
},
{
"id": "L8",
"name": "First-session & UX polish",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "First-session UX reached the RC floor with the runtime wizard reduced to welcome and security, direct handoff into Infrastructure Operations install, and setup completion retained only as a separate preview surface; broader polish and parity work remain intentionally outside the current stabilization target.",
"tracking": [
{
"kind": "lane-followup",
"id": "first-session-post-rc-polish"
}
]
},
"blockers": [],
"subsystems": [
"frontend-primitives"
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/Settings.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/SetupWizard/SetupCompletionPanel.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/SetupWizard/SetupWizard.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/11-first-session.spec.ts",
"kind": "file"
}
]
},
{
"id": "L9",
"name": "Documentation readiness",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Documentation is current enough for the RC floor, but GA-facing promotion and release communication stay as a lane-local follow-up alongside the shared RC-to-GA gate.",
"tracking": [
{
"kind": "lane-followup",
"id": "documentation-ga-promotion-package"
},
{
"kind": "release-gate",
"id": "rc-to-ga-promotion-readiness"
}
]
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs",
"kind": "dir"
},
{
"repo": "pulse",
"path": "docs/releases/RELEASE_NOTES_v6.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "README.md",
"kind": "file"
},
{
"repo": "pulse-pro",
"path": "landing-page",
"kind": "dir"
}
]
},
{
"id": "L10",
"name": "Performance & scalability",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Performance is at the current release floor, but additional scalability headroom and non-blocking performance polish remain post-RC follow-up.",
"tracking": [
{
"kind": "lane-followup",
"id": "performance-post-rc-headroom"
}
]
},
"blockers": [],
"subsystems": [
"performance-and-scalability"
],
"evidence": [
{
"repo": "pulse",
"path": "frontend-modern/src/components/Dashboard/__tests__/Dashboard.performance.contract.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Dashboard/Dashboard.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Dashboard/workloadSelectors.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/__tests__/UnifiedResourceTable.performance.contract.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/infrastructureSelectors.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/resourceDetailMappers.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/http_metrics.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "pkg/metrics/store.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/02-navigation-perf.spec.ts",
"kind": "file"
}
]
},
{
"id": "L11",
"name": "v5-to-v6 migration safety",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Migration safety is at the RC floor, while GA promotion proof remains the only governed residual work.",
"tracking": [
{
"kind": "release-gate",
"id": "rc-to-ga-promotion-readiness"
}
]
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/LEGACY_HOST_CLASSIFICATION_2026-03-05.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V5_TO_V6_COMMERCIAL_MIGRATION_AUDIT_2026-03-07.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/UPGRADE_v6.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/scripts/sync-embed-dist.mjs",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/frontend_embed_sync_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/12-v5-commercial-migration.spec.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_commercial_migration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_full_upgrade_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_session_db_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/migration/v5_to_v6_test.go",
"kind": "file"
}
]
},
{
"id": "L12",
"name": "E2E journey coverage",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "The end-to-end journey suite covers the RC floor, while RC-to-GA promotion remains the only shared residual proof track.",
"tracking": [
{
"kind": "release-gate",
"id": "rc-to-ga-promotion-readiness"
}
]
},
"blockers": [],
"subsystems": [],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/COMMERCIAL_CANCELLATION_REACTIVATION_E2E_TEST_PLAN.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/commercial-cancellation-reactivation-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "tests/integration/tests/journeys",
"kind": "dir"
}
]
},
{
"id": "L13",
"name": "Core monitoring runtime",
"target_score": 8,
"current_score": 8,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Core monitoring runtime is at the current tracked floor: discovery, metrics-history, and platform-runtime proof routing now land on explicit governed routes, while broader ReadState convergence remains owned by architecture coherence.",
"tracking": []
},
"blockers": [],
"subsystems": [
"monitoring",
"unified-resources"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/monitoring.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/registry.json",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/unified-resources.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/TRUENAS.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/UNIFIED_RESOURCES.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/UnifiedResourceTable.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/resources.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/monitoring/canonical_guardrails_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/monitoring/metrics_history.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/monitoring/poll_providers.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/unifiedresources/code_standards_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/unifiedresources/metrics_targets.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/unifiedresources/registry.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/release_control/subsystem_lookup_test.py",
"kind": "file"
}
]
},
{
"id": "L14",
"name": "Security, identity, and privacy",
"target_score": 8,
"current_score": 8,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Security, identity, and privacy is at the current governed floor: privacy disclosures, telemetry controls, RBAC boundaries, and shared token/auth settings surfaces now route through explicit subsystem ownership with exercised proof across the remaining shared token and auth boundaries.",
"tracking": []
},
"blockers": [],
"subsystems": [
"organization-settings",
"security-privacy"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/PRIVACY.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/organization-settings.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/security-privacy.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/__tests__/security.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/OrganizationSharingPanel.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/RBACPaywallPanels.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/SecurityPostureSummary.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationRolePresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/utils/__tests__/organizationSettingsPresentation.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/api_token_org_scope_integration_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/org_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/rbac_handlers_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_status_additional_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/security_tokens_owner_binding_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/system_settings_telemetry_test.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/telemetry/telemetry.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "SECURITY.md",
"kind": "file"
}
]
},
{
"id": "L15",
"name": "Storage and recovery",
"target_score": 8,
"current_score": 8,
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Storage and recovery have reached the governed RC floor. Filter coherence is proven across all four transport surfaces (rollups, points, series, facets), storage URL state now normalizes canonical source/status/node/resource selections, and recovery route-backed query, provider, outcome, and stale-only filters round-trip through shared links while facets still narrow with the selected timeline day. Broader storage health UX polish and additional recovery timeline hardening remain post-RC follow-up.",
"tracking": [
{
"kind": "lane-followup",
"id": "storage-recovery-post-rc-hardening"
}
]
},
"blockers": [],
"subsystems": [
"storage-recovery"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/RECOVERY.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/storage-recovery.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/STORAGE_ARCHITECTURE.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Recovery/__tests__/Recovery.test.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Recovery/Recovery.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Storage/__tests__/storagePageState.test.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Storage/Storage.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/recovery/recovery_test.go",
"kind": "file"
}
]
},
{
"id": "L16",
"name": "Agent lifecycle and fleet operations",
"target_score": 8,
"current_score": 8,
"status": "target-met",
"completion": {
"state": "complete",
"summary": "Agent lifecycle and fleet operations are at the current governed RC floor: canonical auto-register now converges on one v6 contract, install-command consumers fail closed through shared validated boundaries, profile-management surfaces preserve the canonical malformed-payload and missing-profile resync contract across settings and deploy surfaces, and the runtime-side Unified Agent reporting path now uses the canonical product terminology.",
"tracking": []
},
"blockers": [],
"subsystems": [
"agent-lifecycle"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/unified-agent-v5-upgrade-continuity-2026-03-12.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/agent-lifecycle.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/agentProfiles.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/api/nodes.ts",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Infrastructure/deploy/ResultsStep.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/AgentProfilesPanel.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/NodeModal.tsx",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/agentupdate/update.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/config_setup_handlers.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/api/unified_agent.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/hostagent/agent.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "scripts/install.sh",
"kind": "file"
}
]
}
],
"release_gates": [
{
"id": "api-token-scope-and-assignment",
"summary": "Confirm API tokens are assigned to the correct user and org context, enforce scope boundaries including legacy persisted host-agent scope aliases, and revoke cleanly.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "managed-runtime-exercise",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L1",
"L6",
"L11",
"L14",
"L16"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/api-token-scope-and-assignment-2026-03-12.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
}
]
},
{
"id": "cloud-hosted-tier-runtime-readiness",
"summary": "Confirm the actual hosted Pulse tier works end to end after provisioning: hosted auth, runtime entry, and hosted billing/admin surfaces all function coherently.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "blocked",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L3",
"L4",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-2026-03-13.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-blocked-2026-03-25.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-fixed-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/cloud-hosted-tier-runtime-readiness-production-followup-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "commercial-cancellation-reactivation",
"summary": "Confirm grandfathered v5 recurring continuity holds while active, completed cancellation revokes paid state, and re-entry after cancellation uses current public v6 pricing.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L2",
"L3",
"L11",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/commercial-cancellation-reactivation-2026-03-12.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/commercial-cancellation-reactivation-external-e2e-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "documentation-currentness-and-legacy-cleanup",
"summary": "Confirm active v6-facing guidance is current, and any legacy or historical docs are clearly archived or demoted instead of remaining current guidance.",
"owner": "project-owner",
"blocking_level": "release-ready",
"minimum_evidence_tier": "local-rehearsal",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L9"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/documentation-currentness-and-legacy-cleanup-2026-03-13.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
}
]
},
{
"id": "hosted-signup-billing-replay",
"summary": "Confirm hosted signup, org provisioning, billing-admin visibility, and webhook replay succeed in the real checkout path.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L2",
"L3",
"L4",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-2026-03-12.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-production-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/hosted-signup-billing-replay-production-fixed-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "mobile-relay-auth-approvals",
"summary": "Confirm pulse-mobile pairing, persistence, relay reconnect, auth transitions, and approval flows work against a real instance.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L5",
"L7",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/mobile-relay-auth-approvals-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "msp-provider-tenant-management",
"summary": "Confirm MSP mode behaves as a real provider workflow: one account can manage multiple client tenants coherently without cross-client leakage or MSP/public-plan confusion.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L3",
"L4",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-2026-03-13.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-fixed-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/msp-provider-tenant-management-production-followup-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "multi-tenant-runtime-isolation-and-coherence",
"summary": "Confirm multi-tenant Pulse behaves as a coherent tenant-isolated product across org scope, runtime state, sharing, and migration.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "managed-runtime-exercise",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L4",
"L6",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/multi-tenant-runtime-isolation-and-coherence-2026-03-13.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
}
]
},
{
"id": "organization-user-scope-and-rbac",
"summary": "Confirm user creation, organization membership, RBAC scope, and cross-org sharing fail closed outside intended access.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "managed-runtime-exercise",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L4",
"L9",
"L12",
"L14"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/organization-user-scope-and-rbac-2026-03-12.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
}
]
},
{
"id": "paid-feature-entitlement-gating",
"summary": "Confirm free-versus-paid feature gating and agent allocation accounting match entitlements across UI, API, hosted, and upgrade surfaces.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "managed-runtime-exercise",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L2",
"L3",
"L6",
"L9",
"L12",
"L16"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/paid-feature-entitlement-gating-2026-03-12.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
}
]
},
{
"id": "rc-to-ga-promotion-readiness",
"summary": "Confirm stable or GA promotion is coming from an exercised RC with live release-pipeline proof, rollback instructions, and a written v5 maintenance-only policy.",
"owner": "project-owner",
"blocking_level": "release-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "blocked",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L1",
"L9",
"L11",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/rc-to-ga-promotion-readiness-blocked-2026-03-13.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
}
]
},
{
"id": "relay-registration-reconnect-drain",
"summary": "Confirm relay fresh registration, reconnect, stale-session recovery, and disconnect drain behavior hold under real pressure.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "managed-runtime-exercise",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L5",
"L7",
"L12"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/relay-registration-reconnect-drain-2026-03-13.md",
"kind": "file",
"evidence_tier": "managed-runtime-exercise"
}
]
},
{
"id": "settings-surface-layout-consistency",
"summary": "Confirm comparable settings surfaces present the canonical page shell, with consistent header framing and no ad hoc top-level layout chrome.",
"owner": "project-owner",
"blocking_level": "release-ready",
"minimum_evidence_tier": "local-rehearsal",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L8"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/settings-surface-layout-consistency-2026-03-13.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
},
{
"repo": "pulse",
"path": "frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
"kind": "file",
"evidence_tier": "test-proof"
}
]
},
{
"id": "unified-agent-v5-upgrade-continuity",
"summary": "Confirm a real v5-installed Pulse Unified Agent upgrades through candidate v6 RC assets into one canonical v6 agent identity without duplicate registration, stale fallback or legacy-scope breakage, or agent-count drift.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L11",
"L12",
"L16"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/unified-agent-v5-upgrade-continuity-2026-03-12.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
},
{
"id": "upgrade-state-and-entitlement-preservation",
"summary": "Confirm supported upgrades preserve state, entitlements, and first-session continuity without repair flows.",
"owner": "project-owner",
"blocking_level": "rc-ready",
"minimum_evidence_tier": "real-external-e2e",
"status": "passed",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L3",
"L5",
"L8"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/upgrade-state-and-entitlement-preservation-2026-03-13.md",
"kind": "file",
"evidence_tier": "real-external-e2e"
}
]
}
],
"lane_followups": [
{
"id": "architecture-post-rc-canonicalization",
"summary": "Track the remaining post-RC architecture cleanup that still belongs to L6 after canonicalizing Connected infrastructure and the frontend state contract by construction.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L6"
],
"subsystem_ids": [
"ai-runtime",
"alerts",
"notifications",
"patrol-intelligence"
]
},
{
"id": "documentation-ga-promotion-package",
"summary": "Track the GA-facing documentation and release communication package that should only be finalized when promotion is actually being executed.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L9"
],
"subsystem_ids": []
},
{
"id": "first-session-post-rc-polish",
"summary": "Track broader first-session polish and parity work that is intentionally outside the RC stabilization floor.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L8"
],
"subsystem_ids": [
"frontend-primitives"
]
},
{
"id": "mobile-post-rc-hardening",
"summary": "Track broader mobile go-live hardening beyond the RC usefulness floor, including work above pairing, auth, reconnect, and approvals recovery.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L5"
],
"subsystem_ids": []
},
{
"id": "performance-post-rc-headroom",
"summary": "Track additional scalability headroom and non-blocking performance polish beyond the current release floor.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L10"
],
"subsystem_ids": [
"performance-and-scalability"
]
},
{
"id": "relay-post-rc-hardening",
"summary": "Track broader relay hardening and non-blocking resilience work that remains outside the current RC floor, including any future narrowing of the dedicated backend-owned mobile relay capability beyond the current runtime route set.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L7"
],
"subsystem_ids": [
"relay-runtime"
]
},
{
"id": "self-hosted-ga-promotion-package",
"summary": "Track the lane-local self-hosted GA promotion package: stable candidate inputs, rollback clarity, and dry-run capture once GA promotion is actually being executed.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",
"lane_ids": [
"L1"
],
"subsystem_ids": []
},
{
"id": "storage-recovery-post-rc-hardening",
"summary": "Track broader storage health UX polish and recovery timeline hardening beyond the current RC floor, including additional filter coherence edge cases and storage panel presentation improvements.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-14",
"lane_ids": [
"L15"
],
"repo_ids": [
"pulse"
],
"subsystem_ids": [
"storage-recovery"
],
"cross_repo": false
}
],
"coverage_gaps": [
{
"id": "action-governance-and-audit",
"summary": "v6 has approvals and AI surfaces, but it lacks a governed action model covering declared capabilities, planning and dry-run boundaries, approval requirements, audit trail ownership, and safe execution contracts.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-17",
"lane_ids": [
"L6",
"L14"
],
"subsystem_ids": [
"ai-runtime",
"api-contracts",
"patrol-intelligence",
"security-privacy"
],
"proposed_resolution": "new-lane",
"coverage_impact": 14,
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/ai-runtime.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V6_BRIDGE_RELEASE_FOUNDATION_SPEC.md",
"kind": "file"
}
]
},
{
"id": "fleet-governance-v1",
"summary": "L16 covers install and registration continuity, but the governed map still underrepresents fleet governance primitives such as enrollment state, version drift, adapter health, config rollout, credential status, and remote control-plane safety.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-17",
"lane_ids": [
"L16"
],
"subsystem_ids": [
"agent-lifecycle"
],
"proposed_resolution": "lane-expansion",
"coverage_impact": 10,
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/agent-lifecycle.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V6_BRIDGE_RELEASE_FOUNDATION_SPEC.md",
"kind": "file"
}
]
},
{
"id": "policy-aware-data-governance",
"summary": "The current v6 map treats privacy and AI runtime as adjacent concerns, but it does not yet govern sensitivity classification, redaction, local-vs-cloud routing, or AI-safe summary boundaries as a first-class release surface.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-17",
"lane_ids": [
"L6",
"L14"
],
"subsystem_ids": [
"ai-runtime",
"api-contracts",
"security-privacy"
],
"proposed_resolution": "new-lane",
"coverage_impact": 15,
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/security-privacy.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V6_BRIDGE_RELEASE_FOUNDATION_SPEC.md",
"kind": "file"
}
]
},
{
"id": "resource-change-and-timeline",
"summary": "The current v6 lane map proves unified resources and monitoring floors, but the resource-change and cross-resource timeline work is now kept as hidden backend foundation for investigation and AI flows until the surfaced case is proven.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-17",
"lane_ids": [
"L6",
"L13"
],
"subsystem_ids": [
"alerts",
"api-contracts",
"monitoring",
"unified-resources"
],
"proposed_resolution": "lane-split",
"coverage_impact": 15,
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/unified-resources.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/V6_BRIDGE_RELEASE_FOUNDATION_SPEC.md",
"kind": "file"
}
]
},
{
"id": "customer-account-portal-surface",
"summary": "v6 has real billing, checkout, hosted tenant, MSP account, and self-serve utility surfaces, but it still lacks one coherent authenticated Pulse account portal that unifies licenses, hosted tenants, billing, recovery, and MSP admin actions under a canonical customer control surface.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-25",
"lane_ids": [
"L3",
"L4"
],
"subsystem_ids": [
"cloud-paid"
],
"proposed_resolution": "new-lane",
"coverage_impact": 14,
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/PULSE_ACCOUNT_PORTAL_SPEC.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/subsystems/cloud-paid.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/account/tenant_handlers.go",
"kind": "file"
},
{
"repo": "pulse",
"path": "internal/cloudcp/portal/page.go",
"kind": "file"
},
{
"repo": "pulse-pro",
"path": "landing-page/manage.html",
"kind": "file"
},
{
"repo": "pulse-pro",
"path": "landing-page/retrieve-license.html",
"kind": "file"
}
]
}
],
"candidate_lanes": [
{
"id": "action-governance-auditability",
"name": "Action governance and auditability",
"summary": "Promote action capability declaration, plan and dry-run state, approval requirements, safe execution boundaries, and audit ownership into a dedicated governed lane.",
"status": "planned",
"recorded_at": "2026-03-17",
"target_id": "v6-product-lane-expansion",
"current_lane_ids": [
"L6",
"L14"
],
"coverage_gap_ids": [
"action-governance-and-audit"
],
"subsystem_ids": [
"ai-runtime",
"api-contracts",
"patrol-intelligence",
"security-privacy"
]
},
{
"id": "fleet-governance-rollout-control",
"name": "Fleet governance and rollout control",
"summary": "Expand the current fleet lane from install and lifecycle continuity into governed enrollment, drift, adapter-health, config-rollout, and credential-status control surfaces.",
"status": "planned",
"recorded_at": "2026-03-17",
"target_id": "v6-product-lane-expansion",
"current_lane_ids": [
"L16"
],
"coverage_gap_ids": [
"fleet-governance-v1"
],
"subsystem_ids": [
"agent-lifecycle"
]
},
{
"id": "policy-aware-data-governance-lane",
"name": "Policy-aware data governance",
"summary": "Promote sensitivity classification, redaction, local-vs-cloud routing, and AI-safe summary boundaries into a governed product lane rather than leaving them split across privacy and AI runtime residue.",
"status": "planned",
"recorded_at": "2026-03-17",
"target_id": "v6-product-lane-expansion",
"current_lane_ids": [
"L6",
"L14"
],
"coverage_gap_ids": [
"policy-aware-data-governance"
],
"subsystem_ids": [
"ai-runtime",
"api-contracts",
"security-privacy"
]
},
{
"id": "resource-change-intelligence",
"name": "Resource change intelligence",
"summary": "Promote canonical resource relationships, first-class change envelopes, and cross-resource timelines into an explicit lane once the monitoring-first surface proves the case; keep the backend foundations hidden until then.",
"status": "planned",
"recorded_at": "2026-03-17",
"target_id": "v6-product-lane-expansion",
"current_lane_ids": [
"L6",
"L13"
],
"coverage_gap_ids": [
"resource-change-and-timeline"
],
"subsystem_ids": [
"alerts",
"api-contracts",
"monitoring",
"unified-resources"
]
},
{
"id": "customer-account-portal",
"name": "Customer account portal",
"summary": "Promote fragmented cloud billing, hosted tenant, self-serve licensing, recovery, and MSP admin surfaces into one governed Pulse account lane with a coherent customer and operator control surface.",
"status": "planned",
"recorded_at": "2026-03-25",
"target_id": "v6-product-lane-expansion",
"current_lane_ids": [
"L3",
"L4"
],
"coverage_gap_ids": [
"customer-account-portal-surface"
],
"subsystem_ids": [
"cloud-paid"
]
}
],
"work_claims": [
{
"id": "codex-candidate-lane-customer-account-portal",
"agent_id": "codex",
"summary": "Define the canonical Pulse Account portal lane, IA, and subsystem ownership",
"target_id": "v6-product-lane-expansion",
"claimed_at": "2026-03-25T22:18:45Z",
"heartbeat_at": "2026-03-25T22:18:45Z",
"expires_at": "2026-03-26T00:18:45Z",
"work_item": {
"kind": "candidate-lane",
"id": "customer-account-portal"
}
}
],
"open_decisions": [],
"source_of_truth_file": "docs/release-control/v6/internal/SOURCE_OF_TRUTH.md",
"resolved_decisions": [
{
"id": "ga-floor-policy",
"summary": "Staged release policy locked; L4 Hosted MSP full portal is post-GA and not a GA floor gate.",
"kind": "release-policy",
"decided_at": "2026-02-27",
"subsystem_ids": [],
"lane_ids": [
"L4"
]
},
{
"id": "msp-pricing-band-lock",
"summary": "MSP pricing locked at Starter/Growth/Scale = $149/$249/$399 monthly with 10/25/50 workspace breakpoints.",
"kind": "pricing",
"decided_at": "2026-02-27",
"subsystem_ids": [],
"lane_ids": [
"L2",
"L4"
]
},
{
"id": "stripe-mapping-contract-lock",
"summary": "Cloud/MSP Stripe mapping contract is locked; concrete price IDs remain operational fill-in tasks.",
"kind": "contract",
"decided_at": "2026-02-27",
"subsystem_ids": [
"cloud-paid"
],
"lane_ids": [
"L2",
"L3",
"L4"
]
},
{
"id": "host-type-migration-boundary-audit",
"summary": "Host-type migration audit completed; remaining host references are compatibility boundaries, internal shims, or non-resource terminology.",
"kind": "architecture",
"decided_at": "2026-03-05",
"subsystem_ids": [
"agent-lifecycle",
"alerts",
"api-contracts",
"monitoring",
"unified-resources"
],
"lane_ids": [
"L6",
"L11",
"L13",
"L16"
]
},
{
"id": "trial-authority-saas-controlled",
"summary": "Trial authority for v6 is SaaS-controlled; hosted signup initiates trial start and local runtime may only redeem signed trial activations.",
"kind": "contract",
"decided_at": "2026-03-06",
"subsystem_ids": [
"cloud-paid"
],
"lane_ids": [
"L2",
"L3",
"L11"
]
},
{
"id": "v5-license-bridge-landed",
"summary": "The v5-to-v6 license migration bridge landed, including upgrade exchange, activation input acceptance, and aligned public migration guidance.",
"kind": "migration",
"decided_at": "2026-03-06",
"subsystem_ids": [],
"lane_ids": [
"L11"
]
},
{
"id": "browser-proof-commercial-migration",
"summary": "Browser-level proof exists for unresolved v5 commercial migration states via the upgraded-fixture commercial migration spec.",
"kind": "migration",
"decided_at": "2026-03-07",
"subsystem_ids": [],
"lane_ids": [
"L11"
]
},
{
"id": "commercial-migration-truth-table-owned",
"summary": "The v5 commercial migration truth table is owned by v6 release-control and unresolved paid-license states must remain preserved through migration.",
"kind": "migration",
"decided_at": "2026-03-07",
"subsystem_ids": [],
"lane_ids": [
"L11"
]
},
{
"id": "embedded-frontend-drift-protection",
"summary": "Embedded frontend drift protection landed through synced dist assets, embed parity tests, and native embedded migration UI proof.",
"kind": "governance",
"decided_at": "2026-03-07",
"subsystem_ids": [],
"lane_ids": [
"L11"
]
},
{
"id": "orchestrator-retired",
"summary": "The v6 release-control orchestrator was retired; direct repo-aware sessions and governance guardrails are the only supported execution path.",
"kind": "governance",
"decided_at": "2026-03-11",
"subsystem_ids": [],
"lane_ids": [
"L6",
"L9"
]
},
{
"id": "top-level-governance-split",
"summary": "SOURCE_OF_TRUTH.md now owns only stable governance and locked decisions; live lane state and evidence references live only in status.json.",
"kind": "governance",
"decided_at": "2026-03-11",
"subsystem_ids": [],
"lane_ids": [
"L6",
"L9"
]
},
{
"id": "stable-release-promotion-model",
"summary": "v6 and later releases use an opt-in RC preview channel plus a promotion-only stable channel; stable customers must receive only already-validated builds, unattended auto-update exposure remains stable-only, and GA stays blocked until rollback instructions and the v5 maintenance-only policy are explicit.",
"kind": "release-policy",
"decided_at": "2026-03-12",
"subsystem_ids": [],
"lane_ids": [
"L1",
"L3",
"L11",
"L12"
]
},
{
"id": "v5-maintenance-support-policy",
"summary": "Once v6 reaches stable or GA, v5 moves to a 90-day maintenance-only window for critical security issues, critical correctness/data-loss issues, and safe migration blockers only; after that window, v5 is unsupported.",
"kind": "release-policy",
"decided_at": "2026-03-12",
"subsystem_ids": [],
"lane_ids": [
"L9"
]
},
{
"id": "v5-pro-price-grandfathering",
"summary": "Paid Pulse Pro v5 customers keep their existing recurring price through the v6 pricing change until they cancel; renewals must preserve that grandfathered price state, while any return after cancellation re-enters on current v6 pricing.",
"kind": "pricing",
"decided_at": "2026-03-12",
"subsystem_ids": [
"cloud-paid"
],
"lane_ids": [
"L2",
"L3",
"L11"
]
},
{
"id": "cloud-msp-price-id-propagation",
"summary": "The 13 canonical Cloud/MSP v6 price IDs are populated in the governed pulse-pro operations doc, launch checklist, and license-server env mapping template.",
"kind": "contract",
"decided_at": "2026-03-13",
"subsystem_ids": [
"cloud-paid"
],
"lane_ids": [
"L2",
"L3",
"L4"
]
},
{
"id": "cloud-msp-stripe-prices",
"summary": "The 13 canonical Cloud/MSP v6 price IDs already exist as active live recurring Stripe prices and match the governed commercial mappings.",
"kind": "pricing",
"decided_at": "2026-03-13",
"subsystem_ids": [
"cloud-paid"
],
"lane_ids": [
"L2",
"L3",
"L4"
]
},
{
"id": "mobile-usefulness-floor",
"summary": "Pulse Mobile is considered useful enough for the v6 RC line when it preserves at least one trusted paired instance across relaunches, surfaces relay/runtime state clearly in the main shell, fails closed into a recoverable disconnected state on stale or revoked access, and supports live approval visibility and action recovery; broader parity remains post-RC scope.",
"kind": "release-policy",
"decided_at": "2026-03-13",
"subsystem_ids": [
"frontend-primitives",
"relay-runtime"
],
"lane_ids": [
"L5",
"L7",
"L8",
"L12"
]
},
{
"id": "accidental-prerelease-tags-do-not-count-as-shipped-rcs",
"summary": "Accidental prerelease git tags do not count as shipped prerelease lineage. `v6.0.0-rc.1` was pushed accidentally, never published, and must not be treated as a valid stable-promotion `promoted_from_tag`.",
"kind": "release-policy",
"decided_at": "2026-03-14",
"subsystem_ids": [],
"lane_ids": [
"L1",
"L9",
"L11",
"L12"
]
},
{
"id": "monitored-systems-counting-contract",
"summary": "Commercial counting for Pulse v6 is based on monitored systems, not installed agents: each top-level monitored system counts once regardless of collection path, while child resources remain included and API-only monitoring must consume the same cap as agent-backed monitoring.",
"kind": "contract",
"decided_at": "2026-03-17",
"subsystem_ids": [],
"lane_ids": [
"L2"
]
},
{
"id": "pulse-not-agent-sandbox-boundary",
"summary": "Pulse is not a universal agent sandbox; it is the infrastructure-specific context, policy, and action plane that sandboxed agents should use.",
"kind": "architecture",
"decided_at": "2026-03-17",
"subsystem_ids": [
"ai-runtime",
"api-contracts",
"security-privacy",
"unified-resources"
],
"lane_ids": [
"L6",
"L13",
"L14"
]
},
{
"id": "self-hosted-pricing-band-lock-v2",
"summary": "Pulse v6 self-hosted pricing is locked at Community free, Relay $4.99/$39, Pro $8.99/$79, and Pro+ $14.99/$129 with the 5/8/15/50 monitored-system ladder.",
"kind": "pricing",
"decided_at": "2026-03-17",
"subsystem_ids": [],
"lane_ids": [
"L2"
]
},
{
"id": "v6-bridge-release-foundation",
"summary": "Pulse v6 is a bridge release toward a resource + policy + control platform: it must land irreversible primitives for canonical resources, policy-aware routing, governed actions, and fleet control without attempting the full private operational broker in one release.",
"kind": "architecture",
"decided_at": "2026-03-17",
"subsystem_ids": [
"agent-lifecycle",
"ai-runtime",
"api-contracts",
"security-privacy",
"unified-resources"
],
"lane_ids": [
"L6",
"L13",
"L14",
"L16"
]
},
{
"id": "canonical-timeline-source-precedence",
"summary": "Unified-resource change history is the canonical durable backend timeline; alert incident memory remains a derived investigation projection for alert-local notes, analysis, commands, runbooks, and lifecycle breadcrumbs.",
"kind": "architecture",
"decided_at": "2026-03-20",
"subsystem_ids": [
"ai-runtime",
"alerts",
"api-contracts",
"monitoring",
"unified-resources"
],
"lane_ids": [
"L6",
"L13"
]
}
]
}