The previous fix dropped jsonl-format / jsonl-format-simplified entirely when elementToolsEnabled was true, on the theory that their CRITICAL "Output ONLY ```json … Do NOT use tool calls" line conflicted with the appended `<op_tool>` instruction. But empirically dropping them made weak-model output WORSE: MiniMax-M2.7 still emits raw JSONL most of the time (it can't reliably emit `<op_tool>`), and without the JSONL schema/format teaching its output degrades — role coverage dropped from 74% to 22%, color-ref% from 84% to 49%. The right fix is dual-mode coexistence: keep BOTH skills loaded so the model has the JSONL fallback teaching, but rewrite each skill's CRITICAL opener to defer to the ELEMENT_TOOL_OUTPUT_FORMAT block when present. - jsonl-format / jsonl-format-simplified now lead with: "If a separate OUTPUT FORMAT — EMIT AS TOOL CALL(S) block appears later in the system prompt, FOLLOW THAT block. Use the JSONL form below ONLY when no <op_tool> instruction is present." - Removed the orchestrator-sub-agent.ts skill-filtering branch; both skills load unconditionally now. Net effect: strong models that can follow `<op_tool>` will use the element-tool path (preserving the n-tools-per-element design intent for weak-model stability — MiniMax/GLM/Kimi will emit `<op_tool>` when they can). Weak models that fall back to raw JSONL still get the schema / sizing / fill / token rules they need to produce coherent output. No forced choice, no degraded fallback. |
||
|---|---|---|
| .. | ||
| cli | ||
| desktop | ||
| web | ||