fix(scheduled): distinguish hourly placeholders from calendar times - #821
Merged
Merged
Conversation
Distinguish an hourly compatibility schedule from an intentional calendar time. Preserve known calendar settings through cadence changes and restart while requiring confirmation for legacy hourly values.
# Conflicts: # docs/spec/03-runtime/06-host-rpc-protocol.md # docs/spec/06-delivery/04-e2e-test-plan.md # docs/zh-CN/spec/03-runtime/06-host-rpc-protocol.md # docs/zh-CN/spec/06-delivery/04-e2e-test-plan.md
Owner
|
Landing note: this branch conflicted with the sibling scheduled-task PRs (#820-#824) that landed just before it. I merged the updated |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changing an Hourly task to Daily or Weekly through AI without supplying a time can silently reuse the internal 00:00 placeholder as a calendar setting.
Require an explicit calendar time unless the task already has a known Daily/Weekly configuration. Existing calendar settings, including midnight, survive an Hourly round trip and restart. Older Hourly tasks keep their data but need a time when converting, since the original intent cannot be recovered reliably.
Before and after — actual Windows desktop (1200 × 800, isolated profiles). A deterministic local model fixture calls the real tools and summarizes their results; no live model is used.
Before:
After:
Regression tests reproduce the implicit conversion and cover explicit midnight, saved calendars, paused state and restart. The optional configuration marker uses the existing JSON storage; no table migration is needed.
Validation details
0111e306cand the corresponding fix; focused checks were rerun after refreshing the candidates to46d4ee4ee.