Remove the unreferenced legacy planning endpoints - #715
Merged
Merged
Conversation
This was referenced Sep 13, 2026
zzylol
force-pushed
the
refactor/703-remove-legacy-endpoints
branch
from
September 13, 2026 21:04
c85021f to
5fe87fc
Compare
zzylol
changed the base branch from
refactor/703-consolidate-on-asapplanner
to
main
September 13, 2026 21:17
Six endpoints on the legacy planning API have no caller anywhere in the workspace — not the data plane, not the process e2e tests, not the docs: `/plan/auto`, `/plan/pareto`, `/plan/:metric/rollback`, `/plan/:metric/diff`, `/agents`, and `/config/:metric`. Removing them retires the autonomous allocation chain that existed only to serve `/plan/auto`: `epsilon_alloc::build_auto_plan` and its knob allocation, which pulled in `query_planning`, and through it `sketch_selection` and `asap_tier_implement`. `epsilon_alloc` itself stays. `derive_sample_p` and `split_budget` are live on the physical path (`physical/compiler.rs` and `types.rs`), so the module keeps those two and loses the rest. `POST /api/v1/plan`, `GET /api/v1/plan/:metric` and `/api/v1/cost-model` are untouched: the data plane's capability-miss notifier and config fetcher call the first two, and `control_plane/tests/component_process_e2e.rs` uses the third as its readiness probe. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
zzylol
force-pushed
the
refactor/703-remove-legacy-endpoints
branch
from
September 13, 2026 22:25
794befe to
7588fbb
Compare
This was referenced Sep 14, 2026
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.
#703 item 18, first deletion step. Stacked on #713 — review that one first.
What goes
Six endpoints on the legacy planning API have no caller anywhere in the workspace — not the data plane, not the process e2e tests, not the docs:
POST /api/v1/plan/autohandle_plan_autoPOST /api/v1/plan/paretohandle_paretoPOST /api/v1/plan/:metric/rollbackhandle_rollbackGET /api/v1/plan/:metric/diffhandle_plan_diffGET /api/v1/agentshandle_agentsGET /api/v1/config/:metrichandle_get_configRemoving them retires the autonomous allocation chain that existed only to serve
/plan/auto—epsilon_alloc::build_auto_planand its knob allocation, which pulled inquery_planning, and through itsketch_selectionandasap_tier_implement.Deleted outright:
query_planning.rs(327),sketch_selection.rs(169),asap_tier_implement.rs(333),deployment_cost/pareto.rs(418).1,988 lines removed, none added.
What stays, and why
epsilon_allocis not deleted, contrary to the shape suggested in the issue.derive_sample_pis called fromphysical/compiler.rsandsplit_budgetfromtypes.rs, both on the live physical path. The module keeps those two and drops the rest — 464 lines down to 136.Three endpoints on the legacy API are deliberately untouched because they have live callers:
POST /api/v1/plan— the data plane's capability-miss notifier posts to it (data_plane/src/main.rswiresHttpControlPlaneClient, reached fromasap_query_engine/engine.rs)GET /api/v1/plan/:metric—data_plane/.../config_fetcher.rspolls itGET /api/v1/cost-model—control_plane/tests/component_process_e2e.rsuses it as the readiness probeConsolidating those three onto the physical compiler is the next step and needs
handle_planrewritten, not deleted.Testing
cargo +1.98.0 check -p control_plane --all-targets— clean, no warnings.cargo +1.98.0 test -p control_plane --lib— 705 passed, 0 failed. The count drops from 738 because 33 tests covered only the deleted code.🤖 Generated with Claude Code