feat(scanners): coverage gaps — 57 sub-tasks, 16 scanners, 492 tests#3
Open
wgordon17 wants to merge 8 commits intogordon-code:mainfrom
Open
feat(scanners): coverage gaps — 57 sub-tasks, 16 scanners, 492 tests#3wgordon17 wants to merge 8 commits intogordon-code:mainfrom
wgordon17 wants to merge 8 commits intogordon-code:mainfrom
Conversation
Implement all scanner coverage gaps from the comprehensive plan: - 17 new model classes, 19 modified models - New library_audit scanner (~/Library + /Library audit) - Enhanced all 15 existing scanners with expanded discovery - 273 new tests (219→492), all passing Key additions per scanner: - preferences: SyncedPreferences, cfprefsd-only domains, source tracking - dotfiles: discovery mode, XDG support, sensitive paths, manager detection - shell: conf.d, completions, source following, frameworks, eval detection - app_config: Containers, recursive os.walk, volume safeguards - applications: PATH binaries, dev tool versions, Xcode/CLT - launch_agents: raw plist capture, sensitive env redaction, typed fields - homebrew: services, pinned formulae, prefix - cron: schedule parsing with trigger types, env vars - network: IPv6, VPN, SOCKS/FTP proxy, WiFi list, locations - security: firewall rules, Touch ID sudo, custom certificates - system: macOS version, hardware, Time Machine, sleep, printers, etc. - display: Night Shift, refresh rate, color profile, True Tone - audio: full volume settings parsing - fonts: font collections - library_audit: directory audit, content capture, workflow/keybinding handlers
- Rename _convert_datetimes → convert_datetimes (used cross-module) - Use brew services list --json instead of fragile text parsing - Tighten _classify_binary_source path matching to avoid false positives - Remove unused brew_names parameter from _get_path_binaries - Consolidate dirnames pruning in library_audit _capture_uncovered_dir - Remove unused _SYSTEM_COVERED_DIRS constant - Clarify Night Shift UUID-keyed plist fallback with comment - Fix extra blank line in preferences.py
f07302b to
3dc330c
Compare
Implement 4 new scanners detecting non-macOS-native package management: - nix_state: Nix installation, profiles, nix-darwin, home-manager, channels, flakes, registries, config, devbox/devenv/direnv - version_managers: asdf, mise, nvm, pyenv, rbenv, jenv, sdkman - package_managers: MacPorts, Conda/Mamba - containers: Docker, Podman, Colima, OrbStack, Lima Also extends existing scanners: - system_scanner: Rosetta 2, System Extensions, iCloud, MDM detection - applications: 9 new BinarySource values + 19 path patterns New models in package_managers.py (27 models). SystemConfig extended with rosetta_installed, system_extensions, icloud, mdm_enrolled. SystemState wired with 4 new domain fields. 19 total scanners. 242 new tests (734 total), ruff clean, pyright 0 errors.
3dc330c to
fb93925
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
library_auditscanner for ~/Library and /Library directory auditing