Skip to content

osint: dynamic facet tenant + the global-category pole lattice (aiwar + FMA)#46

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/osint-soa-rebake
Jun 23, 2026
Merged

osint: dynamic facet tenant + the global-category pole lattice (aiwar + FMA)#46
AdaWorldAPI merged 1 commit into
mainfrom
claude/osint-soa-rebake

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Builds the "both layers" dual-use design and prototypes the global-category address lattice on two datasets. Three commits, all verifiable light (osint-bake + cockpit Vite — no heavy crate).

1 · Dynamic facet tenant + deterministic bake (079320a9)

  • Tenant tail. value[1..=6] ships as an additive OSO1 section (6 bytes/node). The cockpit facet lens (6 axis chips) recolours every node by its tenant code live — a group-by across all nodes (the residual layer), twin of the materialized facet edges (the reference layer from PR osint: bake the dual-use facet edges into osint_scene.soa (fix free-floating dimensions) #45). Both visible at once.
  • Determinism fix (real bug). >15 enrichment themes clamp to ti=15, their (15<<4)|nib basins collide in anchor_of_basin, and a HashMap iteration let the surviving hub label ride the hash seed → the asset SHA changed run-to-run. Sorted theme iteration → reproducible (3/3 SHA).

2 · Global-category pole, prototyped on aiwar (e729dba7)

The two reserved poles you already run on (0x0000 floor / 0xFFFF ceiling), lifted from the basin byte to the HHTL tiers:

  • The 12 SchemaAxis dimensions are promoted to the 0xFFFF ceiling (HEEL=HIP=0xFFFF, axis index in TWIG) — cross-cutting global categories, not basin-local (which is what islanded them). The address says "global" before any edge does.
  • Cockpit reads the ceiling marker off the GUID (HEEL@4, HIP@6) and renders those as gold diamonds — prominent in every mode. /osint.

3 · FMA heart slice — the dual-membership "real test" (771c073a)

A 95-node Foundational-Model-of-Anatomy heart slice proving one node holds both addresses:

  • part-of (basin-local): HEEL=organ, HIP=chamber, TWIG=wall, LEAF=structure.
  • leaf-limited global type (ceiling, HEEL=HIP=TWIG=0xFFFF, LEAF=type — the deepest sentinel grain): "Cardiac muscle tissue" is the is-a target of the myocardium in all 4 chambers — cross-cutting.

cargo run -p osint-bake --bin fma bakes cockpit/public/fma.soa; /fma renders it (click a node → its part-of chain and its global type light up, with a dual-address readout). No cockpit-server change — served from public/ via the static handler; Railway re-embeds dist/ on build.

Verify (Railway)

  • /osint — the dual-use axes are gold diamonds; the ◐ facet chips recolour by tenant; ◇ dimensions toggles the layer.
  • /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, asset deterministic. Cockpit tsc && vite build clean. Live cockpit-server not built here (disk cap) — Railway is the end-to-end check.

Deferred (CANON-level, awaiting ratification)

The full address map (classid · pole × sentinel-grain · basin-local · tenant) + wiring the facet edges to be arithmetic from the pole address. These prototypes are the evidence; the CANON decode + the osint_gotham.rs delegation de-dup land after sign-off.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF

Slice 1 of the dual-use "both layers" plan: keep the materialized facet
edges (PR #45 — the reference layer) AND add the dynamic per-node tenant
(the residual layer the cockpit groups by live).

Bake (osint-bake):
- Emit value[1..=6] (militaryUse, civicUse, airo:type, MLType, purpose,
  capacity) as an additive OSO1 tenant tail: 6 bytes/node after the label
  tail. Old readers stop after labels; new readers consume it.
- Fix a non-deterministic bake. >15 enrichment themes clamp to ti=15, so
  their (15<<4)|nib basins collide in anchor_of_basin and a HashMap
  iteration let the surviving hub label depend on the hash seed (the asset
  SHA varied run-to-run in the basin-hub label tail only; node GUIDs/family/
  edges/tenants were already stable). Iterate themes sorted -> reproducible
  asset. osint-bake now leads osint_gotham.rs (legacy copy) on the tenant
  tail and this fix; both land there at the delegation de-dup.

Cockpit (OsintGraph.tsx):
- Decode the tenant tail.
- Facet lens: 6 axis chips recolour every node by its tenant code on the
  chosen axis (a live group-by across all nodes), with a value->count
  legend named from the facet edges. Coexists with the dimensions toggle,
  so both layers show at once.

Verified: osint-bake 8/8 tests + clippy clean; asset deterministic across
3 regens (920 nodes, 3775 edges, 431 facet edges, 183 nodes carry a tenant);
cockpit `tsc && vite build` clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@AdaWorldAPI, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 39 minutes and 1 second. 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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1977b441-5fdf-4874-9d2f-f8e9a2ade23f

📥 Commits

Reviewing files that changed from the base of the PR and between 2308e10 and 079320a.

📒 Files selected for processing (3)
  • cockpit/src/OsintGraph.tsx
  • crates/cockpit-server/assets/osint_scene.soa
  • crates/osint-bake/src/lib.rs

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AdaWorldAPI AdaWorldAPI merged commit 5fdb53c into main Jun 23, 2026
4 checks passed
@AdaWorldAPI AdaWorldAPI changed the title osint: per-node facet tenant (dynamic categories) + deterministic bake osint: dynamic facet tenant + the global-category pole lattice (aiwar + FMA) Jun 23, 2026
AdaWorldAPI added a commit that referenced this pull request Jun 23, 2026
osint: global-category pole — aiwar ceiling axes + FMA dual-membership (post-#46)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants