Skip to content

fix(lifecycle): accept Scheduler default-enabled tasks - #5307

Merged
joelteply merged 1 commit into
canaryfrom
fix/maintenance-default-enabled-task
Oct 23, 2026
Merged

joelteply merged 1 commit into
canaryfrom
fix/maintenance-default-enabled-task

Conversation

@joelteply

Copy link
Copy Markdown
Contributor

The published maintenance command refused before drain on the real Windows host because Task Scheduler omits Enabled when it is true. Normalize that optional mutable element out of registration identity; keep authoritative COM Enabled, raw XML, security descriptor and remaining registration identity intact.

The existing Windows custody fixture now uses actual unregistered Scheduler COM definitions and retains interrupted restoration assertions. Direct PS5 production-reader checks passed default-enabled, disable, reenable and registration drift without changing registered tasks. Native Windows CI remains required. The failed live attempt left serving untouched and Deploy was restored; no disk recovery claimed. Earlier pending journals fail closed rather than being rewritten.

This restores the supported maintenance path needed to unblock citizen deployment while preserving their durable work. Follow-up to #5302, maintenance card b7053790.

@joelteply joelteply added the windows Run existing Windows core and lifecycle contracts label Oct 23, 2026
@joelteply

Copy link
Copy Markdown
Contributor Author

Independent source review by Codex retirement_review: APPROVE exact 3ad379e.

This matches the reviewed narrow correction: normalize comparison XML whitespace and exclude only Task/Settings/Enabled, whose omitted schema-default spelling previously caused refusal. Untouched raw XML, actual COM Enabled state, SDDL and other registration content remain evidence. The existing interrupted-restoration fixture now uses real unregistered Schedule.Service task definitions, preserving failure cases without registering or mutating OS tasks.

Compatibility caveat: journals persisted with the prior identity normalization may fail closed under the new comparison. This patch does not claim transparent migration; retain such evidence rather than rewriting it. Author reports no pending journal on the inspected installed node and all required CI green. No remaining source blocker; no local build or live maintenance performed by this reviewer. Installed maintenance acceptance remains separate.

@joelteply
joelteply merged commit 6b1f511 into canary Oct 23, 2026
9 checks passed
@joelteply
joelteply deleted the fix/maintenance-default-enabled-task branch October 23, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: S windows Run existing Windows core and lifecycle contracts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant