Skip to content

D-RA-2: relalg symbolic answers from contract::set_rules + #1651 closeout - #1654

Merged
AdaWorldAPI merged 5 commits into
mainfrom
claude/eager-albattani-iufugq
Oct 21, 2026
Merged

AdaWorldAPI merged 5 commits into
mainfrom
claude/eager-albattani-iufugq

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

This PR records the merge of #1651 (D-CMR-6), adds one test from Codex's review of this PR, and repoints relalg onto contract::set_rules.

Closeout of #1651

184cadb: repoint onto set_rules (D-RA-2, after D-CMR-6)

  • What was duplicated: relalg's normalize::symbolic handled Count(∅) = 0, Sum(∅) = 0, Min/Max(∅) = None and Count(All) = n itself, outside the contract.
  • Contract: set_rules gains the two rules it needs.
    • EmptyMeasure: Count(∅) → 0 and Sum(∅) → 0. It refuses _sym sums, because their empty sum is a placeholder value.
    • CountAll: Count(All) → N. It refuses when the population has no fixed size, when it is a bag, and under IEEE.
    • The catalogue now has 8 rules.
  • relalg: symbolic rewrites the measure with set_rules::rewrite under Semantics::exact(n_rows) and answers only when the result is a constant. Min/Max answer None only when their Count folds to 0. The public signature is unchanged.
  • crepe: no code change. Its symbolic answers come through lance_graph_relalg::run, so they now come from the contract. crepe's own rewrites in optimize.rs (binding propagation, duplicate atom, duplicate rule) work across several relations, so they stay where they are.
  • Tests:
    • set_rules: 25. Three are new. Two existing tests were re-pinned because the new rules now fire on their inputs; the PR's board entry explains both.
    • relalg: 26, unchanged.
    • contract library: 1,547.
  • Disable runs:
    • With symbolic forced to return None, 3 relalg tests fail.
    • With the contract's Count(∅) rule off, 1 relalg test fails; with its Count(All) rule off, 2 fail.
    • Each new guard in the contract fails its own test when removed.
  • crepe-plan-probe suite: running now; I'll report the result in a comment.
  • Board: STATUS row D-RA-2, LATEST_STATE, and the new entry entries/2026-10-21-d-ra-2-relalg-symbolic-repoint.md.

Coordination: claimed on EXO-50 as session_013z2e1YXkm6o6HNrDn5BPWA/019. crepe, including U3's cse.rs, and relalg's program.rs (U2) are untouched.

🤖 Generated with Claude Code

https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f9339170-c5fb-4658-a5f3-8dd78f8ac592
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 21, 2026 07:38
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 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-21T07:40:54.895375Z a0075b5 Draft marked ready
ℹ️ 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: a0075b5c53

ℹ️ 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 thread .claude/board/PR_ARC_INVENTORY.md Outdated
AdaWorldAPI pushed a commit that referenced this pull request Oct 21, 2026
Codex review of #1654: the NoUniverse guard in range_bounds_ok had no
negative control, so the 'every guard disable-verified' claim did not
hold for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
@AdaWorldAPI AdaWorldAPI changed the title board: #1651 closeout (D-CMR-6 Shipped) board: #1651 closeout (D-CMR-6 Shipped) + range no-universe test Oct 21, 2026
@AdaWorldAPI AdaWorldAPI changed the title board: #1651 closeout (D-CMR-6 Shipped) + range no-universe test D-RA-2: relalg symbolic answers from contract::set_rules + #1651 closeout Oct 21, 2026

AdaWorldAPI commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner Author

The crepe-plan-probe suite passes unchanged: 46 tests, 0 failures. That run built against the repointed relalg and the extended set_rules. 7c375fa adds the result to the entry.


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
Codex review of #1654: the NoUniverse guard in range_bounds_ok had no
negative control, so the 'every guard disable-verified' claim did not
hold for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
relalg's `symbolic` decided Count(∅), Sum(∅), Min/Max(∅) and Count(All)
locally. It now rewrites the measure with `set_rules::rewrite` under
relalg's semantics and answers only a constant. The contract gains the
two rules it needs: EmptyMeasure (Count/Sum of ∅ → 0, refused for _sym
sums) and CountAll (Count(All) → N, refused without a universe, for bags
and under IEEE). crepe's symbolic answers come through relalg::run, so
they follow; crepe's join-body rewrites stay.

Tests: set_rules 25 (3 new, 2 re-pinned because the new rules fire on
their fixtures); relalg 26 unchanged; disable runs show relalg's answers
depend on the contract rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA
@AdaWorldAPI
AdaWorldAPI force-pushed the claude/eager-albattani-iufugq branch from 7c375fa to ac147d9 Compare October 21, 2026 07:57

Copy link
Copy Markdown
Owner Author

I rebased onto main d1a18b9. The only conflict was the generated entries index, which I regenerated. On the rebased head ac147d9:


Generated by Claude Code

@AdaWorldAPI
AdaWorldAPI merged commit d754128 into main Oct 21, 2026
16 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Oct 21, 2026
AdaWorldAPI added a commit that referenced this pull request Oct 21, 2026
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.

2 participants