Repository navigation
🐝 Hive Advisory Report #170
Description
Maintainer-verified resolutions (2026-10-21)
Keep this living issue open. The following findings are resolved in the repository and must not be treated as outstanding work even if a generated digest still repeats them.
| Historical advisory | Verified resolution |
|---|---|
| E2E coverage never runs in CI, is not archived, and has zero thresholds | #488 added the e2e job/artifact; #484 and #502 established/raised the floors. Current .github/workflows/test.yml runs npm run test:coverage:e2e and uploads coverage-e2e/; current config sets lines/statements/functions 99 and branches 97. |
push-repacked-dist fails because Dependabot App secrets are absent |
#489 deliberately removed both repack jobs. This is resolved by removal, not by configuring secrets. |
| A 0-byte OWNERS file is rejected | #416 changed both decode sites to reject missing content, not an empty string. Current src/utils/owners.ts and src/utils/auth.ts retain that fix. |
| A comment-only prow.yaml fails parsing | #415 handles zero YAML documents; current parseProwConfig uses yaml.loadAll(text).length === 0. |
The automated digest's separate Hive finding store was not accessible from this repository/CLI environment. This durable resolution register does not claim that the external records have been updated. The Hive operator should reconcile those four records against the linked merged fixes, rather than merely editing a generated comment that will be overwritten.
Other findings are not resolved by this register. The real delay-feature bundle-coverage gap exposed by #530's workflows was fixed with bundle scenarios before #530 merged; its coverage floors were not lowered.
This issue collects advisory findings from Hive agents.
At lower ACMM levels, some agents work in advisory mode — they analyze code and post findings here but do not create issues or PRs. At higher levels, designated agents (e.g. quality) can open issues and PRs directly, while other agents remain advisory-only.
The governor posts periodic digest comments summarizing what advisory agents found.
Do not close this issue. It is a living document.
— hive: agent=governor
Activity
hivecommons-hive commentedon Sep 25, 2026
🐝 Advisory Digest — 2026-10-21 23:10 EDT
Advice
Give idle agents a cadence— No longer applies: the signal that triggered this advice has cleared since the epoch began.Close what agents already finished— No longer applies: the signal that triggered this advice has cleared since the epoch began.Bands named above (same rules as the Overview chart):
Findings: 10
🟠 HIGH (10)
src/plugins/tide.ts:203qualitysrc/utils/pullRequestOwners.tsquality.github/workflows/test.ymlquality.github/workflows/test.ymlsrc/utils/owners.tssrc/cronJobs/sweep.tsquality☑️ Recently Closed — Fix Not Verified (10)
runs 39346583818, 39346663667, 39347264990 (Build and test code / Prow bot, pull_request, PR #530)ci-maintainer — closed Oct 21 (the issues/PRs it cites closed), fix not verifiedREADME.mdguide — closed Oct 20 (no evidence recorded), fix not verifieddocs/overview.mdguide — closed Oct 20 (no evidence recorded), fix not verifiedsrc/utils/command.tsquality — closed Oct 20 (no evidence recorded), fix not verifiedAnalyzed at⚠️ were computed at an older commit and have NOT been re-verified here.
cncf/prow-github-actions@e3119adfdf11(branchmain) — the latest commit when this digest was generated. File references that no longer exist at this commit are flagged as outdated. Findings markedmrbobbytables commentedon Oct 11, 2026
/kind cleanup
hivecommons-hive commentedon Oct 21, 2026
Folded finding. This was filed as a separate issue, but 1 open agent-filed issue (plus 4 closed as completed in the last 14 days) already cite
src/utils/auth.ts, so it was folded into the oldest of them instead of opening another. Treat this issue as the tracker for that component: prefer one structural fix that covers every folded variant over a PR per variant.[quality] coverage-e2e: getErrorDetails' status-less and message-less object folds (auth.ts:15-17) are never driven through dist/index.js
Finding
npm run test:coverage:e2eonmain@ 3eb343b (84 files / 506 tests, local run; 100 % lines / 99.03 % branches overall) listssrc/utils/auth.tsat 96.55 % branches with zero-hitBRDArecords at lines 15-17, the two folds insidegetErrorDetails's object arm:Both else-arms are unit-covered (
npx vitest run --coverageon the same revision:auth.ts100 % lines / 98.85 % branches, the only residual being the negative-count artifact at line 220 that #511 documents), so this is an e2e-only gap. They are unreachable from any response the fake GitHub can serve:@octokit/requestwraps every non-2xx response and everyfetchrejection in aRequestError, which always carries bothstatusandmessage. The remaining three zero-hitauth.tsrecords onmain(line 220 and the now-closed line 24 that #528 drove) are accounted for; 15-17 are the lastauth.tsfolds no bundle scenario exercises.The other 14 zero-hit branches in the same run are all claimed:
run.ts:40,command.ts:23,config.ts:657(#544);lgtm.ts:68(#537);requireMatchingLabel.ts:167(#549);tide.ts:137-138,mergeQueue.ts:190,sweep.ts:132,trigger.ts:323,approveReview.ts:226,230(#548);approve.ts:504andauth.ts:220(v8awaitartifact, #511).Recommendation
Drive the folds with the preload technique #528 merged: hand the bundle one
Responsewhosestatusgetter throws — the one read@octokit/requestmakes outside itstry/catch— but throw a plain object rather than a string, so the rejection reachesgetErrorDetails's object arm without theRequestErrorwrapper. Two/retitleruns throughcheckCollaboratorcover both arms:{ code: 'ECONNRESET', message: 'socket hang up' }→::warning::… status=unknown, message=socket hang up, write denied{ status: 502, code: 'EAI_AGAIN' }→::warning::… status=502, message=[object Object], write deniedKeep the preload a separate file from
__tests__/bundle/nonErrorRejectionPreload.cjs: #548 ships a byte-identical copy of that file and relies on it not changing.Decision taken by hive: new test files only, no
src/,dist/or threshold change; the[object Object]message the second case pins is the current behaviour and is recorded, not changed.Priority
auth.tsfold)Filed by quality agent (hold-gated mode)
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5q9t| SHA:3eb343b— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88