{ "generatedAt": "2026-04-01T16:27:13.771Z", "packages": { "core": { "lineCoverage": 80.64, "functionCoverage": 91.27, "branchCoverage": 84.43, "files": 21, "totalStatements": 6198, "coveredStatements": 4998, "totalFunctions": 332, "coveredFunctions": 303, "totalBranches": 1625, "coveredBranches": 1372 }, "engine": { "lineCoverage": 6.04, "functionCoverage": 77.78, "branchCoverage": 83.45, "files": 30, "totalStatements": 6788, "coveredStatements": 410, "totalFunctions": 72, "coveredFunctions": 56, "totalBranches": 145, "coveredBranches": 121, "note": "Partial coverage — only 5 of 27 test files ran (OOM prevents full run)" }, "cli": { "lineCoverage": 36.18, "functionCoverage": 44.25, "branchCoverage": 67.65, "files": 14, "totalStatements": 5650, "coveredStatements": 2044, "totalFunctions": 174, "coveredFunctions": 77, "totalBranches": 507, "coveredBranches": 343 }, "dashboard": { "lineCoverage": 70.22, "functionCoverage": 68.94, "branchCoverage": 84.57, "files": 108, "totalStatements": 33238, "coveredStatements": 23339, "totalFunctions": 1304, "coveredFunctions": 899, "totalBranches": 6920, "coveredBranches": 5852 } }, "overall": { "lineCoverage": 59.36, "functionCoverage": 70.94, "branchCoverage": 83.59, "note": "Engine numbers are artificially low due to OOM; true overall would be higher" }, "untestedFiles": [ { "package": "core", "file": "agent-store.ts", "lines": 597, "reason": "Agent state management store — no tests at all" }, { "package": "engine", "file": "ipc/ipc-host.ts", "lines": 279, "reason": "IPC host for child process communication" }, { "package": "engine", "file": "ipc/ipc-worker.ts", "lines": 325, "reason": "IPC worker for child process communication" }, { "package": "engine", "file": "runtimes/child-process-worker.ts", "lines": 174, "reason": "Child process entry point" }, { "package": "engine", "file": "pi.ts", "lines": 109, "reason": "Pi integration utilities" }, { "package": "engine", "file": "github.ts", "lines": 37, "reason": "GitHub utility" }, { "package": "cli", "file": "bin.ts", "lines": 786, "reason": "Main CLI entry point" }, { "package": "cli", "file": "commands/backup.ts", "lines": 131, "reason": "Backup CLI command" }, { "package": "cli", "file": "commands/settings-export.ts", "lines": 74, "reason": "Settings export command" }, { "package": "cli", "file": "commands/settings-import.ts", "lines": 128, "reason": "Settings import command" }, { "package": "cli", "file": "runtime/native-patch.ts", "lines": 223, "reason": "Native module patching" }, { "package": "dashboard", "file": "src/mission-routes.ts", "lines": 1137, "reason": "Mission API route handlers" }, { "package": "dashboard", "file": "src/terminal.ts", "lines": 347, "reason": "Terminal service" }, { "package": "dashboard", "file": "src/subtask-breakdown.ts", "lines": 331, "reason": "AI subtask breakdown service" }, { "package": "dashboard", "file": "src/sse.ts", "lines": 51, "reason": "Server-Sent Events utility" }, { "package": "dashboard", "file": "app/components/TaskChangesTab.tsx", "lines": 199, "reason": "Task file changes display" }, { "package": "dashboard", "file": "app/components/ProjectDetectionResults.tsx", "lines": 253, "reason": "Project detection results" }, { "package": "dashboard", "file": "app/components/SetupProjectForm.tsx", "lines": 225, "reason": "Project setup form" }, { "package": "dashboard", "file": "app/components/SetupWizardModal.tsx", "lines": 217, "reason": "First-run wizard modal" }, { "package": "dashboard", "file": "app/components/ProjectHealthBadge.tsx", "lines": 106, "reason": "Health status badge" }, { "package": "dashboard", "file": "app/components/FileBrowser.tsx", "lines": 113, "reason": "File browser component" }, { "package": "dashboard", "file": "app/hooks/useProjectHealth.ts", "lines": 143, "reason": "Project health polling hook" }, { "package": "dashboard", "file": "app/hooks/useFileEditor.ts", "lines": 120, "reason": "File editor hook" }, { "package": "dashboard", "file": "app/hooks/useFileBrowser.ts", "lines": 84, "reason": "File browser hook" }, { "package": "dashboard", "file": "app/utils/projectDetection.ts", "lines": 146, "reason": "Project detection utility" } ], "lowCoverageFiles": [ { "package": "dashboard", "file": "src/mission-routes.ts", "lineCoverage": 37.03, "priority": "high" }, { "package": "cli", "file": "commands/task.ts", "lineCoverage": 17.09, "priority": "high" }, { "package": "core", "file": "agent-store.ts", "lineCoverage": 0, "priority": "high" }, { "package": "dashboard", "file": "src/terminal.ts", "lineCoverage": 36.62, "priority": "high" }, { "package": "dashboard", "file": "src/server.ts", "lineCoverage": 28.72, "priority": "high" }, { "package": "engine", "file": "ipc/ipc-host.ts", "lineCoverage": 0, "priority": "high" }, { "package": "engine", "file": "ipc/ipc-worker.ts", "lineCoverage": 0, "priority": "high" }, { "package": "cli", "file": "project-resolver.ts", "lineCoverage": 28.32, "priority": "high" }, { "package": "dashboard", "file": "src/subtask-breakdown.ts", "lineCoverage": 50.63, "priority": "medium" }, { "package": "dashboard", "file": "app/components/NewTaskModal.tsx", "lineCoverage": 47.1, "priority": "medium" }, { "package": "cli", "file": "commands/dashboard.ts", "lineCoverage": 29.98, "priority": "medium" }, { "package": "dashboard", "file": "src/planning.ts", "lineCoverage": 42.08, "priority": "medium" }, { "package": "dashboard", "file": "src/routes.ts", "lineCoverage": 47.07, "priority": "medium" }, { "package": "cli", "file": "commands/project.ts", "lineCoverage": 48.25, "priority": "medium" }, { "package": "cli", "file": "extension.ts", "lineCoverage": 56.26, "priority": "low" }, { "package": "dashboard", "file": "app/components/SettingsModal.tsx", "lineCoverage": 63.2, "priority": "low" }, { "package": "core", "file": "gh-cli.ts", "lineCoverage": 26.52, "priority": "medium" } ], "testIssues": { "coreFailures": 4, "cliFailures": 111, "engineOOM": true, "dashboardFailures": "select component test failures" } }