You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No blanket #[allow(...)], no disabling lints, no commenting out tests
Surgical Fixes
Minimal, idiomatic Rust; fix root causes, not symptoms
Preserve Contracts
Maintain public API; update docs/tests if behavior must change
Improve Tests
Strengthen tests; never skip or relax to pass CI
Document Well
Atomic commits; healing changelog BEFORE each CI run
🚀 CI Pipeline Validation
# Run after completing any major step or wave milestone
rust-script scripts/ci/ci-pipeline.rs go -v
📝 Healing Changelog Protocol
Location: LOG/<<YYYY_MM_DD_HH_MM>>_CHANGELOG_HEALING.md
1. CREATE file BEFORE CI pipeline starts
2. UPDATE if pipeline fails (document: what failed, why, fix)
3. COMMIT with all changes before push
📊 Overall Progress
Wave
Status
Progress
Started
Completed
1 Immediate Wins
✅ Complete
5/5
2026-01-27
2026-01-27
2 Architecture Completion
✅ Complete
4/4
2026-01-27
2026-01-27
2.5 Module Restructuring
⏸️ Deferred
0/7
2026-01-27
Requires Windows testing
3 Testing Excellence
⏸️ Deferred
3/4
2026-01-27
90% coverage requires Windows testing
4 Documentation & API
✅ Complete
3/4
2026-01-27
2026-01-27
5 Performance & Observability
✅ Complete
4/4
2026-01-27
2026-01-27
6 Advanced Tooling
✅ Complete
4/4
2026-01-27
2026-01-27
Legend: ⬜ Not Started | 🔧 In Progress | ✅ Complete | ⏸️ Blocked | ❌ Cancelled
🌊 Wave 1: Immediate Wins
ID
Task
Status
Notes
1.1
MSRV Policy Formalization
✅
rust-version = "1.85" already in Cargo.toml
1.2
Changelog Automation
✅
Created CHANGELOG.md with Keep a Changelog format
1.3
Semantic Versioning Checks
✅
cargo-semver-checks installed; N/A for unpublished crates
1.4
Fuzz Testing Infrastructure
✅
Fuzz targets created in crates/uffs-mft/fuzz/
1.5
Mutation Testing
✅
cargo-mutants installed and verified working
🌊 Wave 2: Architecture Completion
ID
Task
Status
Notes
2.1
MFT Pipeline Architecture Audit
✅
MultiDriveMftReader, ParallelMftReader, PathResolver all in place
2.2
Error Boundary Enforcement
✅
MftError enum with typed errors, thiserror integration
2.3
Async Architecture Audit
✅
tokio::spawn used in CLI, async patterns correct
2.4
Cache Architecture
✅
Cache module with TTL, default enabled, zstd via Polars
🌊 Wave 2.5: Module Restructuring
Goal: Each file = one primary type, 200-500 lines max
ID
Task
Status
Notes
2.5.1
Split io.rs (6,623 lines)
⏸️
→ io/ directory (8-10 files) - Deferred
2.5.2
Split index.rs (5,690 lines)
⬜
→ index/ directory (6-8 files)
2.5.3
Split reader.rs (4,475 lines)
⬜
→ reader/ directory (4-6 files)
2.5.4
Refactor main.rs (4,543 lines)
⬜
Extract CLI logic to modules
2.5.5
Split commands.rs (2,520 lines)
⬜
→ commands/ directory
2.5.6
Split 1000-2000 line files
⬜
platform, parse, ntfs, etc.
2.5.7
Review 500-1000 line files
⬜
compiled_pattern, tree, output, etc.
🌊 Wave 3: Testing Excellence
ID
Task
Status
Notes
3.1
Coverage Target
⏸️
Baseline: 45.60%; target 90% requires Windows testing for MFT code paths
3.2
MFT Parsing Tests
✅
Added 12 unit tests for parse_record, apply_fixup, create_placeholder_record, ParseOptions
3.3
Property-Based Testing
✅
Added proptest with 5 property-based tests for parse.rs
3.4
Performance Regression Testing
⏸️
Criterion benchmarks exist; baseline management requires Windows for MFT benchmarks
🌊 Wave 4: Documentation & API
ID
Task
Status
Notes
4.1
Rustdoc Coverage
✅
90%+ coverage across all crates; uffs-cli at 99%
4.2
CLI Documentation
✅
Comprehensive --help with BusyBox personality docs
4.3
MFT Field Documentation
✅
ParsedRecord struct fully documented with all 18 attribute flags
4.4
Architecture Documentation
⬜
Add Mermaid diagrams (deferred - low priority)
🌊 Wave 5: Performance & Observability
ID
Task
Status
Notes
5.1
Performance Baselines
✅
Criterion benchmarks exist in uffs-core and uffs-mft
5.2
Tracing & Telemetry
✅
Comprehensive tracing in io.rs, index.rs, parse.rs, reader.rs, cache.rs
5.3
Memory Profiling
✅
valgrind/massif in benchmark-advanced; profile-usb for Windows
5.4
Flamegraph Automation
✅
Added just flamegraph recipe with cargo-flamegraph
🌊 Wave 6: Advanced Tooling
ID
Task
Status
Notes
6.1
tokio-console Integration
✅
Already in setup tools; just setup installs all tools
6.2
Unused Dependency Detection
✅
Added just machete recipe; cargo-machete in setup
6.3
Build Caching with sccache
✅
just setup-sccache, just sccache-stats, just sccache-clear
6.4
cargo-expand Documentation
✅
cargo-expand in setup; benchmark-advanced uses it
📈 Metrics Tracking
Code Quality
Metric
Baseline
Current
Target
Trend
Test Coverage
-
-
90%
-
Mutation Score
-
-
≥70%
-
Clippy Warnings
0
0
0
✅
Rustdoc Coverage
-
-
100%
-
Performance (vs C++ uffs.com)
Metric
C++ Baseline
Rust Current
Target
Trend
MFT Read (rec/sec)
~1M
-
≥1M
-
Path Resolution
-
-
Match C++
-
Peak Memory
-
-
≤ C++
-
📋 Quick Commands
# Full CI Pipeline (run after major steps)
rust-script scripts/ci/ci-pipeline.rs go -v
# Local checks (advisory - use between pipeline runs)
just check && just clippy && just test# Run coverage
cargo llvm-cov --workspace --fail-under 90
# Security audit
cargo audit && cargo deny check
Update this tracker as work progresses. Keep the plan document stable.