Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[WIP] Assign a validated contributor issue to the contributor who opened it

Abierto
#130 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github-actions, javascript
Área
devtools

Línea de trabajo

Read scripts/issue-validation-done.js and scripts/contributor-issue-comment.js, focusing on the validation event flow and the gates inside handleAssignCommand; review the acceptance criteria and referenced issues #126 and #127. Run the relevant automation tests in test-actions. Done means only a valid claim holds verdict can assign the eligible issue author, shared gates apply to both paths, and the specified messages and label behavior pass.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

A contributor opens an issue, rtibblesbot checks it, and the verdict says the claim holds. The
contributor who found the problem then has to ask to work on it, and anyone else can take it
first.

Assign the issue to the contributor who opened it when the verdict confirms the claim.

Context

scripts/issue-validation-done.js already runs on the right event. It fires on
issue_comment created, checks that the author is rtibblesbot and that the body carries the
<!-- ISSUE_VALIDATION --> marker, then removes the community-issue-review label. It reads no
verdict today.

The verdict is already in the comment. learningequality/coding-agent#1229 fixes a closed
vocabulary of six values:

Verdict Meaning
claim holds the reported behavior is in the code or the history
claim does not hold the code does something other than the report states
duplicate of #N an open issue, or one closed in the last 30 days, covers it
already fixed the default branch carries the fix
not enough information the report lacks what a check needs
out of scope not this repository, or a support question

The comment states it on the first content line after the marker, as
**Verdict:** claim holds.

The Change

Read the verdict in scripts/issue-validation-done.js. Match the verdict line exactly.
claim holds is the only value that leads to an assignment. An unrecognized verdict assigns
nobody, and the label still comes off.

Assign the issue author. Use github.event.issue.user.login. Skip the assignment when the
author is an organization member, a site admin or a bot, and when the issue already carries an
assignee.

Apply the same gates as /assign. The MAX_ASSIGNED_ISSUES limit and the cooldown from
#127 both hold. A contributor at the limit, or under cooldown, is not assigned. Extract the gate
from handleAssignCommand in scripts/contributor-issue-comment.js into a shared helper, so one
piece of code answers "can this contributor take an issue right now" for both paths.

Tell the contributor either way. On a successful assignment, post
BOT_MESSAGE_ASSIGN_SUCCESS, which already tells them to link a pull request and to unassign
themselves if they cannot continue. When a gate blocks the assignment, post the existing at-limit
message, so the reporter is not left guessing.

Run in ISSUE_VALIDATION_REPOS. The same list the validation request uses.

Open question for the maintainers

Self-assignment through /assign works only on an issue labeled help wanted and
good first issue. A freshly opened issue carries neither, because a maintainer adds them during
triage. So this change assigns a contributor to an issue that nobody has yet judged suitable for
contribution, and the claim holding says only that the bug is real, not that it is a reasonable
first task.

Two ways to read the intent:

  1. Assign on the verdict alone. The person who found the problem gets first refusal, and a
    maintainer who disagrees unassigns them during triage.
  2. Assign once a maintainer marks the issue open for contribution. The trigger becomes the
    help wanted label on an issue that already carries a claim holds verdict, rather than the
    verdict itself.

This issue is written for option 1, which is the literal request. Option 2 needs a second
trigger on the labeled event.

Out of Scope
  • Changing the verdict vocabulary, which belongs to learningequality/coding-agent.
  • Changing MAX_ASSIGNED_ISSUES or the cooldown.
  • Assigning anyone other than the issue author.
  • Closing an issue on a duplicate of #N, already fixed or out of scope verdict. The
    comment recommends a close and a maintainer decides.
Acceptance Criteria
  • A claim holds verdict on a contributor's issue assigns that contributor.
  • Each of the other five verdicts assigns nobody.
  • An unrecognized or absent verdict assigns nobody, and the review label still comes off.
  • A comment from anyone other than rtibblesbot assigns nobody.
  • A comment with no marker assigns nobody.
  • An issue opened by an organization member, a site admin or a bot assigns nobody.
  • An issue that already carries an assignee is left alone.
  • A contributor at MAX_ASSIGNED_ISSUES is not assigned, and receives the at-limit message.
  • A contributor under the #127 cooldown is not assigned.
  • A successful assignment posts BOT_MESSAGE_ASSIGN_SUCCESS.
  • The repository gate is ISSUE_VALIDATION_REPOS.
  • /assign and this path share one gate helper.
Testing

Test in test-actions. See
testing the automations.
The contributor cases need an account outside the organization.

  1. Open an issue from the contributor account and let the validation run. On a claim holds
    verdict, expect the contributor to be assigned and the review label to come off.
  2. Post a comment carrying the marker and a claim does not hold verdict from a maintainer
    account. Expect no assignment, because the author is not rtibblesbot.
  3. Assign the contributor to two other issues first, then repeat step 1. Expect no assignment and
    the at-limit message.
  4. Open an issue from a maintainer account and repeat step 1. Expect no assignment.
References

The marker and the verdict vocabulary come from learningequality/coding-agent#1229. #126 added
the validation request and the label that this path clears. The cooldown is #127.

AI usage

I used Claude Code to read scripts/issue-validation-done.js, to pull the six verdicts from the
agent-side contract, and to confirm the verdict line format against the live comment on
learningequality/kolibri#15639. I decided that the existing assignment gates apply unchanged, and
I raised the triage question above rather than settling it.

Lenguaje dominante
JavaScript
Estrellas
1
Forks
7
Merge medio
2 d 8 h
PR fusionados (30 d)
10

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de learningequality/.github

Todos los issues de learningequality/.github

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.