Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[WIP] Remind an assignee midweek when feedback stays unanswered

オープン
#129 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, javascript
領域
devops

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
JavaScript
スター
1
フォーク
7
平均マージ
2日 8時間
マージ済み PR(30日)
10

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

learningequality/.github のほかの issue

learningequality/.github の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。