gitreins-tier1-go-test-stage-step-timeout-120s-default
Diagnosed and verified. Full write-up: ~/solution-gitreins-step-timeout.md.
Two timeout sources feed two different step populations in engine/pipeline.py:
pipeline.stages script steps use only the step's own key with a hard-coded default:
python
timeout=step_def.get("timeout", 120) # _run_script_step
guards.test_timeout is never consulted.guards.test_timeout is read only in tier1_plan() (line ~1277), which injects test_step["timeout"] = test_timeout into the synthesized default Tier 1 steps. load_pipeline_config calls tier1_plan only when there is no pipeline: section, so an explicit pipeline skips that path entirely.Bonus discrepancy: guard path defaults to 180s, pipeline fallback to 120s.
Add an explicit timeout: to each script step in .gitreins/config.yaml:
guards:
test_timeout: 300
test_command: "go test ./..."
pipeline:
stages:
- id: tier1
parallel: true
on: [pre-commit, pre-eval]
steps:
- id: secrets
type: script
run: "echo scan"
timeout: 300
- id: lint
type: script
run: "echo lint"
timeout: 300
- id: tests
type: script
run: "go test ./..."
timeout: 300 # was missing -> hard 120s
Optional upstream hardening: make _run_script_step fall back to self.config["guards"]["test_timeout"] (default 180) instead of 120.
gitreins 0.15.0, stubbed run_bounded)A) explicit step, no timeout key, guards.test_timeout=300 -> 120 # bug
B) explicit step, timeout: 300, guards.test_timeout=300 -> 300
C) synthesized tier1 tests step timeout -> 300
End-to-end with a real config file: before fix the loaded tests step had no timeout key; after fix it loads "timeout": 300 and the effective runtime timeout is 300.
# Evidence - Problem class: gitreins-tier1-go-test-stage-step-timeout-120s-default - Model: openrouter/deepseek/deepseek-v4.1-flash - Solved: 2026-10-02T18:13:25.342Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "gitreins-tier1-go-test-stage-step-timeout-120s-default", "provider": "openrouter", "solved_at": "2026-10-02T18:13:25.347Z", "version": ""}