Conversation
zzylol
added a commit
that referenced
this pull request
Oct 4, 2026
Plan the filtered-aggregate integration test with the executor's capability set, as #609 does for the other integration tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol
force-pushed
the
stack/509-y1-deployment-inputs
branch
from
October 4, 2026 21:17
4a830c5 to
3521459
Compare
zzylol
changed the base branch from
stack/509-x9b-hydra-pass1
to
stack/509-y2b-filtered-pass1
October 4, 2026 21:17
This was referenced Oct 4, 2026
…e 3 inputs DeploymentCapabilities (asap-types `deployment`) joins the cost and accuracy models in PlanningModels: summary families x instance layout x readouts, ingestion-time support, query-time retention, an optional memory budget, and whether raw data is kept anyway (Q48). The default is unrestricted with raw data kept, so selections do not change. Stage 3 rejects a candidate needing a missing summary, readout or ingestion-time maintenance, or retaining more than the memory budget, with the reason. Without raw data kept, each query-time scan pays w_mem x lookback x lambda x bytes per sample. The executor exports its set (asap_executor::capabilities) from the rules in capability.rs; stage_pipeline and the integration tests plan with it. Stage 2's and Stage 3's family labels name a Hydra by its kind (HydraCms). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plan the filtered-aggregate integration test with the executor's capability set, as #609 does for the other integration tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol
force-pushed
the
stack/509-y1-deployment-inputs
branch
from
October 5, 2026 06:21
3521459 to
ca6eac7
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.
Stack: Wave 3 chain: #605 → #607 → #608 → #609 → #610
Rebased on main d4869a7 (DF 54).
Why
#509 lists three deployment inputs (cost model, accuracy model, execution capabilities) and says Stage 3 rejects a candidate "that needs a capability the deployment lacks". Only the first two existed (#525). Q48 also left raw-data retention unpriced: a plan that rebuilds a window from raw samples at query time looked free of retention even when the deployment does not keep raw data.
What
DeploymentCapabilitiesinasap-types, new moduledeployment(notworkload: a workload is what is asked; this is what the executor offers, a separate docs: propose workload-wide planning, summary sharing, and materialization #509 input). Data only:summaries: Option<Vec<SummarySupport { family: Exact(kind) | Sketch(algorithm), layout: PerGroup | Hydra(kind), readouts }>>,ingestion_time,query_time_retention,memory_budget_bytes,raw_data_retained,raw_bytes_per_sample(16).PlanningModels(capabilities,with_capabilities) with the cost and accuracy models. Default:UNRESTRICTED,raw_data_retained = true, so no number changes.asap_executor::capabilities(), derived fromcapability.rs's validators (validate_native_family,validate_sketch_evaluation, the keyed top-k configuration). The stage crates still do not depend on the executor (Reorganize crates and modules by #509 stages and the #511 unified IR #572 guards).stage_pipelineand the integration tests plan with it.q1: deployment lacks a CountSketchWithHeap TopK readout,q1: deployment lacks a CmsWithHeap summary,deployment cannot maintain state at ingestion time,retains N bytes across evaluations, over the deployment's memory budget of M bytes). Withraw_data_retained = false, each query-time scan paysw_mem · lookback · λ · raw_bytes_per_sample; ingestion-time scans pay nothing. Documented instage3-cost-model.md("Deployment inputs").family_name(and Stage 3's) label a Hydra summary "HydraCms", not "Cms". There is a regression test, which fails without the fix.How (Before / After)
raw_data_retained = falseQ49 evidence (Example 3B = Example 4 Pattern B: p99 over 5 min every minute, 1M series, λ = 66 667/s; built-in model, executor capabilities, constants not tuned):
raw_data_retained = falseThe B1 cost is mostly memory: 6 panes of 1M per-series KLLs, 6.1 GB. So the #606 tests
stage3_b_rebuilding_every_window_costs_mostandstage3_b_prefers_ingestion_time_tumbling_windowsstay ignored, and their reasons now give these numbers.Gate:
cargo fmt --check,clippy -D warnings,cargo test --workspace: 1,661 passed, 23 ignored (#608: 1,652 / 23; 9 new tests). Restacked onto #608:fix: integrate with #607plans the filtered-aggregate integration test with the executor's set too. The executor's filtered builds (#607) are a row filter on any summary build, so the capability set is unchanged and no filtered candidate is rejected for a capability. Viewer:python3 -m unittest test_render: 29 tests OK. The Example 1 fixture regenerates byte-identical.Links: #509, #525, #572, #594, #604.
🤖 Generated with Claude Code