Skip to content

feat: bind complete raw cohorts to immutable publication - #673

Merged
zzylol merged 31 commits into
mainfrom
feat/maintenance-complete-population-cohort
Sep 11, 2026
Merged

zzylol merged 31 commits into
mainfrom
feat/maintenance-complete-population-cohort

Conversation

@zzylol

@zzylol zzylol commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Why

A requested immutable read set does not prove that every raw population was included. Global maintenance reduction needs stronger evidence before reserving an output.

What

Add a store-issued, non-serializable complete raw cohort capability and publication/recovery entry points that consume it.

How

Build the capability from the exact input definition set and every durable population at one common window. Reuse the existing frozen inputs and transaction. Under the same admission and instance guards, recheck finite closure, all source lifetimes, the complete durable/live SID set, and output window before target registration or reservation.

Before this PR

The frozen read-set API could validate the requested inputs but could not attest that no population was omitted.

After this PR

If one source lacks the requested window, or another raw SID appears after proof capture, complete publication rejects without a target record or part. A fresh store can rebuild the proof from durable inputs after restart and recover the already committed output.

Verification

  • Eighteen maintenance runtime/index tests passed in 15.12 s with actual sketchlib refactor(legacy_expr): step β — thread Schema through legacy planning stack #139 on the combined latest-main head.
  • Covers partial population windows, changed SID set with zero target side effects, wrong output window, and fresh-store restart recovery without additional parts.
  • Production and restart-test source independently reviewed.
  • No new automatic multi-group process or performance claim.

Limits

Installed source/window alignment remains the plan consumer's responsibility. The capability currently requires finite raw closure; it does not provide continuous watermark semantics. Automatic multi-group routing and reduction are not enabled here.

Stacked on #672.

…ped-rows

# Conflicts:
#	data_plane/src/precompute_engine/maintenance_runtime.rs
@zzylol
zzylol changed the base branch from feat/maintenance-grouped-rows to main September 11, 2026 19:57
@zzylol
zzylol merged commit aa7d689 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