Skip to content

simplify(automation): admit concrete schedules before due decisions - #4551

Open
ScriptedAlchemy wants to merge 1 commit into
simplify/automation-task-leasefrom
simplify/automation-resolved-schedule
Open

ScriptedAlchemy wants to merge 1 commit into
simplify/automation-task-leasefrom
simplify/automation-resolved-schedule

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Why

Refs #4428. Parent link is #4542 on simplify/automation-task-lease.
Fixed tasks and jobs interpreted the same schedule string and interval during validation and each due decision. Resolve that pair at admission so decisions cannot reconstruct conflicting timing states.

What changed

  • Add immutable admitted configurations and jobs with concrete manual, interval, or cron schedules. Fixed-task configuration pins share the admitted value through Arc.
  • Migrate daemon, dashboard, retained-run and user-job scheduling to direct schedule matches. Delete public ConfiguredInterval, the old parser/validator APIs, repeated decision parsing and invalid-to-manual fallbacks.
  • Preserve patch omission/null and explicit-schedule precedence. Refuse invalid persisted schedules at runtime admission without rewriting stored data.

Scope

Blast Radius

Scheduled fixed tasks, host receipts, user jobs and scheduler status use the admitted timing representation. Retry, activity, denial, cancellation and retained settlement behavior stay covered. Three retry fixtures now use a valid one-second cooldown and wait for that boundary instead of bypassing settings with zero.

Verification

  • Bazel unit suites pass with automation 39, automation-runtime 434, configuration 38 and dashboard-api 203 tests. Dashboard-api retains one existing ignored manual measurement.
  • Bazel automation runner passes 177 tests. The non-vacuous daemon scheduler-configuration filter passes 17 tests, including revisioned reads, discovery and re-enable.
  • Focused Bazel clippy passes all six targets including daemon unit tests. Rustfmt, diff checks and commitlint pass. No limits or timeouts increased.

Devin Review

@changeset-bot

changeset-bot Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 0374d13

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

devin-ai-integration[bot]

This comment was marked as resolved.

ScriptedAlchemy added a commit that referenced this pull request Oct 26, 2026
Restack unique #4551 commits onto the rewritten #4542 tip, including the
inactive-job isolation, canonical disabled-backend fixtures, and refreshed
schedule description.
@ScriptedAlchemy
ScriptedAlchemy force-pushed the simplify/automation-resolved-schedule branch from 4d634db to 45fedda Compare October 26, 2026 05:48
@ScriptedAlchemy
ScriptedAlchemy force-pushed the simplify/automation-resolved-schedule branch from 45fedda to 0374d13 Compare October 26, 2026 07:15

This branch has not been deployed

No deployments
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.

1 participant