Design: #59 (the glossary and ADRs). Use the glossary's terms.
What to build
The user creates a Repo-backed Workspace. Its primary Repository is cloned, and the user can Add Repository to clone more. Workspace Status moves Preparing to Ready, or to Failed with a reason the UI shows. Agents push and pull with short-lived GitHub App installation tokens scoped to the Workspace's Repositories. A git credential helper gets each token over a unix socket, and the API accepts only callers whose peer uid is the agent user. The shared bearer between runner and API is removed. agents-ui uses "Add Repository" wording.
Implements ADR 0003: The API and agents run as separate users.
Acceptance criteria
Blocked by
Design: #59 (the glossary and ADRs). Use the glossary's terms.
What to build
The user creates a Repo-backed Workspace. Its primary Repository is cloned, and the user can Add Repository to clone more. Workspace Status moves Preparing to Ready, or to Failed with a reason the UI shows. Agents push and pull with short-lived GitHub App installation tokens scoped to the Workspace's Repositories. A git credential helper gets each token over a unix socket, and the API accepts only callers whose peer uid is the
agentuser. The shared bearer between runner and API is removed. agents-ui uses "Add Repository" wording.Implements ADR 0003: The API and agents run as separate users.
Acceptance criteria
apior root is rejected. A test covers the peer uid check.agent.Blocked by