test(miner): add regression coverage for the two-tier stalled-output timeout - #5575
Conversation
…timeout Covers the fast-fail first-output deadline on the CLI-subprocess coding-agent driver (the firstOutputTimeoutMs path, JSONbored#4994/JSONbored#5053), which had no dedicated regression test of its own: - zero stdout past firstOutputTimeoutMs -> distinct `_stalled_no_output` error, not a full timeout - output before the first-output deadline -> not killed, completes normally - output then no exit before the full timeoutMs -> the pre-existing `_timeout_` path is unchanged Test-only, layered on the already-merged timeout feature; touches only the driver's own test file. Closes JSONbored#5196
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5575 +/- ##
=======================================
Coverage 94.98% 94.98%
=======================================
Files 573 573
Lines 45469 45469
Branches 14680 14680
=======================================
Hits 43187 43187
Misses 1531 1531
Partials 751 751
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-13 06:46:38 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
Adds the missing regression coverage (#5196) for the two-tier stalled-output timeout on the CLI-subprocess coding-agent driver (
packages/gittensory-engine/src/miner/cli-subprocess-driver.ts). ThefirstOutputTimeoutMsfast-fail path — added after the #4994/#5053 production outage where a zero-outputclaude/codexprocess was only killed at the fulltimeoutMsand masked as a generic timeout — had no dedicated test of its own.Three cases, using the driver's existing injected-spawn fake, named to map to the #4994/#5053 outage:
firstOutputTimeoutMs⇒ asserts the distinctclaude_stalled_no_outputerror + summary, and that it is not conflated with the generic_timeout_error.timeoutMs⇒ asserts the pre-existingclaude_timeout_5000mspath is unchanged (the new fast-fail didn't alter the old behavior).Test-only, layered on the already-merged timeout feature; touches only the driver's own test file — no driver/attempt/governor control-flow changes.
Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #5196.Validation
git diff --checknpx vitest run test/unit/cli-subprocess-driver.test.ts— 42 pass (existing + the 3 new cases)typecheckclean on the changed filemain(clean); diff is exactly one fileIf any required check was skipped, explain why:
test/**). Nosrc/**/apps/**/package changes, so Codecov (which ignorestest/**) and the UI/MCP jobs are path-skipped; there is no product code to cover.Safety
Notes
Closes #5196