Repository navigation
feat: attach scheduled workflows to existing missions - #2616
Merged
nicobailon merged 2 commits intoOct 1, 2026
Merged
Conversation
quifox
marked this pull request as ready for review
October 1, 2026 09:35
Contributor
|
nicobailon
force-pushed
the
feat/schedule-existing-mission
branch
from
October 1, 2026 15:17
165ad36 to
ed14759
Compare
This was referenced Oct 1, 2026
Closed
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.
Scheduled workflows currently force
mission:false, so they cannot use mission state to retain progress between fires. This adds the optional existing-mission attachment described in #815:schedule.createacceptsmissionId, checks the record without activating it, and persists the ID for timer, manual, and restored launches. Creation and restoration validate the ID rather than silently dropping it.Each fire uses the existing explicit mission workflow path, state adapter, and runtime feature admission.
missions.enabled:falsestill permits explicit attachment; disabling the missions feature rejects creation and restored execution. The association is visible in create/list/show output.Attachment follows ordinary mission lifecycle and retention rules: closing a mission does not pause its schedule, a later fire can reactivate it, and terminal retention can remove it. Open decisions and goal-notice pause/budget settings do not gate launches. A missing mission causes
failed_launchbefore workflow execution. Each fire resolves the store from its target cwd and current configuration/agent directory. These boundaries are documented; retention protection and recurring-specific lifecycle policies can be evaluated separately without changing the existing state API.Mission-bound definitions use schema version 2 so older schedulers reject them instead of ignoring the ID and running without mission state. Unbound definitions remain version 1 and require no migration; the current parser rejects inconsistent version/attachment combinations.
Validation on Node 24 / Linux:
npm run typecheck -- --pretty falseandgit diff --checkpassed.Related to #815; that historical request is closed after the first schedule slice in #819. This PR implements existing-mission attachment. Recurring-specific retention and lifecycle policies remain separate design work.