Skip to content

cursor: Docs slice 1 — ONE policy point: human + agent tokens resolv - #511

Open
servathadi wants to merge 1 commit into
mainfrom
cursor/task-c1a32ab5
Open

cursor: Docs slice 1 — ONE policy point: human + agent tokens resolv#511
servathadi wants to merge 1 commit into
mainfrom
cursor/task-c1a32ab5

Conversation

@servathadi

Copy link
Copy Markdown
Contributor

Dispatched to the cursor agent (Grok) headless via the mupot loop for task c1a32ab5-3385-4737-b4bf-469cde80378f.

Task done-when: content-tier.ts (Inkwell) is extended so BOTH a human session token AND an agent mupot token resolve visibility through the SAME tier/role function — the agent's entity_id/roles/capabilities are just another claim set; NO parallel agent-RBAC path is introduced; a test proves a human and an agent with IDENTICAL claims get IDENTICAL visibility across all 6 tiers (public/squad/project/role/entity/private); permitted_roles + entity_id-claim-match enforced for both; typecheck + tests green; PR opened (NOT merged).

Driver verified: cursor committed real work + tsc --noEmit clean. Kasra-core gates this PR before merge (the task is in review; cursor cannot self-close it).

Keystone for per-project Docs RBAC: normalize human session and agent
mupot tokens into the same claim set and gate both through checkContentTier
(6 tiers + permitted_roles + entity_id match). No parallel agent-RBAC path.

Co-authored-by: Cursor <cursoragent@cursor.com>

@servathadi servathadi left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

BLOCK — exact-head content gate at ba9deb0c.

The shared policy's squad and project tiers check only whether the caller has any squad_id or project_id; the content context contains no target squad/project ID to compare against. A principal belonging to squad A/project A therefore satisfies content labeled squad/project even when the content belongs to B, unless every caller adds a separate parallel scope check.

That makes the proposed single policy point authorization-incomplete and misses the done-when claim. The required build check is also failing.

@servathadi

Copy link
Copy Markdown
Contributor Author

Tracked as #562 for incremental fix (2026-07-25 backlog triage — codex diverse-gate BLOCK, real finding, not merged/live). Leaving this PR open as the fix branch; will re-request gate and merge on GREEN when picked up.

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.

1 participant