Cinference currently rejects tool_choice=required, a named/forced tool, and parallel_tool_calls=false when tools are callable. Prompt instructions alone cannot supply those guarantees. Track these separately from schema-constrained argument generation.
Define and evaluate enforceable required/named/allowed-tool selection and at-most-one-call behavior across Chat Completions, Responses and Messages. Handle text before/after calls, reasoning, truncation, cancellation, zero tools, malformed calls, streaming, replay and DFlash2 verification. Preserve current auto/none behavior and reject unsupported combinations explicitly.
Acceptance: implementation/feasibility decision with protocol conformance tests, failure semantics and performance evidence, or a documented unsupported boundary for dependent clients. Coordinate any shared constrained-decoding design with the strict-schema issue; do not silently rewrite required semantics to auto.
This issue tracks future engine work only. No fork, production change or GPU borrowing is authorized now. Related: #28/#29 and the harness compatibility issue. Source: https://github.com/satellitedown/cinference/blob/b74044fb0a319cd2a737cb7108012e6344b96dac/docs/serving.md
Cinference currently rejects tool_choice=required, a named/forced tool, and parallel_tool_calls=false when tools are callable. Prompt instructions alone cannot supply those guarantees. Track these separately from schema-constrained argument generation.
Define and evaluate enforceable required/named/allowed-tool selection and at-most-one-call behavior across Chat Completions, Responses and Messages. Handle text before/after calls, reasoning, truncation, cancellation, zero tools, malformed calls, streaming, replay and DFlash2 verification. Preserve current auto/none behavior and reject unsupported combinations explicitly.
Acceptance: implementation/feasibility decision with protocol conformance tests, failure semantics and performance evidence, or a documented unsupported boundary for dependent clients. Coordinate any shared constrained-decoding design with the strict-schema issue; do not silently rewrite required semantics to auto.
This issue tracks future engine work only. No fork, production change or GPU borrowing is authorized now. Related: #28/#29 and the harness compatibility issue. Source: https://github.com/satellitedown/cinference/blob/b74044fb0a319cd2a737cb7108012e6344b96dac/docs/serving.md