real dev verification of pingdotgg/t3code pr 29170 main: 6f41364805e31a1f8d59c18c7cc451630cd9265d pr: 0d0c4d5e278e1cc239c720e31189de0704c8f811 client: playwright 1.60.0, /usr/bin/google-chrome, linux provider: codex gpt-6.1-sol via local proxy, real completed turns on both revisions repository: real clone of https://gitlab.com/gitlab-org/cli.git; origin reconfigured to http://gitlab.com:8080/gitlab-org/cli.git to exercise URL construction; no GitLab server is running on that port. projects and threads created through web UI; no mocks or seeded/demo state. main: command palette > link pull request > #5 > link [ { "type": "thread.pull-request.link", "commandId": "566b08d7-e4c8-4e1c-9fa1-11b78f1ad478", "threadId": "f08a8d38-f7b9-4b35-a041-4af3b1ff5006", "host": "gitlab.com", "repository": "gitlab-org/cli", "number": 5, "url": "https://gitlab.com/gitlab-org/cli/-/merge_requests/5", "source": "manual" } ] rendered sidebar href: https://gitlab.com/gitlab-org/cli/-/merge_requests/5 pr: same UI flow [ { "type": "thread.pull-request.link", "commandId": "29f38d56-4074-41ae-bbcb-c8886cb8e538", "threadId": "51032865-0df7-4570-92bb-0b49d7d026aa", "host": "gitlab.com", "repository": "gitlab-org/cli", "number": 5, "url": "http://gitlab.com:8080/gitlab-org/cli/-/merge_requests/5", "source": "manual" } ] rendered sidebar href (also after reload): http://gitlab.com:8080/gitlab-org/cli/-/merge_requests/5 pr real provider MCP calls: [ { "tool": "link_pull_request", "arguments": { "host": "gitlab.com", "repository": "gitlab-org/cli", "number": 5 }, "status": "completed", "result": { "host": "gitlab.com", "repository": "gitlab-org/cli", "number": 5, "url": "http://gitlab.com:8080/gitlab-org/cli/-/merge_requests/5", "alreadyLinked": false } }, { "tool": "list_thread_pull_requests", "arguments": {}, "status": "completed", "result": { "pullRequests": [ { "host": "gitlab.com", "repository": "gitlab-org/cli", "number": 5, "url": "http://gitlab.com:8080/gitlab-org/cli/-/merge_requests/5", "source": "agent", "watching": false, "state": null, "title": null, "headBranch": null, "baseBranch": null, "isDraft": null, "stack": null } ], "chains": [ { "kind": "derived", "numbers": [ 5 ] } ] } } ] neighbor checks: - unlink via panel actions keyboard menu removes sidebar and panel link. - explicit https://gitlab.com/gitlab-org/cli/-/merge_requests/6 stays https without remote port. - panel actions mouse target is overlapped by link; keyboard works. existing panel source is unchanged by this PR. blacksmith scoped tests: 3 files, 48 tests passed (GitLab definition, client link input, server MCP handlers). not verified: fetching MR details or navigation to an actual GitLab service on custom port (glab absent, no service provisioned); native desktop/mobile.