feat(quality-list,todo-check): sweep docs for widened outcome sets - #82
Conversation
Add a reachable-set-widened trigger and procedure to the docstring-drift item: a documented closed enumeration (error-variant list, returns-one-of, status codes, handled events) silently goes incomplete when a diff widens the set feeding it, though every listed claim stays individually true. The claim-falsification procedure cannot surface this, so it gets its own block. Realize it for Rust in lang-rust.md (rustdoc # Errors sections, #[from] / ? propagation, body-path sibling reachability) and extend the todo-check preflight quick reference. Bump marketplace version to 2026.7.4.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR adds an "Enumerated-outcome completeness" drift trigger to the docstring-drift quality item, defining when closed doc enumerations (error variants, status codes, handled events) become incomplete due to widened reachable outcomes. A Rust-specific addendum adds grep-based detection for new ChangesEnumerated-outcome completeness rule
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
docstring-drift's triggers were all framed around a claim becoming false, so it missed the class where a diff widens a reachable outcome set feeding a documented closed enumeration — a rustdoc# Errorsvariant list, a "returns one of" set, a status-code list, a handled-event list. Every listed claim stays individually true, yet the enumeration silently goes incomplete. This adds a distinct reachable-set-widened trigger and its own procedure.Closes #72
Changes
skills/quality-list/items/docstring-drift.md— new Enumerated-outcome completeness trigger and procedure (language-neutral), placed after the main procedure so the claim-falsification steps are not mis-applied to it.skills/quality-list/lang-rust.md— Rust realization: rustdoc# Errorssections,#[from]/?propagation, and body-path sibling reachability.skills/todo-check/SKILL.md— preflight quick-reference fordocstring-driftextended with the widened-outcome case..claude-plugin/marketplace.json— version bump to2026.7.4.Impact
done-check's contextual pass andtodo-check's preflight both self-load the item body plus the matching Rust addendum per item slug, so the new sweep runs with no edit to either consumer. The doc surface is distinct frompaired-artifact-drift(which owns a type's producer-list docstring): this trigger owns the entry-point and sibling# Errorsenumerations, so neither item double-covers the check.Test plan
No compiled code; verification is by reading.
#[from]variant reachable from an entry point plus a sibling# Errorsrustdoc left incomplete — and confirmed it flags rather than passing.?on a callee returning the same enum propagates the new variant through the reflexiveFrom<E> for E, so such siblings are in scope; siblings with no reaching path are not.mdformatpre-commit hook passes.Notes
Whether the standalone
driftreaperskill should gain the same enumerated-outcome claim category is left to a possible follow-up; this PR scopes to thedone-check/docstring-driftgate.Summary by CodeRabbit
# Errorssections.