analyze: make the query read path plan-free (2b, L2) #91

Merged
PerishFire merged 1 commit from analyze-l2 into main 2026-07-21 04:15:48 +00:00
Owner
No description provided.
analyze: make the query read path plan-free (2b, L2)
All checks were successful
guard / guard (pull_request) Successful in 35s
41dbda6c55
Work read methods now take resolved refs instead of names: ties(&Unit,
&Edge), live_has(&Unit), one(&Unit), and live(name) is gone in favour of
scan(&Unit). Every read method drops its self.plan lookup, so execution
does no name resolution at all.

Scope carries a range table (owned clones of each one-hop target reached
by a link or a has/some pred) and answers at(name). The query walkers
take &Scope and thread resolved refs down, so there is no lookup that can
miss at execution time.

Callers resolve at the call site: cap already held node/edge, the write
path resolves through its own plan, and Face/Tx public names are
unchanged.

Falls out en route: query::edge returns the &Edge instead of its name, so
check_nest, bond_slot and involved stop re-finding it; Work::plan has no
readers left and goes.

Debt 104 -> 90 (param 12->9, receiver 21->19, word 70->61). guard clean,
38 tests green on sqlite, 39 on real postgres.
PerishFire deleted branch analyze-l2 2026-07-21 04:15:48 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/keel!91
No description provided.