BE-592: HashQL: Remove old eval graph path and core value types#8841
Conversation
chore: add new dependency chore: format feat: error module feat: introduce hashql_eval interner chore: checkpoint feat: checkpoint feat: checkpoint chore: remove old value module feat: checkpoint feat: checkpoint feat: checkpoint feat: checkpoint feat: checkpoint chore: checkpoint feat: move entity query into its own modul fix: query request feat: checkpoint (it compiles!) feat: checkpoint feat: checkpoint feat: checkpoint fix: issue around cached thunking feat: covariance for opaque inners fix: cfgattr serde chore: remove graph module fix: merge fuckup
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
PR SummaryMedium Risk Overview Strips composite runtime values from Test cleanup: drops the Minor: Reviewed by Cursor Bugbot for commit b71a649. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Pull request overview
Removes the legacy HashQL graph-read evaluation/compiler path (and its UI/compiletest suite) while simplifying hashql-core’s value surface area down to primitive re-exports. This aligns evaluation/testing around the newer MIR interpreter path and eliminates now-dead value/container types.
Changes:
- Removed
hashql-eval’s oldgraphmodule (graph read path/filter compiler/sink/convert/error) and the associatedeval/graph/read/entityUI tests. - Removed composite value types from
hashql-core’svaluemodule, keeping only primitive re-exports. - Updated compiletest suite registration/dependencies and workspace dependency versions to reflect the removed graph feature path.
Reviewed changes
Copilot reviewed 102 out of 102 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| libs/@local/hashql/hir/src/map.rs | Adds #[inline] to Default impl. |
| libs/@local/hashql/hir/src/lower/normalization.rs | Adds #[inline] to Default impl. |
| libs/@local/hashql/hir/src/context.rs | Adds #[inline] to Default impls. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/.spec.toml | Removes old eval graph-read entity suite spec. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/arithmetic-comparisons-and.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/arithmetic-comparisons-and.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/arithmetic-comparisons-or.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/arithmetic-comparisons-or.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/boolean-literal.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/boolean-literal.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/call-identity.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/call-identity.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/complex-object-error.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/complex-object-error.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/computed-path-indexing-error.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/computed-path-indexing-error.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/constructor-call-none.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/constructor-call-none.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/equality-comparison.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/equality-comparison.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-access-struct.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-access-struct.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-access-tuple.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-access-tuple.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-dict-key.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-dict-key.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-dict-value.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-dict-value.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-list.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-list.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-struct-entry.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-struct-entry.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-struct.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-struct.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-tuple.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/field-in-tuple.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/if-filter-expr.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/if-filter-expr.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/if-filter.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/if-filter.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-field-access.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-field-access.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-index-access.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-index-access.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-parameter.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/input-parameter.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-field-access-error.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-field-access-error.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-index-access-error.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-index-access-error.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-vertex-query.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/invalid-vertex-query.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/let-expression.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/let-expression.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/let-propagation.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/let-propagation.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/logical-and-or.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/logical-and-or.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/logical-or-and.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/logical-or-and.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/nested-binary-operation.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/nested-binary-operation.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/nested-let-bindings.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/nested-let-bindings.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/scalar-property-filter.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/scalar-property-filter.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/top-level-variable.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/top-level-variable.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/top-type-assertion.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/top-type-assertion.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/type-assertion-in-comparison.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/type-assertion-in-comparison.stdout | Removes old UI test output snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-closure.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-closure.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-nested-graph-read.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-nested-graph-read.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-type-constructor.jsonc | Removes old UI test input for graph-read filter compilation. |
| libs/@local/hashql/eval/tests/ui/graph/read/entity/unsupported-type-constructor.stderr | Removes old UI test error snapshot. |
| libs/@local/hashql/eval/src/lib.rs | Removes graph module export and an unneeded feature gate. |
| libs/@local/hashql/eval/src/graph/mod.rs | Removes legacy graph module root. |
| libs/@local/hashql/eval/src/graph/error.rs | Removes legacy graph diagnostic category wrapper. |
| libs/@local/hashql/eval/src/graph/read/mod.rs | Removes legacy graph-read compiler entrypoint/types. |
| libs/@local/hashql/eval/src/graph/read/convert.rs | Removes legacy value→parameter conversion logic. |
| libs/@local/hashql/eval/src/graph/read/error.rs | Removes legacy graph-read compiler diagnostics definitions. |
| libs/@local/hashql/eval/src/graph/read/filter.rs | Removes legacy filter compilation logic. |
| libs/@local/hashql/eval/src/graph/read/filter_expr.rs | Removes legacy filter-expression lowering logic. |
| libs/@local/hashql/eval/src/graph/read/path.rs | Removes legacy query-path traversal/conversion logic. |
| libs/@local/hashql/eval/src/graph/read/sink.rs | Removes legacy filter sink builder. |
| libs/@local/hashql/eval/Cargo.toml | Drops the old graph feature wiring and updates deps to workspace-managed versions. |
| libs/@local/hashql/core/src/value/mod.rs | Removes composite Value hierarchy exports, keeping only primitives. |
| libs/@local/hashql/core/src/value/dict.rs | Removes legacy persistent dict value type. |
| libs/@local/hashql/core/src/value/list.rs | Removes legacy persistent list value type. |
| libs/@local/hashql/core/src/value/opaque.rs | Removes legacy opaque/nominal value type. |
| libs/@local/hashql/core/src/value/struct.rs | Removes legacy struct value type and access logic. |
| libs/@local/hashql/core/src/value/tuple.rs | Removes legacy tuple value type and access logic. |
| libs/@local/hashql/compiletest/src/suite/mod.rs | Removes old eval graph-read suite registration. |
| libs/@local/hashql/compiletest/src/suite/eval_graph_read_entity.rs | Removes the compiletest suite that exercised legacy graph-read compilation. |
| libs/@local/hashql/compiletest/Cargo.toml | Removes hashql-eval graph feature usage. |
| libs/@local/hashql/ast/src/lowering/sanitizer.rs | Adds #[inline] to Default impl. |
| libs/@local/hashql/ast/src/lowering/node_renumberer.rs | Adds #[inline] to Default impl. |
| libs/@local/graph/api/Cargo.toml | Drops hashql-eval graph feature enablement. |
| Cargo.toml | Adds workspace dependency versions for futures-lite, sqruff-lib, and sqruff-lib-core. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## bm/be-590-hgraph-entity-query-request-refactor #8841 +/- ##
==================================================================================
- Coverage 59.73% 59.72% -0.02%
==================================================================================
Files 1349 1348 -1
Lines 130919 130830 -89
Branches 5891 5889 -2
==================================================================================
- Hits 78210 78141 -69
+ Misses 51795 51776 -19
+ Partials 914 913 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will degrade performance by 15.75%
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes |
044a4ff to
c1e8a90
Compare
39ed22e to
90fb414
Compare
80d6c3c to
710b403
Compare
03ddd7e to
145b93d
Compare
1cadbdc to
37f6a80
Compare
710b403 to
287c5b6
Compare
287c5b6 to
673f589
Compare
37f6a80 to
ffd1eee
Compare
c4c66ca to
b71a649
Compare

🌟 What is the purpose of this PR?
Remove the old
eval::graphmodule (read path, filter expressions, convert, sink) and its compiletest suite (eval_graph_read_entity). Add the newmir_interpretcompiletest suite. Delete the now-unused composite value types fromhashql-core(Dict,List,Struct,Tuple,Opaque,Value,FieldAccessError), keeping only primitive re-exports.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR: