calm-artist-7206
09/15/2026, 4:55 AMfresh-machine-37269
09/15/2026, 4:55 AMfresh-machine-37269
09/15/2026, 5:02 AM__tests__/utils/browser-and-file-utilities.test.ts (223 lines, +0 production code).
⢠The referenced git-and-task-utilities.test.ts genuinely does not exist ā confirmed via the file listing and git log.
I reproduced the reviewer's numbers exactly. Running the three suites that do exist (browser-and-file-utilities, should-use-installation-repos, utils):
73 tests pass, but coverage ofSo the PR description's "100% / 0 uncovered" claim is simply stale (copied from the original archived agent-canvas PR) and not true of what's actually in this branch. The specific technical findings also check out: ⢠Theis 50.22% statements / 43.83% branches / 41.46% functions / 51.88% lines ā identical to what the review reported.src/utils/utils.ts
READY + non-empty taskDetail gap is a genuinely good catch. getStatusText short-circuits READY to t(CONVERSATION$READY) before the taskDetail || t(getTaskStatusI18nKey(...)) fallback. The existing test only exercises READY with taskDetail: null, so deleting that branch falls through to taskDetail and the mutant survives. The PR's "the READY branch resolves to the same key" equivalence claim is wrong when a detail is present ā which is exactly why that branch exists.
⢠The uncovered reachable helpers are real. I traced imports: getTotalTaskCount, getLimitedTaskGroups, getDisplayedTaskGroups, shouldIncludeRepository, buildSessionHeaders, isTaskPolling, getStatusColor, `getStatusIcon`/`getStatusClassName`, getConversationStatusLabel, getGitProviderBaseUrl, getProviderName, constructPullRequestUrl, and all six git-prompt builders have zero direct test coverage.
⢠Whitespace-only / already-schemed hosts and malformed Bitbucket/Azure coordinates are also untested as claimed (host handling at getGitProviderBaseUrl and the parts.length === 3 / "" fallback branches).
One minor caveat: a couple of the reviewer's parenthetical line-number references (93/95/96/98, 210/221) don't cleanly map to those code locations in the current file ā likely an artifact of the mutation-report numbering. The substance behind them is correct, so it doesn't change the conclusion.
My take: agree with the verdict. The browser/file tests themselves are solid, use real code paths (not mocking the unit under test), and are fine to merge. But the PR as written overstates its coverage and doesn't satisfy #17288's acceptance criteria for the actual target (src/utils/utils.ts). "COMMENT ā not ready yet" is fair; the right fix is to either land the missing Git/task/conversation-status coverage with corrected numbers, or rescope the PR/title to honestly reflect that it only covers the browser/file utilities.