Skip to content

Compare satask answers against the ask oracle in CI - #7

Merged
TiloRC merged 1 commit into
TiloRC:mainfrom
tilorc-bot:ci/ask-oracle-comparison
Sep 22, 2026
Merged

TiloRC merged 1 commit into
TiloRC:mainfrom
tilorc-bot:ci/ask-oracle-comparison

Conversation

@tilorc-bot

@tilorc-bot tilorc-bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Why

The upstream-satask parity check in CI rejects intentional improvements. The sathandlers work raises the validation pass rate from 40/104 to 79/104 by matching full ask, but introduces six divergences from upstream satask (three of them ValueError answers for inconsistent assumptions), so benchmarks.compare_satask --include-early-return goes from 0 to 6 mismatches and the CI job fails.

What

  • Add an --oracle mode to benchmarks.compare_satask that uses pinned SymPy's full ask as the correctness reference.
    • mismatch (definite contradiction with ask) and current-error (unexpected exception) fail the run.
    • stronger/weaker than ask is reported but accepted; ValueError for inconsistent assumptions is accepted.
  • CI switches to python -m benchmarks.compare_satask --oracle --include-early-return; the baseline-satask parity mode remains available via the existing options.
  • Add unit tests for the verdict classifier and README docs.

Verification

  • pytest reasoning/tests -> 149 passed, 1 xfailed (this branch); the sathandlers branch with this comparison file -> 128 agree, 3 stronger, 3 inconsistent, 0 failures.
  • --oracle --include-early-return on main: 134 agree in both modes.
  • mypy strict clean; known-facts check up to date; old-assumptions scan unchanged (2 pre-existing LRA findings).

Upstream satask parity rejects intentional improvements: the sathandlers
work raises the validation pass rate from 40/104 to 79/104 by matching full
ask, yet introduces six divergences from upstream satask (including three
ValueError answers for inconsistent assumptions), so the comparison gate
goes red.

Add an --oracle mode to benchmarks.compare_satask that uses pinned SymPy's
ask as the correctness reference. Being stronger or weaker than ask is
reported but accepted, and ValueError for inconsistent assumptions is
accepted; only a definite answer contradicting ask, or an unexpected
exception, fails the run. CI switches to this mode; the baseline satask
comparison remains available via the existing options.
@TiloRC
TiloRC merged commit 77b687a into TiloRC:main Sep 22, 2026
3 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.

2 participants