Skip to content

Add test coverage for main process infrastructure #373

@pedramamini

Description

@pedramamini

Summary

Systematic test coverage for the main process layer — the highest-value untested code in the codebase. ~15,800 untested lines across process-manager, session storage, SSH wrapper, context groomer, and Factory Droid parser.

Playbook

6-phase playbook at Auto Run Docs/2026-02-14-Test-Coverage/:

Phase File Scope Effort
01 TEST-COVERAGE-01.md Process Manager Utils (envBuilder, pathResolver, bufferUtils, imageUtils, streamJsonBuilder) Light
02 TEST-COVERAGE-02.md ProcessManager Core + Runners (ProcessManager, DataBufferManager, LocalCommandRunner, SshCommandRunner) Medium
03 TEST-COVERAGE-03.md PtySpawner + SSH Spawn Wrapper Medium
04 TEST-COVERAGE-04.md Factory Droid Output Parser (only untested parser) Light
05 TEST-COVERAGE-05.md Context Groomer (async/timeout/cancellation) Medium
06 TEST-COVERAGE-06.md Session Storage — Codex, OpenCode, Factory Droid (3 providers) Heavy

Key Files Being Covered

Process Manager (~2,600 lines, 0% → target ~80%)

  • src/main/process-manager/ProcessManager.ts
  • src/main/process-manager/handlers/DataBufferManager.ts
  • src/main/process-manager/runners/LocalCommandRunner.ts
  • src/main/process-manager/runners/SshCommandRunner.ts
  • src/main/process-manager/spawners/PtySpawner.ts
  • src/main/process-manager/utils/envBuilder.ts
  • src/main/process-manager/utils/pathResolver.ts
  • src/main/process-manager/utils/bufferUtils.ts
  • src/main/process-manager/utils/imageUtils.ts
  • src/main/process-manager/utils/streamJsonBuilder.ts

Session Storage (~3,500 lines, 0% → target ~70%)

  • src/main/storage/codex-session-storage.ts
  • src/main/storage/opencode-session-storage.ts
  • src/main/storage/factory-droid-session-storage.ts

Utilities & Parsers (~940 lines, 0% → target ~80%)

  • src/main/utils/ssh-spawn-wrapper.ts
  • src/main/utils/context-groomer.ts
  • src/main/parsers/factory-droid-output-parser.ts

What's Already Well Covered (not in scope)

  • Renderer stores, services, IPC handlers, web/mobile, CLI
  • StdoutHandler, StderrHandler, ExitHandler, ChildProcessSpawner, shellEscape (already tested)
  • Claude session storage (already tested)

PERF-01.md
PERF-02.md
PERF-03.md
PERF-04.md
PERF-05.md
PERF-06.md
PERF-07.md
PERF-08.md

Metadata

Metadata

Assignees

Labels

runmaestro.aiThese issues are part of the Maestro Symphony program.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions