Skip to content

feat: enforce requester-bound team actions - #16

Draft
ishankunam wants to merge 1 commit into
feat/per-user-slack-reliabilityfrom
feat/approved-team-actions
Draft

ishankunam wants to merge 1 commit into
feat/per-user-slack-reliabilityfrom
feat/approved-team-actions

Conversation

@ishankunam

@ishankunam ishankunam commented Sep 29, 2026 •

Copy link
Copy Markdown

Vee's service permissions and confirmation rules previously depended on instructions. This change routes organizational retrieval and mutations through guarded tools. External writes require the original Slack requester to approve the exact call and arguments, with the existing exception for preparing AgentMail drafts.

GitHub repository, branch, issue-create, and draft-PR restrictions are checked before execution. The Slack review renders the complete arguments before the approval buttons. An atomic Redis REST write-attempt record prevents an interrupted Eve step from dispatching the same call again. Writes fail closed until this store is configured. No provider writes are automatically retried.

Shared organizational grants remain unchanged. Provider tool allowlists and bounded read retries replace raw MCP connections. Shared Notion search refuses connected-source AI search. Sessions requesting private Slack context cannot export that content through other services or actions. Unrestricted shell execution, child agents, and provider-managed web search are disabled because they bypass those guards. The final stacked PR also disables the generic URL-fetch tool.

Stack: 2 of 3, based on #15 and followed by #17. Each PR targets its predecessor. Keep this draft until the complete stack and two-user pilot pass.

Validation:

  • 33 tests passed, including approval binding, GitHub resources, Notion isolation, full review payloads, and simulated interrupted-write replay.
  • Typecheck and Eve build passed.
  • Live approval delivery and the two-user pilot remain pending.

Deployment requires VEE_ACTION_REDIS_REST_URL and VEE_ACTION_REDIS_REST_TOKEN for a durable Redis REST store with atomic SET NX and no eviction of write records. Reads do not require the store. The final stacked PR contains the setup and rollout checklist.

@vercel

vercel Bot commented Sep 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vee Ready Ready Preview Sep 29, 2026 9:05pm UTC

This branch was successfully deployed

1 active deployment
Preview — c008bb42 Deployed Sep 29, 2026 by vercel[bot]
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