TenantAtlas/specs/234-dead-transitional-residue/quickstart.md
ahmido 603d509b8f
Some checks failed
Main Confidence / confidence (push) Failing after 58s
cleanup: retire dead transitional residue (#270)
## Summary
- remove deprecated baseline profile status alias constants and keep baseline lifecycle semantics on the canonical enum path
- retire the dead tenant app-status badge/default-fixture residue from the active runtime support path
- add the `234-dead-transitional-residue` spec, plan, research, data-model, quickstart, checklist, and task artifacts plus focused regression assertions

## Validation
- not rerun during this PR creation step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #270
2026-04-23 16:54:48 +00:00

3.9 KiB

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

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

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

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

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

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.