Skip to content

Avoid matching subsumed rows in custom backoff scheduler path - #54

Draft
yihozhang with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-custom-scheduler-issue
Draft

Avoid matching subsumed rows in custom backoff scheduler path#54
yihozhang with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-custom-scheduler-issue

Conversation

Copilot AI commented May 23, 2026

Copy link
Copy Markdown
Contributor

Custom scheduler execution could still retain/apply matches for tuples that had become subsumed. This made scheduler behavior inconsistent with normal rule execution and could produce stale scheduled work.

  • Scheduler semantics alignment

    • Updated egglog dependencies to the scheduler stale-match cleanup branch (codex/split-scheduler-stale-match-cleanup) so scheduled matches are revalidated/cleaned when rows are subsumed.
    • This ensures run-with scheduler execution no longer treats subsumed tuples as valid pending matches.
  • Saturate loop stop condition update

    • Adjusted extended scheduler saturate stop logic to use report update semantics (!iter_report.updated) instead of can_stop, matching the updated scheduler report contract.
  • Regression coverage

    • Added a focused integration test proving subsumed rows do not get matched/applied through the custom backoff scheduler path.
    • Updated the related backoff unsaturation test expectation to reflect the new report semantics.
let report = only_run_report(&outputs);
assert_eq!(egraph.get_size("S"), 0);
assert!(
    !report.updated,
    "subsumed rows should not be returned to custom scheduler matches"
);

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/saulshanabrook/egg-smol/commits/codex/split-scheduler-stale-match-cleanup
    • Triggering command: /home/REDACTED/.rustup/toolchains/1.91.0-x86_64-REDACTED-linux-gnu/bin/cargo /home/REDACTED/.rustup/toolchains/1.91.0-x86_64-REDACTED-linux-gnu/bin/cargo test --release --test integration_test test_backoff_scheduler_does_not_match_subsumed_rows -- --nocapture u.05.rcgu.o u.06.rcgu.o u.07.rcgu.o u.08.rcgu.o u.09�� u.10.rcgu.o /release/deps/egglog_experimental-2ba21daf64d3a11f.egglog_experimental.c6e477ede2665344-cgu.0.rc--no-pager /release/deps/files-062593e05073508a u.13.rcgu.o u.14.rcgu.o lib/rustlib/x86_64-REDACTED-linux-gnu/lib/libtest-d28f7e25f6ac9e1b.rlib /release/deps/files-062593e05073508a (http block)
  • https://api.github.com/repos/saulshanabrook/egg-smol/git/trees/c01695618ed4de2fbfa8116476e208bc1ca86612
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue May 23, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Fix custom scheduler subsumed rows issue Avoid matching subsumed rows in custom backoff scheduler path May 23, 2026
Copilot AI requested a review from yihozhang May 23, 2026 23:47
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.

Custom scheduler sees subsumed rows

2 participants