feat(workflows): add per-step integration configuration - #4425
Conversation
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
There was a problem hiding this comment.
🟡 Changes recommended
Combining per-step Docker Agent arguments with the documented legacy environment value can emit two conflicting agent references.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds per-step runtime configuration for workflow command integrations, including deterministic resume support and Docker Agent-specific handling.
Changes:
- Resolves, validates, persists, and dispatches per-step integration arguments/options.
- Adds Docker Agent runtime options and agent references.
- Updates compatibility tests and workflow documentation.
File summaries
| File | Description |
|---|---|
workflows/README.md |
Documents runtime configuration syntax. |
tests/test_workflows.py |
Tests resolution, isolation, validation, and resume. |
tests/integrations/test_integration_docker_agent.py |
Tests Docker Agent argv and validation. |
tests/integrations/test_base.py |
Verifies base behavior and signatures. |
src/specify_cli/workflows/steps/command/__init__.py |
Resolves and dispatches runtime configuration. |
src/specify_cli/workflows/engine.py |
Persists configuration for resume. |
src/specify_cli/workflows/base.py |
Marks resumed execution contexts. |
src/specify_cli/integrations/base.py |
Extends integration runtime APIs. |
src/specify_cli/integrations/docker_agent/__init__.py |
Implements Docker Agent configuration support. |
src/specify_cli/integrations/copilot/__init__.py |
Updates custom dispatch signatures. |
src/specify_cli/integrations/agy/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/codex/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/cursor_agent/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/devin/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/droid/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/dsh/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/goose/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/grok/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/hermes/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/muse/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/omp/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/opencode/__init__.py |
Updates execution signature. |
src/specify_cli/integrations/rovodev/__init__.py |
Updates execution signature. |
Review details
- Files reviewed: 23/23 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # Extra args carry the required agent source (for example | ||
| # ``./agent.yaml``) and any Docker Agent CLI flags. The shared helper | ||
| # also preserves shell-style quoting when splitting multiple args. | ||
| self._apply_extra_args_env_var(args) |
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
|
Posted on behalf of @philo-x by OpenAI Codex (model: GPT-5). Addressed the review feedback in
Validation: 1,111 targeted tests pass; Ruff 0.15.0 and |
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
Summary
integration_argsandintegration_optionsto workflow command stepsagent,model, andsafetyoptions while preserving the legacy extra-args environment variableCloses #4275
Testing
.venv/bin/python -m pytest tests/integrations/test_base.py tests/integrations/test_integration_docker_agent.py tests/test_workflows.py -q— 1105 passedgit diff --checkAI Disclosure
Implementation, tests, documentation, and this PR description were authored by OpenAI Codex (model: GPT-5, autonomous) on behalf of @philo-x.