# Test Value Audit > Generated by `scripts/test-value-audit.mjs` on 2026-06-26T00:03:00.110Z. > > **This is a HEURISTIC, not ground truth.** It is an evidence base for a human > deletion decision. The script does **not** delete any tests. See Methodology + Caveats. ## Summary - Files analyzed: **2051** - With timing data: **1979** - `delete` candidates (valueScore ≤ 0 or quarantined): **288** - `review` candidates (0 < valueScore ≤ 3): **839** - `keep` (valueScore > 3): **924** - "Safe delete" under the deletion-ratchet (zero positive evidence + churn/quarantine): **54** - In quarantine ledger (current or historical): **59** ## Methodology For every audited test file we run a single whole-history `git log --name-status` pass and classify each commit that touched the file (renames followed backward): **Positive signal** (encoded/caught a real bug): - `fix(...)`/`fix:` subject **with** a sibling source change in the same package (+3) - `fix(...)`/`fix:` subject alone (+2) - `## Symptom Verification` regression marker in the commit body (+3, FN-5893) - test file first **added** together with source (+2), or added alone (+1) - a plain test+source co-change modify (+1.5) **Negative signal** (low value / churn): - subject/body mentions `flake`, `flaky`, `deflake`, `quarantine`, `stabiliz`, `appease`, `timeout`, `retry` (−3) - a modify that touched **only** the test file, no source (−1) - appears in `scripts/lib/test-quarantine.json` history (−5) The per-file **valueScore** is the sum of commit weights (plus the quarantine penalty). **deletionPriority** = `durationMs / (1 + max(0, valueScore))` with a small boost for net-negative files — so the ranking surfaces **slow AND low-value** files first (most CI time saved per unit of lost signal). Recommendation: `delete` (≤0), `review` (≤3), else `keep`. ## Caveats (read before deleting anything) - **Heuristic, not truth.** A quiet, never-modified test can still be load-bearing; a high-churn test can still be valuable. Use this to *prioritize human review*. - **`git log --follow` / rename limits.** Renames are followed only through linear `R`/`C` name-status chains; squash-merges collapse multi-commit history into one subject, so per-commit signal is lost for squashed work (this repo defaults to squash merges — a major reason to treat scores as lower bounds on value). - **Subjects lie.** `fix(...)` is trusted as a positive even if the test was unrelated; conversely a real bug fixed under a `feat(...)`/`FN-` subject without source co-change may be undercounted. - **Timing is a snapshot** from `scripts/test-timings.json`; files with no entry show `n/a` duration and get deletionPriority 0 (cost unknown, not necessarily cheap). - **Not a green light.** Deleting a gate test still requires the gate-eviction process (AGENTS.md). "Safe delete" only flags files that meet the ratchet's churn/quarantine bar. ## Top 40 deletion candidates | # | File | Tests | Duration | Value | Priority | Rec | Why (recent commits) | |---|------|------:|---------:|------:|---------:|-----|----------------------| | 1 | `packages/engine/src/__tests__/workspace-merger-idempotency.test.ts` | 8 | 12.7s | -1 | 13335 | delete (safe-delete) | `754434632` feat(workspace): Phase C U2 — per-repo landed pr _(churn-keyword,added-with-source)_
`627bdcfb0` fix(review): Phase C merge-loop hardening — doub _(churn-keyword,fix+source)_
`3a7123762` fix(review): address PR #1717 Phase C merge-loop _(churn-keyword,fix+source)_ | | 2 | `packages/dashboard/src/__tests__/github-tracking-delete.test.ts` | 9 | 8.7s | -7.5 | 11962.5 | delete | `d0c9e47f6` feat(FN-4253): close linked GitHub issues on tas _(added-with-source)_
`9dfefc551` feat(FN-4941): close or delete GitHub issues whe _(test+source)_
`46fb3f0ef` feat(FN-5305): fix async synchronization in gith _(test-only-churn)_ | | 3 | `packages/engine/src/__tests__/reliability-interactions/merge-runner-spawn-enoent-prevention.test.ts` | 5 | 7.9s | -2 | 8690 | delete (safe-delete) | `7763ba5fa` FN-6278: preflight reusable merge worktree cwd _(churn-keyword,added-with-source)_
`a768d36da` FN-6817: root reliability fixtures under worker _(test-only-churn)_ | | 4 | `packages/dashboard/src/__tests__/session-reconnect.test.ts` | 4 | 6.1s | -6.5 | 8082.5 | delete (quarantined) | `bf141c47d` test(FN-1156): add AI session lifecycle and reco _(added)_
`84ed84313` feat(FN-2123): merge fusion/fn-2123 _(test-only-churn)_
`6714f7654` refactor(FN-2161): standardize on createFnAgent _(test+source)_ | | 5 | `packages/engine/src/__tests__/self-healing-already-merged.real-git.test.ts` | 7 | 4.6s | -12 | 7360 | delete (quarantined) | `602a7da51` feat(FN-3865): complete Steps 3-6 — recover alre _(added-with-source)_
`39e0b3c6a` fix(FN-3865): align merge recovery types and rea _(fix+source)_
`6fc804483` feat(FN-3940): expose github tracking controls i _(test-only-churn)_ | | 6 | `packages/core/src/__tests__/run-audit.integration.test.ts` | 24 | 5.8s | -2 | 6380 | delete (quarantined) | `c2d0ac572` test(FN-1414): add run-audit integration tests f _(churn-keyword,added)_
`84ed84313` feat(FN-2123): merge fusion/fn-2123 _(test+source)_
`a269f4829` refactor: remove legacy kb compatibility _(test+source)_ | | 7 | `packages/engine/src/__tests__/workspace-merger-lease.test.ts` | 4 | 5.8s | -1 | 6090 | delete (safe-delete) | `64e87f9a1` feat(workspace): Phase C U3 — per-repo land leas _(churn-keyword,added-with-source)_
`627bdcfb0` fix(review): Phase C merge-loop hardening — doub _(churn-keyword,fix+source)_ | | 8 | `packages/engine/src/__tests__/workspace-merger.test.ts` | 7 | 8.0s | 0.5 | 5333.3 | review | `744ed098a` feat(workspace): Phase C U1 — per-repo merge loo _(churn-keyword,added-with-source)_
`754434632` feat(workspace): Phase C U2 — per-repo landed pr _(churn-keyword,test+source)_
`3a7123762` fix(review): address PR #1717 Phase C merge-loop _(churn-keyword,fix+source)_ | | 9 | `packages/cli/src/__tests__/extension-task-tools.test.ts` | 4 | 3.8s | -7 | 5130 | delete (quarantined) | `47eaf089b` feat(FN-4904): complete Step 3 — align engine an _(added-with-source)_
`0dc4c9c6a` test(FN-4904): cover worktree-root lookup in ext _(test-only-churn)_
`b80b517a4` test(FN-4927): cover no-task fallback for task t _(test-only-churn)_ | | 10 | `packages/engine/src/__tests__/worktree-db-hydrate.test.ts` | 12 | 7.1s | 0.5 | 4733.3 | review | `e59a740d0` feat(FN-3841): add worktree database hydration t _(added-with-source)_
`6acc51cf0` feat(FN-4039): recover worktree db scratch boots _(test+source)_
`93dc5a727` feat(FN-4083): add WAL enforcement, immediate wr _(test+source)_ | | 11 | `packages/core/src/__tests__/activity-analytics.test.ts` | 25 | 4.6s | 0 | 4600 | delete (quarantined) | `53bb1d8f3` feat(analytics): U2 — core date-range aggregator _(added-with-source)_
`5bc8901f0` feat(command-center): U7 — SDLC funnel + through _(test+source)_
`f5bd86214` feat(monitor): U13 — monitor stage (deployments, _(test+source)_ | | 12 | `packages/dashboard/src/routes/__tests__/board-workflows-route.test.ts` | 4 | 3.6s | -5.5 | 4590 | delete | `010976cee` test: promote/board-workflows routes, concurrent _(added-with-source)_
`f77aa073c` FN-6025: fix builtin coding auto-merge review fl _(test-only-churn)_
`edde74d56` FN-6146: harden dashboard test mocks and request _(churn-keyword,test+source)_ | | 13 | `packages/dashboard/app/components/__tests__/TaskDetailModal.responsive-and-dependencies.test.tsx` | 44 | 6.6s | 0.5 | 4400 | review | `ed52c3dff` test(FN-3591): split TaskDetailModal coverage in _(added)_
`ecbf1f829` feat(FN-3276): add task review tab with metadata _(test+source)_
`309e3f91a` feat(FN-3897): add blocker fan-out hook, badge, _(test+source)_ | | 14 | `packages/core/src/__tests__/todo-store.test.ts` | 17 | 3.8s | -3 | 4370 | delete (quarantined) | `6f4b42a89` feat(FN-2575): merge fusion/fn-2575 _(added-with-source)_ | | 15 | `packages/engine/src/__tests__/reliability-interactions/soft-blocker-auto-finalize-interactions.real-git.test.ts` | 7 | 3.4s | -4 | 4080 | delete | `208753fb8` test(FN-4653): complete Step 1 — add merge-path _(added)_
`875b32266` test(FN-4653): complete Step 2 — cover mixed blo _(test-only-churn)_
`5548b6f4a` test(FN-4653): complete Step 3 — add scheduler s _(test-only-churn)_ | | 16 | `packages/core/src/__tests__/move-task-characterization.test.ts` | 10 | 8.1s | 1 | 4050 | review | `4e1b0fab0` feat(core): workflow-resolved transitions behind _(added-with-source)_
`0b7549a53` FN-6126: enable workflow experimental flags by d _(test+source)_
`9a7881441` FN-6245: keep default auto-merge tasks on live s _(test+source)_ | | 17 | `packages/engine/src/__tests__/pr-response-run.test.ts` | 23 | 11.6s | 2 | 3866.7 | review | `31d4b5335` feat(pr): security-hardened review-response run _(added-with-source)_ | | 18 | `packages/engine/src/__tests__/merger-autostash-orphan-surface.test.ts` | 6 | 3.7s | 0 | 3700 | delete | `d604d090a` feat(FN-3863): add stash recovery dashboard surf _(added-with-source)_
`bcb4107a1` feat(FN-3932): add orphaned finalize-reset autos _(test+source)_
`1cf987208` feat(FN-4018): isolate split merger temp workspa _(test-only-churn)_ | | 19 | `packages/engine/src/__tests__/merger-empty-cherry-pick-fallback.test.ts` | 2 | 3.0s | -1.5 | 3225 | delete | `653500959` test(FN-4475): add fallback empty cherry-pick re _(added)_
`ebd79d21b` feat(FN-4475): remove unstable merger empty cher _(churn-keyword,test-only-churn)_
`22d59b5f9` feat(FN-5279): add merge integration worktree fe _(test+source)_ | | 20 | `packages/engine/src/__tests__/merger-ai-cleanup.test.ts` | 15 | 2.8s | -3 | 3220 | delete (quarantined) | `4032a35a2` FN-6188: harden AI merge temp worktree cleanup _(added-with-source)_
`d75f861f2` FN-6199: harden AI merge worktree cleanup _(test+source)_
`3e69d3990` FN-6244: protect active AI merge worktrees _(churn-keyword,test+source)_ | | 21 | `packages/dashboard/src/__tests__/routes-secrets-sync.test.ts` | 17 | 2.7s | -3 | 3105 | delete | `cca96a760` test(FN-4913): complete Step 7 — add secrets syn _(added-with-source)_
`b5e674059` test(FN-4980): cover sync-export auth rejection _(test-only-churn)_
`47775e942` test(FN-4981): complete Step 2 — add push missin _(test-only-churn)_ | | 22 | `packages/core/src/__tests__/store-concurrent-writes.test.ts` | 6 | 2.8s | -1.5 | 3010 | delete (quarantined) | `93dc5a727` feat(FN-4083): add WAL enforcement, immediate wr _(added-with-source)_
`67c680c8d` fix(FN-4122): use unique tmp filename for task.j _(fix+source)_
`a38752c6b` FN-6486: rescue quarantined flaky tests _(churn-keyword,test+source)_ | | 23 | `packages/core/src/__tests__/store-archive-search.test.ts` | 63 | 3.0s | 0 | 3000 | delete | `ac6aaca2c` feat(FN-3982): split monolithic store.test.ts in _(added)_
`139e25fcf` feat(FN-4837): complete Step 2 — migrate store t _(test-only-churn)_
`294209f64` FN-5943: maintain tasks FTS5 indexes automatical _(test+source)_ | | 24 | `packages/engine/src/__tests__/reliability-interactions/in-review-branch-rebind.test.ts` | 10 | 7.4s | 1.5 | 2960 | review | `5c3096c7d` feat(FN-5083): complete Steps 5-7 rebind UI and _(added)_
`b3ac0beaa` test(FN-5083): tighten rebind reliability and qu _(test-only-churn)_
`3566cf8a1` FN-6695: block unsafe in-review branch rebinds _(test+source)_ | | 25 | `packages/core/src/__tests__/store-activity.test.ts` | 49 | 5.9s | 1 | 2950 | review | `36e130937` refactor(FN-4021): split core store tests into d _(added)_
`287ebaf10` feat(FN-4053): unify task ID allocation with sto _(test+source)_
`a0f2bc530` feat(FN-4429): complete Step 1 — plumb moveSourc _(test+source)_ | | 26 | `packages/dashboard/app/components/__tests__/AgentDetailView.mobile-scroll.test.tsx` | 4 | 2.5s | -3 | 2875 | delete | `3a4397215` feat(FN-4231): restore mobile scroll in AgentDet _(added)_
`d68fe3e9f` FN-6209: fix tablet tab overflow in agent detail _(test-only-churn)_
`b7c23c09c` FN-6450: enable touch scrolling for agent detail _(test-only-churn)_ | | 27 | `packages/dashboard/src/__tests__/insights-routes.test.ts` | 24 | 26.5s | 8.5 | 2789.5 | keep | `629398483` fix(FN-1909): reorder insights routes to prevent _(fix+source,added-with-source)_
`8de7feeb1` feat(FN-1974): merge fusion/fn-1974 _(test+source)_
`6714f7654` refactor(FN-2161): standardize on createFnAgent _(test+source)_ | | 28 | `packages/engine/src/__tests__/branch-conflicts-ghost-references.test.ts` | 5 | 2.5s | -2 | 2750 | delete | `663e5d2cd` feat(FN-4508): complete Step 1 — harden inspectB _(added-with-source)_
`5cd0e6665` feat(FN-4839): harden real-git test timeouts acr _(churn-keyword,test-only-churn)_ | | 29 | `packages/core/src/__tests__/soft-delete-lineage-children.test.ts` | 11 | 2.6s | 0 | 2600 | delete | `e0c0745c0` test(FN-5129): add lineage soft-delete and archi _(added-with-source)_
`2c7ae1c1a` feat(FN-5131): add lineage-unlink flag to triage _(test-only-churn)_
`4955ccf6e` feat(FN-5132): align soft-delete-lineage-childre _(test-only-churn)_ | | 30 | `packages/core/src/__tests__/store-handoff-to-review.test.ts` | 8 | 2.6s | 0 | 2600 | delete (quarantined) | `93b11c6c0` feat(FN-5241): add atomic in-review handoff seam _(added-with-source)_
`2d425b1e2` fix: scrub queued/blockedBy/overlapBlockedBy on _(fix+source)_ | | 31 | `packages/engine/src/__tests__/branch-conflicts-zero-unique.test.ts` | 4 | 2.2s | -2.5 | 2475 | delete | `bcb0035d1` feat(FN-4500): complete Step 2 — harden zero-uni _(added-with-source)_
`14ef1041a` feat(FN-4500): complete Step 3 — add live zero-c _(test+source)_
`5ce377afe` feat(FN-4508): complete Step 7 — docs and compat _(test-only-churn)_ | | 32 | `packages/engine/src/__tests__/workspace-e2e.test.ts` | 2 | 4.8s | 1 | 2400 | review | `78d7a28f1` test(workspace): Phase D U2 — e2e merge + recove _(added)_ | | 33 | `packages/cli/src/__tests__/research-extension-tools.test.ts` | 10 | 2.1s | -2.5 | 2362.5 | delete (quarantined) | `6670837b7` feat(FN-2996): add research agent tools with ext _(added-with-source)_
`f2fa44e27` feat(FN-2999): harden research lifecycle with id _(churn-keyword,test+source)_
`f1ee69e59` feat(FN-3014): document research recovery semant _(test+source)_ | | 34 | `packages/cli/src/__tests__/extension-mission-goal-tools.test.ts` | 4 | 1.7s | -7 | 2295 | delete (quarantined) | `93e8bd994` FN-5899: add mission-goal linking commands and t _(added-with-source)_
`26bc80a0a` FN-5958: add mission goal linking to create and _(test+source)_
`259cdfb53` FN-6734: stabilize CLI extension test cleanup _(churn-keyword,test-only-churn)_ | | 35 | `packages/engine/src/__tests__/worktree-acquisition-workspace.test.ts` | 8 | 6.6s | 2 | 2200 | review | `12d33c512` feat(workspace): Phase A U2 — per-repo acquisiti _(added-with-source)_
`d5fa8654f` fix(review): Phase A workspace hardening — tool _(churn-keyword,fix+source)_ | | 36 | `packages/dashboard/src/routes/__tests__/workflow-import-export.test.ts` | 10 | 6.5s | 2 | 2166.7 | review | `407ce03bf` feat(dashboard): workflow and template JSON impo _(added-with-source)_ | | 37 | `packages/cli/src/__tests__/extension-goal-tools.test.ts` | 7 | 1.6s | -7 | 2160 | delete (quarantined) | `b335f3d7c` FN-5652: add goal retrieval tool for agent execu _(added-with-source)_
`fab8a62b5` FN-5977: expose goal retrieval tools across engi _(test+source)_
`259cdfb53` FN-6734: stabilize CLI extension test cleanup _(churn-keyword,test-only-churn)_ | | 38 | `packages/dashboard/app/components/__tests__/AgentDetailView.settings.test.tsx` | 25 | 10.7s | 4 | 2140 | keep | `d98c053ed` feat(FN-4088): split AgentDetailView tests into _(added)_
`91931bd5d` feat(FN-4394): complete Step 5 — add dashboard s _(test+source)_
`6b2607dae` feat(FN-4400): complete Step 7 — add prompt-size _(test+source)_ | | 39 | `packages/engine/src/cli-agent/__tests__/session-manager.test.ts` | 19 | 4.2s | 1 | 2100 | review | `4fc1a9dd4` feat(engine): add CliAgentAdapter interface and _(added-with-source)_
`773ba7620` test(engine): self-skip real-PTY e2e when PTY I/ _(test-only-churn)_ | | 40 | `packages/engine/src/__tests__/reliability-interactions/ai-merge-worktree-cleanup.test.ts` | 7 | 6.3s | 2 | 2100 | review | `ac342f501` FN-6220: harden AI merge worktree cleanup _(churn-keyword,added-with-source)_
`2085610e9` FN-6246: move AI merge clean rooms into repo sto _(test+source)_
`dc4c2b220` FN-6453: clean up AI-merge worktrees after setup _(test+source)_ | ### One-line recommendations 1. `packages/engine/src/__tests__/workspace-merger-idempotency.test.ts` — **delete**: no positive (bug-encoding) signal in history; pure churn — strong delete candidate (slow: 12.7s — high CI time payoff) 2. `packages/dashboard/src/__tests__/github-tracking-delete.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 8.7s — high CI time payoff) 3. `packages/engine/src/__tests__/reliability-interactions/merge-runner-spawn-enoent-prevention.test.ts` — **delete**: no positive (bug-encoding) signal in history; pure churn — strong delete candidate (slow: 7.9s — high CI time payoff) 4. `packages/dashboard/src/__tests__/session-reconnect.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 6.1s — high CI time payoff) 5. `packages/engine/src/__tests__/self-healing-already-merged.real-git.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 4.6s — high CI time payoff) 6. `packages/core/src/__tests__/run-audit.integration.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 5.8s — high CI time payoff) 7. `packages/engine/src/__tests__/workspace-merger-lease.test.ts` — **delete**: no positive (bug-encoding) signal in history; pure churn — strong delete candidate (slow: 5.8s — high CI time payoff) 8. `packages/engine/src/__tests__/workspace-merger.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 8.0s — high CI time payoff) 9. `packages/cli/src/__tests__/extension-task-tools.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 3.8s — high CI time payoff) 10. `packages/engine/src/__tests__/worktree-db-hydrate.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 7.1s — high CI time payoff) 11. `packages/core/src/__tests__/activity-analytics.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 4.6s — high CI time payoff) 12. `packages/dashboard/src/routes/__tests__/board-workflows-route.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 3.6s — high CI time payoff) 13. `packages/dashboard/app/components/__tests__/TaskDetailModal.responsive-and-dependencies.test.tsx` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 6.6s — high CI time payoff) 14. `packages/core/src/__tests__/todo-store.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 3.8s — high CI time payoff) 15. `packages/engine/src/__tests__/reliability-interactions/soft-blocker-auto-finalize-interactions.real-git.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 3.4s — high CI time payoff) 16. `packages/core/src/__tests__/move-task-characterization.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 8.1s — high CI time payoff) 17. `packages/engine/src/__tests__/pr-response-run.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 11.6s — high CI time payoff) 18. `packages/engine/src/__tests__/merger-autostash-orphan-surface.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 3.7s — high CI time payoff) 19. `packages/engine/src/__tests__/merger-empty-cherry-pick-fallback.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 3.0s — high CI time payoff) 20. `packages/engine/src/__tests__/merger-ai-cleanup.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 2.8s — high CI time payoff) 21. `packages/dashboard/src/__tests__/routes-secrets-sync.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 2.7s — high CI time payoff) 22. `packages/core/src/__tests__/store-concurrent-writes.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 2.8s — high CI time payoff) 23. `packages/core/src/__tests__/store-archive-search.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 3.0s — high CI time payoff) 24. `packages/engine/src/__tests__/reliability-interactions/in-review-branch-rebind.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 7.4s — high CI time payoff) 25. `packages/core/src/__tests__/store-activity.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 5.9s — high CI time payoff) 26. `packages/dashboard/app/components/__tests__/AgentDetailView.mobile-scroll.test.tsx` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 2.5s — high CI time payoff) 27. `packages/dashboard/src/__tests__/insights-routes.test.ts` — **keep**: carries real bug-fix / source-coupled signal — keep 28. `packages/engine/src/__tests__/branch-conflicts-ghost-references.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 2.5s — high CI time payoff) 29. `packages/core/src/__tests__/soft-delete-lineage-children.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 2.6s — high CI time payoff) 30. `packages/core/src/__tests__/store-handoff-to-review.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 2.6s — high CI time payoff) 31. `packages/engine/src/__tests__/branch-conflicts-zero-unique.test.ts` — **delete**: net-negative value (churn outweighs signal) — delete candidate (slow: 2.2s — high CI time payoff) 32. `packages/engine/src/__tests__/workspace-e2e.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 4.8s — high CI time payoff) 33. `packages/cli/src/__tests__/research-extension-tools.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 2.1s — high CI time payoff) 34. `packages/cli/src/__tests__/extension-mission-goal-tools.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 1.7s — high CI time payoff) 35. `packages/engine/src/__tests__/worktree-acquisition-workspace.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 6.6s — high CI time payoff) 36. `packages/dashboard/src/routes/__tests__/workflow-import-export.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 6.5s — high CI time payoff) 37. `packages/cli/src/__tests__/extension-goal-tools.test.ts` — **delete**: in quarantine ledger — delete per ratchet once expiry passes (slow: 1.6s — high CI time payoff) 38. `packages/dashboard/app/components/__tests__/AgentDetailView.settings.test.tsx` — **keep**: carries real bug-fix / source-coupled signal — keep 39. `packages/engine/src/cli-agent/__tests__/session-manager.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 4.2s — high CI time payoff) 40. `packages/engine/src/__tests__/reliability-interactions/ai-merge-worktree-cleanup.test.ts` — **review**: thin positive signal; confirm it asserts a real invariant before trimming (slow: 6.3s — high CI time payoff)