mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-11 10:01:27 -10:00
A bare "/name" line or a lone skill chip reached the provider as the raw rendered skill body in plain user prose: no <skill-pin> sentinel, and on the structured (composer) path the typed text trailed as an unlabeled paragraph instead of an Arguments line. The model-invoked path (run_skill, read_only_skill, read_skill) already sent the pinned form, so one skill had two payload shapes depending on who invoked it. Every invocation site now renders through skill.RenderInvocation: the string submit path, the structured path, RunSkill (ACP prompts) and the slash_command tool. A lone inline chip takes the typed text as its arguments, matching "/name task"; several inline chips, or chips mixed with subagents, keep appending the shared text once. Nothing moves into the cache-stable prefix. Store.Render is removed and Render is unexported, so the pinned form is the only one an invocation can take. An effect test through the real Build asserts the pinned payload at the provider boundary for the bare and argument-carrying forms of both paths. Fixes #11004