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