fix(service): make Windows scheduler status locale independent - #736
fix(service): make Windows scheduler status locale independent#736luvs01 wants to merge 2 commits into
Conversation
📝 WalkthroughWalkthroughWindows ChangesWindows service status
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
LAND-AFTER — approved in principle, queued behind the release blockers. This resolves #722 correctly, and the approach is the right one. Rather than trying to decode CP949 out of Worth stating plainly since it is a contract change: What happens next: nothing is required from you. The two release blockers (#749, #737) are now on CI context (shared across the current review round). |
|
Closing as superseded — the fix is already on
The reason this needs to be closed rather than merged: Thanks for the fix; the direction was right and it shaped what landed. #722 is closed with the evidence above. |
The dev checkout is mid-optimization, so this round stages on codex/260731-pr-merge-round instead of dev. The user merges it into dev and releases once that unit lands. Four reviewers triaged every open PR against origin/dev=356924263 on disjoint slices, and the load-bearing finding is that seven PRs are already fixed on dev by different commits. Merging those heads now would REVERT the newer work. lidge-jun#736 is the clearest case: dev carries decodeSchtasksOutput() at src/service.ts:364-393 because schtasks /query /xml emits UTF-16LE, and the PR head deletes that block and restores encoding: "utf8" -- landing it reopens lidge-jun#722. A clean merge-tree is not permission to merge. An adversarial audit then returned five blockers, all folded in rather than argued away. Two changed what actually gets merged. lidge-jun#744 was routed as a routine catalog fix, but 59d95c0 and 39543a3 change OAuth reconciliation, persist provider settings, and move token resolution around the static branch -- security review per MAINTAINERS.md, so it left the batch. lidge-jun#781's topic commit also swaps three /api/logs test files onto a logsFromApiBody helper that accepts both the array and the {logs} envelope; adopting it would pre-accept the very contract batch B rejects, so only the Anthropic file and its own test come across. The audit also caught three PRs missing from a matrix that claimed to be complete (lidge-jun#750, lidge-jun#746, lidge-jun#644), and lidge-jun#644 additionally carries .codexclaw/goalplans/** and two .DS_Store files. Nothing is merged yet. Batch A is six PRs, batch B rebuilds three whose implementations no longer fit the tree, and 20+ are held for security review, provider evidence, or their own cycle -- each with what would unblock it recorded.
Summary
schtaskstable output with a locale-independent Windows scheduler status/healthzprobeFixes #722
Verification
bun scripts/test.ts tests/service.test.ts tests/windows-scheduler-install-verification.test.ts(58 passed, Bun 1.3.14)bun x tsc --noEmitbun scripts/privacy-scan.tscd docs-site && bun install --frozen-lockfile && bun run build(146 pages)git diff --checkdevslices continued making progress and completed, confirming a harness cutoff rather than a deadlock. The separate 5-secondcli-restore-backtest budget found during diagnosis is already covered by open security: harden post-merge service and management boundaries #707. Cross-platform CI still requires repository approval for this fork PR.Checklist
Summary by CodeRabbit
ocx service statuson Windows by separately reporting Task Scheduler registration and verified OpenCodex proxy availability.schtaskstables, keeping output readable across system code pages.