Skip to content

feat: scan CLI, orchestrator, and unified library scanner#5

Merged
wgordon17 merged 3 commits intogordon-code:mainfrom
wgordon17:feat/scan-cli-orchestrator
Mar 14, 2026
Merged

feat: scan CLI, orchestrator, and unified library scanner#5
wgordon17 merged 3 commits intogordon-code:mainfrom
wgordon17:feat/scan-cli-orchestrator

Conversation

@wgordon17
Copy link
Member

Summary

  • Adds mac2nix scan CLI with async orchestrator dispatching all 18 scanners concurrently
  • Pre-fetch injection shares system_profiler and launchd data across dependent scanners
  • Merges library_audit + app_config scanners into unified library scanner (19 → 18 scanners)
  • Rich progress bar, --output file/stdout, --scanner filter
  • Review fixes: PII redaction (hardware serial), callback exception safety, deepcopy shared data, rename sanitize_plist_values
  • 811 tests passing, ruff clean, pyright clean

- Remove hardware_serial capture (PII with no migration value)
- Wrap progress callback in try/except (broken terminal can't crash scan)
- deepcopy raw_plist to protect shared prefetch data from mutation
- Expand nix_state _PRUNE_DIRS to skip macOS non-project directories
- Rename convert_datetimes → sanitize_plist_values (handles bytes, UIDs too)
@wgordon17 wgordon17 merged commit 148a1f9 into gordon-code:main Mar 14, 2026
1 check passed
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