[WIP] Assign a validated contributor issue to the contributor who opened it
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:
- Assign on the verdict alone. The person who found the problem gets first refusal, and a
maintainer who disagrees unassigns them during triage. - Assign once a maintainer marks the issue open for contribution. The trigger becomes the
help wantedlabel on an issue that already carries aclaim holdsverdict, 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_ISSUESor the cooldown. - Assigning anyone other than the issue author.
- Closing an issue on a
duplicate of #N,already fixedorout of scopeverdict. The
comment recommends a close and a maintainer decides.
Acceptance Criteria
- A
claim holdsverdict 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
rtibblesbotassigns 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_ISSUESis 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. -
/assignand this path share one gate helper.
Testing
Test in test-actions. See
testing the automations.
The contributor cases need an account outside the organization.
- 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. - Post a comment carrying the marker and a
claim does not holdverdict from a maintainer
account. Expect no assignment, because the author is notrtibblesbot. - Assign the contributor to two other issues first, then repeat step 1. Expect no assignment and
the at-limit message. - 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
- 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 learningequality/.github
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
learningequality/.github#112 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
learningequality/.github#129 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 24/100
learningequality/.github#128 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
learningequality/.github#127 ·
Los mantenedores suelen responder en 1 día
-
Migrate generate-automation.js to js-yaml 5Posiblemente ocupada @rtibblesbot la tomó hace 4 días. Abiertocommunity-contribution-in-progress dependencies javascript
learningequality/.github#122 · 1 comentario · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de learningequality/.github
Issues similares
-
[guide] AGENTS.md claims the coverage gate, e2e and full lint run on every PR after ADR 0011 focused validationPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
Dificultad 2/5 1-3 horas Aptitud para principiantes 81/100
cncf/endusers#2006 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
check:passed feeds:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
all-contributors/cli#587 ·
Los mantenedores suelen responder en 1 día
-
RGAA5
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 8 días
-
feedback simulation workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
githubnext/gh-aw-workshop#5157 ·
Los mantenedores suelen responder en 1 día