Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[WIP] Remind an assignee midweek when feedback stays unanswered

Aberta
#129 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
github-actions, javascript
Domínio
devops

Direção de pesquisa

Read the inactivity helper from #128, scripts/constants.js, and the existing sweep and hasRecentBotComment helper to understand the shared trigger and exemptions. Follow the automation testing guide in docs/testing-automations.md and dispatch the workflow in test-actions. Done means the Thursday reminder links pending feedback, states the assignment end date, skips exempt or ineligible assignees, and passes the listed repeat and sweep checks.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Overview

The sweep unassigns a contributor with no warning. The first message they receive is the
unassignment itself. With the limit dropping to 14 days in #128, a contributor who misses one
week of feedback loses the issue.

Add a midweek reminder. It comments when feedback stays unanswered, and it names what it waits
for and the date the assignment ends.

Context

#128 defines inactivity as feedback that the assignee left unanswered. That gives the reminder a
clean trigger, because the same helper returns the pending feedback and its age.

The reminder posts a bot comment. Under #128 a bot comment starts no clock and answers nothing,
so the reminder never extends the assignment it warns about. Today it would, because the sweep
reads issue.updated_at.

The Change

Add an inactivity-reminder automation. A new script, a new leaf, and a registry entry on a
Thursday cron, 1 0 * * 4. The sweep stays on Monday.

Comment when feedback stays unanswered for INACTIVITY_WARNING_DAYS, set to 7 in
scripts/constants.js. The reminder reads the pending feedback helper that #128 exports, so the
sweep and the reminder agree on the number.

Name the feedback and the deadline. The comment links the comment or review that waits for an
answer, and it states the date the assignment ends. It asks for a commit or a pull request, not
for a confirmation of interest, because under #128 a comment only delays the removal by
COMMENT_GRACE_DAYS and never answers the feedback.

Post at most once a week per issue. The comment carries an INACTIVITY_REMINDER marker, and
the script uses the existing hasRecentBotComment helper to skip an issue it already warned.

Use the same exemptions as the sweep. Organization members and site admins are skipped.

Cadence

Removal runs Monday at 14 days, and the reminder runs Thursday at 7 days:

Range
Notice before removal 4 to 11 days
Unanswered feedback to removal 14 to 20 days

A comment from the assignee adds the COMMENT_GRACE_DAYS window from #128, so the upper figure
becomes 27 days in that case.

The spread comes from the weekly crons. Feedback that lands on a Tuesday waits until day 20,
because day 13 is a Monday and the limit is not met yet. Running both daily makes it exactly 7
days of notice and removal at 14. The sweep job took 14 seconds on kolibri on 2026-10-26, so
cost is not the obstacle.

Out of Scope
  • Changing INACTIVITY_DAYS or what counts as an answer. Both belong to #128.
  • Reminding anyone other than the assignee.
  • Any reminder on a pull request that carries no linked issue.
Acceptance Criteria
  • An assignee with feedback unanswered for 7 days receives a comment.
  • The comment links the feedback it waits for and states the date the assignment ends.
  • An assignee with no feedback pending receives nothing.
  • An assignee waiting on review receives nothing.
  • The reminder posts at most once a week on one issue.
  • The reminder does not reset the inactivity clock.
  • Organization members and site admins receive nothing.
  • An assignee who answers after a reminder is not unassigned.
Testing

Test in test-actions. See
testing the automations.
Dispatch the workflow by hand rather than waiting for the cron.

  1. Assign a contributor account, comment from the maintainer account, then dispatch the reminder.
    Expect no comment, because the feedback is recent.
  2. Backdate the feedback past 7 days and dispatch the reminder. Expect one comment that links the
    feedback and names the end date.
  3. Dispatch the reminder again. Expect no second comment.
  4. Dispatch the sweep. Expect no unassignment, because the limit is 14 days.
  5. Answer the feedback from the contributor account, then dispatch both. Expect no comment and no
    unassignment.
References

#128 defines the measure this reminder reads, and it must land first. #127 covers the cooldown
after a removal.

AI usage

I used Claude Code to confirm the cron and runtime of the current sweep, to check that
hasRecentBotComment already supports a marker and a window, and to work out the notice range
that two weekly crons produce. I decided the Thursday cadence and the 7-day warning point.

Linguagem predominante
JavaScript
Estrelas
1
Forks
7
Merge médio
2d 8h
PRs com merge (30d)
10

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de learningequality/.github

Todas as issues de learningequality/.github

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.