Codex stop-time review caught the next inconsistency: f5d9a29c switched the orchestrator to tryParseAllElementToolOutputs + dispatchElementToolCalls, but the plural parser cheerfully returned both element-tool AND batch_design shapes side by side. A non-compliant model (saw this on minimax-m2.7 in the ab-v4 search-filters composite — 3 element tools + 1 batch_design scaffolding tag) would slip the forbidden mixed strategy through the dispatcher, applying the element calls AND the batch_design DSL together — exact thing the prompt forbids and exact thing the ab-corpus output-parser silently rejects on the harness side. Aligns the production parser with corpus output-parser.ts: when ANY element-tool tag is present in the response, batch_design tags are DROPPED. Pure Strategy B (no element-tool tags, only batch_design fallback) keeps working — the drop only fires on mixed output. Two new regression tests: - mixed input → only element-tool shapes returned - pure batch_design input → batch-design-dsl shape returned 3769 vitest pass (+2), format clean, tsc silent. Together with f5d9a29c and 1a14a6c2, production now has prompt + parser + dispatch all consistent with the Strategy A/B contract — no path can smuggle mixed output past any of them. |
||
|---|---|---|
| .. | ||
| cli | ||
| desktop | ||
| web | ||