TenantAtlas/apps/platform/tests/Feature
ahmido c86b399b43
Some checks failed
Main Confidence / confidence (push) Failing after 53s
feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256)
## Summary

This PR delivers three related improvements:

### 1. Finding Ownership Semantics (Spec 219)
- Add responsibility/accountability labels to findings and finding exceptions
- `owner_user_id` = accountable party (governance owner)
- `assignee_user_id` = responsible party (technical implementer)
- Expose Assign/Reassign actions in FindingResource with audit logging
- Add ownership columns and filters to finding list
- Propagate owner from finding to exception on creation
- Tests: ownership semantics, assignment audit, workflow actions

### 2. Constitution v2.7.0 — LEAN-001 Pre-Production Lean Doctrine
- New principle forbidding legacy aliases, migration shims, dual-write logic, and compatibility fixtures in a pre-production codebase
- AI-agent 4-question verification gate before adding any compatibility path
- Review rule: compatibility shims without answering the gate questions = merge blocker
- Exit condition: LEAN-001 expires at first production deployment
- Spec template: added default "Compatibility posture" block
- Agent instructions: added "Pre-production compatibility check" section

### 3. Backup Set Operation Type Unification
- Unified `backup_set.add_policies` and `backup_set.remove_policies` into single canonical `backup_set.update`
- Removed all legacy aliases, constants, and test fixtures
- Added lifecycle coverage for `backup_set.update` in config
- Updated all 14+ test files referencing legacy types

### Spec Artifacts
- `specs/219-finding-ownership-semantics/` — full spec, plan, tasks, research, data model, contracts, checklist

### Tests
- All affected tests pass (OperationCatalog, backup set, finding workflow, ownership semantics)

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #256
2026-04-20 17:54:33 +00:00
..
078 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
090 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
144 Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Alerts feat: implement spec 193 monitoring action hierarchy (#227) 2026-04-12 10:48:00 +00:00
Audit feat: implement spec 198 monitoring page state contract (#238) 2026-04-15 21:59:42 +00:00
Auth feat: harden governance action semantics (#229) 2026-04-12 21:21:44 +00:00
Authorization Spec 204: harden platform core vocabulary (#234) 2026-04-14 06:09:42 +00:00
BackupScheduling Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupSets feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Badges Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BaselineDriftEngine Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
Baselines Refactor: remove compare job legacy drift path (#235) 2026-04-14 21:54:37 +00:00
Concerns feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Console Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
Database Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Directory feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
DirectoryGroups feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Drift Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
EntraAdminRoles Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
Evidence feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Filament feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Findings feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Graph Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Guards feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Hardening Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Intune Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Inventory Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
Jobs Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ManagedTenants feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Models feat: harden governance action semantics (#229) 2026-04-12 21:21:44 +00:00
Monitoring feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Navigation feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Notifications feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
Onboarding feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Operations feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
OpsUx feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
PermissionPosture Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
PlatformRelocation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ProviderConnections feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Providers Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
Rbac feat(219): Finding ownership semantics + LEAN-001 constitution + backup_set unification (#256) 2026-04-20 17:54:33 +00:00
ReasonTranslation Spec 204: harden platform core vocabulary (#234) 2026-04-14 06:09:42 +00:00
RequiredPermissions Spec 206: implement test suite governance foundation (#239) 2026-04-16 13:58:50 +00:00
Restore feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Retention Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ReviewPack feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Scheduling Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Seed Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SettingsFoundation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Spec085 Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
Support Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
System feat: close spec 195 action surface residuals (#230) 2026-04-13 07:47:58 +00:00
TenantRBAC feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
TenantReview feat: compress governance operator outcomes (#253) 2026-04-19 12:30:36 +00:00
Tenants feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
Theme Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Verification feat: implement spec 198 monitoring page state contract (#238) 2026-04-15 21:59:42 +00:00
WorkspaceFoundation feat: implement workspace foundation website app (#214) 2026-04-08 12:20:31 +00:00
WorkspaceIsolation Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Workspaces feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
AdminConsentCallbackTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
AdminNewRedirectTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupItemReaddTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupServiceVersionReuseTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BackupWithAssignmentsConsistencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteMixedStatusTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeletePoliciesAsyncTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeletePoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkDeleteRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkExportFailuresTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkExportToBackupTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeleteBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeletePolicyVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkForceDeleteRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkProgressNotificationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkPruneSkipReasonsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkPruneVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestoreBackupSetsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestorePolicyVersionsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkRestoreRestoreRunsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkSyncPoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkTypeToConfirmTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
BulkUnignorePoliciesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DatabaseSeederTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyExtractionFeatureTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyQueryServiceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DependencyTenantIsolationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
DeviceComplianceScriptPolicyTypeTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
EndpointSecurityIntentRestoreSanitizationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
EndpointSecurityPolicyRestore023Test.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ExampleTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ExecuteRestoreRunJobTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
FoundationBackupTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
InventoryItemDependenciesTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
LivewireInterceptShimTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ManagedTenantOnboardingWizardTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
MonitoringOperationsTest.php Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
OperationRunServiceStaleQueuedRunTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
OperationRunServiceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyCaptureSnapshotIdempotencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyCaptureSnapshotQueuedTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyGeneralViewTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicySettingsStandardViewTest.php Spec 197: standardize shared detail family contracts (#237) 2026-04-15 09:51:42 +00:00
PolicySyncEnrollmentConfigurationTypeCollisionTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicySyncServiceReportTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
PolicySyncServiceTest.php Spec 188: canonical provider connection state cleanup (#219) 2026-04-10 11:22:56 +00:00
PolicySyncStartSurfaceTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyTypes017Test.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
PolicyVersionViewAssignmentsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
ReclassifyEnrollmentConfigurationsCommandTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAdapterTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAssignmentApplicationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreAuditLoggingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreGraphErrorMetadataTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreGroupMappingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestorePreviewDiffWizardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRiskChecksWizardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunArchiveGuardTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunIdempotencyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunRerunTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreRunWizardExecuteTest.php feat: unify provider-backed action dispatch gating (#255) 2026-04-20 06:52:38 +00:00
RestoreRunWizardMetadataTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreScopeTagMappingTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RestoreUnknownPolicyTypeSafetyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RunAuthorizationTenantIsolationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
RunStartAuthorizationTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SettingsCatalogDefinitionResolverTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
Spec080WorkspaceManagedTenantAdminMigrationTest.php Spec 207: implement shared test fixture slimming (#240) 2026-04-16 17:29:25 +00:00
SyncPoliciesJobDispatchTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SyncPoliciesJobGraphDisabledTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
SyncPoliciesJobSupportedTypesTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
TermsAndConditionsPolicyTypeTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
TrackOperationRunMiddlewareTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
VersionCaptureMetadataOnlyTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00
VersionCaptureWithAssignmentsTest.php Spec 182: relocate Laravel platform to apps/platform (#213) 2026-04-08 08:40:47 +00:00