Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m0s
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
3.7 KiB
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.phpexport 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.phpexport 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.phpexport 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
- Sign in to
/admin/t/{tenant}/findingsas an entitled tenant operator and confirm the findings register and detail use canonical status badges, filters, helper text, and workflow wording only. - Exercise canonical findings actions such as
Triage,Start progress,Assign,Resolve,Close, andRisk acceptand confirm no action or helper text refers to an acknowledge alias. - Open the affected canonical
/adminsummary and inbox surfaces and confirm counts and previews match the same canonical open findings set as the findings register. - 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
acknowledgedas current work. - Verify capability-driven findings gating no longer references
tenant_findings.acknowledgewhile preserving existing404versus403behavior. - 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.phpremains authoritative if provider work is ever needed later. FindingResourcealready 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:assetsdeployment work for this slice. - LEAN-001 applies directly: remove compatibility branches instead of preserving aliases, fallback readers, or migrations for historical pre-production rows.