diff --git a/crates/lance-graph-contract/src/ogar_codebook.rs b/crates/lance-graph-contract/src/ogar_codebook.rs index 23e3d0030..647f7f1b6 100644 --- a/crates/lance-graph-contract/src/ogar_codebook.rs +++ b/crates/lance-graph-contract/src/ogar_codebook.rs @@ -756,6 +756,12 @@ pub const CODEBOOK: &[(&str, u16)] = &[ // `email` (OGIT `ogit:Email`) in the IAM domain above the AuthStore // profiles; spear plugs it. ("email", 0x0B05), + // Directory objects (OGAR ogar-vocab 0x0B06-0x0B09): a directory user + // and group as observed, one membership edge, one observed license SKU. + ("directory_user", 0x0B06), + ("directory_group", 0x0B07), + ("group_membership", 0x0B08), + ("license_assignment", 0x0B09), // ── 0x0DXX — HR domain (employment / org / contracts; OGAR PR #127) ── // Closes the final 4-of-11 cross-axis identity gap surfaced by odoo-rs // PR #14: hr.employee / hr.department / hr.job / hr.contract. @@ -1045,6 +1051,8 @@ mod tests { Some(0x0503_000B) ); assert_eq!(canonical_concept_id("email"), Some(0x0B05)); + assert_eq!(canonical_concept_id("directory_user"), Some(0x0B06)); + assert_eq!(canonical_concept_id("license_assignment"), Some(0x0B09)); assert_eq!(canonical_concept_id("unicharset"), Some(0x0801)); assert_eq!(canonical_concept_id("charset"), Some(0x0803)); assert_eq!(canonical_concept_id("patient"), Some(0x0901));