real dev verification: github #25561 / git.cafe #25562 main: 305a90dce44b8b7813d951662f13ce8510a3c669 pr: 40e48497d2cc047dde7382c2a84473bef332b6a8 client: playwright 1.60.0 / /usr/bin/google-chrome / linux provider: codex gpt-6.1-sol, local proxy setup: created projects and threads in web ui; linked target with source=stack through public websocket orchestration.dispatchCommand, then clicked Dismiss from thread. no db writes, mocks, demo data, or forge mutations. automatic forge stack discovery was not exercised. main provider-native completed MCP calls: [2026-10-30T08:55:01.906Z] list_thread_pull_requests {} -> {"pullRequests":[],"chains":[]} error=null [2026-10-30T08:57:08.000Z] list_thread_pull_requests {} -> {"pullRequests":[],"chains":[]} error=null [2026-10-30T08:57:08.098Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":true} error=null [2026-10-30T08:57:08.163Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":false} error=null persisted MCP unlink commands: [{"sequence":82,"command_id":"server:mcp-pr-unlink:f8ae4e9f-0482-401c-9cf9-eab3bbb42590:b0fedca4-9ba5-405b-8082-929be84bab07"}] pr provider-native completed MCP calls: [2026-10-30T09:04:59.814Z] list_thread_pull_requests {} -> {"pullRequests":[],"chains":[]} error=null [2026-10-30T09:05:44.276Z] list_thread_pull_requests {} -> {"pullRequests":[],"chains":[]} error=null [2026-10-30T09:05:44.413Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":false} error=null [2026-10-30T09:05:44.530Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":false} error=null [2026-10-30T09:06:17.270Z] link_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"url":"https://git.cafe/pingdotgg/t3code/pulls/25562","alreadyLinked":false} error=null [2026-10-30T09:06:17.368Z] link_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"url":"https://git.cafe/pingdotgg/t3code/pulls/25562","alreadyLinked":true} error=null [2026-10-30T09:06:17.513Z] list_thread_pull_requests {} -> {"pullRequests":[{"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"url":"https://git.cafe/pingdotgg/t3code/pulls/25562","source":"agent","watching":false,"state":"open","title":"fix(server): unlink_pull_request reports a dismissed stack PR as not linked","headBranch":"fix/mcp-unlink-dismissed-pr","baseBranch":"main","isDraft":false,"stack":null}],"chains":[{"kind":"derived","numbers":[25562]}]} error=null [2026-10-30T09:07:03.406Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":true} error=null [2026-10-30T09:07:03.472Z] unlink_pull_request {"url":"https://git.cafe/pingdotgg/t3code/pulls/25562"} -> {"host":"git.cafe","repository":"pingdotgg/t3code","number":25562,"wasLinked":false} error=null [2026-10-30T09:07:03.553Z] list_thread_pull_requests {} -> {"pullRequests":[],"chains":[]} error=null persisted MCP unlink commands: [{"sequence":161,"command_id":"server:mcp-pr-unlink:2112364d-cb15-4afd-9862-62afdfaf125a:770a938b-4a07-4cb8-8b69-046f8c8ee385"}] PR snapshot after dismissed probe, before relink: source=stack-dismissed, stack=null; no MCP unlink event. PR snapshot after relink: source=agent; ordinary unlink removed link. main snapshot after dismissed probe: pullRequests=[]; MCP unlink event sequence=82 removed tombstone. focused blacksmith test run: vp test run apps/server/src/mcp/toolkits/pullRequests/handlers.test.ts: 19 passed. CI at unchanged head: 28 successful, 0 failing, 0 pending.