Repository navigation
dir-rmap-probe: IAM nested groups as a DR256 register, versioned populations and method folds (arm Q) - #1666
Conversation
The security chain is bound to 256 local slots once (global-to-local register). Nesting is a 256x256 bit tile closed inside the tile by Warshall; users are rows of a users x groups bit matrix in pages of 256. Roles and effective security groups match dir-sim, the crepe oracle and B+ for every user, before and after a nesting add and a membership removal. A chain with more than 256 security groups is refused, never truncated; a stale snapshot and a group outside the chain are refused. Wired as a DR route from the ClassView compute_dag, as in classview_dr.rs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…xample Roles per 256-user page are the OR of the membership matrix's columns of the slots carrying each role. examples/qr_cost.rs times prepare, B+ and the register bind per phase and the per-user routes, every route checked equal to dir-sim first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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. 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 |
bind builds only the register (slots, nesting tile, Warshall closure, slot roles). A page of 256 users is resolved when a question names it (Qr::page, Pages); nothing resolves the whole population. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…w mask) + amortization sweep Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…ount Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…e masking Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…tered over all memberships) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…s, repair Pop carries the witness of its version and refuses mixed versions; TeamFocus binds a group identity to its tiles; population_in fills only the focus's tiles via the pointer runs; three ClassView methods fold the same bound populations through lance-graph-relalg (Rel::Plane) and mask-risc; Pop::repair diffs slot sets and re-derives affected users. Edit::RemoveNested added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
…ion + revision 5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5d68c03f5d
ℹ️ 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".
…air to their version and mask Pages carries its register witness and refuses another register or source rows before returning a cached page or resolving one. Pop records the tile mask it was built for (kept); repair refuses any other mask. Both reproduce the Codex review findings on #1666 as tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
Lab only. This models IAM nested groups as a DR256 register and turns the resolved relationships into reusable, version-bound populations that later queries fold with bit algebra.
What changed
src/qr.rs): every security group is bound to one of 256 slots, once per snapshot. Nesting is a 256 × 256 bit tile closed by Warshall. More than 256 security groups is refused, never truncated. Bind resolves no user.Qr::pageresolves 256 users (membership rows plus roles as a column fold).Pagesresolves a page when a question names one of its users.count_maskedtakes a tile mask and per-tile row masks and runs branch-free.Runsholds per-slot tile pointer tables, so a query reads only the selected tiles' runs.src/pop.rs): one bit per user, by tile and row. Each carries the witness of its version; combining versions is refused. Filters chain as AND / AND-NOT; answers are counts.compute_dag). The DR table binds each to alance-graph-relalgquery over populations lent asRel::Plane, lowered by relalg's existing mask-risc path. No evaluator of the probe's own.Edit::RemoveNestedwas added.Verification
qr_register,qr_masked,qr_licenseandqr_focus. Answers are checked against dir-sim, the crepe oracle and B+.cargo +1.99.0 fmt,clippy --release --all-targets -D warningsand all crate tests are green.Measured (65,000 users; full tables in the board entry)
Open
Board:
.claude/board/entries/2026-10-21-dr256-iam-nested-groups.md.🤖 Generated with Claude Code
https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg