Skip to content

feat: preserve populations through maintenance row operations - #672

Merged
zzylol merged 27 commits into
mainfrom
feat/maintenance-grouped-rows
Sep 11, 2026
Merged

zzylol merged 27 commits into
mainfrom
feat/maintenance-grouped-rows

Conversation

@zzylol

@zzylol zzylol commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Why

A maintenance expression must retain population identity while combining finalized values. Flattening groups before a binary operation can mix independent series at the same timestamp.

What

Preserve the existing typed group map through private summary windows and finalized rows. Keep the current singleton execution gate.

How

Binary arithmetic first requires identical complete group sets, then performs the existing strict timestamp join within each group. Summary merge rejects different groups. An explicit summary update projects output grouping and rejects multiple output populations before updating state.

Before this PR

Finalized rows carried timestamps and values but no population identity.

After this PR

Two groups sharing a timestamp remain separate through subtraction: a:5 minus a:2 yields a:3; b:9 minus b:4 yields b:5. Missing groups reject instead of producing a partial result.

Verification

Limits

This private representation does not enable multi-population scheduling. The future complete-cohort consumer must bind the computed output group to persisted labels and publish one complete outer result transactionally. Canonical routing, continuous completion, and sliding execution remain separate.

Stacked on #670.

…ped-rows

# Conflicts:
#	data_plane/src/precompute_engine/maintenance_runtime.rs
@zzylol
zzylol changed the base branch from feat/maintenance-population-inventory to main September 11, 2026 19:48
@zzylol
zzylol merged commit 351b116 into main Sep 11, 2026
1 of 2 checks 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