TenantAtlas/specs/254-remove-acknowledged-compat/quickstart.md
ahmido b511b08371
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m0s
feat: remove findings acknowledged compatibility and unify canonical operation types (#296)
This PR removes the legacy "acknowledged" status compatibility for findings and unifies the canonical operation types (e.g., transitioning from baseline_capture to baseline.capture). It includes updated tests, models, and services to reflect these changes.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #296
2026-04-29 07:34:39 +00:00

3.7 KiB

Quickstart — Remove Legacy Acknowledged Finding Status Compatibility

Prereqs

  • Docker running
  • Laravel Sail dependencies installed
  • Existing findings, RBAC, summary, and generator test fixtures available
  • Existing seeded tenant/workspace context for targeted findings workflow tests

Run locally

  • Start containers: cd apps/platform && ./vendor/bin/sail up -d
  • No schema change is expected, but use the normal repo baseline before running tests: export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan migrate --no-interaction
  • Run targeted tests after implementation:
    • export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Findings/RemoveAcknowledgedCompatibilityWorkflowTest.php tests/Unit/Findings/FindingStatusSemanticsTest.php tests/Unit/Support/Filament/FindingStatusFilterCatalogTest.php tests/Feature/Auth/RemoveAcknowledgedCapabilityAliasTest.php
    • export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/CustomerHealth/WorkspaceHealthSummaryQueryTest.php tests/Unit/Support/GovernanceInbox/GovernanceInboxSectionBuilderTest.php tests/Feature/Baselines/BaselineCompareStatsTest.php tests/Feature/Alerts/SlaDueAlertTest.php
    • export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/PermissionPosture/PermissionPostureFindingGeneratorTest.php tests/Feature/EntraAdminRoles/EntraAdminRolesFindingGeneratorTest.php tests/Feature/Findings/FindingsIntakeQueueTest.php
    • export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/NoAdHocStatusBadgesTest.php tests/Feature/Guards/FilamentTableStandardsGuardTest.php
  • Format after implementation: export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent

Manual smoke after implementation

  1. Sign in to /admin/t/{tenant}/findings as an entitled tenant operator and confirm the findings register and detail use canonical status badges, filters, helper text, and workflow wording only.
  2. Exercise canonical findings actions such as Triage, Start progress, Assign, Resolve, Close, and Risk accept and confirm no action or helper text refers to an acknowledge alias.
  3. Open the affected canonical /admin summary and inbox surfaces and confirm counts and previews match the same canonical open findings set as the findings register.
  4. Open an in-scope tenant review, review-pack, or support-diagnostic surface that renders findings-derived open-work disclosure and confirm it does not describe acknowledged as current work.
  5. Verify capability-driven findings gating no longer references tenant_findings.acknowledge while preserving existing 404 versus 403 behavior.
  6. Review the diff and confirm no file under apps/platform/database/migrations/ changed and no new persisted compatibility artifact was introduced.

Notes

  • Filament v5 remains on Livewire v4.0+ in this repo; the cleanup stays inside existing native Filament resources, pages, and shared support helpers.
  • No panel or provider registration changes are planned; apps/platform/bootstrap/providers.php remains authoritative if provider work is ever needed later.
  • FindingResource already has a view page, so the feature does not create a global-search contract issue.
  • No asset changes are expected, so there is no additional filament:assets deployment work for this slice.
  • LEAN-001 applies directly: remove compatibility branches instead of preserving aliases, fallback readers, or migrations for historical pre-production rows.