Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions crates/ogar-class-view/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,15 @@ use ogar_vocab::{
joint,
knowledge_item,
lab_value,
machine_memory_map,
mars_application,
mars_machine,
mars_node_template,
mars_resource,
mars_software,
medication,
mmio_chip,
mmio_register,
network_layer,
ocr_renderer,
osm_changeset,
Expand Down Expand Up @@ -150,10 +153,12 @@ use ogar_vocab::{
project_wiki_page,
project_work_item,
recoder,
rom_image,
skeleton,
tax_policy,
textline,
treatment,
typed_field,
unicharset,
unit_of_measure,
visit,
Expand Down Expand Up @@ -226,6 +231,7 @@ fn all_canonical_classes() -> Vec<(&'static str, Class)> {
("page_image", page_image()),
("ocr_renderer", ocr_renderer()),
("document", document()),
("typed_field", typed_field()),
// ── 0x09XX — health (7 OGIT Healthcare + 4 harvest-derived mints) ──
("patient", patient()),
("diagnosis", diagnosis()),
Expand Down Expand Up @@ -276,6 +282,11 @@ fn all_canonical_classes() -> Vec<(&'static str, Class)> {
("osm_gpx_trace", osm_gpx_trace()),
("osm_user", osm_user()),
("osm_street_node", osm_street_node()),
// ── 0xC6XX — MMIO hardware-platform (C64 = founding tenant) ──
("mmio_chip", mmio_chip()),
("mmio_register", mmio_register()),
("rom_image", rom_image()),
("machine_memory_map", machine_memory_map()),
]
}

Expand Down
5 changes: 5 additions & 0 deletions crates/ogar-r2il/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,8 @@ description = "Proxy glue: r2sleigh's R2IL opcode set as an ogar-loco Vocabulary
ogar-loco = { path = "../ogar-loco" }

[dev-dependencies]
# PROBE-ZIPPER-HOP-PARITY only (tests/zipper_hop_parity.rs): the real facet
# carrier for the rail zipper. Dev-only — the lib keeps its ogar-loco-only
# dependency surface (the "no r2sleigh dep" reasoning applies here too:
# tests may hold the object graph, the vocabulary table must not).
lance-graph-contract = { git = "https://github.com/AdaWorldAPI/lance-graph", branch = "main" }
11 changes: 9 additions & 2 deletions crates/ogar-r2il/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,19 @@
//! *enumeration*; what loco needs from it is an *arity table*. Depending on
//! the crate would drag `r2il`'s `Varnode`/`SpaceId`/`ArchSpec` object graph
//! into every consumer that only wanted to know that `IntAdd` pops two
//! operands — and `ruff_r2il`'s own module doc already names that graph
//! *"structurally still stage-1 pointer chasing"*. A table of 82 arities is
//! operands. A table of 82 arities is
//! not worth an object graph, so the table is declared here and pinned to the
//! source enum by [`R2ILFn::MNEMONICS`], which a drift test compares against
//! `r2il`'s own opcode list when that crate is present.
//!
//! **Operator ruling (2026-08-26): R2IL is EXECUTED, never pre-converted.**
//! `ruff_r2il` (the ruff-side R2IL→SPO harvest) is NOT on this path and never
//! will be: converting live V4 R2IL down to a V3 SPO projection before running
//! it is a lossy static shadow of semantics the interpreter already has
//! first-class. The runtime path is r2sleigh's interpreter executing R2IL in
//! realtime; this crate is the addressing glue that makes those calls
//! loco-addressable — not a converter, not a harvest.
//!
//! **Always on** means exactly this: no feature gate, no `optional = true`,
//! no `cfg`. A consumer that has `ogar-loco` has R2IL semantics available,
//! because a vocabulary that must be switched on is one a caller can forget
Expand Down
Loading
Loading