[WIP] Remind an assignee midweek when feedback stays unanswered
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_DAYSor 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.
- Assign a contributor account, comment from the maintainer account, then dispatch the reminder.
Expect no comment, because the feedback is recent. - Backdate the feedback past 7 days and dispatch the reminder. Expect one comment that links the
feedback and names the end date. - Dispatch the reminder again. Expect no second comment.
- Dispatch the sweep. Expect no unassignment, because the limit is 14 days.
- 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
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de learningequality/.github
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
learningequality/.github#112 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
learningequality/.github#130 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 24/100
learningequality/.github#128 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 58/100
learningequality/.github#127 ·
Mantenedores costumam responder em até 1 dia
-
Migrate generate-automation.js to js-yaml 5Talvez já em andamento @rtibblesbot assumiu há 5 dias. Abertacommunity-contribution-in-progress dependencies javascript
learningequality/.github#122 · 1 comentário · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de learningequality/.github
Issues semelhantes
-
Add: OnTime Sports SD LogoAbertacheck:failed logos:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
iptv-org/database#38874 · 1 comentário ·
Mantenedores costumam responder em até 4 dias
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
githubnext/gh-aw-workshop#5193 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
agent/quality stage/040-covered-by-pr testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
cncf/endusers#2031 · 2 comentários ·
Mantenedores costumam responder em até 1 dia