Disposition
Closed as not planned. The original ergonomics diagnosis remains useful, but the proposed schema-bound execution mechanisms would introduce another stateful handoff protocol.
The issue identified a real problem: after math.find, an agent must place a capability-specific nested request into generic math.run arguments, and weak models can choose the wrong wrapper level.
The proposed alternatives—per-session dynamically materialized tools, prepared invocation tokens bound to catalog/policy/provider identities, stale-contract recovery, or selected-set discriminated unions—would add temporary tool lifecycle, contract-token state, version binding, host adapters, and another validation path.
Simpler endpoint
Keep the fixed math.find / math.run surface and make each selected operation easy to call through ordinary static data:
- compact search card;
- exact concrete request schema/model on inspection;
- one valid copyable invocation example with the complete
math.run wrapper;
- precise invalid-input diagnostics from the same concrete parser;
- direct operation ID and stable field names;
- no duplicate generic input/candidate envelopes where a concrete checker request can be simpler.
Evaluate whether those concrete contract/example improvements solve the observed #929/#941 failures before adding any host-level mechanism.
If a future MCP SDK provides a standard stateless selected-schema mechanism, evaluate that concrete feature separately. Do not implement a private token/tool-materialization protocol in Jacobian.
Do not introduce
- per-session dynamic selected tools;
tools/list_changed lifecycle for operation selection;
- prepared invocation/contract tokens;
- catalog/policy/provider generation binding in handles;
- selected-set
oneOf schema compilers;
- a temporary validator/tool registry;
- another compatibility path beside ordinary
math.run;
- stale-handle recovery state machines.
Canonical owners
Disposition
Closed as not planned. The original ergonomics diagnosis remains useful, but the proposed schema-bound execution mechanisms would introduce another stateful handoff protocol.
The issue identified a real problem: after
math.find, an agent must place a capability-specific nested request into genericmath.runarguments, and weak models can choose the wrong wrapper level.The proposed alternatives—per-session dynamically materialized tools, prepared invocation tokens bound to catalog/policy/provider identities, stale-contract recovery, or selected-set discriminated unions—would add temporary tool lifecycle, contract-token state, version binding, host adapters, and another validation path.
Simpler endpoint
Keep the fixed
math.find/math.runsurface and make each selected operation easy to call through ordinary static data:math.runwrapper;Evaluate whether those concrete contract/example improvements solve the observed #929/#941 failures before adding any host-level mechanism.
If a future MCP SDK provides a standard stateless selected-schema mechanism, evaluate that concrete feature separately. Do not implement a private token/tool-materialization protocol in Jacobian.
Do not introduce
tools/list_changedlifecycle for operation selection;oneOfschema compilers;math.run;Canonical owners