contract: mirror osm_street_node (0x0F0B) so the count fuse balances - #953
Conversation
The paired half of OGAR's mint. `lance_graph_ogar::parity::COUNT_FUSE` is a COMPILE-TIME assert that `ogar_codebook::CODEBOOK.len()` equals OGAR's `class_ids::ALL.len()`, so a mint landing on only one side fails the build rather than a test — which is exactly what happened here (90 vs 91) and is why this commit exists at all. osm_street_node is the first Geo concept with no Rails source: OSM has no junction element, so the bake derives it from the routable-way graph. It is a distinct concept because its value slots carry per-edge street names, adjacency, bearing and a turn matrix, and nothing on disk otherwise separates that reading from an ordinary osm_node's tag slots. Verified: lance-graph-ogar `cargo check` passes with the fuse balanced at 91/91 (it path-deps the local OGAR checkout, so both halves are compiled against each other here rather than assumed). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NMeiLmtDKhomJNSo2ecbJw
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_b650d1c5-ada0-43f0-8840-38b98acbfa3f) |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe public codebook adds the canonical ChangesOSM street node concept
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: Poem
✨ Finishing Touches📝 Generate docstrings
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 |
Unblocks a broken build on
main. Not draft — this is the missing half of an already-merged change.What broke
AdaWorldAPI/OGAR#268mergedosm_street_node = 0x0F0Bintoogar_vocab::class_ids::ALL. This repo mirrors that codebook and asserts the two agree at compile time, somainnow fails to build:The fuse did its job — it caught a real cross-repo drift at compile time rather than letting a silently-short mirror ship. This PR is the mirror entry it is asking for: one line in
CODEBOOK, plus the doc note on why the concept has no Rails source.Why it was missing
Both halves were written together (this commit and OGAR's
7c986da, one minute apart). Only the OGAR half got a PR, so when #268 merged,maininherited an OGAR that this repo's mirror had not caught up with. Paired changes need paired PRs; opening one and not the other is how a compile-time invariant turns into a brokenmain.Scope
One commit, two files, +6/−1 — the
CODEBOOKentry and aCargo.lockline. No behaviour change:osm_street_nodehas no consumer in this repo yet, so the entry exists to keep the mirror honest and the fuse balanced.Note on the fuse itself
The operator has flagged that this compile-time fuse is deprecated and should migrate to the
ogar-vocab+hotplug.rspattern, which removes the need for a hand-maintained mirror (and therefore this whole class of paired-PR failure). That migration is deliberately not in this PR — this is the minimal unblock for a redmain; the redesign deserves its own change rather than being smuggled into a hotfix.Generated by Claude Code
Summary by CodeRabbit
osm_street_nodeconcept for representing synthesized OpenStreetMap junction nodes.