Participant: codex (AI agent)
Understanding
ticket-034 bounds each OpenRouter request, but compare-workspace runs a
base and workspace pipeline and fans documentation into chunks. A measured
Planfile comparison remained alive for more than 20 minutes after one chunk
completed because there was no aggregate deadline.
Execution plan
- Derive a bounded aggregate deadline from input bytes and estimated semantic
work units, using 2x steps.
- Propagate one abort signal through both comparison pipelines.
- Add deterministic calculation and cleanup regressions.
- Run focused, full, governance and Docker validation before publication.
Actual changes
- Added a pure aggregate-deadline decision with 10-minute baseline, bounded 2x
steps and 40-minute ceiling.
- Counted the two pipeline inputs, documentation chunks and enabled semantic
work before starting comparison.
- Propagated one abort signal through both OpenRouter configurations, converted
expiry into an explicit comparison failure and cleaned the timer/listener in
the existing worktree
finally boundary.
- Added focused boundary tests and replaced an old unsafe-looking credential
fixture with a governance-safe test placeholder.
Blockers
- None. Koru and Validator reviewed exact head
5b51880 with
openrouter/z-ai/glm-5.2; protected PR #52 merged it as main@2c16449.