lgj-abi: bind the real OGAR ClassView provider behind a feature - #42
Merged
Conversation
`edge_participation` answered `FieldMask::FULL` for every classid — the fixture's constant. Bind `ogar_class_view::OgarClassView` behind a new `ogar-classview` feature so it derives from each class's real field basis. Measured (`examples/classview_census.rs`): 98 registered classes, 12 distinct participation masks (field counts 0-13), against the fixture's single 0xFFFFFFFF for all 98. An unregistered classid participates in nothing rather than everything. The `[patch]` is load-bearing: ogar-class-view pulls lance-graph-contract by git branch, this crate by path, and cargo does not unify a git SourceId with a path SourceId — without it the build carries two contract crates and two incompatible ClassView traits. What binding it exposed: the generated row store draws classids from 0..16 while every vocabulary classid is >= 0x0100. The domains are disjoint, so a generated store under the real provider hops nothing. The remaining fixture is the row CONTENT; Lance-loaded SoA rows are what make the bound provider observable end-to-end. Pinned by a test, not left in prose. Two fixture-semantics tests are gated off under the feature, each with a paired twin asserting the contrasting fact on the same inputs — a changed answer, not a suppressed failure. Gates: default 134/134 and Java 447/447 unchanged; feature 136/136; five tests red-then-green under the disable; clippy -D warnings and fmt clean in both configurations; G11 fence green (class_view, canonical_node, ontology, facet only). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCfrD5y19cvFc4AoyydXYv
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 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 |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_831f546c-4f41-4a0e-b898-fbd7d4616fc7) |
AdaWorldAPI
marked this pull request as ready for review
August 27, 2026 15:10
AdaWorldAPI
added a commit
that referenced
this pull request
Aug 27, 2026
board: PR #42 arc entry + backfill the twenty missing arc entries
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.
What
edge_participationansweredFieldMask::FULLfor every classid — the fixture's constant. This bindsogar_class_view::OgarClassView(the ontology-backed provider overogar_vocab) behind a newogar-classviewfeature, so participation derives from each class's real field basis instead.Closes the §4-NG3 named seam ("a real ontology/cache provider is a NAMED SEAM") on the provider half.
Measured
examples/classview_census.rs(new):0xFFFFFFFFfor all 98)An unregistered classid participates in nothing rather than everything — an unknown class is not a licence to traverse every facet.
The
[patch]is load-bearing, not cosmeticogar-class-viewpullslance-graph-contractby git branch; this crate pulls it by path. Cargo does not unify a git SourceId with a path SourceId, so without the patch the build carries twolance-graph-contractcrates and therefore two incompatibleClassViewtraits — the same trap recorded in tesseract-rs forogar-doc-ir. Verified:cargo treeshows one, both resolving to the local path.What binding it EXPOSED — the finding
The generated row store draws classids from
0..16(ROWSTORE_CLASS_CARDINALITY); every vocabulary classid is>= 0x0100. The two domains are disjoint, so a generated store under the real provider hops nothing.That is not a defect in the provider — it is the measurement of how far the fixture reached.
FieldMask::FULLis the answer that never disagrees, which is exactly why it could not be falsified in place; the seam read as closed-enough for two waves because nothing in the suite could tell the two providers apart. The remaining fixture is the row content, not the layout or the kernels; Lance-loaded SoA rows are what make the bound provider observable end-to-end. Pinned byhop_under_the_real_provider_narrows_by_class, not left in prose.Two gated tests, each with a contrasting twin
Neither is deleted or suppressed. Each asserts the opposite fact on the same inputs:
edge_participation_covers_exactly_the_low_32_bits(all 32)the_real_provider_narrows_rather_than_widens(unregistered → 0; richest registered class → exactly its low-13 prefix)hop_matches_the_pinned_rowstore_regression_10_19_29(19/29)hop_under_the_real_provider_narrows_by_class(empty — and two-sided: the provider still answers 13 for0x0103, so emptiness is the store's domain, not a dead provider)Gates
edge_participation's ogar arm returnsFULL): 5 tests red, green on restore.clippy --all-targets -- -D warningsandfmt --checkclean in both configurations.class_view,canonical_node,ontology,facetonly.Board artifacts land in this commit:
LATEST_STATE.mdentry andEPIPHANIES.mdE-BINDING-A-REAL-PROVIDER-MEASURES-THE-FIXTURE-1.Generated by Claude Code