Files
open-multi-agent/.github
Jack Chen 79c9d2b5ff fix(release-bot): size the output ceiling for reasoning, not just the answer (#576)
The 2026-09-04 weekly run failed with a structured-output validation error, but
the output ceiling was the real cause. change-analyst spent 19,822 characters of
reasoning against its 4,500-token cap and returned empty text, so there was no
JSON to validate. The single in-run correction that followed emitted malformed
JSON, and both dependent synthesis tasks failed with it.

This is the second time the same defect has broken the weekly cadence. #519 hit
it on release-reviewer at 3,500 tokens with the identical signature, empty text
after the budget went to reasoning, and fixed it by disabling thinking for the
two synthesis agents. That treated the symptom on the wrong axis and left the
two evidence roles carrying the same bug.

Reasoning and the answer are billed against one budget, so the ceiling is now
sized for both: a single 64,000-token limit shared by every role, roughly
fourteen times the reasoning this run actually produced. An unused ceiling costs
nothing, and the run-level token budget cannot stand in for it because it is
only checked after a call returns, never during one.

With the budget no longer the binding constraint, thinking goes back on for the
synthesis agents and every role moves to DeepSeek's max effort.

The three timeouts move as one chain, because raising the token ceiling alone
would have traded a validation failure for a timeout. An evidence role's worst
case is a tool turn, an answer, and one correction, so 3 x 180s fits inside its
600s. The DAG's worst case is the evidence pair in parallel and then both
synthesis agents in series, so 3 x 600s fits inside a 30-minute deadline, raised
from 10. That leaves the job's 45-minute timeout room for checkout, install,
build, and the deterministic PR work that follows the analysis.

The orchestrator test now asserts the per-role thinking config alongside the
token ceiling. #519 removed thinking from two agents with no assertion to record
it, which is part of why the regression stayed invisible.

Refs #574.
2026-09-04 23:52:39 +08:00
..