Skip to content

action: commit has no admin bypass (one authorization rule) - #1557

Merged
AdaWorldAPI merged 2 commits into
mainfrom
ccr-0455e606-wmtsor
Oct 14, 2026
Merged

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

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

What

ActionInvocation::commit no longer lets an actor with the admin role pass an action that requires a different role.

Why

commit_via, the ClassRbac path, never had this bypass. With it, the two commit paths meant two different things by "authorized". Admin is now an ordinary role on both paths: it passes only where an action requires admin. An admin who needs another action holds that action's role, so admin power is visible in the grants.

The change is policy only: no new mechanism, no reasoning added.

Callers

  • rs-graph-llm graph-flow-action::dispatch calls commit. Its tests use no admin role, and no caller found relies on the bypass.
  • ActorContext::is_admin itself is unchanged.

Tests

action::tests::commit_admin_is_a_role_not_a_bypass:

  • admin without the required role → Failed. This assertion failed before the change.
  • admin plus the required role → Committed.

Local gates: clippy -D warnings on the contract, all contract tests pass (1,475 lib tests).

🤖 Generated with Claude Code

https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg


Generated by Claude Code

An actor with the admin role passed every role-gated action through
ActionInvocation::commit, while commit_via, the ClassRbac path, has no
bypass. Two paths, two meanings of authorized. Admin is now an ordinary
role on both: it passes only where an action requires it, and an admin
who needs another action holds that action's role. No caller relied on
the bypass.

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

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: af6ece70-fb23-4c1d-a1a0-6fa8a17acb67
  • Autofix · 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.

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.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 14, 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-14T22:10:31.477027Z 17bbbcc PR opened
ℹ️ 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: 17bbbcc116

ℹ️ 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 crates/lance-graph-contract/src/action.rs
#1557 made admin an ordinary role in ActionInvocation::commit; the public
guide still told consumers an admin satisfies any required_role.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
@AdaWorldAPI
AdaWorldAPI merged commit 0977bfb into main Oct 14, 2026
16 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Oct 14, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G22yT6htkcdyXsihxxXdrg
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