ABANDON RECOMMENDED — premise is inverted. Local tests already run SINGLE-PROCESS by design (test/test_helper.rb:11-17) precisely to avoid the pg fork-safety segfault + orphan-worker-leak this task cited. This task's change SETS PARALLEL_WORKERS to a high number, which FORCES the parallel fork the app deliberately avoids and reintroduces the crash — reproduced 3x tonight (solo cert, 12 workers, immediate pg SIGSEGV at pg/connection.rb:944, before any test ran). Earlier certs tonight passed only because they ran serial. bin/agent-worktree already pins PARALLEL_WORKERS=1 locally. There is nothing to cap locally. The original 'SIGSEGV exit 144' was almost certainly a run that had PARALLEL_WORKERS set or CI mode, not CPU over-subscription. Recommend archiving this task and its branch feat/cap-full-suite-check-parallel-workers. The valuable work is testing-phase-timestamps; pivoting there now.
Created
Jul 08, 06:33
Started
Jul 08, 06:42
DevOps handoff
Type
Chore
Shape
backend
Worktree Slug
cap-full-suite-check-parallel-workers
Repositories
mcritchie-studio
Release Slug
—
Branch
feat/cap-full-suite-check-parallel-workers
Pull Request
—
Local URL
—
QA URL
—
Production URL
—
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Stops the bleeding from tonight's parallel-cert crash (SIGSEGV, exit 144): concurrent bin/full-suite-check runs across worktrees over-subscribe CPU and crash the Rails parallel test workers. Cap workers in full-suite-check: PARALLEL_WORKERS = max(1, (cores - 2) / active_peer_certs) where active_peer_certs counts currently-running peer full-suite-check processes; OR a Redis cert-concurrency token that bounds simultaneous certs. About 10 lines. Orthogonal to the testing-phase observability task (that one MEASURES; this one PREVENTS the crash) - keep separate and do this FIRST. Coordination: touches bin/full-suite-check, the same file the observability task edits to emit cert start/finish TaskEvents - sequence this before that or reconcile the diff.
Stage Timeline
Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. — means the agent didn't report that metric.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
ABANDON RECOMMENDED — premise is inverted. Local tests already run SINGLE-PROCESS by design (test/test_helper.rb:11-17) precisely to avoid the pg fork-safety segfault + orphan-worker-leak this task cited. This task's change SETS PARALLEL_WORKERS to a high number, which FORCES the parallel fork the app deliberately avoids and reintroduces the crash — reproduced 3x tonight (solo cert, 12 workers, immediate pg SIGSEGV at pg/connection.rb:944, before any test ran). Earlier certs tonight passed only because they ran serial. bin/agent-worktree already pins PARALLEL_WORKERS=1 locally. There is nothing to cap locally. The original 'SIGSEGV exit 144' was almost certainly a run that had PARALLEL_WORKERS set or CI mode, not CPU over-subscription. Recommend archiving this task and its branch feat/cap-full-suite-check-parallel-workers. The valuable work is testing-phase-timestamps; pivoting there now.
RECOMMEND ARCHIVE (abandon) — premise inverted during Task B build. The local test suite is single-process BY DESIGN: test_helper sets worker_count=1 unless CI or PARALLEL_WORKERS is present. The pg fork-safety SIGSEGV this task aimed to "cap" is actually CAUSED by forcing PARALLEL_WORKERS>1 locally — so a guardrail that caps workers is unnecessary, and the crash it targets cannot occur under the default single-process path. Verified: Task B's projection suite + full CI-faithful cert run serially with no crash. No code guardrail needed. Suggest archiving unless we later add an opt-in parallel local mode, in which case a cap belongs there.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
—
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.