Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#130 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, javascript
Ambito
devtools

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

❌ 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.

Lingua principale
JavaScript
Stelle
1
Fork
7
Merge medio
2g 8h
PR unite (30g)
10

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di learningequality/.github

Tutte le issue di learningequality/.github

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.