feat(ogar-dismech): compile-time classid reservation for DisMech (0x0333) - #274
Conversation
…333) Mints DISMECH_CONCEPT_ID = 0x0333 as the authority-side reservation for DisMech disease-mechanism concepts (Monarch Initiative dismech, transcoded in the public sibling repo AdaWorldAPI/dismech-rs), mirroring ogar-ro's RELATION_BODY_CONCEPT_ID (0x0306) pattern exactly. 0x0333 sits inside the shared 0x03 Ontology domain, clear of: - ogar_obo::registry::OBO_CORE (0x0301..=0x0305) - ogar_ro::RELATION_BODY_CONCEPT_ID (0x0306) - the documented private-consumer odd-stride run (0x0307..=0x031D live, 0x031F/0x0321 retired-not-reused — see ogar-obo/src/registry.rs's META_STUDY_SPINE doc comment for the three-attempt collision history this band records) - ogar_obo::registry::META_STUDY_SPINE (0x0340..=0x0347) A concept_id_collision_guard test module asserts no ogar-obo namespace table claims 0x0333, and pins the domain + band clearance mechanically (no hand-enumeration required to re-verify later). dismech-rs stays zero-dependency — this crate is purely the authority- side half of the plug-and-play contract, so a consumer never has to link OGAR just to use the reserved classid.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important Review available on request
Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment ⚙️ 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_858772e2-41bc-4267-bead-b2869d167eaf) |
…h claim ogar-dismech merged (AdaWorldAPI/OGAR#274) — 0x0333 is now compile-time collision-guarded. Marks the plan checklist and TECH_DEBT.md entry done. Also corrects a stale claim carried in CLAUDE.md and TECH_DEBT.md that MedCare-rs holds a crates/medcare-dismech resolver: re-checked directly against the live MedCare-rs checkout, no such crate exists anywhere in that repo. Struck rather than deleted, per this repo's own TECH_DEBT convention. Co-authored-by: Claude <noreply@anthropic.com>
What
Mints
DISMECH_CONCEPT_ID = 0x0333in a new crateogar-dismechas the authority-side classid reservation for DisMech disease-mechanism knowledge (Monarch Initiativedismech, transcoded in the public sibling repoAdaWorldAPI/dismech-rs). Mirrorsogar-ro'sRELATION_BODY_CONCEPT_ID(0x0306) pattern exactly: a bare constant plus aconcept_id_collision_guardtest module that asserts noogar-obonamespace table claims the same id.Why 0x0333 is safe
Per
ogar-obo/src/registry.rs'sMETA_STUDY_SPINEdoc comment, the0x03Ontology domain has a documented three-attempt collision history:OBO_CORE:0x0301..=0x0305ogar_ro::RELATION_BODY_CONCEPT_ID:0x0306(the firstMETA_STUDY_SPINEplacement collided here)0x0307, 09, 0B, 0D, 0F, 11, 13, 15, 17, 19, 1B, 1Dlive,0x031F/0x0321retired-not-reused (the secondMETA_STUDY_SPINEplacement collided with four of these)META_STUDY_SPINE:0x0340..=0x03470x0333clears all of the above — above0x0321(past the retired tail of the odd-stride run) and below0x0340(belowMETA_STUDY_SPINE) — landing in the gap between the two documented bands. Thestays_in_the_0x03_ontology_domain_clear_of_documented_bandstest pins both boundaries mechanically so a future mint into either band fails loudly instead of requiring hand-enumeration to catch.dismech-rs stays zero-dependency
This crate is purely the authority-side half of the plug-and-play contract — same posture
ogar-oboitself takes for its own consumers.dismech-rsmints nothing in the sharedogar_vocabcodebook and does not depend on OGAR at all; this crate exists so the reservation is guarded and discoverable on the OGAR side without forcing a link.Testing
cargo test -p ogar-dismech— 4/4 green (concept id value, render classid composition, the collision guard againstOBO_CORE+META_STUDY_SPINE, and the anti-vacuity check that those tables are actually populated)cargo test -p ogar-obo— 43/43 green (unaffected)cargo test -p ogar-ro— 8+4 green (unaffected)cargo clippy -p ogar-dismech -- -D warnings— cleancargo fmt -p ogar-dismech -- --check— cleanNo CI workflow file exists in this repo yet, so the above is the full local gate per
CLAUDE.md.Generated by Claude Code