Repository navigation
pearl::hydrate: a binding counts only under the relation's own predicate - #1572
AdaWorldAPI wants to merge 2 commits into
Conversation
`hydrate` located the intermediate `B` of `A -p-> Y` by endpoints alone: any sealed step `A -> B` plus any `B -> Y`, under whatever predicate, moved the topology from `IndirectUnknown` to `IndirectKnown`. A chain recorded under another predicate is another chain; it says nothing about where this relation's missing link sits. The match now requires the step's predicate ordinal to equal the hydrated edge's `p_idx` before the endpoints are compared. Foreign-predicate steps are not counted at all, not even as `Partial`. Falsifier `hydration_counts_only_bindings_under_the_relations_own_predicate`: both legs foreign -> `ProposedOnly`; one leg foreign -> `Partial`, topology unchanged; silence twin: same-predicate legs beside foreign ones still hydrate. Red before the change (returned `Hydrated`), green after. Gates: planner lib 462 passed; `self_orchestration_probe` 15, `staunen_scheduler_probe` 23, `pearl_ladder_probe` 4; clippy -D warnings clean on the lib (pre-existing example lints untouched). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017SNHxJYC1MeW3HsyhGZo1E
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…n predicate" This reverts commit d738638.
|
Withdrawn; closing.
My local gate ran Generated by Claude Code |
What
pearl::hydrate(crates/lance-graph-planner/src/pearl.rs) is the only runtime writer of the topology coordinate ofEpistemicState5(bits 59..63, #1381): it movesIndirectUnknown → IndirectKnownwhen the sealed chain holds bothA → BandB → Y.It matched those bindings by endpoints alone. Any step
A → Bplus anyB → Y, under whatever predicate ordinal, counted as locating the intermediate ofA -p-> Y. A chain recorded under another predicate is another chain and says nothing about where this relation's missing link sits.Change
The binding match now requires the step's predicate ordinal (
ChainStep.0, "the predicate ordinal it travels under") to equal the hydrated edge'sp_idxbefore the endpoints are compared. Steps under a foreign predicate are not counted at all, not even asPartial. Certification is untouched, as before. Module and function docs updated to state the rule.Falsifier
hydration_counts_only_bindings_under_the_relations_own_predicate:ProposedOnly, edge unchanged;Partial, topology unchanged;IndirectKnown.Red before the change (the foreign chain returned
Hydrated), green after.Gates
cargo test -p lance-graph-planner --libpearl::moduleself_orchestration_probe/staunen_scheduler_probe(hydrate callers)cognitive-shader-driver --features with-planner --example pearl_ladder_probecargo clippy -p lance-graph-planner --lib --no-deps -- -D warningsEvery in-tree caller (the three probes above and
givens_layer_probe, which has an unrelatedhydrate) builds both chain legs and the hydrated edge under one predicate, so none changes behaviour.Board
No new type, plan, deliverable or epiphany; a correction to a shipped function with its falsifier. Closeout:
STATUS: fixed | OUTCOME: hydrate matches bindings under the relation's own predicate | OPEN: none.🤖 Generated with Claude Code
https://claude.ai/code/session_017SNHxJYC1MeW3HsyhGZo1E
Generated by Claude Code
Generated by Claude Code