schema_version: runtime-architecture-drift-report-yaml-v1
source: runtime-core
generated_at: "2026-05-19T23:46:26.143Z"
status: advisory
finding_count: 72
high_confidence_count: 0
advisory_count: 72
categories:
  duplicate_state_machine: 1
  obsolete_reconnect_recovery_path: 1
  obsolete_watcher_primary: 3
  socket_payload_as_truth: 0
  direct_dom_data_injection: 8
  backend_transport_domain_projection_mixing: 23
  old_shell_owning_behavior: 24
  obsolete_state_or_schema: 12
scanned_roots:
  - apps/frontend/src/app
  - apps/backend/src
  - ai/runtime/src
  - ai/commands
  - ai/governance/registries
findings:
  - id: duplicate-state-machine-001
    category: duplicate_state_machine
    severity: advisory
    status: advisory
    path: "apps/frontend/src/app/core/connection/connection-recovery-state-model.spec.ts, apps/frontend/src/app/core/connection/connection-recovery-state-model.ts"
    line: 0
    evidence: 2 state-model-like files found
    recommendation: Confirm these are tests/canonical model companions rather than parallel state-machine authorities.
    carry_forward: cfd-0030
  - id: component-recovery-001
    category: obsolete_reconnect_recovery_path
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/layout/components/app-shell.component.ts
    line: 28
    evidence: recovery
    recommendation: "Keep reconnect/recovery classification inside the canonical connection state model or facade, not page-local component logic."
    carry_forward: cfd-0030
  - id: watcher-primary-001
    category: obsolete_watcher_primary
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/testing/runtime-action-panel-browser-smoke.ts
    line: 1815
    evidence: manual reload
    recommendation: "Runtime State Journal and GraphQL refetch should remain canonical; watcher/manual reload evidence is not sufficient proof."
    carry_forward: cfd-0014
  - id: watcher-primary-002
    category: obsolete_watcher_primary
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/testing/testing-channel-readiness.ts
    line: 904
    evidence: manual reload
    recommendation: "Runtime State Journal and GraphQL refetch should remain canonical; watcher/manual reload evidence is not sufficient proof."
    carry_forward: cfd-0014
  - id: watcher-primary-003
    category: obsolete_watcher_primary
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/testing/testing-channel-readiness.ts
    line: 904
    evidence: watcher-primary
    recommendation: "Runtime State Journal and GraphQL refetch should remain canonical; watcher/manual reload evidence is not sufficient proof."
    carry_forward: cfd-0014
  - id: direct-dom-001
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/features/remote-dev-console/components/remote-dev-console-panel.component.ts
    line: 106
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-002
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/features/remote-dev-console/components/remote-dev-console-panel.component.ts
    line: 134
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-003
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/features/remote-dev-console/components/remote-dev-console-panel.component.ts
    line: 146
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-004
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/features/remote-dev-console/components/remote-dev-console-panel.component.ts
    line: 163
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-005
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/features/remote-dev-console/components/remote-dev-console-panel.component.ts
    line: 179
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-006
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/layout/components/app-shell.component.ts
    line: 176
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-007
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/layout/components/app-shell.component.ts
    line: 177
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: direct-dom-008
    category: direct_dom_data_injection
    severity: advisory
    status: carried_forward
    path: apps/frontend/src/app/layout/components/app-shell.component.ts
    line: 179
    evidence: nativeElement
    recommendation: "Prefer Angular templates, bindings, or view-model projection over direct DOM mutation."
    carry_forward: cfd-0027
  - id: backend-boundary-001
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 5
    evidence: readFileSync
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-002
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 8
    evidence: writeFileSync
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-003
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 838
    evidence: readFileSync
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-004
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 1171
    evidence: readFileSync
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-005
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 2156
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-006
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 2159
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-007
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 2166
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-008
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/admin-runtime-health/services/admin-runtime-health.service.ts
    line: 2167
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-009
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 18
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-010
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 30
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-011
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 42
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-012
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 72
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-013
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 82
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-014
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 92
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-015
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 102
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-016
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-file-invalidation.service.ts
    line: 108
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-017
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 41
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-018
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 41
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-019
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 44
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-020
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 51
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-021
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 57
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-022
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 58
    evidence: tmp/
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: backend-boundary-023
    category: backend_transport_domain_projection_mixing
    severity: advisory
    status: carried_forward
    path: apps/backend/src/runtime-health-socket/runtime-health-socket-journal-consumer.service.ts
    line: 78
    evidence: process.env
    recommendation: "Keep transport, IO, domain state, and GraphQL projection separated behind typed adapters."
    carry_forward: cfd-0028
  - id: shell-owner-001
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/activate-chunk.sh
    line: 67
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-002
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/activate-chunk.sh
    line: 106
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-003
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/approve-requirements.sh
    line: 126
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-004
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/approve-requirements.sh
    line: 127
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-005
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/complete-chunk.sh
    line: 125
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-006
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/complete-chunk.sh
    line: 126
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-007
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/complete-requirements.sh
    line: 83
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-008
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/complete-requirements.sh
    line: 84
    evidence: mv
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-009
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/platform-escalation-preflight.sh
    line: 22
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-010
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/runtime-action-panel-browser-smoke.mjs
    line: 141
    evidence: kill
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-011
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/runtime-action-panel-browser-smoke.mjs
    line: 144
    evidence: kill
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-012
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/runtime-action-panel-browser-smoke.mjs
    line: 149
    evidence: kill
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-013
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/runtime-action-panel-browser-smoke.mjs
    line: 152
    evidence: kill
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-014
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 25
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-015
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 26
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-016
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 27
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-017
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 28
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-018
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 29
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-019
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/validate.sh
    line: 30
    evidence: yarn
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-020
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/workflow-summary.sh
    line: 205
    evidence: git commit
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-021
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/workflow-summary.sh
    line: 213
    evidence: git commit
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-022
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/workflow-summary.sh
    line: 246
    evidence: git add
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-023
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/workflow-summary.sh
    line: 250
    evidence: git add
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: shell-owner-024
    category: old_shell_owning_behavior
    severity: advisory
    status: carried_forward
    path: ai/commands/workflow-summary.sh
    line: 391
    evidence: git add
    recommendation: "Shell commands should remain compatibility facades or emergency/bootstrap paths, not canonical Runtime behavior owners."
    carry_forward: cfd-0005
  - id: obsolete-state-001
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/audit/action-timeline.ts
    line: 430
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-002
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/audit/action-timeline.ts
    line: 431
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-003
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/audit/action-timeline.ts
    line: 432
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-004
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/audit/action-timeline.ts
    line: 433
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-005
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/audit/audit-state.ts
    line: 129
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-006
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/harness/runtime-path-harness.ts
    line: 314
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-007
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/harness/runtime-path-harness.ts
    line: 324
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-008
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/harness/runtime-path-harness.ts
    line: 337
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-009
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/harness/runtime-path-harness.ts
    line: 338
    evidence: legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-010
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/notifications/rendering.ts
    line: 66
    evidence: deprecated
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-011
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/notifications/rendering.ts
    line: 119
    evidence: deprecated
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
  - id: obsolete-state-012
    category: obsolete_state_or_schema
    severity: advisory
    status: carried_forward
    path: ai/runtime/src/modules/state/state-engine.ts
    line: 637
    evidence: Legacy
    recommendation: Confirm compatibility states remain intentional and tracked by carry-forward debt.
    carry_forward: cfd-0034
mutates_authority_state: false
