Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions .github/scripts/pull-request-dashboard/author_nudge.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
gh_graphql,
run_gh,
)
from dashboard_override import author_override_guidance
from dashboard_override import DASHBOARD_COMMAND_PREFIX
from pr_status_comment import (
DASHBOARD_APP_SLUG,
managed_status_comments,
Expand Down Expand Up @@ -321,19 +321,14 @@ def render_nudge(
return "\n".join([
nudge_marker(episode_id),
f"Hi @{author} — just a friendly reminder that this pull request is "
"waiting on you.",
f"waiting on you. The [dashboard status comment]({status_url}) has the "
"open items and is kept current.",
"",
f"This pull request still needs your attention. See the "
f"[dashboard status comment]({status_url}) for the full list and current "
"routing; that comment is kept current.",
"",
author_override_guidance(
"This break-glass handoff works even when required checks, Copilot "
"review, or merge conflicts are still outstanding."
),
"",
"_This reminder is a snapshot; the linked dashboard status is the current "
"source of truth._",
"- Replying is enough to hand it off — answer, explain why no change is "
"needed, or ask a follow-up. The dashboard routes it onward once nothing "
"on the list is waiting on you.",
"- To hand it back for any other reason, including the dashboard getting "
f"this wrong, comment `{DASHBOARD_COMMAND_PREFIX} route:reviewers`.",
"",
])

Expand Down
14 changes: 7 additions & 7 deletions .github/scripts/pull-request-dashboard/test_author_nudge.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,19 +187,19 @@ def test_nudge_advertises_dashboard_override_command(self) -> None:

self.assertIn("just a friendly reminder", body)
self.assertIn(
"_This reminder is a snapshot; the linked dashboard status is the "
"current source of truth._",
"The [dashboard status comment](https://example.test/status) has the "
"open items and is kept current.",
body,
)
self.assertIn(
"comment `/dashboard route:reviewers` to request routing from waiting "
"on the author to waiting on reviewers. The dashboard binds the "
"request to the head it sees when it reads the command",
"- Replying is enough to hand it off — answer, explain why no change "
"is needed, or ask a follow-up. The dashboard routes it onward once "
"nothing on the list is waiting on you.",
body,
)
self.assertIn(
"works even when required checks, Copilot review, or merge conflicts "
"are still outstanding",
"- To hand it back for any other reason, including the dashboard "
"getting this wrong, comment `/dashboard route:reviewers`.",
body,
)

Expand Down
11 changes: 6 additions & 5 deletions pull-request-dashboard/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,11 +240,12 @@ or an approver can use it, and replies to any unrecognized `/dashboard` command.

The dashboard posts one reminder when a pull request remains in *Waiting on
authors* for one week. The friendly reminder @-mentions the author, links to the
dashboard-managed status comment containing the current blockers, and advertises
`/dashboard route:reviewers` as a break-glass handoff when the author needs human
help. The same one-week clock applies while the author route is held on required
checks, Copilot review, or merge conflicts. An italic footer calls the reminder
a snapshot and identifies the linked status comment as the live source of truth.
dashboard-managed status comment containing the current blockers, says that
answering the open items resumes normal approval-based routing, and advertises
`/dashboard route:reviewers` as a break-glass handoff for any other reason,
Comment thread
trask marked this conversation as resolved.
including the dashboard routing the pull request wrongly. The same one-week clock
applies while the author route is held on required checks, Copilot review, or
merge conflicts.

When the dashboard routes the pull request to approvers or maintainers, it
appends an italic note saying that the pull request is no longer waiting on the
Expand Down