You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(omp): support integration args and options in build_exec_args - #4876
Pass per-step integration_args straight through to the omp CLI.
Map the named options profile, thinking, and tools to their flags.
Add validate_runtime_config to reject unknown options, empty values, and invalid thinking levels before the command runs.
Reject integration_options.model so model selection stays on the command-step 'model' field.
Description
Testing
Tested locally with uv run specify --help
Ran existing tests with uv sync && uv run pytest (9843 passed; 11 failures, all in the *_python_parity shell-script tests, which this PR does not touch)
Tested with a sample project (if applicable): specify init sample --integration omp generates .omp/commands/*
AI Disclosure
I did not use AI assistance for this contribution
I did use AI assistance (fill in the disclosure below)
AI disclosure: Claude Code (model: Claude Sonnet 5.5, autonomous) handled review feedback: it added the -- option-terminator rejection and its tests (6234eee), ran the checks above, and updated this description. Authorship of the earlier commits is not covered by this note; the contributor should add it.
- Pass per-step integration_args straight through to the omp CLI.
- Map the named options profile, thinking, and tools to their flags.
- Add validate_runtime_config to reject unknown options, empty values,
and invalid thinking levels before the command runs.
- Reject integration_options.model so model selection stays on the
command-step 'model' field.
- Verify integration_args and integration_options are passed to omp
and ordered after SPECKIT_INTEGRATION_OMP_EXTRA_ARGS.
- Accept every documented thinking level and valid runtime configs.
- Reject malformed args, the reserved model option, and invalid,
unknown or non-string option keys and values.
integration_args can still select a model (for example, ['--model', 'gpt-5']), so a step can run a model while its top-level model field—and recorded output—remain unset. This defeats the stated invariant enforced for integration_options.model; reject OMP's model flag forms in per-step raw args as well, with a regression test.
Document OMP runtime options in the integrations reference
These new public runtime options are not documented in the supported-integrations reference, and the workflow reference still describes only Docker Agent's named options. design/integration.md:65-66 requires agent-specific options to be represented in docs/reference/integrations.md; document OMP's profile, thinking, and tools options (including accepted thinking values and argument precedence) so workflow authors can discover and use this API.
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
Model selection must go through the command-step `model` field, so a
`--model` flag in `integration_args` now fails validation before OMP is
launched. This matches the existing rejection of `integration_options.model`
and avoids two competing model sources on the command line.
- Reject `--model` and `--model=...` in `integration_args`; `--models`
(Ctrl+P cycling scope) stays allowed.
- Document `profile`, `thinking`, and `tools` options, `integration_args`
passthrough, and argument ordering in the integrations reference.
- Link the OMP options from the workflows per-step configuration section.
- Add tests for rejected `--model` forms and the allowed `--models` flag.
A bare '--' passed validation and, being inserted before the generated
--model, --mode json and prompt, made OMP treat them as positional
messages. Reject it in validate_runtime_config and add regression tests.
Assisted-by: Claude Code (model: Claude Sonnet 5.5, autonomous)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Missing tests for integration_args/options (thread r4216493726): already addressed in da070fe. Positive argv and negative cases (model, unknown/empty values, malformed args, invalid thinking) are covered. The thread was already resolved, so no change this round.
Reject -- in integration_args (thread r4218591436): fixed in 6234eee, with regression tests.
Earlier Copilot notes (reject --model in per-step args; document OMP options) were handled in 1362568.
AI-generated reply posted on behalf of @kevinnguyenhoang91 by Claude Code (model: Claude Sonnet 5.5, autonomous). The agent assessed the review comments and wrote the fix and tests; a human has not line-by-line reviewed them.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Human assessment is needed because OMP’s streaming argument parsing can treat the prompt as a session selector rather than execute it when --resume is supplied.
Upstream moved per-agent docs to docs/integrations/; relocate the OMP
runtime options section to docs/integrations/omp.md and keep both sides
of the workflows.md change.
Assisted-by: Claude Code (model: Claude Sonnet 5.5, autonomous)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Please remove or move the content that was added docs/reference/workflows.md as integration specific documentation MUST only live in its own documentation
Integration-specific documentation lives only in docs/integrations/omp.md.
Assisted-by: Claude Code (model: Claude Sonnet 5.5, autonomous)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@mnriem Done in the latest commit: removed the OMP paragraph from docs/reference/workflows.md (it now matches main). The OMP runtime options live only in docs/integrations/omp.md.
AI-generated reply posted on behalf of @kevinnguyenhoang91 by Claude Code (model: Claude Sonnet 5.5, autonomous). The agent made the change; a human has not line-by-line reviewed it.
The reason will be displayed to describe this comment to others. Learn more.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Testing
uv run specify --helpuv sync && uv run pytest(9843 passed; 11 failures, all in the*_python_parityshell-script tests, which this PR does not touch)specify init sample --integration ompgenerates.omp/commands/*AI Disclosure
AI disclosure: Claude Code (model: Claude Sonnet 5.5, autonomous) handled review feedback: it added the
--option-terminator rejection and its tests (6234eee), ran the checks above, and updated this description. Authorship of the earlier commits is not covered by this note; the contributor should add it.🤖 Generated with Claude Code