Download Latest Version v1.0 source code.tar.gz (5.3 MB)
Email in envelope

Get an email when there's a new version of Desloppify

Home / v1.0
Name Modified Size InfoDownloads / 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 mascot

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 / else chains. PR [#589].
  • Bash source import detection — the Bash unused-import detector now only treats source and . 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 repairplan repair-state can 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 removed key
  • [#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
Source: README.md, updated 2026-05-13