8000 fix(query): align ordinary aggregate value handling (#789) by adityamukho · Pull Request #792 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

fix(query): align ordinary aggregate value handling (#789) - #792

Merged
adityamukho merged 1 commit into
v3from
feat/789-aggregate-values
Oct 29, 2026
Merged

adityamukho merged 1 commit into
v3from
feat/789-aggregate-values

Conversation

@adityamukho
Copy link
Copy Markdown
Collaborator

Ordinary sum and sum-distinct now ignore nonnumeric arguments; ordinary min/max accept every non-nil value using the existing window order. Sum over 10, "unknown", 20 returns 30. Existing empty-query conventions and all-nil min/max group dropping are preserved.

Numeric filtering happens before sum-distinct retention and memory charging. Count/distinct identity, window behavior, and count-only ordered Aggregate eligibility remain unchanged (#781 owns expansion). INT-041/043/044 stay reserved and are documented as deprecated. This targets v3 only and is reconciled with merged #791, preserving avg and its heap accounting.

Refs #789. The approved spec, implementation plan, and verification record are included under docs/superpowers/.

Validation:

  • Final default run: 1,997 passed, zero failed, 17 ignored, excluding the 16 unchanged storage fault tests that passed in the earlier bench run. All 2,013 active default tests are covered across these runs.
  • 34 focused test-hooks tests and the dedicated sum/avg retained-heap test pass. Red/green regressions and all legacy aggregate expectations are updated.
  • Strict native/browser/WASI clippy and formatting pass; WASI tests compile (not executed). Release binary: 1,261,736 bytes, below the unchanged 1,263,616-byte cap.
  • Default tests used the local fallback after bench I/O contention hit a crash-child deadline; the exact seed and complete final run pass with the unchanged timeout. Details are in the plan.
  • Claude reviewed the spec, plan, final code, documentation, and integration with feat(query): add ordinary avg with window-compatible value handling #791.

Companion version-scoped site documentation: project-minigraf/minigraf-docs#87.

@codecov
codecov Bot commented Oct 29, 2026
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/query/datalog/aggregate.rs 90.90% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@adityamukho
adityamukho merged commit f1019c5 into v3 Oct 29, 2026
19 checks passed
@adityamukho
adityamukho deleted the feat/789-aggregate-values branch October 29, 2026 06:13
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

0