From a140d533a61cd170a45d1722d326844b318b08de Mon Sep 17 00:00:00 2001 From: Dotta Date: Thu, 1 Oct 2026 12:41:54 -0500 Subject: [PATCH] fix(mcp): preserve nullable checkout responses in event logging Co-Authored-By: Paperclip --- doc/plans/2026-10-01-public-mcp-paid-eval-results.md | 5 +++++ server/src/routes/issues.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/plans/2026-10-01-public-mcp-paid-eval-results.md b/doc/plans/2026-10-01-public-mcp-paid-eval-results.md index 2a0af431bac..20162316638 100644 --- a/doc/plans/2026-10-01-public-mcp-paid-eval-results.md +++ b/doc/plans/2026-10-01-public-mcp-paid-eval-results.md @@ -184,6 +184,11 @@ Updated supporting verification: regressions cover quota reuse and unchanged-status suppression. - All 28 adjacent issue-tree/stale-lock route tests pass after checkout/release activity gained previous/current status for event delivery. +- CI subsequently found that checkout logging dereferenced a null result in an + existing concurrent workspace-reopen path. The log now omits status when no + task is returned, preserving that path's response and avoiding a false event. + The existing 12-test closed-workspace suite reproduces and verifies the fix. + This narrow null-result correction follows the paid regression above. - Repository-wide typecheck and production build pass after merging master. - The Core → Cloud → Core authority round trip passes real OAuth, MCP 2.0 subscription, delivery, current Cloud membership loss, unsubscribe, legacy MCP diff --git a/server/src/routes/issues.ts b/server/src/routes/issues.ts index 0dcfb800084..7514d6dfcbb 100644 --- a/server/src/routes/issues.ts +++ b/server/src/routes/issues.ts @@ -15083,7 +15083,7 @@ export function issueRoutes( action: "issue.checked_out", entityType: "issue", entityId: issue.id, - details: { agentId: req.body.agentId, status: updated.status, _previous: { status: issue.status } }, + details: { agentId: req.body.agentId, status: updated?.status, _previous: { status: issue.status } }, }); if (