Files
fusion/scripts/line-count-baseline.json
gsxdsm 778292b484 refactor: package code organization wave 19 (self-healing pure peels) (#3403)
## Summary
Starts **U5** of the package code-organization program after wave 18
(executor peels) landed.

Peels pure free-function clusters out of `self-healing.ts` into
`packages/engine/src/self-healing/` without behavior changes. Public
imports from `./self-healing.js` remain stable via re-exports.

### Peels
| Symbol | New home |
|--------|----------|
| `autoRecoverWorktreeSessionStartFailure` |
`self-healing/auto-recover-worktree-session.ts` |
| `archiveAsGhostBug` | `self-healing/archive-ghost-bug.ts` |
| `hasStepProgress` / work-complete helpers |
`self-healing/step-progress.ts` |

### Line count
- `self-healing.ts`: ~15456 → ~15231 (baseline ratcheted to post-peel
live; main had already drifted past the prior grandfathered ceiling via
organic growth)
- New modules each well under 2,000 lines

## Test plan
- [x] `pnpm --filter @fusion/engine exec tsc --noEmit`
- [x] `self-healing-trait-rekey.test.ts` (autoRecover requeue)
- [x] `self-healing-paused-abort-recovery.test.ts`
- [x] `self-healing-model-unavailable-recovery.test.ts`
- [ ] CI gate

## Follow-ups
U5 Slice B: domain method clusters (startup, in-review, merge-status,
workspace, surfacing) into additional `self-healing/*.ts` modules.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved automatic recovery when worktree sessions fail to start,
including stale or incomplete session data.
* Tasks can be safely requeued while preserving progress, or escalated
after retry limits are reached.
* Improved handling of completed work and failures where task completion
was not recorded.
* Preserved valid task branches during recovery and provided more
reliable fallback requeue behavior.
* Ghost bugs are automatically archived with recovery details and
activity history.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-11 11:29:30 -10:00

109 lines
6.5 KiB
JSON

{
"packages/cli/src/__tests__/extension.test.ts": 4491,
"packages/cli/src/bin.ts": 2321,
"packages/cli/src/commands/__tests__/serve.test.ts": 2313,
"packages/cli/src/commands/__tests__/task.test.ts": 3644,
"packages/cli/src/commands/dashboard-tui/app.tsx": 4697,
"packages/cli/src/commands/dashboard.ts": 3739,
"packages/cli/src/commands/task.ts": 2372,
"packages/cli/src/extension.ts": 5694,
"packages/core/src/__tests__/postgres/schema-applier.test.ts": 2457,
"packages/core/src/agent-store.ts": 3484,
"packages/core/src/async-mission-store-queries.ts": 2093,
"packages/core/src/central-core.ts": 4486,
"packages/core/src/index.gate.ts": 2256,
"packages/core/src/index.ts": 2618,
"packages/core/src/mission-store.ts": 4361,
"packages/core/src/postgres/schema/project.ts": 2227,
"packages/core/src/postgres/sqlite-migrator.ts": 2308,
"packages/core/src/store.ts": 2820,
"packages/core/src/types/settings-scope.ts": 2287,
"packages/dashboard/app/App.tsx": 2136,
"packages/dashboard/app/components/AgentDetailView.tsx": 5567,
"packages/dashboard/app/components/AgentsView.tsx": 2254,
"packages/dashboard/app/components/ChatView.tsx": 4043,
"packages/dashboard/app/components/GitHubImportModal.tsx": 2481,
"packages/dashboard/app/components/GitManagerModal.tsx": 3560,
"packages/dashboard/app/components/ListView.tsx": 3152,
"packages/dashboard/app/components/MissionManager.tsx": 5149,
"packages/dashboard/app/components/ModelOnboardingModal.tsx": 3594,
"packages/dashboard/app/components/PlanningModeModal.tsx": 4697,
"packages/dashboard/app/components/QuickEntryBox.tsx": 2562,
"packages/dashboard/app/components/SettingsModal.tsx": 5257,
"packages/dashboard/app/components/TaskCard.tsx": 3896,
"packages/dashboard/app/components/TaskDetailModal.tsx": 6528,
"packages/dashboard/app/components/TerminalModal.tsx": 3322,
"packages/dashboard/app/components/WorkflowNodeEditor.tsx": 5685,
"packages/dashboard/app/components/__tests__/AgentsView.test.tsx": 2854,
"packages/dashboard/app/components/__tests__/App.test.tsx": 4663,
"packages/dashboard/app/components/__tests__/Board.test.tsx": 2107,
"packages/dashboard/app/components/__tests__/ChatView.mobile.test.tsx": 2436,
"packages/dashboard/app/components/__tests__/GitHubImportModal.test.tsx": 3221,
"packages/dashboard/app/components/__tests__/GitManagerModal.test.tsx": 3790,
"packages/dashboard/app/components/__tests__/ListView.test.tsx": 5380,
"packages/dashboard/app/components/__tests__/MailboxView.test.tsx": 2646,
"packages/dashboard/app/components/__tests__/ModelOnboardingModal.test.tsx": 5146,
"packages/dashboard/app/components/__tests__/NewTaskModal.test.tsx": 2081,
"packages/dashboard/app/components/__tests__/QuickEntryBox.test.tsx": 5433,
"packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx": 2166,
"packages/dashboard/app/components/__tests__/TaskCard.test.tsx": 7835,
"packages/dashboard/app/components/__tests__/TaskChatTab.test.tsx": 3175,
"packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx": 3438,
"packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx": 2854,
"packages/dashboard/app/components/__tests__/TaskDetailModal.responsive-and-dependencies.test.tsx": 2071,
"packages/dashboard/app/components/__tests__/TerminalModal.test.tsx": 9176,
"packages/dashboard/app/components/__tests__/UsageIndicator.test.tsx": 2931,
"packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx": 4353,
"packages/dashboard/app/components/__tests__/WorkflowResultsTab.test.tsx": 2206,
"packages/dashboard/app/components/__tests__/workflow-flow-mapping.test.ts": 2458,
"packages/dashboard/app/hooks/__tests__/useChat.test.ts": 5466,
"packages/dashboard/app/hooks/__tests__/useTasks.test.ts": 3766,
"packages/dashboard/src/__tests__/chat-manager.test.ts": 3859,
"packages/dashboard/src/__tests__/file-service.test.ts": 2310,
"packages/dashboard/src/__tests__/github.test.ts": 2467,
"packages/dashboard/src/__tests__/routes-auth.test.ts": 5510,
"packages/dashboard/src/__tests__/routes-automation.test.ts": 3089,
"packages/dashboard/src/__tests__/routes-github.test.ts": 3911,
"packages/dashboard/src/__tests__/routes-planning.test.ts": 5379,
"packages/dashboard/src/__tests__/routes-tasks.test.ts": 3024,
"packages/dashboard/src/__tests__/usage.test.ts": 5427,
"packages/dashboard/src/chat.ts": 3134,
"packages/dashboard/src/github.ts": 5112,
"packages/dashboard/src/mission-routes.ts": 3924,
"packages/dashboard/src/planning.ts": 3645,
"packages/dashboard/src/routes.ts": 2043,
"packages/dashboard/src/routes/register-git-github.ts": 6342,
"packages/dashboard/src/routes/register-settings-memory-routes.ts": 2403,
"packages/dashboard/src/routes/register-task-workflow-routes.ts": 5641,
"packages/dashboard/src/server.ts": 2883,
"packages/dashboard/src/usage.ts": 2435,
"packages/engine/src/__tests__/cron-runner.test.ts": 2334,
"packages/engine/src/__tests__/executor-prompt.test.ts": 2838,
"packages/engine/src/__tests__/executor-worktree.test.ts": 2946,
"packages/engine/src/__tests__/heartbeat-executor.test.ts": 4545,
"packages/engine/src/__tests__/heartbeat-scheduler.test.ts": 3346,
"packages/engine/src/__tests__/merger-merge-lifecycle.test.ts": 3697,
"packages/engine/src/__tests__/merger-verification.test.ts": 3177,
"packages/engine/src/__tests__/mission-execution-loop.test.ts": 2984,
"packages/engine/src/__tests__/pi-create-fn-agent.test.ts": 3292,
"packages/engine/src/__tests__/project-engine.test.ts": 3725,
"packages/engine/src/__tests__/restart.integration.test.ts": 2267,
"packages/engine/src/__tests__/self-healing.test.ts": 11840,
"packages/engine/src/__tests__/step-session-executor.test.ts": 3226,
"packages/engine/src/__tests__/triage.test.ts": 7042,
"packages/engine/src/agent-heartbeat.ts": 5422,
"packages/engine/src/agent-tools.ts": 5437,
"packages/engine/src/executor.ts": 10,
"packages/engine/src/merger-ai.ts": 2445,
"packages/engine/src/merger.ts": 11244,
"packages/engine/src/pi.ts": 2900,
"packages/engine/src/project-engine.ts": 5580,
"packages/engine/src/runtimes/in-process-runtime.ts": 2160,
"packages/engine/src/scheduler.ts": 3666,
"packages/engine/src/self-healing.ts": 15231,
"packages/engine/src/triage.ts": 3645,
"packages/pi-claude-cli/src/__tests__/provider.test.ts": 2028,
"plugins/fusion-plugin-roadmap/src/dashboard/RoadmapsView.tsx": 2583,
"scripts/__tests__/test-changed.test.mjs": 2134
}