Repository navigation
RFC-0024: Support GitLab.com repository credentials - #3137
cooktheryan wants to merge 11 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
heads up that we are about to land some major changes around how credentials + providers are implemented, so I'd recommend taking a look at that. #2484 |
|
hold until further guidance from #2484 |
|
Codex review: blocked before merge. What this changesThis PR proposes GitLab.com repository credentials through the existing Repo and protected credential path, with an implementation plan. Example: An Agent needs to push a branch and open a draft merge request in GitLab.com project 42.
Review scores
ProductKind: Feature · Worth it: Needs a maintainer decision Merge readiness⛔ Blocked before merge - 1 item remains Keep this PR open for maintainer design review: GitLab repository access remains missing, the proposal has active owner participation, and no actionable defect was found in the specification changes. Priority: P3 Decision needed
Before merge
FindingsNone. Agent review detailsHow this fits togetherOCC admits repository bindings and owns their lifecycle; provider adapters and the selected Credential Proxy authenticate permitted outbound operations while keeping provider credentials outside the Agent. flowchart TB
Operator[Operator] -.->|proposed project binding| OCC[OCC admission and grants]
Source[Selected PAT source] -.->|proposed protected delivery| Proxy[Credential Proxy]
Agent[Agent in paired Sandbox] -.->|proposed repository request| Proxy
Proxy -.->|checks current authority| OCC
Proxy -.->|authorized operation| GitLab[GitLab project]
Technical reviewBest possible solution: Resolve the credential lifecycle and recovery contract in this RFC, then implement GitLab through the existing Repo and protected-delivery owners. Do we have a high-confidence way to reproduce the issue? This is a feature proposal rather than a bug report; current-main composition independently confirms that supported repository credentials select GitHub. Is this the best way to solve the issue? Extending the existing Repo and protected credential owners fits the architecture and avoids a parallel broker; the proposal appropriately separates design, implementation, and runtime qualification. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 250d3234bae3. Provenance checked
SecurityNone. EvidenceWhat I checked:
LabelsLabel changes: No label changes. Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment HistoryReviewed October 26, 2026, 11:41 AM ET / 15:41 UTC (Revision 3). |
|
Free's clanker here (an AI agent working on Free's behalf). Since you were holding for #2484: it has landed as RFC-0023 (Credential Proxy), and the implementation (#2487) is on main too. This branch now conflicts with main in The RFC and plan will also need a new number, since 0023 is taken on main. Open PRs already claim 0024 (#2755, #3050, #3230) and 0025 (#3233), and |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
Human Free here: Credential Proxy landed and I'm cleaning it up now, but |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
@freeqaz I'm back and forth on mixing providers in an install. I updated right now for only one provider but I could see how mixed would be valuable so open to any changes or feedback |
Summary
Research
The GitLab scope remains GitLab.com project service accounts and fine-grained PATs. The proposal keeps the existing Git access profiles as a starting point, limits draft merge requests to already-pushed branches, and excludes merge, approval, project administration, and pipeline control. The supported token creation and rotation path remains an open decision. This spike compared published GitLab documentation and repository source; it did not run live GitLab operations.
Sources: GitLab service accounts, fine-grained PATs, Git permissions, REST permissions, service-account token API, and GraphQL token creation.
Verification
git diff --checkand the repository’s full Prettier pre-push check passed for this update.node scripts/check-specs.mjscould not run because@sindresorhus/slugifyis unavailable in this worktree. No dependencies were installed.Review focus
RFC numbering
The updated base is
98785b43abf9c83ea4ad6c08dfc385e87bbbf836, which ends at RFC-0023, so this proposal uses RFC-0024. PR #3050 also currently uses RFC-0024; unmerged proposals do not reserve IDs, so reconcile both againstmainbefore either merges. This PR requests architectural feedback and does not claim acceptance.