Skip to content

fix(scheduled): distinguish hourly placeholders from calendar times - #821

Merged
vastsa merged 2 commits into
vastsa:mainfrom
hui455:fix/scheduled-calendar-intent-final
Sep 21, 2026
Merged

vastsa merged 2 commits into
vastsa:mainfrom
hui455:fix/scheduled-calendar-intent-final

Conversation

@hui455

@hui455 hui455 commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

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:

Before

After:

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
  • Both calendar regression tests and real Host conversion/restart E2E passed. The Manual-to-Hourly compatibility E2E passed.
  • Scheduled Rust suite: 20 passed, 4 existing Windows path assertion failures. The separate workspace-path fix addresses those assertions.
  • Formatting and diff checks passed.
  • Windows, Node 24.2, Rust debug build. Native macOS/Linux runs were not performed. Screenshots use main 0111e306c and the corresponding fix; focused checks were rerun after refreshing the candidates to 46d4ee4ee.

hui455 and others added 2 commits September 22, 2026 01:06
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
@vastsa
vastsa merged commit a07bbdb into vastsa:main Sep 21, 2026
4 checks passed
@vastsa

vastsa commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Landing note: this branch conflicted with the sibling scheduled-task PRs (#820-#824) that landed just before it. I merged the updated main into this branch and resolved the conflicts (docs sections unioned; for #822 the new tests in scheduled_tools.rs were combined with #820's). No functional change was made to your commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants