feat(op-canon): re-export ogar_class_view::OgarClassView (Northstar C2 sibling)#51
Merged
Merged
Conversation
…2 sibling) Symmetric move with redmine-rs#6. The ClassView projection bridge from ogar_vocab::Class onto lance_graph_contract::ClassView lives in ogar-class-view (OGAR #77); this port re-exports it so the projection contract is shared with redmine-canon — same one-source-of-truth pattern as class_ids (PRs #49/#50). Downstream op-* crates now reach the run-time projection layer through one import path (op_canon::class_view) without each crate depending on lance-graph-contract directly. Surface: - crates/op-canon/Cargo.toml: adds ogar-class-view + lance-graph-contract git deps (both AdaWorldAPI/* forks). - crates/op-canon/src/class_view.rs: re-exports ClassId, ClassView, ClassProjection, FieldMask, RenderRow + DisplayTemplate, FieldRef, ObjectView + OgarClassView. Module doc explains the pattern, references the Northstar plan, and pairs with redmine-canon's identically-shaped module. Tests (+3 unit, +1 doctest; 12/12 + 2 doctests total): - re_export_loads_the_canonical_class_view - render_rows_skips_off_bits_through_the_re_export - snapshot_ids_resolve_through_the_re_exported_view - doctest pinning the public API Workspace check + test green; clippy + fmt clean.
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
C2 sibling of redmine-rs#6 — re-exports
OgarClassView+ the projection trait surface fromogar_class_view+lance_graph_contract::class_viewthroughop_canon::class_view.Symmetric pattern with the existing
class_idsre-exports (#49 / #50): the source of truth lives in OGAR, this port re-exports so downstreamop-*crates have one import path.Surface
Cargo.toml: addsogar-class-view+lance-graph-contractgit deps.src/class_view.rs(new): re-exportsOgarClassView,ClassView,ClassId,FieldMask,RenderRow,ClassProjection,FieldRef,ObjectView,DisplayTemplate.The five-line muscle-memory loop (Northstar §2.3)
Tests (+3 unit, +1 doctest)
re_export_loads_the_canonical_class_viewrender_rows_skips_off_bits_through_the_re_exportsnapshot_ids_resolve_through_the_re_exported_view— every concept the OpenProject snapshot promotes resolves to a non-empty field set via the re-exported view.12/12 unit + 2 doctests (was 9 + 1). Workspace check + test green; clippy + fmt clean.
Scope
Purely additive — one new file, one
pub modline, two new git deps.Generated by Claude Code