Skip to content

refactor!: rename ExecutableDag to PostAsapDag - #470

Merged
zzylol merged 2 commits into
mainfrom
refactor/rename-post-asap-dag
Sep 29, 2026
Merged

zzylol merged 2 commits into
mainfrom
refactor/rename-post-asap-dag

Conversation

@zzylol

@zzylol zzylol commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Why

The Post-ASAP DAG is logical: it says what is computed with which summaries, not
which physical operators run. Its exported form was named ExecutableDag, even
though its wire version, node IDs and envelope were already POST_ASAP_DAG_*,
PostAsapNodeId and PostAsapDagDocument. With a physical DAG layer arriving
(#462), "executable" names the wrong layer. This PR is split out of #462 so it
can be reviewed on its own.

What

Pure rename, no behavior change:

Before After
post_asap::executable_dag post_asap::post_asap_dag
ExecutableDag / ExecutableDagNode / ExecutableDagEdge PostAsapDag / PostAsapDagNode / PostAsapDagEdge
ExecutableOperatorPayload PostAsapOperatorPayload
ExecutableDagValidationError / ExecutableDagCompilation PostAsapDagValidationError / PostAsapDagCompilation
ExecutableNodeIdentityMap PostAsapNodeIdentityMap
compile_executable_dag[_with_node_ids] compile_post_asap_dag[_with_node_ids]

docs/design_docs/concepts/post-asap-ir.md now states that the Pre-ASAP and
Post-ASAP DAGs are both logical, that SummaryNode trees and PostAsapDag are
two forms of the same Post-ASAP DAG, and that physical compilation produces a
separate DAG. Execution-phase fields stay on the Post-ASAP DAG; moving them is
out of scope.

Before this PR

let dag: ExecutableDag = compile_executable_dag(&root)?;

After this PR

let dag: PostAsapDag = compile_post_asap_dag(&root)?;

The serialized JSON is unchanged: no serde field, tag or wire version changes.

Compatibility

Breaking Rust API change with no aliases. ASAPQuery-backend must apply the same
rename when it syncs Planner main (about 135 references in 19 files).

Validation

cargo test --workspace (1203 passed), doc tests, and
cargo clippy --workspace --all-targets -- -D warnings pass.

🤖 Generated with Claude Code

zzylol and others added 2 commits September 29, 2026 17:13
The exported graph is the logical Post-ASAP DAG, not an executable plan;
physical execution is a separate layer. Name its types after the layer
they already share a wire version, node ID and document envelope with.

No serialized field or tag changes; the JSON wire format is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@zzylol
zzylol force-pushed the refactor/rename-post-asap-dag branch from e589ea1 to c60c577 Compare September 29, 2026 17:14
@zzylol
zzylol merged commit db73d9e into main Sep 29, 2026
3 checks passed
@zzylol
zzylol deleted the refactor/rename-post-asap-dag branch September 29, 2026 17:47
zzylol added a commit that referenced this pull request Sep 29, 2026
Follow #470: the physical compiler consumes the logical Post-ASAP DAG.
The design doc now names the Pre-ASAP and Post-ASAP DAGs as the two
logical layers and records that placement ownership between per-node
phases and frontier enumeration is still open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Selvomega added a commit that referenced this pull request Sep 29, 2026
Brings in #469, #470 (ExecutableDag -> PostAsapDag), #472 and #478.
Conflict resolution: keep the #466 any_measure_filtered guard on the
TopK site and adopt main's relaxed `TopK { k, .. }` pattern; keep the
#466 corr FILTER test with main's comment wording. Two Aggregate
constructions added by #472 gained the #466 `filters` field.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Selvomega added a commit that referenced this pull request Sep 29, 2026
Both proposal documents take main's version: the branch content was
squash-merged as #469 and main then updated the file and function names
in #470.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
zzylol added a commit that referenced this pull request Sep 30, 2026
#445, #470, #472, and #478 each described the Planner output from a
different angle. Add an output-layers section that places them in order:
candidate space, selected logical plan, and exported logical DAG. Say that
PlanOutput is derived from PlanSpace rather than being a second output.
Use "candidate" instead of "alternative" throughout input-output-workflow.md.

Rebase note: conflicts in docs/design_docs/architecture/input-output-workflow.md
with the stack below are resolved to this commit's version of the file, as
integration merge e59640f resolved them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol added a commit that referenced this pull request Sep 30, 2026
#445, #470, #472, and #478 each described the Planner output from a
different angle. Add an output-layers section that places them in order:
candidate space, selected logical plan, and exported logical DAG. Say that
PlanOutput is derived from PlanSpace rather than being a second output.
Use "candidate" instead of "alternative" throughout input-output-workflow.md.

Rebase note: conflicts in docs/design_docs/architecture/input-output-workflow.md
with the stack below are resolved to this commit's version of the file, as
integration merge e59640f resolved them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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