Summary
--fts --exact-substring is accepted and records both incompatible semantic flags as true, leaving clients unable to know which matching model actually ran.
Audit IDs: Q-17. Reproduced with locally built cdidx v1.40.3 at 404db09489c305f17d94f37026e00564d3ac527a.
Existing issue relationship
No exact existing issue was found.
Expected behavior and PR scope
FTS and literal/exact-substring modes are one mutually exclusive option group. Keep this to parser/normalized query-context validation.
Implementation guide for Codex 5.6 sol xhigh
- Validate after aliases/defaults are normalized and before query execution.
- Return a typed usage error that explains the two modes and safe alternatives.
- Cover option ordering, other exact flags, count/output modes, JSON/human errors, and replay generation.
- Ensure query context never reports mutually exclusive modes simultaneously.
- Add focused regression/contract tests, run the full net8.0 and net9.0 suite, and add the required bilingual
changelog.d/unreleased/ fragment.
Acceptance criteria
- The conflicting invocation is rejected.
- Each mode alone retains its current semantics.
- Replay/help accurately describe the applied mode.
Summary
--fts --exact-substringis accepted and records both incompatible semantic flags as true, leaving clients unable to know which matching model actually ran.Audit IDs: Q-17. Reproduced with locally built cdidx v1.40.3 at
404db09489c305f17d94f37026e00564d3ac527a.Existing issue relationship
No exact existing issue was found.
Expected behavior and PR scope
FTS and literal/exact-substring modes are one mutually exclusive option group. Keep this to parser/normalized query-context validation.
Implementation guide for Codex 5.6 sol xhigh
changelog.d/unreleased/fragment.Acceptance criteria