What to build
PATs for environments where SSH is awkward (corporate networks, CI runners, etc.).
- Web UI: profile section to mint a PAT (with a name and optional expiry), copy the token once at creation, list existing PATs (showing only metadata, never the secret), and revoke.
platform-api: PATs are stored hashed (never plaintext). On Git HTTPS auth, the username is the user's handle and the password is the PAT. PATs identify the user; permissions are still resolved via PermissionChecker.
- Tokens carry an optional scope at this stage (
git:read, git:write); finer-grained scopes are post-MVP.
Acceptance criteria
Blocked by
What to build
PATs for environments where SSH is awkward (corporate networks, CI runners, etc.).
platform-api: PATs are stored hashed (never plaintext). On Git HTTPS auth, the username is the user's handle and the password is the PAT. PATs identify the user; permissions are still resolved viaPermissionChecker.git:read,git:write); finer-grained scopes are post-MVP.Acceptance criteria
git clone https://<handle>@forge.../....Blocked by