Skip to content

feat(scoring): expose group_by on Tri/Quad/Penta joins - #74

Merged
blackopsrepl merged 1 commit into
mainfrom
fix/group-by-tri-plus
Oct 13, 2026
Merged

blackopsrepl merged 1 commit into
mainfrom
fix/group-by-tri-plus

Conversation

@blackopsrepl

Copy link
Copy Markdown
Collaborator

Adds the missing group_by methods on cross-source and same-source Tri, Quad and Penta streams. Uses the existing grouping/filter operators, preserving source indexes and ownership of collected values.

Verified: seven runtime regressions, scoring tests, macro trybuild, full workspace tests, workspace all-target clippy (-D warnings), formatting and independent review.

Fixes #73

Add the missing fluent grouping methods to cross-source and same-source arity streams. Adapt borrowed tuples to the existing GroupNode and retain authored filters with their semantic source indexes; no new grouping engine or copied collector payloads are introduced.

Cover grouping, source mutations, empty groups, reset and move-only collected values with seven executed regressions and a macro compile fixture. Update the scoring and facade wireframes and README. Workspace tests, workspace all-target clippy, formatting and independent review pass.

Fixes #73
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T18:29:14.446643Z 4caa1ca PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4caa1caac1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +103 to +107
) -> OperatorTerminal<
S,
GroupNode<O, F, C, K, Acc, V, R>,
impl Fn(&S, &GroupView<'_, S, O, K, Acc, V, R>) -> Sc + Send + Sync,
Sc,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Return a chainable grouped terminal

When a joined or same-source Tri/Quad/Penta group_by binding is reused for multiple terminals inside #[solverforge_constraints], emit_terminal_member chains each later .penalize()/.reward() call from the preceding .named() result. Returning a plain OperatorTerminal here makes that generated code fail because OperatorTerminal exposes neither method, so the newly supported grouped streams cannot use the canonical shared-terminal pattern; return a chainable shared grouped terminal/set as the existing grouped families do.

AGENTS.md reference: AGENTS.md:L207-L211

Useful? React with 👍 / 👎.

@blackopsrepl
blackopsrepl merged commit 2a6f040 into main Oct 13, 2026
4 checks passed
@blackopsrepl
blackopsrepl deleted the fix/group-by-tri-plus branch October 14, 2026 16:28
blackopsrepl added a commit that referenced this pull request Oct 14, 2026
Add the missing fluent grouping methods to cross-source and same-source arity streams. Adapt borrowed tuples to the existing GroupNode and retain authored filters with their semantic source indexes; no new grouping engine or copied collector payloads are introduced.

Cover grouping, source mutations, empty groups, reset and move-only collected values with seven executed regressions and a macro compile fixture. Update the scoring and facade wireframes and README. Workspace tests, workspace all-target clippy, formatting and independent review pass.

Fixes #73
blackopsrepl added a commit that referenced this pull request Oct 14, 2026
The branch's sole commit is patch-equivalent to the grouping change already landed through #74 (git cherry reports '-'). Preserve its ancestry without reapplying the patch.
blackopsrepl added a commit that referenced this pull request Oct 14, 2026
GitHub's sole divergent commit is patch-equivalent to the #74 grouping change already present on main (git cherry reports '-'). Preserve that ancestry without changing the integrated tree.
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.

group_by on Tri+ joins

1 participant