Update wiki for the day-directory log layout and events.jsonl stream
The operational log moved out of a flat file at the logs root into a per-day
directory, logs\<yyyy-MM-dd>\manageusers.log, with a structured events.jsonl
stream beside it carrying one JSON object per line. Retention is now age-based
for day directories (30 days, swept at the start of every run, along with the
loose files the old flat layout left at the root); size-based rotation still
applies to the two .log files and events.jsonl is not size-rotated. The audit
log did not move and stays exempt from the age sweep.
Logging and Auditing is rewritten around that layout: the directory tree, the
full event record contract with a real three-line example, the escaping rules,
ConvertFrom-Json recipes, and the two retention mechanisms separated. Every
recipe elsewhere that opened the flat operational log now builds the day path.
Architecture's on-disk state table and run-order diagram, Configuration's
constants, Installation's migration note, Safe Deployment's stage 0, CLI
Reference's console-output section and Troubleshooting's opening moves are
corrected to match; three FAQ entries added for the moved path, the retention
window, and the absence of any verbosity switch.
Claude-Session: https://claude.ai/code/session_01LgVWJd72Uvt6CV1WsXg5Yf
Author initial wiki for manageusers
Full documentation set for the public manageusers wiki, written from the
source in src/ManageUsers. Fifteen pages covering installation, the complete
configuration surface, the four deletion passes and their exact selection
rules, exclusion matching semantics, a safe-deployment rollout order, the
audit-log catalogue, troubleshooting grounded in real failure paths, and the
CI/release process from the workflow files.
Documented explicitly because they are easy to get wrong: exclusions are exact
case-insensitive matches with no wildcard support; policy match criteria are
unanchored regexes ANDed together (the README says OR); the orphan pass and
corrupt-profile pass ignore the retention threshold entirely; and --simulate
does not guard orphan account removal or the login-screen registry write.
Claude-Session: https://claude.ai/code/session_01LgVWJd72Uvt6CV1WsXg5Yf