d12d64e4fe6237b8bff403afb7f2cf4220ae01c3
A freestyle stage's tools are LLM-authored in the execution_plan. At run time an unresolvable tool name is silently dropped (resolve -> null -> mapNotNull), so the stage runs toolless — e.g. a misspelled task_update means the implementation stage quietly loses task tracking, invisible without a live run. ExecutionPlanCompiler now takes the registered-tool universe and rejects a plan that names an unknown tool, with a message identifying the tool and stage. FreestyleDriver already turns a compile failure into a rejection the architect retries. The param defaults to empty (validation skipped) so existing callers are unaffected; Main feeds it toolRegistry.all(). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix: workflow inference chain — surface llama-server errors, user-turn-last, bundle-relative prompts
Description
No description provided
Languages
Kotlin
88.4%
Go
11.4%
Python
0.2%