- Shipped
- October 4, 2026 at 5:47 PM UTC
- Author
- Kamo
- Commit
- 50ef441
approvals_request refuses an action class a catalogue tool performs with INVALID_ARGUMENTS USE_TOOL {tool, tools, actionClass}, or NO_TOOL_FOR_YOU when the caller can see none of those tools; only DECISION_ONLY classes still get a decision-only approval. ToolSpec.alsoClasses declares the classes a planner may re-class to (mail, chat, calendar, tasks, phone_call), the registry derives the class -> tools table from them, and visibility hides a tool only when every class it may take is FORBIDDEN. The pipeline now refuses a FORBIDDEN planned class on an approved re-execution too, and CharterPolicy mirrors D1 (an unnamed PLACE_INTERNAL_CALL inherits a FORBIDDEN PLACE_CALL). X-Kamo-Charter-Stamp reaches CharterClient.policy(memberId, expectedStamp), which re-reads a cached charter under another stamp at once; tools/list is judged by one charter read and answers ****************
