| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-13 | 6.9 kB | |
| v1.0 source code.tar.gz | 2026-05-13 | 5.3 MB | |
| v1.0 source code.zip | 2026-05-13 | 6.3 MB | |
| Totals: 3 Items | 11.6 MB | 0 | |
Desloppify 1.0 is a stability and agent-workflow release: broader runner support, better release-grade review/triage accounting, per-language score visibility, and a long tail of false-positive and state-recovery fixes from real-world dogfooding.
241 files changed | 85 commits | 6,836 tests passing under make ci
Headline Feature
First-Class Rovo Dev Runner
Rovo Dev is now supported as both a review batch runner and a staged triage runner. You can run:
:::bash
desloppify review --run-batches --runner rovodev --parallel --scan-after-import
desloppify plan triage --run-stages --runner rovodev
The native runner uses acli rovodev run subprocesses, preserves the same file-output/import shape as the Codex and OpenCode runners, and includes setup/update-skill support plus dedicated Rovo Dev docs. Thanks to @awprice for the original PR (#603).
Other Features
Per-Language Scorecards
Mixed-language repositories can now inspect scan health by language instead of only seeing a single aggregate score. This makes it easier to separate, for example, a healthy Python package from a struggling TypeScript app inside the same repo. Closes [#140].
Qwen-Code Skill Support
Added Qwen-Code as a supported skill install target, with project and global skill detection matching the existing assistant integrations. Closes [#532].
Review Persona Rotation
Parallel review batches now rotate reviewer personas so large subjective reviews get a broader mix of perspectives instead of repeating the same framing across every batch. From PR [#539] by @koshimazaki.
R Language Improvements
R support now includes Air formatter integration and stronger test coverage hooks, including broader assertion recognition for testthat-style tests. Thanks to @sims1253 for the continued R work around PR [#529].
Bug Fixes
- Prepared review packets are reused correctly — batch runs no longer rebuild a different packet after
review --prepare --dimensions ..., which also avoids Windows command-line length failures. Closes [#541] and [#562]. - Codex sandbox override — Codex review batches can override sandbox mode for constrained environments such as WSL1. Closes [#534].
- Review runner recovery — batch failures, payload parsing, UTF-8 logs, and exception handling are more robust across runner backends.
- Reflect ledger correctness — colliding short issue tokens now require full IDs, repair prompts display unambiguous tokens, and observe-auto skips survive fresh reflect runs. PRs [#584] and [#585].
- Comment-aware fallback scanners — C#, C++, Dart, Rust, and TypeScript fallback scanners ignore braces/parens inside comments while preserving string/template handling. PRs [#573] and [#580].
- TypeScript log cleanup — removing debug logs no longer breaks
if/else if/elsechains. PR [#589]. - Bash source import detection — the Bash unused-import detector now only treats
sourceand.commands as imports. PR [#602]. - Non-finite score inputs — review scoring rejects NaN/infinite floats while still handling huge integers safely. PR [#581].
- jscpd timeout cleanup — timed-out duplicate-code scans now terminate the process group instead of leaving CPU-bound grandchildren behind. Closes [#601].
- Suppression durability — file-path-prefixed suppressions survive common refactor/move scenarios. Closes [#558] and [#565].
- State repair —
plan repair-statecan recover more triage history after state loss. Closes [#559]. - Review item context — bare review item IDs now recover summary/evidence context instead of surfacing opaque titles. Closes [#566].
- Rust detector false positives — tightened Rust diagnostics, disabled generic Rust cycle/unused-import findings where Rust-specific semantics are required, and fixed async-locking/string-error edge cases. Closes [#523], [#543], [#545], [#549], [#554], and [#568].
- CLI and queue UX — detector lookup, scan-root validation, stale-finding reconciliation, skip/suppress attestation wording, queue progress, and cluster resolve behavior all received focused fixes.
Refactoring & Internal
- Runner dispatch now has clearer backend seams so Codex, OpenCode, and Rovo Dev can share orchestration without hard-coding subprocess behavior.
- Reflect-stage accounting and disposition persistence have focused regression coverage for collision and observe-auto cases.
- Package data checks now cover bundled assistant docs and optional dependency metadata.
- The package metadata now marks Desloppify as
Production/Stable.
Community
Thank you to every contributor whose PRs shaped the v1.0 cycle: @0-CYBERDYNE-SYSTEMS-0, @AreboursTLS, @AugusteBalas, @awprice, @klausagnoletti, @koshimazaki, @pietrondo, @raveinid, @RyanJarv, @ryexLLC, @sims1253, and @tristanmanchester.
Special thanks to @awprice for the Rovo Dev runner, @koshimazaki for review persona rotation, and @sims1253 for the R language coverage work. Thanks also to the reporters behind the runner, Rust, TypeScript, state-repair, and constrained-host issues that shaped this 1.0 stabilization pass.
PR Contributors
Thanks to everyone whose PRs were reviewed and included in this release:
- [#189] by @RyanJarv - Feature additional golang support
- [#484] by @AugusteBalas - fix: handle generic fixers that return entries without
removedkey - [#485] by @ryexLLC - fix: handle framework dataclass cache + synthetic deferred loop
- [#486] by @0-CYBERDYNE-SYSTEMS-0 - fix: handle dataclass/dict/list in json_default for nested Path objects
- [#489] by @AreboursTLS - fix: support src-layout Python projects in test_coverage detector
- [#493] by @klausagnoletti - docs: README onboarding overhaul + TypeScript plugin README
- [#495] by @pietrondo - fix: force UTF-8 in review runner logs and payload parsing
- [#529] by @sims1253 - feat(r): add test coverage hooks for R testthat convention
- [#539] by @koshimazaki - feat: persona rotation for parallel review batches
- [#573] by @tristanmanchester - Skip comments in regex brace matching
- [#580] by @tristanmanchester - Ignore TypeScript comments in syntax scan
- [#581] by @tristanmanchester - Reject non-finite prompt weights
- [#584] by @tristanmanchester - Disambiguate colliding reflect ledger tokens
- [#585] by @tristanmanchester - Exclude observe-auto issues from reflect ledger parsing
- [#589] by @tristanmanchester - Preserve else chains in TS log cleanup
- [#602] by @raveinid - fix(bash): filter unused-import detector to source / . only
- [#603] by @awprice - feat: add support for rovodev