TenantAtlas/specs/253-remove-findings-backfill-runtime-surfaces/contracts/findings-backfill-runtime-surface-removal.contract.yaml
ahmido 2fa8fc0f87
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 51s
refactor: remove findings lifecycle backfill runtime surfaces (#294)
## Summary
- decommission the legacy findings lifecycle backfill substrate across command, job, service, and UI layers
- remove related platform capabilities, operation catalog entries, and action surface exemptions
- add regression and removal verification tests to ensure runtime integrity and surface absence
- include spec, plan, tasks, and data-model artifacts for the removal slice

## Scope
- active spec: specs/253-remove-findings-backfill-runtime-surfaces
- target branch: dev

## Validation
- integrated regression and removal verification tests for console, findings, and system ops surfaces
- audit log and capability trace verification for the removal path

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #294
2026-04-28 22:00:51 +00:00

108 lines
3.9 KiB
YAML

version: 1
kind: findings-backfill-runtime-surface-removal
scope:
goal: remove findings lifecycle backfill runtime and product surfaces only
non_goals:
- acknowledged-status semantics cleanup
- creation-time finding invariant hardening
- replacement repair surface
- historical data migration
- compatibility alias or no-op command preservation
removed_entry_points:
system_runbooks:
route: /system/ops/runbooks
removed_labels:
- Rebuild Findings Lifecycle
- Preflight
- Run…
owner_files:
- apps/platform/app/Filament/System/Pages/Ops/Runbooks.php
- apps/platform/app/Services/Runbooks/FindingsLifecycleBackfillRunbookService.php
tenant_findings:
route: /admin/t/{tenant}/findings
removed_labels:
- Backfill findings lifecycle
- Open operation
owner_files:
- apps/platform/app/Filament/Resources/FindingResource/Pages/ListFindings.php
- apps/platform/app/Services/Runbooks/FindingsLifecycleBackfillRunbookService.php
console:
removed_commands:
- tenantpilot:findings:backfill-lifecycle
- tenantpilot:run-deploy-runbooks
owner_files:
- apps/platform/app/Console/Commands/TenantpilotBackfillFindingLifecycle.php
- apps/platform/app/Console/Commands/TenantpilotRunDeployRunbooks.php
deploy_runtime:
requirement:
- no deploy hook, runtime hook, schedule, or bootstrap path may queue or start findings lifecycle backfill after cleanup
removed_runtime_cluster:
service:
- apps/platform/app/Services/Runbooks/FindingsLifecycleBackfillRunbookService.php
jobs:
- apps/platform/app/Jobs/BackfillFindingLifecycleJob.php
- apps/platform/app/Jobs/BackfillFindingLifecycleWorkspaceJob.php
- apps/platform/app/Jobs/BackfillFindingLifecycleTenantIntoWorkspaceRunJob.php
operation_type:
- findings.lifecycle.backfill
removed_registry_traces:
capabilities:
- platform.runbooks.findings.lifecycle_backfill
seeders:
- apps/platform/database/seeders/PlatformUserSeeder.php
operation_catalog:
canonical_types:
- findings.lifecycle.backfill
aliases:
- findings.lifecycle.backfill
system_console_triage:
retryable_types:
- findings.lifecycle.backfill
cancelable_types:
- findings.lifecycle.backfill
operational_controls:
notes:
- the active operational-control catalog already rejects findings.lifecycle.backfill
- remaining blocked-start branches and tests for that key must be removed rather than normalized
retained_behavior:
findings_workflow_actions:
- triage
- start_progress
- assign
- resolve
- close
- request_exception
- reopen
guarantees:
- findings workflow status, ownership, SLA, due-date, and reviewable behavior remain unchanged
- no replacement repair or maintenance surface is introduced
legacy_data_posture:
operation_runs:
historical rows may remain stored without new canonical alias, retry, cancel, or operator-UX guarantee
audit_logs:
historical start, blocked, completed, or failed rows may remain stored without migration or compatibility layer
validation_expectations:
no_new_side_effects:
- no supported surface may create a new OperationRun of type findings.lifecycle.backfill
- no supported surface may dispatch the deleted backfill jobs
absence_proof:
- system runbooks page exposes no findings lifecycle backfill card or action
- tenant findings page exposes no findings lifecycle backfill header action
- supported command catalog exposes no findings lifecycle backfill command entry
- operational-control and operation-label surfaces expose no live findings lifecycle backfill trace
regression_proof:
- representative canonical findings workflow actions still succeed unchanged
lane_classification:
required:
- fast-feedback
- confidence
- heavy-governance
excluded:
- browser