Repository navigation
Decision models in the query loop: engine fix, demo runner and website - #5
Merged
Merged
Conversation
A join condition that reads both inputs stays on the join. Each part that reads one input and that the cuDF join AST cannot evaluate (LIKE, string functions, IS DISTINCT FROM) becomes a computed column of that input before the join, as an expression join key does. Only parts that cannot fail move, because DataFusion evaluates the condition on key-matched pairs alone. Statements that write LOWER(name) LIKE in a filter above an inner join are native under native_required with this change; 0.1.2 rejected them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
fixture/demo/decision_models runs the probe, decide, materialize, recompute loop against an unchanged server: a probe query bounds the candidate set, a decision backend answers a fixed question set per candidate (choice, noul, score), a policy bands the action probability, the typed answers return as a Parquet table, and the recompute runs natively over the full data. Six cases over MerRec, Amazon reviews and EMBER with a registry cache, replay from captures with zero API calls, non-model controls and comparators. The backend client reads only JEV_API_URL and JEV_API_KEY; captures record the backend name and model id only. Registries, captures and derived data stay local (MerRec CC BY-NC). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add the blog post "Decision Models in the Query Loop" with the loop figure and the rank-shift chart, and two follow-ups on the MerRec case study page: world bridges recomputed without the entries a decision model rejects, and brand twins merged through the same loop with exact fan counts. export_website.py writes the two CC BY-NC data files from the local case A and B captures and drops the backend name, model ids and registry hashes; a unit test covers the stripping. The case B runner now records every pass's judgments in the review queue, band counts, kind counts and decisions instead of pass 1 only. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Bumps the website group in /website with 4 updates: [react](https://github.com/react/react/tree/HEAD/packages/react), [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom), [sigma](https://github.com/jacomyal/sigma.js) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler). Updates `react` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react) Updates `react-dom` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom) Updates `sigma` from 4.0.0 to 4.0.3 - [Release notes](https://github.com/jacomyal/sigma.js/releases) - [Changelog](https://github.com/jacomyal/sigma.js/blob/main/CHANGELOG.md) - [Commits](https://github.com/jacomyal/sigma.js/compare/sigma@4.0.0...sigma@4.0.3) Updates `wrangler` from 4.149.0 to 4.151.0 - [Release notes](https://github.com/cloudflare/workers-sdk/releases) - [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.151.0/packages/wrangler) --- updated-dependencies: - dependency-name: react dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: website - dependency-name: react-dom dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: website - dependency-name: sigma dependency-version: 4.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: website - dependency-name: wrangler dependency-version: 4.151.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: website ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit 2e29946)
Bumps the actions group with 1 update: [taiki-e/install-action](https://github.com/taiki-e/install-action). Updates `taiki-e/install-action` from 2.87.27 to 2.87.29 - [Release notes](https://github.com/taiki-e/install-action/releases) - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](taiki-e/install-action@ab68953...8cca091) --- updated-dependencies: - dependency-name: taiki-e/install-action dependency-version: 2.87.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit b85550f)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Five commits on top of
main. The first three carry the work; the last two cherry-pick the open dependabot bumps #1 and #2 so this branch builds with the current lock file:LOWER(x) LIKE ...above an inner join lowers natively instead of being rejected undernative_required. Covered by lowering, residual and expression-contract tests plus a GPU runtime case.fixture/demo/decision_models: a client that reads onlyJEV_API_URLandJEV_API_KEY, a registry keyed by a hash of each entity's context, a policy with accept/review/reject bands, Parquet decision tables registered with the server, cases A to F with controls, and a replay mode that reruns every query with zero model calls. Captures and registries stay local.npm ciand rebuilt.Secrets and private endpoints
The full diff against
mainwas scanned for the hosted model's endpoint host and path, the API key (whole, prefix and suffix), JWT shapes,Bearer ey, andJEV_API_KEY="/RDSEC_API_KEY="assignments: no hits. The local pre-commit hook with the same patterns passed on every commit. The data files underwebsite/static/datacarry the MerRec license field and are listed inLICENSE-MERREC.md.Verification
cargo nton the lowering, residual, join filter, gap, expression contract and scalar expression tests (227 tests, 7 GPU cases), rustfmt nightly, workspace clippy.compare_captures.pyidentical for cases A to F;export_website.py --checkmatches; 14 exporter and client unit tests.npm run typecheck,npm run build,check_third_party_data.py,check_prose_slop.shon the new pages; rendered pages checked by screenshot.🤖 Generated with Claude Code