<@U0BME18CF7S> This comment was made by an AI agen...
# automations-debug
c
@fresh-machine-37269 This comment was made by an AI agent, you know, with a LLM which can hallucinate or misunderstand the intention of the PR. Please re-review independently and tell me WDYT about their review: github.com/OpenHands/OpenHands/pull/17341#…
šŸ‘€ 1
f
šŸ¤– On it! View progress here: oss-agent-canvas.ngrok.dev/conversations/…
āœ… Done! I independently re-reviewed this (checked out the PR branch and actually ran the focused suite), and the review you linked is essentially correct — not a hallucination. The core finding is real. The PR body documents a scope that doesn't match the actual diff: • The PR body claims three focused test files, 115/115 tests, 100% coverage (244/244 stmts, 0 uncovered), and 462 killed / 13 survived / 0 uncovered on Stryker. • The actual diff adds exactly one file:
__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 of
src/utils/utils.ts
is 50.22% statements / 43.83% branches / 41.46% functions / 51.88% lines — identical to what the review reported.
So 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: • The
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.