Skip to content

Pipeline Plan 200

Seth Ford edited this page Apr 4, 2026 · 2 revisions

The plan is ready for review. Key summary:

Problem: The test optimizer module (scripts/lib/test-optimizer.sh) already has parallel execution, affected-test selection, prioritization, and fast-fail — but none of it is wired into the pipeline or loop. Both stage_test() and run_test_gate() run tests as a single synchronous command.

Solution (14 tasks across 5 files):

  1. Enhance test-optimizer.sh — Add CPU core detection (sysctl/nproc, 75% of cores, capped 2-8), shared-state scanning (6 patterns: hardcoded tmp paths, database access, port binding, etc.), and a new testopt_execute() orchestrator that combines everything into a single entry point
  2. Wire into pipelinestage_test() calls testopt_execute when config says "optimization": "auto" (default) and the module is loaded
  3. Wire into looprun_test_gate() uses optimizer for shell-based test suites, controlled by SW_TEST_OPTIMIZER env var
  4. Test suite — 10+ new test cases covering core detection, shared-state partitioning, and end-to-end orchestration
  5. Fully backwards-compatibleSW_TEST_OPTIMIZER=false bypasses everything

Clone this wiki locally