Skip to content

feat: add support for rovodev#603

Closed
awprice wants to merge 1 commit into
peteromallet:mainfrom
awprice:add-rovodev
Closed

feat: add support for rovodev#603
awprice wants to merge 1 commit into
peteromallet:mainfrom
awprice:add-rovodev

Conversation

@awprice
Copy link
Copy Markdown
Contributor

@awprice awprice commented May 9, 2026

Add support for Rovo Dev

Adds Rovo Dev (Atlassian's AI coding agent, run via acli rovodev) as a first-class harness target alongside Claude, Codex, OpenCode, etc.

What's included

  • Skill installationdesloppify setup --interface rovodev and desloppify update-skill rovodev install the desloppify skill into ~/.rovodev/skills/desloppify/SKILL.md (and per-project .rovodev/skills/desloppify/SKILL.md), with a Rovo-specific overlay covering its parallel subagents, /skills, /full-context, AGENTS.md memory, and Atlassian integrations.
  • Native batch runnerdesloppify review --run-batches --runner rovodev spawns acli rovodev --yolo "<prompt>" subprocesses per batch, mirroring the codex/opencode runners.
  • Native triage runnerdesloppify plan triage --run-stages --runner rovodev drives multi-stage triage through the existing pipeline by injecting a Rovo-Dev stage executor (codex pipeline gains two override hooks; codex behaviour unchanged when no override is set).
  • User-facing surfaces updated — scan workflow guide, holistic prepare hint, triage dashboard, guardrails, and plan-sync hint now mention --runner rovodev alongside the existing options.

Verification

  • Full test suite passes (modulo pre-existing unrelated failures), with 64 new tests covering the runner, dispatch, parser choices, scope validation, command construction, missing-binary detection, payload extraction, env propagation, and the per-project skill install path.
  • End-to-end live tested in this repo:
    • desloppify review --run-batches --runner rovodev --only-batches 1: real acli rovodev subprocess, exit 0, valid JSON payload imported (and surfaced two genuine architectural findings).
    • desloppify plan triage --run-stages --runner rovodev --stages strategize: stage completed in 89s, recorded as runner: rovodev in the run summary.
  • Tested end-to-end against a real, separate project with Rovo Dev driving the full scannextresolve loop using the installed skill — Rovo successfully picked up the desloppify skill, executed scans, and worked through the queue without intervention.

Notes

  • No changes to behaviour for any existing runner.
  • Two small generic seams added to orchestrator_codex_pipeline.py (_STAGE_RUNNER_OVERRIDE, _RUNNER_NAME_OVERRIDE); both default to the existing codex behaviour.
  • Bundled docs (desloppify/data/global/ROVODEV.md) and downloadable docs (docs/ROVODEV.md) are kept in sync via the existing make verify-bundled-docs check.

@awprice awprice force-pushed the add-rovodev branch 2 times, most recently from a971af6 to 562c60d Compare May 10, 2026 10:49
Signed-off-by: Alex Price <aprice@atlassian.com>
@peteromallet
Copy link
Copy Markdown
Owner

Thanks for the feature work. I accepted the Rovo Dev runner integration, but implemented it with changes on this branch in 806ced7 rather than merging this PR directly.

Decision: IMPLEMENT_WITH_CHANGES. The branch now adds Rovo Dev review and triage runner support, setup/update-skill integration, bundled ROVODEV docs, parser/dispatch/provenance wiring, and focused tests. I also addressed the Stage 1 blocker: the shared command builder now invokes acli rovodev run ... <prompt>, with --yolo, --output-schema, and DESLOPPIFY_ROVODEV_EXTRA_ARGS placed after run and before the positional instruction.

Validation: PYENV_VERSION=3.11.11 python -m pytest desloppify/tests/commands/review/test_runner_rovodev_direct.py desloppify/tests/commands/plan/test_triage_rovodev_runner_direct.py desloppify/tests/commands/plan/test_triage_split_modules_direct.py desloppify/tests/commands/test_direct_coverage_queue_batch_modules.py desloppify/tests/commands/test_setup.py desloppify/tests/commands/test_transitive_modules_update_skill.py desloppify/tests/engine/test_sync_split_modules_direct.py desloppify/tests/review/test_work_queue_synthetic_workflow_direct.py -q

@peteromallet
Copy link
Copy Markdown
Owner

Closing as superseded by 806ced7 on the review branch.

@peteromallet peteromallet added the release:v1.0 Included in v1.0 label May 13, 2026
@peteromallet
Copy link
Copy Markdown
Owner

Thanks for the contribution. This is included in v1.0: https://github.com/peteromallet/desloppify/releases/tag/v1.0

peteromallet added a commit that referenced this pull request May 13, 2026
Record co-author trailers for PR authors included in the v1.0 release cycle so GitHub can associate release-cycle contribution credit with the tag.

Refs: #189, #484, #485, #486, #489, #493, #495, #529, #539, #573, #580, #581, #584, #585, #589, #602, #603

Co-authored-by: R. Desmond <134018026+0-CYBERDYNE-SYSTEMS-0@users.noreply.github.com>
Co-authored-by: AreboursTLS <77301936+AreboursTLS@users.noreply.github.com>
Co-authored-by: AugusteBalas <128148269+AugusteBalas@users.noreply.github.com>
Co-authored-by: Alex Price <2804025+awprice@users.noreply.github.com>
Co-authored-by: Klaus Agnoletti <24544601+klausagnoletti@users.noreply.github.com>
Co-authored-by: Koshi <18751916+koshimazaki@users.noreply.github.com>
Co-authored-by: Pietro <6080662+pietrondo@users.noreply.github.com>
Co-authored-by: raveinid <7130195+raveinid@users.noreply.github.com>
Co-authored-by: Ryan Gerstenkorn <4079939+RyanJarv@users.noreply.github.com>
Co-authored-by: ryexLLC <217349586+ryexLLC@users.noreply.github.com>
Co-authored-by: Maximilian Scholz <6530123+sims1253@users.noreply.github.com>
Co-authored-by: Tristan Manchester <108270628+tristanmanchester@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:v1.0 Included in v1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants