Conversation
…tover Companion to design-backend-plan-wire-format.md (#389). Phases the ASAPController L1-L3 merge, the capability_for() fix for D1-D5, and the BackendPlan/RoutingIndex rollout into independently reviewable, revertible PRs. Explicitly does not reuse ASAPController/docs/migration-plan.md's stale premise or LOC estimates -- re-measures current source instead, which shows several L3 files have flipped which side is bigger since intent-algebra-reconciliation.md was written.
Frequency/irate/SQL/CSE decisions recorded; Phase 2 step 5 (CSE->L4) now carries an explicit regression-pass requirement instead of "keep as-is unless there's a reason to move it"; Phase 2 step 7 scopes SQL support to IR/parsing only, with the data_plane SQL query endpoint flagged as separate future work rather than silently folded into this plan. Adds the general "adopt ASAPController on divergence" tie-break rule as decision log item 7.
3 tasks
Frequency: corrected to "kept, not folded" per #391's finding. Also flags that analyzer-parity-matrix.md's named acceptance test doesn't exist in current data_plane -- Phase 3 needs to locate or rebuild it before starting, not assume it's there.
Phase 1 wasn't done as scoped (#391 closed unmerged; #392 "Phase 1b" substituted a bigger structural fix -- direct git-dep on ASAPController's IR crates instead of an in-tree vocabulary copy-merge). Phase 3 is substantially done already (capability_for() routes Sum/Min/Max/Rate/ Increase to exact-agg on main) but not via this plan's sequencing, and its own documented blocker (missing analyzer_parity_tests corpus) is still unresolved. Phases 4-5 haven't started. Also flags an unplanned parallel thread (#407/#408 Step A/B, merged; #409 Step C, open) that adopts asap_plan::bind::implement_tree / asap_sketch::L4Node directly and overlaps with what Phases 4-5 were meant to deliver -- cross-referenced against the RoutingIndex reconciliation just landed on design-backend-plan-wire-format.md (#389) so Phases 4-5 get re-scoped against what that thread actually ships before anyone executes them as originally written. No process/plan changes here beyond recording status -- this is the same kind of staleness correction this doc already applied to ASAPController/docs/migration-plan.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
Author
|
Superseded — this phase plan was scoped against #389's old design doc (specific phase numbers, status annotations tied to that narrative), which is itself superseded by #433's clean rewrite. Closing rather than rebasing the phase table onto #433, since most of what it tracked is now either done (L1-L4 adoption via git-deps, |
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.
Summary
Companion to #389 (design doc). This is the execution plan: 8 phases
(design sign-off →
agg_intent.rsmerge → remaining L1-L3 → fixcapability_for()for D1-D5 →BackendPlantypes →RoutingIndex→delete the duplicate legacy analyzer → cutover), each scoped as an
independently reviewable, revertible PR with its own testing/exit
criteria.
Notably, this does not reuse
ASAPController/docs/migration-plan.md'spremise or estimates — that document's stated source
(
ASAPQuery-backend/asap-planner-rs/) no longer exists, and a freshre-measurement of the L1-L3 files on both sides shows several have
flipped which side is bigger since
ASAPController/docs/intent-algebra-reconciliation.mdwas written(
schema.rsis no longer byte-identical;query_expr.rsandlower.rsboth flipped which repo has more code). Phase 2 explicitly calls this out
and requires a fresh per-file diff rather than trusting either doc's
cached "which side is richer" table.
Three decisions are flagged as blocking Phase 0 (not to be decided
implicitly later):
Frequencyrepresentation,irate/ratefolding, andwhether merging the SQL frontend means
control_planeregains SQL as afirst-class surface.
Test plan
close before any implementation PR referencing this plan opens.
🤖 Generated with Claude Code