Skip to content

osint/fma/cpic: classid canon:custom half-order flip — q2 consumer sites to canon-HIGH#71

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/v3-substrate-migration-review-o0yoxv
Jul 2, 2026
Merged

osint/fma/cpic: classid canon:custom half-order flip — q2 consumer sites to canon-HIGH#71
AdaWorldAPI merged 1 commit into
mainfrom
claude/v3-substrate-migration-review-o0yoxv

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Jul 2, 2026

Copy link
Copy Markdown
Owner

What

Lockstep q2 update for the 2026-07-02 classid half-order flip (AdaWorldAPI/lance-graph#628 + AdaWorldAPI/OGAR#147; q2 push gate waived by operator 2026-07-02): a full classid is now [hi u16: CANON concept][lo u16: custom marker/prefix].

  • cockpit-serverosint_class_id() routes lance_graph_contract::classid_concept (the old & 0xFFFF would now read the custom half); the hardcoded "00000700" props string composes dynamically from CLASSID_OSINT (→ "07000000"); tests route classid_canon.
  • osint-bake — test assertions via classid_canon; doc comments to 0x0700_0000 / 0x0A01_1000 forms.
  • cockpit BodyV3.tsx — dual-accept: FMA_V3_CLASSID = 0x0a011000 + FMA_V3_CLASSID_LEGACY = 0x10000a01 (the body.soa GitHub-Release asset keeps the pre-flip form until re-baked + re-released).
  • fma/ standaloneCLASSID_SOFT/CLASSID_SKELETON0x0A01_0000/0x0A02_0000; docs + worked GUIDs. Tests 2/2 green.
  • cpic/ standaloneCID_* re-minted as interim canon-high Genetics:q2 ids 0x0E01_0001..0x0E01_0006 (Genetics 0x0E, appid 0x01 = q2 per the operator ruling — "same for cpic also under q2"; the kind sits in the custom half until the full contract-pull re-mint, tracked follow-up; dissolves the old 0x000C scheme's Automation-domain collision). SAMPLE_GUIDS.tsv regenerated from a real ingest run. Tests 2/2 green.
  • aiwar-ingest fixture generator — comment-only (emits the bare u16 canon id, never composes the u32).

Deferred: .soa re-bakes (environment-blocked here, safe by design)

osint_scene.soa / fma.soa could not be regenerated in this sandbox: the root workspace's unrelated runtimelib/jupyter-protocol [patch] (cscheid/runtimed) is unfetchable through the session's egress proxy, blocking every cargo build of workspace members. Deferring is safe: pre-flip assets resolve via the upstream legacy registry aliases, cockpit never decodes classid bytes from the scene asset, and BodyV3 dual-accepts both forms. Follow-up: run cargo run -p osint-bake and cargo run -p osint-bake --bin fma (self-contained; embeds fma-heart.ttl) in CI/dev to refresh both assets, and re-release body.soa.

Merge order

After lance-graph #628 (the contract is a path dep on the sibling checkout / pinned lance-graph main in CI).

🤖 Generated with Claude Code

https://claude.ai/code/session_01MLBnPuScZy6w9di2QEjsXM


Generated by Claude Code

Summary by CodeRabbit

  • New Features

    • Added support for updated classid formats across FMA, OSINT, and CPIC workflows so both legacy and new representations are recognized where needed.
    • Improved displayed status and generated keys to reflect the current classid layout.
  • Bug Fixes

    • Corrected classid detection and emitted key values after the byte-order flip, reducing mismatches in scans, routing, and UI labeling.
  • Documentation

    • Updated examples and integration docs to match the new GUID/classid format and revised prefixes.

…tes to canon-HIGH

Lockstep q2 update for the 2026-07-02 flip (lance-graph #628 + OGAR quarto-dev#147;
q2 push gate waived by operator 2026-07-02):

- cockpit-server: osint_class_id() routes lance_graph_contract::
  classid_concept (was '& 0xFFFF' — post-flip that reads the custom half);
  the hardcoded "00000700" props string composes dynamically from
  CLASSID_OSINT (now "07000000"); tests route classid_canon.
- osint-bake: test assertions via classid_canon; doc comments to the
  canon-HIGH forms (0x0700_0000 / 0x0A01_1000).
- cockpit BodyV3.tsx: dual-accept FMA_V3_CLASSID 0x0a011000 + legacy
  0x10000a01 — the body.soa GitHub-Release asset keeps the pre-flip form
  until re-baked + re-released.
- fma/ standalone: CLASSID_SOFT/SKELETON re-minted 0x0A01_0000/0x0A02_0000;
  docs + worked-example GUIDs updated. Tests 2/2 green.
- cpic/ standalone: CID_* re-minted as INTERIM canon-high Genetics:q2 ids
  0x0E01_0001..0x0E01_0006 (Genetics 0x0E, appid 0x01=q2 per the operator
  ruling; kind in the custom half until the full contract-pull re-mint —
  tracked follow-up, dissolves the old 0x000C scheme's Automation-domain
  collision). SAMPLE_GUIDS.tsv regenerated from a real ingest run against
  cpic/data/. Tests 2/2 green.
- aiwar-ingest fixture generator: comment-only (emits the bare u16 canon
  id; never composes the u32 — no functional change).

DEFERRED (environment): re-baking crates/cockpit-server/assets/
osint_scene.soa and cockpit/public/fma.soa — the root workspace's
unrelated runtimelib/jupyter-protocol [patch] (cscheid/runtimed) is
unfetchable through this sandbox's egress proxy, which blocks any cargo
build of workspace members here. Safe to defer: pre-flip assets resolve
via the upstream legacy aliases, cockpit never decodes classid bytes from
the scene asset, and BodyV3 dual-accepts. Re-run 'cargo run -p osint-bake'
and '--bin fma' (self-contained) in CI/dev, plus re-release body.soa, as
the follow-up.

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 92b73087-46b0-43d3-8eae-60f7f878553d

📥 Commits

Reviewing files that changed from the base of the PR and between 9c1a9e1 and d3d83f6.

⛔ Files ignored due to path filters (1)
  • cpic/docs/SAMPLE_GUIDS.tsv is excluded by !**/*.tsv
📒 Files selected for processing (17)
  • cockpit/src/BodyV3.tsx
  • cpic/docs/INGEST.md
  • cpic/src/lib.rs
  • crates/aiwar-ingest/tests/fixtures/codebook_normalize.py
  • crates/cockpit-server/src/main.rs
  • crates/cockpit-server/src/osint_gotham.rs
  • crates/osint-bake/Cargo.toml
  • crates/osint-bake/src/bin/body.rs
  • crates/osint-bake/src/bin/fma.rs
  • crates/osint-bake/src/lib.rs
  • crates/osint-bake/tools/body-soa-wire/src/main.rs
  • fma/README.md
  • fma/docs/OGAR_CONSUMER_INTEGRATION.md
  • fma/docs/V3_SOA_WIRING.md
  • fma/src/bin/converge.rs
  • fma/src/bin/graph.rs
  • fma/src/bin/soa_scan.rs

📝 Walkthrough

Walkthrough

This PR re-mints CPIC pharmacogenomics classid constants (0x000C→0x0E01), updates their documentation and GUID examples, and adds legacy classid support to the cockpit V3 UI. It also implements/documents a 2026-07-02 "half-order flip" for OSINT and FMA classid byte encoding across multiple crates, binaries, and docs.

Changes

CPIC classid re-mint

Layer / File(s) Summary
CPIC classid constants, docs, and legacy UI support
cpic/src/lib.rs, cpic/docs/INGEST.md, cockpit/src/BodyV3.tsx
CID_* constants re-minted to 0x0E01 scheme; INGEST.md documentation and GUID examples updated; cockpit V3 UI now matches both new and legacy FMA classid.

Estimated code review effort: 2 (Simple) | ~12 minutes

OSINT and FMA half-order flip

Layer / File(s) Summary
OSINT classid derivation and tests
crates/cockpit-server/src/osint_gotham.rs, crates/cockpit-server/src/main.rs, crates/osint-bake/src/lib.rs, crates/aiwar-ingest/tests/fixtures/codebook_normalize.py
osint_class_id() switched to classid_concept, member node classid dynamically formatted, tests updated to use classid_canon, and related comments/docstrings updated.
FMA V3 classid comment updates in osint-bake binaries
crates/osint-bake/Cargo.toml, crates/osint-bake/src/bin/body.rs, crates/osint-bake/src/bin/fma.rs, crates/osint-bake/tools/body-soa-wire/src/main.rs
Documentation comments updated to describe post-flip CLASSID_FMA_V3 byte layout; no constant values changed.
FMA converge/soa_scan classid constant flip and docs
fma/src/bin/converge.rs, fma/src/bin/soa_scan.rs, fma/src/bin/graph.rs, fma/README.md, fma/docs/*
CLASSID_SOFT/CLASSID_SKELETON and converge.rs classid values flipped to HIGH-half encoding; graph.rs messages and README/docs examples updated to match new prefix ordering.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • AdaWorldAPI/q2#61: Both PRs affect CPIC classid constants used for generating V3 NodeGuids in CPIC ingest/graph flows.

Poem

A flip of bits, a swap of halves,
Classids reborn like carved-out staves.
0x0E01 hops where 0x0C stood,
High and low now understood.
This bunny hops through hex delight—
Half-order flipped, and all feels right! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Accurately summarizes the main change: classid half-order flip updates across osint, fma, and cpic consumer sites.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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 f757cd7 into main Jul 2, 2026
3 of 4 checks passed
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