# PR #23695 real dev verification

2026-10-28, Linux Boat VM, Chrome /usr/bin/google-chrome through repo Playwright 1.60.0, real glab 1.125.0. No mocks, fixtures, demo data, source edits or pushes.

Main: f17c9d202b38ea9a009a2d6dc3932e212bad4c24
PR: ffeeedc47e0c9949c481836b47506a98d8f6bb16
PR URL: https://git.cafe/pingdotgg/t3code/pulls/23695

## Setup and user path

- Created ../main from github/main, vp i, background setsid nohup dev. Worktree state /home/user/main/.t3, ports server 16733 / web 8693.
- Cloned real public https://gitlab.com/gitlab-org/cli.git to /home/user/gitlab-host-verification. Added competing gitlab remote https://gitlab.freedesktop.org/gitlab-org/cli.git.
- Through actual web UI: Add project -> Local folder -> clone path, select Codex GPT-6.1-Sol, submit read-only README request. A real provider turn completed with project name GLab and directory cmd/.
- Restarted main with GL_HOST=gitlab.freedesktop.org inherited by the server. Opened MR !4240 via real /pull-requests route with selectedHost=gitlab.com and selectedProjectId. Client sent pullRequests.detail with host gitlab.com. Main displayed Could not load pull requests / GitLab CLI command failed / Merge request not found.
- Control: restarted main without GL_HOST conflict; exact same MR detail loaded successfully. Timeline activity could not authenticate.
- Stopped main by captured process group PID before starting exact PR head. Ran vp i. PR background dev used explicit --home-dir /home/user/t3code/.t3, ports server 13773 / web 5733, same GL_HOST conflict. Recreated project and thread through the UI and completed another real Codex GPT-6.1-Sol turn (8.7s), returning GLab (GitLab CLI), cmd/.
- Same real MR opened on PR successfully: title, real description, author, reviewers, labels, source/target branches and pipeline summary rendered. Code -> Expand diff rendered .tool-versions, markdownlint-cli2 0.23.3 removed and 0.24.0 added.

## Short command / protocol transcript

Real glab reproduces host conflict (read-only):

```text
$ GL_HOST=gitlab.freedesktop.org glab api projects/gitlab-org%2Fcli/merge_requests/4240
GET /api/v4/projects/gitlab-org%2Fcli/merge_requests/4240 HTTP/1.1
Host: gitlab.freedesktop.org
HTTP/2.0 404 Not Found
{"message":"404 Project Not Found"}

$ GL_HOST=gitlab.freedesktop.org GITLAB_HOST=gitlab.com glab api projects/gitlab-org%2Fcli/merge_requests/4240
GET /api/v4/projects/gitlab-org%2Fcli/merge_requests/4240 HTTP/1.1
Host: gitlab.com
HTTP/2.0 200 OK
title: chore(deps): update dependency markdownlint-cli2 to v0.24.0
```

Main real app WebSocket request:

```json
{
  "tag": "pullRequests.detail",
  "payload": {
    "projectId": "f2901314-43ec-4c36-928a-c1a3dfa301e4",
    "host": "gitlab.com",
    "allowStale": false,
    "repository": "gitlab-org/cli",
    "number": 4240
  }
}
```

Main real app response: PullRequestOperationError(detail) -> PullRequestProviderError(getChangeRequest) -> GitLabCliCommandError -> VcsProcessExitError, glab exited 1, Merge request not found.

PR real dev WebSocket call pullRequests.summary with selected host gitlab.com succeeded:

```json
{
  "provider": "gitlab",
  "repository": "gitlab-org/cli",
  "number": 4240,
  "title": "chore(deps): update dependency markdownlint-cli2 to v0.24.0",
  "url": "https://gitlab.com/gitlab-org/cli/-/merge_requests/4240",
  "state": "open",
  "changedFiles": 1
}
```

PR pullRequests.detail also succeeded: chore(deps): update dependency markdownlint-cli2 to v0.24.0, 1 file; pipeline summary Pipeline: success.

## Existing checks rerun this task

Blacksmith: vp i; vp test run GitLabPullRequestProvider.test.ts GitLabPullRequestCli.test.ts GitLabCli.test.ts: 58 tests / 3 files passed.
Blacksmith: vp run check:changed 3e47c1cabc463145e485f1ee02e092832cd45c34: format, lint, both knip checks, 10 affected typechecks, 73 tests / 5 files passed. The worker needed PR ancestor history fetched before merge-base could resolve; no branch history was changed.
GitCafe status for exact head: 28 successful contexts, 0 failing, 0 pending (GitHub marks nonapplicable jobs skipped). No merge attempted.

## Not verified

- Authenticated GitLab listing/viewer, timeline/activity, reviewer/author search and any mutation (merge, close/reopen, review, comments, reactions, auto-merge cancellation). This VM has no GitLab credentials; no other PR/MR was modified.
- Fresh checks endpoint and later fresh detail reads were blocked by GitLab anonymous rate-limit pause. Actual checks response: {"_tag":"Failure","cause":[{"_tag":"Fail","error":{"_tag":"PullRequestOperationError","operation":"checks","detail":"gitlab requests to gitlab.com are paused until the rate limit resets.","cause":{"name":"PullRequestProviderError","message":"gitlab failed in getChangeRequestChecks: gitlab requests to gitlab.com are paused until the rate limit resets.","cause":{"name":"SourceControlRateLimitPausedError","message":"gitlab requests to gitlab.com are paused until the rate limit resets."}}}}]}
- Native desktop/mobile, macOS/Windows, remote relay/tunnel and other coding providers.
- Transient initial PR load encountered CPU stalls and needed a reload; no stall exceeded 10 minutes.

Startup note: first PR launch in the root checkout defaulted to ~/.t3; it was stopped promptly and all verification of PR behavior used explicit task-local .t3 state.
