[quality] /assign's failure arms are never driven through dist/index.js
Los mantenedores suelen responder en 2 días
@hivecommons-hive ya está trabajando en esto.
Desde el 4/10/2026.
- #302 de @hivecommons-hive — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- github, typescript
- Área
- testing-qa
Línea de trabajo
Read src/issueComment/assign.ts and the existing bundle.test.ts, then run npm run test:coverage:e2e to see the current coverage. The issue proposes adding tests/bundle/assignArms.test.ts and driving the three reachable failure arms through dist/index.js against the fake GitHub. Done means asserting exit 1, the ::error:: text, and the exact request sequence for each case; linked PR #302 is already open.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Finding
src/issueComment/assign.ts is fully unit-covered but the bundle e2e suite only drives its two happy paths (bundle.test.ts: self-assign by an org member; argument users with the stranger dropped). Its failure arms never run against the shipped bundle:
- line 42 —
could not self assign: the self-assignPOST /issues/1/assigneesis refused - line 66 —
no authorized users found: every argument user fails the org-member / collaborator / has-commented reads - line 79 —
could not add assignees: the argument-userPOST /issues/1/assigneesis refused
Two further uncovered lines are not reachable through dist/index.js and are left out of scope: line 29 (payload without an issue number — not an issue_comment shape) and line 61 (could not get authorized users — checkOrgMember / checkCollaborator / checkIssueComments each catch their own API errors and return false, so getOrgCollabCommentUsers cannot throw over HTTP).
Evidence
- Unit:
npx vitest run --coverageonmain@ 3fc21f2 →assign.ts100 % lines (suite: 100 / 99.81 / 100 / 100). - E2E:
npm run test:coverage:e2eonmain@ 3fc21f2 →assign.ts81.48 % lines, uncovered29,42,61,66,79. - Priority 2 per the lane's rule: unit-covered, e2e-uncovered.
Recommendation
- new
__tests__/bundle/assignArms.test.tsdriving the three reachable arms throughdist/index.jsagainst the fake GitHub: refused self-assign write, no authorized argument users (no write issued), refused argument-user write — asserting exit 1, the::error::text, and the exact request sequence
Measured with that file: assign.ts e2e 81.48 % → 92.59 % lines (only 29 and 61 remain).
Cluster: src/issueComment/assign.ts failure arms, bundle e2e. Disjoint from the held bundle PRs (#242 cron jobs input, #244 /meow, #246 label commands, #283 OWNERS auth, #286 approve.github_review, #289 merge gate labels, #291 blunderbuss, #293 hold/sweep, #296 /close + /milestone, #298 owners-label, #300 fixed labels) — none drives /assign.
Priority
- Impact: medium
- Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- Lenguaje dominante
- TypeScript
- Estrellas
- 132
- Forks
- 24
- Merge medio
- 1 d 18 h
- PR fusionados (30 d)
- 211
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cncf/prow-github-actions
-
[quality] Nothing verifies the unit test each v8-ignore hint in src/ says drives its arm; add a static guard over the 25 hintsPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
cncf/prow-github-actions#600 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
[quality] Gate proposal: scheduled Stryker run over the whole src/ tree (five advisory shards)Abiertoagent/quality needs-kind stage/045-needs-decision testing
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
cncf/prow-github-actions#594 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
[quality] Pin the ten behavioural Stryker survivors in sweep's delayed-reviewer guards, meow's image validation, the tilde-fence opener and /approve cancelPosiblemente ocupada @hivecommons-hive la tomó hace 1 día. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
cncf/prow-github-actions#592 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
[quality] Pin the three behavioural Stryker survivors in blunderbuss, requireMatchingLabel and approveReviewPosiblemente ocupada @hivecommons-hive la tomó hace 1 día. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
cncf/prow-github-actions#590 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
🐝 Hive Advisory ReportAbiertohive/advisory kind/cleanup
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
cncf/prow-github-actions#170 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de cncf/prow-github-actions
Issues similares
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
NousResearch/hermes-agent#145928 ·
Los mantenedores suelen responder en 1 día
-
compiler-dom: stringifyStatic renders :disabled="0" as a present attributePosiblemente ocupada @DaZuiZui la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
vuejs/core#16051 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
-
integration:coding-agents
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
vectorize-io/hindsight#6151 ·
Los mantenedores suelen responder en 1 día
-
DogFooding
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
OpenAEV-Platform/openaev#8768 ·
Los mantenedores suelen responder en 1 día