Some checks failed
Main Confidence / confidence (push) Failing after 54s
This pull request promotes the current state of `platform-dev` to the main integration branch `dev`. It includes recent features, fixes, and architectural refinements validated on the platform development track. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #297
121 lines
4.7 KiB
YAML
121 lines
4.7 KiB
YAML
version: 1
|
|
kind: findings-acknowledged-compat-removal
|
|
|
|
scope:
|
|
goal: remove productive acknowledged compatibility from findings workflow truth only
|
|
non_goals:
|
|
- findings lifecycle backfill runtime-surface removal
|
|
- creation-time finding invariant hardening
|
|
- broader findings lifecycle redesign
|
|
- verification acknowledgement cleanup
|
|
- onboarding acknowledgement cleanup
|
|
- restore impact acknowledgement cleanup
|
|
- migration or fallback-reader preservation
|
|
|
|
canonical_status_contract:
|
|
active_open:
|
|
- new
|
|
- triaged
|
|
- in_progress
|
|
- reopened
|
|
terminal:
|
|
- resolved
|
|
- closed
|
|
- risk_accepted
|
|
removed_active_status:
|
|
- acknowledged
|
|
|
|
shared_seams:
|
|
model_and_workflow:
|
|
owner_files:
|
|
- apps/platform/app/Models/Finding.php
|
|
- apps/platform/app/Services/Findings/FindingWorkflowService.php
|
|
- apps/platform/app/Policies/FindingPolicy.php
|
|
requirements:
|
|
- no productive findings workflow helper writes or expects acknowledged
|
|
- open-status query helpers collapse onto the canonical active-open set only
|
|
badge_and_filter_catalogs:
|
|
owner_files:
|
|
- apps/platform/app/Support/Badges/Domains/FindingStatusBadge.php
|
|
- apps/platform/app/Support/Filament/FilterOptionCatalog.php
|
|
requirements:
|
|
- no badge label exposes acknowledged or legacy acknowledged
|
|
- no findings filter offers acknowledged as a current workflow state
|
|
capabilities_and_roles:
|
|
owner_files:
|
|
- apps/platform/app/Support/Auth/Capabilities.php
|
|
- apps/platform/app/Services/Auth/RoleCapabilityMap.php
|
|
requirements:
|
|
- tenant_findings.acknowledge is removed
|
|
- surviving findings capability language stays canonical and tenant-scoped
|
|
tenant_findings_surfaces:
|
|
routes:
|
|
- /admin/t/{tenant}/findings
|
|
- /admin/t/{tenant}/findings/{record}
|
|
owner_files:
|
|
- apps/platform/app/Filament/Resources/FindingResource.php
|
|
- apps/platform/app/Filament/Resources/FindingResource/Pages/ListFindings.php
|
|
- apps/platform/app/Filament/Pages/Findings/MyFindingsInbox.php
|
|
requirements:
|
|
- no visible findings workflow affordance presents acknowledged as current work
|
|
findings_derived_consumers:
|
|
owner_files:
|
|
- apps/platform/app/Support/CustomerHealth/WorkspaceHealthSummaryQuery.php
|
|
- apps/platform/app/Support/Workspaces/WorkspaceOverviewBuilder.php
|
|
- apps/platform/app/Support/GovernanceInbox/GovernanceInboxSectionBuilder.php
|
|
- apps/platform/app/Support/Baselines/BaselineCompareStats.php
|
|
- apps/platform/app/Support/SupportDiagnostics/SupportDiagnosticBundleBuilder.php
|
|
- apps/platform/app/Services/TenantReviews/TenantReviewSectionFactory.php
|
|
- apps/platform/app/Jobs/Alerts/EvaluateAlertsJob.php
|
|
- apps/platform/app/Services/PermissionPosture/PermissionPostureFindingGenerator.php
|
|
- apps/platform/app/Services/EntraAdminRoles/EntraAdminRolesFindingGenerator.php
|
|
- apps/platform/app/Services/Baselines/BaselineAutoCloseService.php
|
|
- apps/platform/app/Services/Findings/FindingAssignmentHygieneService.php
|
|
requirements:
|
|
- counts, previews, review disclosures, diagnostics, and alerts use the same canonical open-status set as findings surfaces
|
|
- no productive findings-derived consumer treats acknowledged as current work
|
|
|
|
retained_behavior:
|
|
findings_workflow_actions:
|
|
- triage
|
|
- start_progress
|
|
- assign
|
|
- resolve
|
|
- close
|
|
- reopen
|
|
- request_exception
|
|
- risk_accept
|
|
guarantees:
|
|
- existing findings lifecycle outcomes remain otherwise unchanged
|
|
- no new workflow state or replacement compatibility path is introduced
|
|
|
|
non_finding_domains:
|
|
untouched:
|
|
- verification check acknowledgement
|
|
- onboarding verification acknowledgement
|
|
- restore impact acknowledgement
|
|
|
|
legacy_data_posture:
|
|
findings_table:
|
|
- acknowledged columns may remain in schema for now without preserving active runtime semantics
|
|
migrations:
|
|
- no new migration or persisted compatibility artifact is allowed in this slice
|
|
|
|
validation_expectations:
|
|
no_new_persistence:
|
|
- no file under apps/platform/database/migrations may change
|
|
- no alias table, persisted mapping, or fallback reader may be introduced
|
|
absence_proof:
|
|
- no productive findings surface exposes acknowledged as current workflow status
|
|
- no productive findings-derived consumer exposes acknowledged as current work
|
|
- no findings capability alias remains for acknowledge semantics
|
|
regression_proof:
|
|
- canonical findings workflow actions still behave unchanged
|
|
- non-finding acknowledgement domains remain untouched
|
|
lane_classification:
|
|
required:
|
|
- fast-feedback
|
|
- confidence
|
|
- heavy-governance
|
|
excluded:
|
|
- browser |