Skip to content

feat(windows): implement Run/RunOnce collector and snapshot CLI - #6

Merged
XiaojuCH merged 2 commits into
mainfrom
feat/registry-startup-snapshot
Aug 11, 2026
Merged

feat(windows): implement Run/RunOnce collector and snapshot CLI#6
XiaojuCH merged 2 commits into
mainfrom
feat/registry-startup-snapshot

Conversation

@XiaojuCH

Copy link
Copy Markdown
Owner

Summary

  • implement the first real read-only Windows Collector for documented Run/RunOnce Registry locations, including HKCU Shared and explicit x64 Registry32/Registry64 scopes
  • add systemdiff snapshot -o <path> with deterministic draft-v1 JSON, canonical UTC, bounded serialization, and no-overwrite output
  • preserve lossless Registry value names, full native-byte SHA-256, strict typed decoding, scoped diagnostics, bounded mutation retry, and incomplete-coverage safety
  • update fixtures and public documentation while keeping Services, Scheduled Tasks, rules, redaction, and GUI explicitly planned

Schema and safety

  • pre-v0.1 RegistryValueName is now tagged and lossless for invalid UTF-16
  • diagnostics may identify a coverage scope
  • production Rust uses query-only Registry access and contains no Registry write API
  • Registry write behavior exists only in the dual-gated, HKCU-only synthetic E2E harness
  • generated Snapshots remain unredacted and are documented as privacy-sensitive

Validation

  • cargo fmt --all --check
  • cargo clippy --locked --workspace --all-targets -- -D warnings
  • cargo test --locked --workspace --all-targets — 71 passed
  • both fixture Diff commands and collectors — exit 0
  • real non-elevated Windows build 26100 E2E — before absent, synthetic HKCU Shared Run REG_SZ added, after present, exactly 1 Added / 0 Removed, expected identity matched
  • exact-data guarded Registry cleanup verified; recovery confirmed absence; temporary Snapshots deleted and not uploaded
  • independent review — High 0 / Medium 0 / Low 0

Closes #5

@XiaojuCH
XiaojuCH merged commit 0113b3e into main Aug 11, 2026
2 checks passed
@XiaojuCH
XiaojuCH deleted the feat/registry-startup-snapshot branch August 11, 2026 15:31
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.

feat(windows): implement Run/RunOnce collector and snapshot CLI path

1 participant