v0.2.65
v0.2.65 hardens the Workday watcher-launch failure path.
- Converts direct run_workday() watcher-launch OSError into stable workday_watcher_start_failed without retaining raw exception cause.
- Writes stable watcher-launch failure metadata into the hidden workday run recovery result payload without echoing raw exception text, tracebacks, or token canaries.
- Preserves unrecovered runner-failure state through workday stop instead of relabeling missing summaries as final_result.
- Keeps capture surfaces unchanged: no screenshots, OCR, audio, keyboard, clipboard, cloud upload, desktop control, MCP write tools, daemons, polling capture loops, or product-targeted capture.
Validation:
- Local full harness: python harness/scripts/run_harness.py -> passed with 428 pytest tests.
- Manual UIA smoke rerun: Notepad pass, Edge pass, VS Code metadata pass with known warning, VS Code strict known non-blocking diagnostic, fake-helper monitor watcher pass.
- Remote Windows Harness: https://github.com/YSCJRH/WinChronicle/actions/runs/27863842793