Skip to content

fix(server): preserve due tasks when time formatting changes - #10438

Open
CouchRiv wants to merge 1 commit into
pingdotgg:t3code/codex-turn-mappingfrom
CouchRiv:fix/server-scheduled-time-equality
Open

fix(server): preserve due tasks when time formatting changes#10438
CouchRiv wants to merge 1 commit into
pingdotgg:t3code/codex-turn-mappingfrom
CouchRiv:fix/server-scheduled-time-equality

Conversation

@CouchRiv

@CouchRiv CouchRiv commented Sep 7, 2026

Copy link
Copy Markdown

What Changed

Fixed-time schedules now compare parsed hours and minutes, so saving 09:00 instead of 9:00 preserves the pending occurrence.

Why

Both formats are accepted by the schedule contract. The current string comparison treats them as a schedule change and recalculates the next run. If today's occurrence is already due but has not dispatched, that save can postpone it until tomorrow.

This targets the V2 branch in #2829. It reuses the existing time parser and leaves actual hour, minute, weekday and interval changes distinct.

Validation

  • Four new regression cases fail before the fix; all 14 focused scheduler and contract tests pass afterward.
  • The service test uses real input decoding, in-memory SQLite and a controlled clock. It verifies the preserved persisted deadline and that changing the time to 09:30 still reschedules.
  • Server typecheck and targeted lint, formatting and diff checks pass. Typecheck reports Effect suggestions outside the changed files.

Checklist

  • This PR is small and focused
  • I explained what changed and why

Implemented and verified with GPT-6 in the Codex harness.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 7, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Would Approve

Macroscope's review found this PR approvable — The production change narrowly fixes equality for equivalent fixed-time schedule formats, preventing an otherwise unnecessary save from postponing a pending run. It leaves actual schedule changes and interval behavior intact and includes focused regression coverage.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

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

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant