Removes individual tool definitions from outgoing LLMRequest.Tools
when those tools have been idle past a turn threshold. Pairs with
nexus.discovery.progressive: progressive scopes
by class, this scopes per individual tool.
For sessions where the agent loaded 30 tool definitions in turn 4 but
only uses 3 of them, the pruner keeps the unused 27 from paying tokens
on every subsequent request.
Operates at priority 14 on before:llm.request — after both
nexus.discovery.progressive (8) and nexus.memory.tool_result_clear
(12) have shaped the request.
Subscribes to tool.invoke to reset the per-tool last-used counter on
every successful call. A pruned tool that the agent invokes again is
un-pruned automatically — typically by going back through
discovery/progressive’s discover meta-tool.
First sight of a tool registers it at the current turn rather than
zero, so freshly-loaded tools aren’t pruned the moment they appear.