# Quickstart: Dead Transitional Residue Cleanup ## Goal Validate that dead baseline profile alias language and dead tenant app-status support residue are removed without changing current tenant-truth or baseline-profile behavior. ## Prerequisites 1. Start Sail for `apps/platform`. 2. Ensure the current branch is `234-dead-transitional-residue`. 3. Be ready to update tests that intentionally use historical `app_status` values so they set those values explicitly. ## Implementation Validation Order ### 1. Format touched files ```bash export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent ``` Expected outcome: - Touched PHP and test files follow project formatting rules. ### 2. Run tenant-truth continuity coverage ```bash export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/TenantTruthCleanupSpec179Test.php tests/Feature/Filament/TenantLifecycleStatusDomainSeparationTest.php ``` Expected outcome: - Tenant lifecycle and RBAC truth remain unchanged. - Any legacy `app_status` used in those tests is explicit scenario setup, not a hidden factory default. ### 3. Run baseline-profile continuity coverage ```bash export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Baselines/BaselineProfileArchiveActionTest.php tests/Feature/Filament/BaselineProfileListFiltersTest.php tests/Feature/Filament/BaselineProfileScopeV2PersistenceTest.php tests/Feature/Baselines/BaselineProfileWorkspaceOwnershipTest.php tests/Feature/Baselines/BaselineProfileAuthorizationTest.php ``` Expected outcome: - Baseline profile archive, list, view, and edit behavior still work after removing deprecated status aliases. ### 4. Run central badge cleanup coverage ```bash export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Badges/TenantBadgesTest.php tests/Unit/Badges/BadgeCatalogTest.php ``` Expected outcome: - The central badge catalog still resolves active tenant badge domains correctly. - The removed tenant app-status badge path no longer acts as active runtime truth. ### 5. Run a focused residue grep before merge ```bash export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd /Users/ahmeddarrazi/Documents/projects/wt-plattform && rg -n "BaselineProfile::STATUS_|TenantAppStatus|tenant_app_status" apps/platform/app apps/platform/tests apps/platform/database/factories export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd /Users/ahmeddarrazi/Documents/projects/wt-plattform && rg -n -- "app_status" apps/platform/app apps/platform/tests apps/platform/database/factories ``` Expected outcome: - No unexpected alias or badge-domain references remain. - Any remaining `app_status` matches are deliberate explicit historical setup or reviewed historical artifacts, not ambient defaults or active truth. Implementation close-out: - Active runtime/support paths are clean. - Remaining `tenant_app_status` and `BaselineProfile::class.'::STATUS_*'` matches are negative regression assertions. - Remaining `app_status` matches are explicit tenant-truth setup or suppression assertions; no follow-up spec is needed. ## Optional Manual Smoke 1. Open `/admin/tenants` and verify current tenant truth still behaves as before. 2. Open `/admin/baseline-profiles`, then a baseline profile view page and edit page, and verify list, view, edit, and archive behavior still read normally. 3. If the backup-health browser fixture command is still used locally, run it once and confirm it no longer depends on ambient `app_status` defaults. ## Non-Goals For This Slice - No database migration. - No route or global-search change. - No new readiness or badge framework. - No onboarding or provider-connection cleanup outside the approved dead-residue scope.