Repository navigation
feat(query): every build reorders; the wasm feature is a no-op (+ #606) - #607
Merged
Merged
Conversation
The wasm Cargo feature kept clauses in source order and turned off the #250 or short-circuits. With every answer independent of the plan (#594, #596) it only made queries slower, and no first-party build enabled it. optimizer::reorder() is now true outside the test switch; the feature stays declared, deprecated and without effect. The optimizer, engine, disjunction and join-rules tests lose their wasm gates. Also #606: a pseudo-attribute pattern never gives a variable its value (Binders ranks it after every real pattern), so a :db/valid-at pattern that runs first no longer decides keyword or ref. The plan-independence matrix gains the shape (with a fixed :valid-at: by default ?t is each query's now). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HyLscCUuJ1GQpdAeX79EdR
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Collaborator
Author
|
#394 envelope with
|
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.
PR 3 of 3 of
docs/superpowers/plans/2026-10-15-594-596-plan-independence.md(steps 14–17, decision 10), plus #606, which the plan-independence test found while the gates were being removed. #606 is closed by hand after merge.What changes
optimizer::reorder()istrueexcept while the test-only switch is off. ThewasmCargo feature no longer keeps clauses in source order or turns off the perf: short-circuit or/or-join branch evaluation using cost model #250orshort-circuits, and the engine's hash-join build side is the cost choice everywhere. The feature stays inCargo.toml, marked deprecated with no effect, so builds that name it still resolve. No first-party build enabled it:minigraf-wasmusesbrowser, andwasm.ymlbuilds wasm32 without it.Binders::patternranks a pseudo-attribute pattern after every real one. A:db/valid-atpattern that runs first no longer gives its entity variable the keyword-or-ref kind; the first real pattern in the text does. Rows and counts are unchanged.disjunction_testshort-circuit tests,join_rules_test::pseudo_attribute_pattern_never_replaces_a_valueand an engine planner assertion lose theirwasmgates. The plan-independence matrix gains two:db/valid-at-first shapes, which failed before theBinderschange. The first uses a fixed:valid-at, because by default?tis each query's "now".Checks
cargo test1534 (1524 passed, 10 ignored).--features wasmnow runs the same 1524 tests;--features test-oraclepasses. Clippy is clean with--all-features, default,wasm,test-oracle, wasm32browserand wasm32-wasip1. Codex review: no findings. The #394 envelope with--features wasm(v3vs this branch, 100K/1M) is running on the bench machine; results will follow in a comment.Docs
CHANGELOG has two Breaking-changes entries (#606, wasm no-op). CLAUDE.md and TEST_COVERAGE are updated. Docs site: project-minigraf/minigraf-docs PR (
use-cases.mdandarchitecture.mdwasm notes, join rules). The older optimizer specs and plans are frozen records and are left unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01HyLscCUuJ1GQpdAeX79EdR