What problem does this solve?
CI pipelines have no reliable way to run deploy or fix non-interactively. The current _is_interactive() detection is implicit and fragile — it checks whether stdin is a TTY, which varies by CI environment. There is no explicit flag to say "skip all prompts, use defaults or provided values."
Proposed solution
Add --yes to both deploy and fix subcommands. When set:
- Skips all confirmation prompts
- Skips clarifying questions from the LLM interpretation stage (A3)
- Uses
suggested_sample_input from interpretation automatically if no --sample-input was provided
- Replaces all implicit
_is_interactive() checks for prompt-skipping logic
inference-engine deploy ./model.pkl \
--name sentiment --version v1 \
--device cpu --routing static \
--sample-input "great movie" --yes
inference-engine fix models/sentiment/v1/ --sample-input "great movie" --yes
All future commands must support --yes from the start. Do not add new commands that rely solely on _is_interactive().
Alternatives considered
Relying on _is_interactive() alone. This is already causing issues (see #19 ) and will continue to as more CI environments are used.
Area
CLI (deploy / fix)
What problem does this solve?
CI pipelines have no reliable way to run
deployorfixnon-interactively. The current_is_interactive()detection is implicit and fragile — it checks whether stdin is a TTY, which varies by CI environment. There is no explicit flag to say "skip all prompts, use defaults or provided values."Proposed solution
Add
--yesto bothdeployandfixsubcommands. When set:suggested_sample_inputfrom interpretation automatically if no--sample-inputwas provided_is_interactive()checks for prompt-skipping logicAll future commands must support
--yesfrom the start. Do not add new commands that rely solely on_is_interactive().Alternatives considered
Relying on
_is_interactive()alone. This is already causing issues (see #19 ) and will continue to as more CI environments are used.Area
CLI (deploy / fix)