osint: global-category pole — aiwar ceiling axes + FMA dual-membership (post-#46)#47
Conversation
Slice-2 prototype (1 of 2) on aiwar. The 12 SchemaAxis dimensions are promoted to the CEILING pole — HEEL=HIP=0xFFFF, the axis index in TWIG — so they are cross-cutting GLOBAL categories addressable across every basin, not stranded basin-local (which is what islanded them). The address says "global" before any edge does. Bake (osint-bake): - SchemaAxis nodes get HEEL=HIP=0xFFFF, TWIG=axis grain (stable order among the axes); entities/values keep theme/anchor in HEEL/HIP, TWIG=0; family/ identity unchanged. New const GLOBAL_CEILING; the 0x0000 floor pole and the leaf grain (sentinel run through TWIG) follow the same lattice. Cockpit (OsintGraph.tsx): - Read the ceiling marker straight off the GUID (HEEL @4, HIP @6). - Render ceiling nodes as bright gold diamonds (the cross-cutting hubs), prominent in every mode (class / facet lens / reasoning). Legend entry. Verified: osint-bake 9/9 tests (new schema_axes_are_ceiling_pole_global_ categories), clippy clean, asset deterministic (3/3 SHA). Asset decode: 12 ceiling nodes, all cls 6, distinct twigs 0..11, 0 entities promoted. Cockpit `tsc && vite build` clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
Slice-2 prototype (2 of 2): the "real test" of the dual-membership lattice on
a Foundational-Model-of-Anatomy-shaped heart slice. Proves one node resolves
to BOTH addresses at once:
- part-of position (basin-local): HEEL=organ, HIP=chamber, TWIG=wall,
LEAF=structure, family=chamber-basin — where it IS in the body.
- leaf-limited global TYPE (the 0xFFFF CEILING pole, HEEL=HIP=TWIG=0xFFFF,
LEAF=type): cross-cutting tissue types ("Cardiac muscle tissue") shared by
every chamber — the "limited to the leaf" grain (sentinel run through TWIG).
osint-bake: new `fma` bin (cargo run -p osint-bake --bin fma) generates a
95-node heart slice (1 organ + 4 chambers + 12 walls + 24 tissues + 48 cells
+ 6 cross-cutting types) and bakes cockpit/public/fma.soa (OSO1). The "left
ventricle muscle layer" is-a "Cardiac muscle tissue" (ceiling), the is-a
target of 4 tissues across the chambers.
cockpit: /fma view (FmaGraph) reuses the shared decoder (decodeSoa now
exported from OsintGraph). Ceiling types render as gold diamonds; click a node
to light its part-of chain (basin-local) AND its is-a global type
(cross-cutting), with a dual-address readout. No cockpit-server change —
fma.soa is served from public/ via the static handler (Railway re-embeds
dist/ on build).
Verified: fma bin prints the dual-membership proof; fma.soa decodes to 6
ceiling type nodes (all leaf-limited) + 89 basin-local part-of nodes; cockpit
`tsc && vite build` clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reached
More reviews will be available in 50 minutes and 19 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughA new FMA anatomy "heart slice" bake binary is added that generates a dual-membership lattice graph (part-of hierarchy plus cross-cutting is-a edges) serialized to ChangesFMA Dual-Membership Lattice
Sequence Diagram(s)sequenceDiagram
participant Browser
participant FmaGraph
participant decodeSoa
participant vis_network
Browser->>FmaGraph: navigate to /fma
FmaGraph->>FmaGraph: fetch /fma.soa (ArrayBuffer)
FmaGraph->>decodeSoa: decode(buf)
decodeSoa-->>FmaGraph: Soa {nodes, edges, ceiling, labels}
FmaGraph->>FmaGraph: derive parentOf / typeOf / typeMembers
FmaGraph->>vis_network: new Network(DataSet nodes+edges, OPTIONS)
vis_network-->>FmaGraph: stabilized → physics disabled
Browser->>vis_network: click node
vis_network->>FmaGraph: onClick(nodeId)
FmaGraph->>FmaGraph: walk parentOf up to 12 hops
FmaGraph->>FmaGraph: resolve typeOf → global type node
FmaGraph->>vis_network: dim all, highlight chain + type node
FmaGraph->>FmaGraph: setTrace(label, partOfPath, globalType, memberCount)
FmaGraph-->>Browser: render trace details card
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
…s primitive The universal container:unit = family:identity = high:low address the GUID descent rides on. Interleave x/y two bits at a time (2bit×2bit -> 4×4, a 16-way branch per level) and the address bijects to a 2-D tile pyramid: - bijective (no overflow basin to collide — the ti=15 bug class is gone), - locality-preserving (a layout is a deinterleave, not a force pass), - hierarchical (high bits = coarse tile/family, low bits = fine cell/identity; truncating the code climbs the pyramid). Domain-agnostic: FMA (organ:tissue), OSINT basins, and a chess board ride the same codec. encode/decode/descend, 4/4 tests. Next: a Z-order re-bake of the FMA slice so /fma lays out as the nested tile pyramid (position() = decode). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
The global-category-pole prototypes that were pushed to this branch after #46 merged (so they were orphaned from main). Cherry-picked clean onto the post-#46 main — diff is exactly the two prototypes, no slice-1 re-show.
1 · aiwar ceiling pole (
cc5a0842)The two reserved poles the stack already runs on (
0x0000floor /0xFFFFceiling), lifted from the basin byte to the HHTL tiers. The 12SchemaAxisdimensions are promoted to the0xFFFFceiling (HEEL=HIP=0xFFFF, axis index in TWIG) — cross-cutting global categories, not basin-local (which is what islanded them). The cockpit reads the marker off the GUID (HEEL@4, HIP@6) and draws them as gold diamonds./osint.Asset decode: exactly 12 ceiling nodes, all cls 6, distinct twigs 0–11, 0 entities wrongly promoted.
2 · FMA heart slice — dual membership (
ef8bc9bd)A 95-node Foundational-Model-of-Anatomy heart slice proving one node holds both addresses:
HEEL=organ, HIP=chamber, TWIG=wall, LEAF=structure.HEEL=HIP=TWIG=0xFFFF, LEAF=type — the deepest sentinel grain):"Cardiac muscle tissue"is theis-atarget of the myocardium in all 4 chambers — cross-cutting.cargo run -p osint-bake --bin fmabakescockpit/public/fma.soa;/fmarenders it (click a node → its part-of chain and its global type light up, with a dual-address readout). No cockpit-server change — served frompublic/via the static handler; Railway re-embedsdist/on build.Verify (Railway)
/osint— dual-use axes are gold diamonds./fma— click left ventricle muscle layer: it's part-of heart, and is-a "Cardiac muscle tissue" (shared by 4 chambers).osint-bake 9/9 tests, clippy-clean, deterministic. Cockpit
tsc && vite buildclean. cockpit-server not built here (disk cap) — Railway is the end-to-end check.Next on this branch
The Morton tile-pyramid convergence —
high:low byte = family:identity = tile:cell, the GUID read as a Z-order quadtree address (2bit×2bit4×4 per level), soposition()becomes a deinterleave and the perturbation-shader cascade is the pyramid descent. These two prototypes are points in that pyramid; the generic Morton codec + a Z-order re-bake of the FMA slice land here next.🤖 Generated with Claude Code
https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
Generated by Claude Code
Summary by CodeRabbit
Release Notes
/fmapage with clickable nodes to explore part-of chains and type relationships