Skip to content

Share precompute installation contracts and catalog validation - #613

Merged
zzylol merged 3 commits into
mainfrom
refactor/shared-precompute-plan-contract
Sep 11, 2026
Merged

zzylol merged 3 commits into
mainfrom
refactor/shared-precompute-plan-contract

Conversation

@zzylol

@zzylol zzylol commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Runtime installation depended on compiler-owned PrecomputePlan DTOs and catalog validation. Move that contract into asap_types so the compiler and data plane consume the same definitions without making the compiler their owner.

asap_types::precompute_plan now owns PrecomputePlan, its envelope, ingest/state-schema/producer contracts, deterministic constructors, and catalog consistency checks. Existing control-plane paths re-export the shared types; data-plane installation and ingest reference them directly. Schema IDs, serialization, validation behavior, and placement decisions remain unchanged.

Before: the data plane imported its precompute installation contract from the physical compiler. After: the control plane selects and builds a shared contract, and the data plane validates and consumes it.

Verification: all 68 physical-compiler tests passed, including catalog mismatch rejection, materialization schema validation, shared snapshots, and backend-local/collector projections. All 10 data-plane active-plan lifecycle and concurrent snapshot tests passed. Performance and visual evidence are not applicable to this ownership-only change.

Stacked on #608. QueryPlan and transmission/collector DTO ownership remain separate follow-ups. This preserves current operator limitations and does not claim new execution coverage.

@zzylol
zzylol changed the base branch from refactor/shared-executable-plan-contract to main September 11, 2026 00:22
@zzylol
zzylol merged commit 33be040 into main Sep 11, 2026
1 check passed
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