Skip to content

refactor(planner): unify canonical execution lifecycle - #376

Open
szmyty wants to merge 8 commits into
mainfrom
feat/canonical-planner-354
Open

refactor(planner): unify canonical execution lifecycle#376
szmyty wants to merge 8 commits into
mainfrom
feat/canonical-planner-354

Conversation

@szmyty

@szmyty szmyty commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Unifies Renderflow's legacy build path and graph build path behind one canonical planner/executor lifecycle.

Architecture

  • adds one application-layer planning module that owns config/spec loading, v1→v2 normalization, target resolution, policy filtering, DAG construction, provider/toolchain resolution, execution, output naming, and diagnostics
  • routes renderflow build, --target, --all, graph/inspect commands, SDK execution, and watch rebuilds through the same planner contract
  • adapts existing document/image/audio strategies behind graph ArtifactTransforms instead of keeping a parallel rendering pipeline
  • removes the legacy build dispatcher, dependency-map build path, file/template helpers, and graph-only config loader that became redundant
  • preserves provider/capability evidence in frozen plans and uses the canonical artifact cache/executor path

Behavior

  • exact targets and all-reachable selection now differ only in target selection, not execution architecture
  • dry-run emits the exact serialized frozen ExecutionPlan while remaining side-effect free
  • built-in capabilities participate without requiring a separate transforms file; configured transform edges remain additive
  • v1 and v2 configs normalize through the same planner semantics
  • SDK and CLI consume the same PlanningRequestResolvedExecutionexecute lifecycle

Validation

  • cargo fmt --all
  • cargo clippy --workspace -- -D warnings
  • cargo build --workspace --verbose
  • cargo test --workspace --verbose
  • bundled CLI/examples validation
  • dedicated canonical planner tests for v1/v2 equivalence and dry-run purity

Closes #354

@szmyty
szmyty force-pushed the feat/canonical-planner-354 branch from d4bb859 to be12f08 Compare September 1, 2026 14:54
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.

Unify legacy build and graph build behind one canonical planner and executor

1 participant