mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-27 05:30:39 +00:00
* fix(goal): record a failed evaluator call as a stand-down When the goal evaluator call raised (a provider error, or an answer that was not valid JSON), _prepare_goal_continuation_input() logged a warning and returned without writing anything. The goal stayed active with no last_evaluation, or with an earlier run's verdict and run id, unlike the other paths that stop the goal loop. Record it like the no_durable_end_of_turn stand-down: blocker run_failed, stand_down_reason evaluator_failed, the current run id, and a reason that names only the exception type. Nothing is recorded if the run was aborted meanwhile. A failure before the evaluator is called keeps its behavior and now logs "Could not prepare goal evaluation". * docs(gateway): fit the evaluator-failure note in the AGENTS.md budget Main grew backend/app/gateway/AGENTS.md to 49,006 bytes, and the longer note pushed the merged file past the 49,152-byte hard limit that tests/test_agent_guidance_check.py enforces. Say it in one clause. * docs(gateway): keep main's AGENTS.md line after the merge The merge from main kept this branch's version of the goal paragraph, which restored the Human Input Card wording #6068 replaced and put the file at 49,194 bytes, over the 49,152-byte limit the agent-guidance check enforces. Take main's line. It already says every non-satisfied evaluation is persisted with last_evaluation, which this fix makes true for a failed evaluator call. --------- Co-authored-by: Totoro-qaq <279883115+Totoro-qaq@users.noreply.github.com> Co-authored-by: Willem Jiang <willem.jiang@gmail.com>