Skip to content

feat(foundry): task owner git auth + manual owner change UI#263

Merged
NathanFlurry merged 3 commits into
mainfrom
task-owner-git-auth
Mar 17, 2026
Merged

feat(foundry): task owner git auth + manual owner change UI#263
NathanFlurry merged 3 commits into
mainfrom
task-owner-git-auth

Conversation

@NathanFlurry

Copy link
Copy Markdown
Member

Summary

  • Add task primary owner concept with GitHub credential injection into sandboxes for git operations
  • Add manual owner change UI dropdown in the Overview tab, allowing reassignment to any org member
  • Add proposal docs for reverting to queues and RivetKit sandbox resilience

Changes

  • Backend: primaryUser columns on task actor and org index tables, changeTaskOwnerManually action, credential injection via git credential store
  • Client: changeOwner method on workspace client (mock + remote), changeWorkspaceTaskOwner on backend client
  • Frontend: Owner dropdown in right sidebar Overview tab showing org members with avatars and roles
  • Shared: TaskWorkspaceChangeOwnerInput type, primaryUser fields on workspace snapshot types

Test plan

  • Verified owner dropdown shows organization members
  • Verified clicking a member updates the owner display
  • Verified no console errors after owner change
  • Typecheck, build, and test pass

🤖 Generated with Claude Code

NathanFlurry and others added 3 commits March 16, 2026 15:33
- Add proposal for primary user per task with OAuth token injection
  for sandbox git operations (.context/proposal-task-owner-git-auth.md)
- Document sandbox architecture constraints in CLAUDE.md: single sandbox
  per task assumption, OAuth token security implications, git auto-auth
  requirement, and git error surfacing rules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- proposal-revert-actions-to-queues.md: Detailed plan for reverting the
  actions-only pattern back to queues/workflows now that the RivetKit
  queue.iter() bug is fixed. Lists what to keep (lazy tasks, resolveTaskRepoId,
  sync override threading, E2B fixes, frontend fixes) vs what to revert
  (communication pattern only).

- proposal-rivetkit-sandbox-resilience.md: Rivetkit sandbox actor changes for
  handling destroyed/paused sandboxes, keep-alive, and the UNIQUE constraint
  crash fix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add an owner dropdown to the Overview tab that lets users reassign task
ownership to any organization member. The owner's GitHub credentials are
used for git operations in the sandbox.

Full-stack implementation:
- Backend: changeTaskOwnerManually action on task actor, routed through
  org actor's changeWorkspaceTaskOwner action, with primaryUser schema
  columns on both task and org index tables
- Client: changeOwner method on workspace client (mock + remote)
- Frontend: owner dropdown in right sidebar Overview tab showing org
  members, with avatar and role display
- Shared: TaskWorkspaceChangeOwnerInput type and primaryUser fields on
  workspace snapshot types

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@railway-app
railway-app Bot temporarily deployed to sandbox-agent / sandbox-agent-pr-263 March 17, 2026 00:05 Destroyed
@NathanFlurry
NathanFlurry merged commit 4111aeb into main Mar 17, 2026
2 of 3 checks passed
@railway-app

railway-app Bot commented Mar 17, 2026

Copy link
Copy Markdown

🚅 Deployed to the sandbox-agent-pr-263 environment in sandbox-agent

Service Status Web Updated (UTC)
foundry-api 🕐 Initializing (View Logs) Mar 17, 2026 at 12:05 am
foundry-mock 🕐 Initializing (View Logs) Mar 17, 2026 at 12:05 am
website 🕐 Initializing (View Logs) Web Mar 17, 2026 at 12:05 am

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