Skip to content

fix: restore xorq flavor compatibility after public ibis cleanup#282

Merged
hussainsultan merged 1 commit into
hussain/optional-xorqfrom
julien/fix-pr278-ci-after-279
Jun 30, 2026
Merged

fix: restore xorq flavor compatibility after public ibis cleanup#282
hussainsultan merged 1 commit into
hussain/optional-xorqfrom
julien/fix-pr278-ci-after-279

Conversation

@hachej

@hachej hachej commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • restore flavor-matching window helpers (_xorq.ibis) in examples and chart/demo regression paths that execute in the full xorq CI leg
  • keep no-xorq compatibility via the _xorq.ibis shim where those files are tested without xorq
  • add make examples-core and run it in the no-xorq CI leg so no-xorq-compatible examples are continuously exercised without xorq
  • fix __bsl_prefer_known__ marker lookup so ibis Deferred does not synthesize a bogus deferred resolver and crash tagged roundtrips

Why

PR #279 was merged into #278 and CI failed in two ways:

  1. Full-xorq CI rejected plain ibis.window(...) objects when applied to xorq-vendored ibis expressions (Unexpected window type: LegacyWindowBuilder) or fell back to base classification and then could not see aggregate output columns.
  2. The YAML calculated-measure fix used getattr(expr, "__bsl_prefer_known__", ()); on ibis Deferred this invokes Deferred.getattr and returns another Deferred, causing TypeError: The truth value of Deferred objects is not defined in tagged roundtrip tests.

The examples now use the BSL ibis shim for flavor matching, and CI explicitly runs the core examples in the no-xorq leg so they cannot silently become xorq-only again.

Validation

  • PYTHONPATH=src python examples/quickstart.py
  • PYTHONPATH=/tmp/block_xorq:src python examples/quickstart.py
  • PYTHONPATH=src python examples/bucketing_with_other.py
  • PYTHONPATH=/tmp/block_xorq:src python examples/bucketing_with_other.py
  • PYTHONPATH=src python examples/window_functions.py
  • PYTHONPATH=/tmp/block_xorq:src python examples/window_functions.py
  • PYTHONPATH=src python examples/sessionized_data.py
  • PYTHONPATH=/tmp/block_xorq:src python examples/sessionized_data.py
  • PYTHONPATH=src python -m pytest src/boring_semantic_layer/chart/tests/test_chart.py::TestChartWithFilters::test_chart_with_dynamic_dimension_and_rolling_window src/boring_semantic_layer/tests/test_demo_script.py::test_demo_bsl_v2_script_runs_successfully -q
  • PYTHONPATH=/tmp/block_xorq:src python -m pytest src/boring_semantic_layer/tests/test_yaml.py::test_yaml_calculated_measures_prefer_same_named_measures src/boring_semantic_layer/chart/tests/test_chart.py::TestChartWithFilters::test_chart_with_dynamic_dimension_and_rolling_window -q

@boringdata boringdata force-pushed the julien/fix-pr278-ci-after-279 branch from ba43392 to ce44763 Compare June 29, 2026 19:38
@boringdata boringdata force-pushed the julien/fix-pr278-ci-after-279 branch from ce44763 to 79006db Compare June 29, 2026 20:26
@hussainsultan hussainsultan merged commit 91fd2f5 into hussain/optional-xorq Jun 30, 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.

3 participants