mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-11-11 05:17:43 +08:00
Master's step-scoped conditional activation resolves each tool's condition before a model step assembles, and both the declarations and dispatch read that admitted set. Prompt assembly no longer carries tool declarations, so tool-web's system-prompt/assemble listener could not remove web_search any more, and removing a declaration there never stopped a repeated call from running. tool-web now registers web_search with a when condition that asks ctx.web.searchReady() about the route of the step's model selection, and its guidance section renders from the step's admitted set. A step that does not admit the tool leaves it out of declarations, guidance, and PTC program bindings, and refuses a call to it as UNKNOWN_TOOL without reaching a provider. Tests that execute web_search directly now run inside a resolved step, as the executor requires for conditional registrations. Docs, the readiness Agent Note, and the event producer/consumer table follow the new mechanism; the tools README gains an explicit conditional-tools anchor for cross-locale links.