Skip to content

sweep/2026-11-09: 13 fixes + 3 refactors - #24

Open
Chartres wants to merge 15 commits into
mainfrom
sweep/2026-11-09
Open

Chartres wants to merge 15 commits into
mainfrom
sweep/2026-11-09

Conversation

@Chartres

@Chartres Chartres commented Nov 8, 2026

Copy link
Copy Markdown
Owner

Findings fixed (13 of 15)

# File:line Symptom Severity
1 src/cleanup.rs:443 walk() entered ~/.Trash/.Trashes, offering already-trashed candidates med
2 src/plan.rs:165 + src/relocate.rs:39 Trash validation allowed trashing ~/.Trash itself, nesting Trash inside itself med
3 src/app.rs:213 app_open missing from TAXONOMY med
4 src/app.rs:382 scan_completed missing from TAXONOMY med
5 .github/workflows/release.yml:69 Release built without running cargo test med
6 src/ui/dir_tree.rs:473 Founder case 2: no test for non-ASCII label truncation med
7 src/relocate.rs:946 Founder case 6: /USERS/Shared+/VOLUMES/ wrong-case not in case_folded_paths_are_still_protected med
8 src/scanner/mod.rs:17 ScanProgress::Error dead variant + dead match arms low
9 src/app.rs:437 scan_receiver not cleared on Done → spurious disconnect log low
11 src/app.rs:617 Move-to-disk never fired conversion event low
12 src/ui/help_window.rs:140 feedback_sent set true even with telemetry off low
13 src/main.rs:1 Dead windows_subsystem attr in macOS-only binary low
15 src/cleanup.rs:222 find_only_yours subtracted .gradle/.m2/.cache → totals too low low

Skipped (2)

  • 10 (src/app.rs:504): conversion fires on move-to-Trash before space freed — intentional product design; would rename live analytics events.
  • 14 (src/state.rs:14): two app-support dirs — needs migration plan across installations before touching.

Refactors (3)

  • src/state.rs: single state_dir() shared by state, flywheel, fda, history (was 4 copies)
  • src/ui/dir_tree.rs:36: visible_dirs now reads from flatten instead of a parallel walk (keyboard nav always matched the drawn rows)
  • src/plan.rs:241: PlanStore::create uses server::now() instead of inline seconds-since-1970

Test evidence

126 tests green (was 125 before — 1 new non-ASCII truncation test added for founder case 2).
sweep-guard review clean vs origin/main.

🤖 Generated with Claude Code

Chartres and others added 15 commits November 9, 2026 00:47
…shed items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…non-ASCII

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ared and /VOLUMES/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…essage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…, not .gradle/.m2/.cache

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant