Remove final_output tool and improve scout report handback

final_output removal:
- Remove final_output from tool definitions and dispatch
- Update system prompts to request summaries as regular text
- Remove final_output_called field from StreamingState
- Update auto_continue tests to remove final_output_called parameter
- Remove final_output test from tool_execution_test.rs
- Update planner and flock prompts to not reference final_output
- Keep backwards-compat code in feedback_extraction.rs and task_result.rs

Scout report handback:
- Change from file-based to delimiter-based report extraction
- Scout outputs report between ---SCOUT_REPORT_START/END--- markers
- Research tool extracts content between markers, strips ANSI codes
- Add comprehensive tests for extraction and ANSI stripping

657 tests pass.
This commit is contained in:
Dhanji R. Prasanna
2026-01-10 13:43:04 +11:00
parent cab2fb187a
commit 0aa1287ca6
9 changed files with 247 additions and 95 deletions

View File

@@ -326,27 +326,6 @@ mod todo_tests {
}
}
// =============================================================================
// Test: final_output tool
// =============================================================================
mod final_output_tests {
use super::*;
#[test]
fn test_final_output_tool_call() {
let tool_call = make_tool_call(
"final_output",
json!({
"summary": "Task completed successfully.\n\n## Changes Made\n- Added feature X"
}),
);
assert_eq!(tool_call.tool, "final_output");
assert!(tool_call.args.get("summary").is_some());
}
}
// =============================================================================
// Test: code_search tool
// =============================================================================