TenantAtlas/tests/Feature/Guards
ahmido bda1d90fc4 Spec 094: Assignment ops observability hardening (#113)
Implements spec 094 (assignment fetch/restore observability hardening):

- Adds OperationRun tracking for assignment fetch (during backup) and assignment restore (during restore execution)
- Normalizes failure codes/reason_code and sanitizes failure messages
- Ensures exactly one audit log entry per assignment restore execution
- Enforces correct guard/membership vs capability semantics on affected admin surfaces
- Switches assignment Graph services to depend on GraphClientInterface

Also includes Postgres-only FK defense-in-depth check and a discoverable `composer test:pgsql` runner (scoped to the FK constraint test).

Tests:
- `vendor/bin/sail artisan test --compact` (passed)
- `vendor/bin/sail composer test:pgsql` (passed)

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #113
2026-02-15 14:08:14 +00:00
..
ActionSurfaceContractTest.php feat(spec-087): remove legacy runs (#106) 2026-02-12 12:40:51 +00:00
ActionSurfaceValidatorTest.php feat: action-surface contract inspect affordance + clickable rows (#100) 2026-02-08 20:31:36 +00:00
AdminWorkspaceRoutesGuardTest.php Spec 094: Assignment ops observability hardening (#113) 2026-02-15 14:08:14 +00:00
NoAdHocFilamentAuthPatternsTest.php feat/066-rbac-ui-enforcement-helper-v2 (#83) 2026-01-30 17:28:47 +00:00
NoAdHocRetryInBulkWorkersTest.php 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
NoAdHocStatusBadgesTest.php 059-unified-badges (#71) 2026-01-22 23:44:51 +00:00
NoForbiddenTagBadgeColorsTest.php feat: tag badge catalog (060) (#72) 2026-01-23 23:05:55 +00:00
NoLegacyBulkOperationsTest.php 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
NoLegacyRunBackfillTest.php Spec 092: Legacy Purge (runs/routes/UI/test shims) (#110) 2026-02-14 18:43:56 +00:00
NoLegacyRunsTest.php Spec 092: Legacy Purge (runs/routes/UI/test shims) (#110) 2026-02-14 18:43:56 +00:00
NoLegacyTenantGraphOptionsTest.php feat(spec-088): remove tenant graphOptions legacy path (#105) 2026-02-12 10:14:44 +00:00
NoTenantCredentialRuntimeReadsSpec081Test.php Spec 081: Provider connection cutover (#98) 2026-02-08 11:28:51 +00:00