Skip to content

SweepXSee clearly before acting

A runnable development-grade disk-analysis CLI/TUI with an explicitly confirmed operating-system Trash preview.

SweepX

CAUTION

SweepX real mutation is currently limited to a development Trash preview. It moves one revalidated item to the operating-system Trash and provides no permanent deletion or batch-plan execution. P3 plan, authorization, durable-audit, and executor work remains library-only deterministic simulation.

What works now

CapabilityCurrent state
Linux directory scandevelopment-grade, read-only, degraded
macOS directory scandevelopment-grade, read-only, handle-bound degraded
Windows directory scandevelopment-grade, read-only, handle-relative degraded
statusreads terminal state journal-first on Linux and supports degraded completed replay through sweepx --format ndjson status --operation-id ID --watch [--after SXCUR1]; macOS reads the legacy snapshot; Windows durable state is disabled, state_dir defaults to None, and explicit --state-dir fails closed
cancelcommand exists; live cancellation is disabled
explainreport-only analysis from bounded scan JSON
cache statusread-only preview-cache diagnostics on Linux/macOS; disabled on Windows
Cleanerread-only metadata list/show with compatibility gates; cargo-detect has fixed-input reads and typed evidence but remains hint/report-only
CLI/TUIone sweepx entry point; terminal table by default; scan --tui enters first and scans progressively, retaining bounded current-level rows while a single-flight 30 s background pass aggregates recursive sizes
Trash / Permanentsingle-item Trash preview on the current host; Permanent is absent

The CLI and TUI auto-detect zh-CN / en-US and accept an explicit --locale override. Current machine scan output stays JSON, and scan --format ndjson remains disabled. cache status supports human/JSON only; NDJSON is a usage error. Missing state/cache returns absent without creating directories, and inspection is bounded to preview-cache/current.json, the current generation file, and the flat generations/ / quarantine/ directories; it does not scan, repair, quarantine, or reveal cached entries or path contents. Linux status --watch --format ndjson replays only a completed, persisted stream: it performs one same-snapshot full validation, then returns pages of at most 1024 events; an unknown but syntactically valid cursor yields stream.reset_required, while malformed cursor usage remains a usage error. Because events are still constructed after the scan, this is not live streaming, does not wait for new events, does not create a background operation, and does not support cancel. Release automation builds five target archives, checksums, installers, and this GitHub Pages site. No stable release has been published yet.

Read by question

What you want to knowPage
What is actually implementedIntroduction
How to run current read-only commandsCLI and read-only scanning
Why imported reports cannot executeSafety model
Whether a Cleaner is a rule or a scriptCleaner concepts
What an Agent may doAgent boundaries
How the crates are layeredArchitecture
Where P3 ends and future mutation beginsRoadmap

One-sentence status

SweepX is now a runnable development preview: scanning, TUI browsing, and single-item Trash can be exercised. plan, approve, execute, and Permanent remain future proposals.

Development documentation. Destructive features remain unavailable or unqualified.