Repository navigation
Conversation
zzylol
commented
Oct 14, 2026
| | Pass 1 (`crates/asap-aware-mapping/src/per_computation_candidates.rs`, `generate_per_computation_candidates`) | Finds every computation target and its unranked, unsized candidates, with pruned candidates and reasons. | | ||
| | Composition (same file, `compose_logical_candidate`) | Builds one whole-workload candidate DAG from one choice per target, sizes its summaries and gives every node a guarantee. | | ||
| | Summary realization (`crates/asap-aware-mapping/src/realization.rs`) | The summary families per intent (`summary_candidates`), the `(ε, δ)` budget of a target, and default sizing. | | ||
| | Accuracy model (`crates/asap-aware-mapping/src/accuracy/`) | `DefaultAccuracyModel`: local error bounds of sized families, propagation rules (`composition.rs`), and per-family sizing (`estimators/`). | |
Contributor
Author
There was a problem hiding this comment.
Based on planner-layering.md doc, should the accuracy model in Stage 1?
Move it to docs/design_docs/planner-layering-components.md and describe each stage by its core components, its algorithm as implemented, and its code interface; note where the implementation differs from the planning-stages design. Link it from the design docs README instead of the developer docs.
Describe Pass 2's identical-expression rule, whole-expression top-k candidates, symbolic guarantee composition bound in plan selection, counter weight confirmation, per-second pricing with retained-state memory, and the lazy Stage 1 enumeration; update the code interfaces and the notes on what is not implemented yet.
zzylol
force-pushed
the
docs/planner-layering-code-map
branch
2 times, most recently
from
October 14, 2026 23:44
2b51902 to
054c30c
Compare
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.
Why
planner-layering.md defines the planning stages, passes and algorithms. Nothing explains how they are actually built: which components implement each stage, how the implemented algorithm runs, and where it differs from the design. Developers need that before they can extend a stage or compare it with the design.
What
This PR adds a design doc,
docs/design_docs/planner-layering-components.md, and links it fromdocs/design_docs/README.md. It describesmain@80fc72e1in planner-layering.md's stage order. No code changes.How
The doc opens with a pipeline diagram of the types passed between stages and pseudocode for the top-level run. Each stage then gets three parts:
The stages covered:
It ends with a few lines on tooling and legacy code, and design-level notes on what is not implemented yet.
Before this PR
Mapping a design stage to code meant reading the module docs of
asap-aware-mappingandasap-types. There was no single description of how the implemented algorithms compare with the design, such as Pass 2's two unimplemented rules or Stage 2's single materialization option.After this PR
One design doc answers, stage by stage:
Example (Stage 1 Pass 2, as the doc presents it):
Verification
origin/main@80fc72e1and exists. The exceptions are the design-doc termsLogicalDAG,CandidateLogicalDAGsandMATCH.🤖 Generated with Claude Code