Skip to content

Unify execution with a serial typed job model - #3

Merged
yslib merged 10 commits into
mainfrom
feature/typed-schema-expressions
Jul 27, 2026
Merged

Unify execution with a serial typed job model#3
yslib merged 10 commits into
mainfrom
feature/typed-schema-expressions

Conversation

@yslib

@yslib yslib commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • model providers, packages, actions, and links as one ordered typed execution plan
  • run apply through a strictly serial JobRunner, while --dry-run renders the same selected plan without executing it
  • keep provider checks independent and preserve the existing CLI, schema, process, and link behavior

Why

The previous apply path stored and executed each phase separately. That duplicated orchestration facts, fragmented reporting, and made future exact job selection harder. This change establishes one internal source of truth without turning dot into a scheduler or package manager.

Impact

  • full apply remains ordered as provider → package → action → link
  • provider failures block only dependent packages; unrelated jobs continue
  • duplicate link targets still block the complete link phase before mutation
  • no new CLI syntax, concurrency, receipts, signal handling, or process supervision

Validation

  • cargo fmt --all -- --check
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • cargo test --locked --all-targets --all-features
  • cargo test --locked --release --test job_runner
  • cargo test --locked --release --lib job_runner::tests

@yslib
yslib marked this pull request as ready for review July 27, 2026 03:34
@yslib
yslib merged commit 6700d63 into main Jul 27, 2026
7 checks passed
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