gitreins-tier2-time-cap-exceeded-not-token-cap
Solution written to ~/gitreins-tier2-time-cap-solution.md.
Diagnosis: The tier-2 INCOMPLETE / "resource cap" summary is shared by two different caps, so the job log is the only reliable discriminator. The decisive line — Time cap (45m) exceeded (45m11s elapsed) — proves the wall-clock cap, not the input-token cap. Corroborating evidence: max_input_tokens is 8M/never near, and the passing run finished at ~51m, only ~6m past the old 45m budget.
Exact fix: Edit .gitreins/config.yaml:
evaluator:
- max_time: 45m
+ max_time: 60m
max_input_tokens: 8M
Then gitreins judge --async and poll status.
Verification:
- grep -n "max_time" .gitreins/config.yaml → 60m
- New run: tier-1 PASS, tier-2 PASS
- New job log has no Time cap … exceeded
- Wall-clock ~51m, inside 60m
The doc also includes the failure-order disambiguation table (tier1-guard-timeout = tier2 PASS + tier1 FAIL; tier2 time-cap = tier1 PASS + tier2 FAIL), a decision rule, and a warning to read the cap message before editing config.
Note: this environment has no heading checkout and the <tool> symlink is broken, so the fix could not be executed here — the document is delivered as a runnable procedure with expected outputs.
# Evidence - Problem class: gitreins-tier2-time-cap-exceeded-not-token-cap - Model: openrouter/deepseek/deepseek-v4.1-flash - Solved: 2026-09-29T00:50:52.084Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "GitReins tier-2 INCOMPLETE with summary 'evaluation hit resource cap before all criteria verified' was NOT the input-token cap (config max_input_tokens 8M, never near). The job log line is decisive: 'WARNING: Eval cap exceeded during tool call: Time cap (45m) exceeded (45m11s elapsed). Increase max_time or simplify criteria.' Fix: raise evaluator.max_time one rung in .gitreins/config.yaml (45m to 60m) and re-run gitreins judge --async; run 3 then PASSed in about 51m. Distinguish from gitreins-tier2-input-token-cap-exceeded by reading the job log cap message before editing config. Also note the opposite failure order: tier1-guard-timeout shows tier2 PASS + tier1 FAIL, time-cap shows tier1 PASS + tier2 FAIL.", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "gitreins-tier2-time-cap-exceeded-not-token-cap", "provider": "openrouter", "solved_at": "2026-09-29T00:50:52.087Z", "version": ""}Solution written to ~/gitreins-tier2-time-cap-solution.md.
Diagnosis: The tier-2 INCOMPLETE / "resource cap" summary is shared by two different caps, so the job log is the only reliable discriminator. The decisive line — Time cap (45m) exceeded (45m11s elapsed) — proves the wall-clock cap, not the input-token cap. Corroborating evidence: max_input_tokens is 8M/never near, and the passing run finished at ~51m, only ~6m past the old 45m budget.
Exact fix: Edit .gitreins/config.yaml:
evaluator:
- max_time: 45m
+ max_time: 60m
max_input_tokens: 8M
Then gitreins judge --async and poll status.
Verification:
- grep -n "max_time" .gitreins/config.yaml → 60m
- New run: tier-1 PASS, tier-2 PASS
- New job log has no Time cap … exceeded
- Wall-clock ~51m, inside 60m
The doc also includes the failure-order disambiguation table (tier1-guard-timeout = tier2 PASS + tier1 FAIL; tier2 time-cap = tier1 PASS + tier2 FAIL), a decision rule, and a warning to read the cap message before editing config.
Note: this environment has no heading checkout and the <tool> symlink is broken, so the fix could not be executed here — the document is delivered as a runnable procedure with expected outputs.
# Evidence - Problem class: gitreins-tier2-time-cap-exceeded-not-token-cap - Model: openrouter/deepseek/deepseek-v4.1-flash - Solved: 2026-09-29T00:50:52.084Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "GitReins tier-2 INCOMPLETE with summary 'evaluation hit resource cap before all criteria verified' was NOT the input-token cap (config max_input_tokens 8M, never near). The job log line is decisive: 'WARNING: Eval cap exceeded during tool call: Time cap (45m) exceeded (45m11s elapsed). Increase max_time or simplify criteria.' Fix: raise evaluator.max_time one rung in .gitreins/config.yaml (45m to 60m) and re-run gitreins judge --async; run 3 then PASSed in about 51m. Distinguish from gitreins-tier2-input-token-cap-exceeded by reading the job log cap message before editing config. Also note the opposite failure order: tier1-guard-timeout shows tier2 PASS + tier1 FAIL, time-cap shows tier1 PASS + tier2 FAIL.", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "gitreins-tier2-time-cap-exceeded-not-token-cap", "provider": "openrouter", "solved_at": "2026-09-29T00:50:52.087Z", "version": ""}