feat(agentic): extend resolve_tool_alias to plan/crew/workflow + add plan_get (#716)#729
Merged
Merged
Conversation
…plan_get (#716) Weak local models reach for planning/delegation under names learned from other harnesses (make_plan, enter_plan_mode, delegate, run_workflow); these fell through resolve_tool_alias to unknown_tool_message, burning a round and tipping the model from acting into narrating (the #215 advisory drift). Extends the alias seam with four families: - PLAN (make_plan, enter_plan_mode, todo_write, ...) -> Correct toward plan_set/plan_advance. - PLAN-READ (get_plan, what_was_i_doing, ...) -> Rewrite("plan_get"). - CREW/DELEGATE (delegate, run_crew, spawn_agent, ...) -> Correct naming compose_roster/crew, explicitly stating crew/team is human-gated behind /team (the model cannot self-enable it). - WORKFLOW (workflow, pipeline, ...) -> Correct toward plan_set+plan_advance / crew. Adds a read-only plan_get tool (renders the current <plan> ledger via plan_block, presence-gated like plan_advance) so a resumed "what were we doing?" probe finally has a model-callable plan-read affordance. The phantom-reach telemetry (#717) records every new alias for free (classify_phantom_reach already emits on Rewrite/Correct), so the seam is now driven by data, not guesses. Fixes #716 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Weak local models reach for planning/delegation under names learned from other harnesses (
make_plan,enter_plan_mode,delegate,run_workflow); these fell throughresolve_tool_aliastounknown_tool_message— a burned round that tips the model from acting into narrating. Extends the alias seam with four families:make_plan,enter_plan_mode,todo_write, …) →Correcttowardplan_set/plan_advance.get_plan,what_was_i_doing, …) →Rewrite("plan_get").delegate,run_crew,spawn_agent, …) →Correctnamingcompose_roster/crew, explicitly stating crew/team is human-gated behind/team(the model cannot self-enable it).workflow,pipeline, …) →Correcttowardplan_set+plan_advance/ crew.Adds a read-only
plan_gettool (renders the current<plan>ledger viaplan_block, presence-gated likeplan_advance) so a resumed "what were we doing?" probe finally has a model-callable plan-read affordance.The phantom-reach telemetry (#717) records every new alias for free (
classify_phantom_reachalready emits on Rewrite/Correct), so the seam is now driven by data.Test plan
8 new/extended pure tests (no fs): the 4 alias families resolve correctly,
classify_phantom_reach("make_plan")→Correct,plan_getrenders/hints + dispatch gating.just checkgreen: 1007 newt-core tests, clippy-D warningsclean, fmt clean. (One pre-existing #717 test's "no-alias" exampleenter_plan_mode→summon_kraken, since it's now a PLAN alias.)Out of scope (per the issue)
request_teamself-enable handshake, a real workflow primitive, scratchpad/plan persistence across resume (#713), the repeated-call loop guard, the human/plansurface.Fixes #716
🤖 Generated with Claude Code