Skip to content

vocab: email (0x0B05, IAM domain, OGIT ogit:Email) + SpearPort 0x000A; drop count fuses - #325

Merged
AdaWorldAPI merged 5 commits into
mainfrom
ccr-0455e606-wmtsor
Oct 8, 2026
Merged

AdaWorldAPI merged 5 commits into
mainfrom
ccr-0455e606-wmtsor

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

What

email = 0x0B05

  • In the Auth/IAM domain (0x0B), the next id above auth_ory_keto (0x0B04).
  • Source: OGIT ogit:Email (SGO entities/Email.ttl).
  • Builder email() registered in ogar-class-view.

SpearPort, app prefix 0x000A

  • Aliases:
    • Email/Message → email
    • Document/DriveItem → the existing document (0x080B)
  • So SpearPort::class_id("Email") gives 0x0B05_000A.

Global count fuses removed, per HOTPLUG-MIGRATION-GUIDE.md:

  • count_fuse_matches_lance_graph_ogar_mirror (ogar-vocab).
  • The class_ids::ALL.len() pin in capability_registry.rs.
  • Drift is now caught two ways: per plug (MirrorDrift on bind), and by the lance-graph mirror parity test. A global count no longer does it.

Docs: docs/APP-CLASS-CODEBOOK-LAYOUT.md gets a row for 0x000A Spear.

Earlier pushes on this branch

The first push minted a new Mail domain (0x05XX) with invented mailbox/mail_message concepts and bumped the count pins in lockstep. That broke the hot-plug pattern, and the concepts had no OGIT source. It is all gone: there is no new domain, 0x05XX is unassigned again, and the one concept is OGIT-backed and sits in IAM.

The ordering check in the test is now a const assert, after clippy assertions_on_constants failed downstream.

Verification

  • CI is green: cargo check + test, clippy -D warnings, fmt --check.
  • Locally:
    • cargo clippy --workspace --all-targets -- -D warnings is clean.
    • ogar-vocab (167 tests), ogar-class-view, ogar-rbac and the adapters pass.
  • The lance-graph mirror parity passes against this branch.

Merge order

🤖 Generated with Claude Code

https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg

…0x000A

The mail hub (spear) and the stalwart dir-sim directory need a classid to
declare an RBAC plug against; nothing mail-shaped was minted. 0x05XX is the
next clean domain slot (0x10XX would put a domain root on the V3 marker
0x1000). Paired with the lance-graph ogar_codebook mirror.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Next included review available in 41 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 65 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: e0aa522e-2823-48c0-9ee8-9a45afae3ee6
📥 Commits

Reviewing files that changed from the base of the PR and between 1f10a5e and 51f5155.

📒 Files selected for processing (5)
  • crates/ogar-class-view/src/lib.rs
  • crates/ogar-vocab/src/capability_registry.rs
  • crates/ogar-vocab/src/lib.rs
  • crates/ogar-vocab/src/ports.rs
  • docs/APP-CLASS-CODEBOOK-LAYOUT.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 8ce0347f-52c3-4882-8984-a4b6cf189ae7
📥 Commits

Reviewing files that changed from the base of the PR and between d17963c and 1f10a5e.

📒 Files selected for processing (5)
  • crates/ogar-class-view/src/lib.rs
  • crates/ogar-vocab/src/capability_registry.rs
  • crates/ogar-vocab/src/lib.rs
  • crates/ogar-vocab/src/ports.rs
  • docs/APP-CLASS-CODEBOOK-LAYOUT.md

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📝 Walkthrough

Walkthrough

The vocabulary assigns domain 0x05XX to Mail and adds the canonical email concept. Spear aliases map mail and document names to canonical IDs. The class-view registry includes email.

Changes

Email vocabulary

Layer / File(s) Summary
Define the Mail domain and email concept
crates/ogar-vocab/src/lib.rs
The 0x05XX range maps to Mail. The public EMAIL constant and email() builder are added, with tests for domain mapping, ID resolution, and the unchanged 0x06XX assignment.
Map Spear aliases and document the allocation
crates/ogar-vocab/src/ports.rs, docs/APP-CLASS-CODEBOOK-LAYOUT.md
SpearPort maps mail aliases to EMAIL and document aliases to DOCUMENT. Its test checks the composed render ID. The allocation table records Spear's prefix and core domain.
Register email as a canonical class
crates/ogar-class-view/src/lib.rs, crates/ogar-vocab/src/capability_registry.rs
The class-view registry includes email(). The capability registry test expects 99 class IDs.

Priority: ⬇️ Low

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

Change: Feature

Suggested reviewers: claude

Merge Risk: ⚪ Minimal · up to 1f10a

The new email concept and Spear mappings are consistently assigned and registered in the supplied change context. No specific user-facing or operational regression is evident, so the change appears ready to merge after normal checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title identifies the email vocabulary and SpearPort changes, but it gives the wrong email code and domain. The changes add email at 0x0501 in the Mail domain, not 0x0B05 in the IAM domain. Update the title to reflect the implemented identifiers, for example: "vocab: add email (0x0501, Mail domain) and SpearPort 0x000A".
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 92.31% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 4 files. (1 skipped: 1 …
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


A rabbit stamped Mail on a tidy new row
Then tucked email where canonical concepts grow
Four Spear names found their IDs in the code
A composed class number appeared on the road
The registry welcomed one more to the show

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

@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown

Add Carrot credits or activate Agent usage billing to use Autopilot

claude added 2 commits October 8, 2026 19:43
every_codebook_id_appears_in_class_ids_all requires every minted concept to
carry a ClassView; the Mail mint missed it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Replaces mailbox / mail_message with one concept, email (0x0501), read from
OGIT ogit:Email (SGO; optional attributes from EmailCorrespondance).
Mailboxes, folders and flags are columns of an email row. SpearPort maps
Spear's public names onto canon: Email/Message -> email, Document/DriveItem
-> the existing document (0x080B).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 8, 2026 19:59
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T20:01:34.262264Z 1f10a5e Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f10a5e197

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/APP-CLASS-CODEBOOK-LAYOUT.md Outdated
email is OGIT ogit:Email and sits in 0x0BXX above the AuthStore profiles,
so no Mail domain is opened. Per HOTPLUG-MIGRATION-GUIDE step 4 the global
ALL.len() count pins are deleted: lance-graph-ogar's assert_codebook_parity
checks the full bijection, and MirrorDrift reports drift per plug.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
@AdaWorldAPI AdaWorldAPI changed the title vocab: mint Mail domain (0x05XX: mailbox, mail_message) + Spear port 0x000A vocab: email (0x0B05, IAM domain, OGIT ogit:Email) + SpearPort 0x000A; drop count fuses Oct 8, 2026
@AdaWorldAPI
AdaWorldAPI merged commit eece7f8 into main Oct 8, 2026
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