fix(query): prune wildcard traversal SQL shape
Tightens query compiler SQL for wildcard traversal and path-finding shapes.
This removes path-array tie-break sorting unless cursor pagination needs a deterministic total order. It also infers concrete relationship kinds for wildcard traversal, neighbors, and aggregation when endpoint entity kinds make the set concrete, and constrains only endpoint hops for wildcard path finding.
Relates to #390 and #320 (closed).
Implementation notes
- Seed path hop frontiers from endpoint filter and id_range CTEs, not only literal node_ids.
- Keep wildcard path intermediate hops unconstrained so searches can cross heterogeneous relationship kinds.
- Lower starts_with filters to startsWith(column, value).
- Add compiler regression tests and Docker-backed data correctness tests.
Test plan
- mise exec -- cargo test -p compiler --lib
- mise exec -- cargo test -p integration-tests --test containers server::data_correctness::data_correctness -- --nocapture
- mise test:fast
- mise lint:code