|
| 1 | +# lance-graph-ogar — the OGAR (Open Graph of Active Record) activation crate. |
| 2 | +# EXCLUDED from the lance-graph workspace (own [workspace] root below). |
| 3 | +# |
| 4 | +# Clean separation (operator, 2026-06-20): |
| 5 | +# lance-graph-ontology = OGIT (TTL/RDF hydration spine) |
| 6 | +# lance-graph-ogar = OGAR (Active-Record Class / ClassView / adapters) |
| 7 | +# |
| 8 | +# This crate is the lance-graph-side ACTIVATION + re-export of OGAR's full AR |
| 9 | +# surface. OGAR is the Active-Record Core and already speaks the contract: |
| 10 | +# ogar-vocab::Class = the calcified AR shape (attributes + family |
| 11 | +# Associations); `canonical_concept_id` == ClassId |
| 12 | +# ogar-class-view::OgarClassView impl lance_graph_contract::ClassView |
| 13 | +# (32 promoted concepts → ObjectView/render_rows) |
| 14 | +# ogar-ontology = prefix conventions + NiblePath identity routing |
| 15 | +# ogar-adapter-surrealql = emit(Class) -> SurrealQL DDL (the DO arm) |
| 16 | +# |
| 17 | +# Auto-activation = Cargo presence: a build graph that pulls THIS crate gets the |
| 18 | +# real OGAR Class/ClassView/codebook + the parity-guard (lib.rs) that fails the |
| 19 | +# build if `lance_graph_contract::ogar_codebook`'s lean mirror ever drifts from |
| 20 | +# `ogar_vocab::CODEBOOK`. A build WITHOUT this crate uses the contract's zero-dep |
| 21 | +# mirror + the bare ClassView trait (headless OGAR app, or a self-supplied impl). |
| 22 | +# OGAR never depends on the lance-graph ENGINE — only on the zero-dep contract. |
| 23 | +# |
| 24 | +# ONE contract source: this crate AND ogar-class-view both resolve |
| 25 | +# `lance-graph-contract` to git `AdaWorldAPI/lance-graph#main` (which carries |
| 26 | +# `ogar_codebook` since PR #563) — so `OgarClassView`'s `impl ClassView` is for |
| 27 | +# the SAME contract the parity-guard checks. No [patch] needed (the symbiont |
| 28 | +# pattern: align on one source rather than redirect). |
| 29 | +# |
| 30 | +# Build/verify: cargo test --manifest-path crates/lance-graph-ogar/Cargo.toml |
| 31 | +# Full DO arm : cargo test --manifest-path crates/lance-graph-ogar/Cargo.toml \ |
| 32 | +# --features surrealql-parser (pulls surrealdb-ast/parser, rust 1.95+) |
| 33 | + |
| 34 | +[package] |
| 35 | +name = "lance-graph-ogar" |
| 36 | +version = "0.1.0" |
| 37 | +edition = "2021" |
| 38 | +publish = false |
| 39 | +description = "OGAR (Open Graph of Active Record) activation crate: re-exports ogar-vocab Class/codebook + ogar-class-view (impl lance_graph_contract::ClassView) + ogar-ontology + ogar-adapter-surrealql, with a codebook parity-guard against the contract's zero-dep ogar_codebook mirror. Auto-activates the real OGAR AR surface wherever it is compiled into the build (golden image / AR-aware consumers)." |
| 40 | +license = "Apache-2.0" |
| 41 | + |
| 42 | +# Own workspace root — keeps this crate out of the parent lance-graph workspace. |
| 43 | +[workspace] |
| 44 | + |
| 45 | +[features] |
| 46 | +default = [] |
| 47 | +# The unmap(SurrealQL) -> Class half of the DO arm: pulls surrealdb-ast + |
| 48 | +# surrealdb-parser (heavy; rust-version 1.95+). The emit() DDL formatter half is |
| 49 | +# always available (no surrealdb deps). |
| 50 | +surrealql-parser = ["ogar-adapter-surrealql/surrealdb-parser"] |
| 51 | +# serde passthrough for the OGAR IR types. |
| 52 | +serde = ["ogar-vocab/serde", "ogar-adapter-surrealql/serde"] |
| 53 | + |
| 54 | +[dependencies] |
| 55 | +# Contract surface (zero-dep): ClassView / ObjectView / ClassId / NodeGuid + the |
| 56 | +# ogar_codebook wire-compat mirror the parity-guard checks. git main == the SAME |
| 57 | +# source ogar-class-view git-deps, so there is exactly ONE lance-graph-contract. |
| 58 | +lance-graph-contract = { git = "https://github.com/AdaWorldAPI/lance-graph", branch = "main" } |
| 59 | + |
| 60 | +# ── OGAR Active-Record forks: git deps @ main (the canonical superset; matches |
| 61 | +# symbiont's pins so they resolve to ONE source in the golden image) ── |
| 62 | +ogar-vocab = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" } |
| 63 | +ogar-class-view = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" } |
| 64 | +ogar-ontology = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" } |
| 65 | +# default features only = the light emit() DDL formatter (no surrealdb tree); |
| 66 | +# the parser half is opt-in via this crate's `surrealql-parser` feature. |
| 67 | +ogar-adapter-surrealql = { git = "https://github.com/AdaWorldAPI/OGAR", branch = "main" } |
0 commit comments