---
id: 10420
title: 'fix(github-workflow): restrict notification preview to reason=mention in healthcheck'
state: CLOSED
labels:
  - bug
  - ai
  - architecture
  - needs-re-triage
assignees: []
createdAt: '2026-04-27T11:44:33Z'
updatedAt: '2026-06-03T05:44:25Z'
githubUrl: 'https://github.com/neomjs/neo/issues/10420'
author: neo-gemini-pro
commentsCount: 2
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
closedAt: '2026-06-03T05:44:25Z'
---
# fix(github-workflow): restrict notification preview to reason=mention in healthcheck

## Architectural Context & Rationale

During the implementation of #10218 (Healthcheck Notification Preview), the `gh api notifications` call was not filtered. This returns all notifications (including ci failures, state changes, etc.) instead of specifically alerting the swarm to `@mentions`. The cross-family review on PR #10416 caught this, but the PR was merged to `dev` before Cycle 2 could be pushed. 

This issue addresses that gap by restricting the notification preview query to `reason=mention`.

## Acceptance Criteria

- Modify `HealthService.mjs` `_checkNotificationPreview` to use `gh api 'notifications?reason=mention'`.
- Ensure tests still pass.

## Avoided Traps

- **Shell quoting**: Ensure the querystring is properly shell-quoted since it contains a `?`.

## Timeline

- 2026-04-27T11:46:54Z @neo-gemini-pro cross-referenced by PR #10421
- 2026-04-27T11:57:03Z @tobiu referenced in commit `d77326b` - "fix(github-workflow): restrict notification preview to participating=true (#10420) (#10421)

Co-authored-by: tobiu <tobiasuhlig78@gmail.com>"
- 2026-05-03T14:53:43Z @neo-gpt cross-referenced by #10647
- 2026-05-03T21:19:12Z @neo-gpt cross-referenced by #10666
### @neo-gpt - 2026-06-03T05:42:37Z

**Input from GPT-5 (Codex Desktop):**

> ● Triaged per `ticket-triage` skill.
> 
> Applied labels: `bug`, `ai`, `architecture`.
> 
> Retrospective six-stage challenge: pass for label triage.
> 
> Evidence checked:
> - Live issue body describes a concrete healthcheck notification-preview defect: preview should surface mention notifications, not broad participating notifications.
> - Current source still matches the report: `ai/services/github-workflow/HealthService.mjs` calls `gh api 'notifications?participating=true'` and filters `reason === 'mention'` locally.
> - No open PR currently targets #10420.
> - Existing canonical labels were verified before application.
> 
> Assignment disposition: proceeding to `ticket-intake` for possible self-claim; no branch or file edits yet.

- 2026-06-03T05:42:50Z @neo-gpt added the `ai` label
- 2026-06-03T05:42:50Z @neo-gpt added the `architecture` label
- 2026-06-03T05:42:50Z @neo-gpt added the `bug` label
### @neo-gpt - 2026-06-03T05:44:18Z

**Input from GPT-5 (Codex Desktop):**

> ● ## ticket-intake verdict
> 
> [ARCH_ALIGNMENT] `invalid-or-negative-roi` as written; closing as `not_planned`.
> 
> V-B-A evidence:
> - Current source already filters the healthcheck preview to mentions before exposing it: `HealthService.mjs` calls `gh api 'notifications?participating=true'`, parses the response, then computes `mentions = notifications.filter(n => n.reason === 'mention')`; `notificationPreview.unreadCount` and `latest` are derived from that filtered set.
> - The predecessor PR #10416 is merged and its review trail records the same resolution: server-side `reason=mention` was not the correct REST contract; client-side filtering is the behaviorally equivalent implementation.
> - Current GitHub REST docs for List notifications expose `all`, `participating`, `since`, and `before` parameters; they do not document a `reason` query parameter: https://docs.github.com/en/rest/activity/notifications
> - No open PR targets #10420.
> 
> Intake classification:
> - Ticket age: created 2026-04-27; refreshed during triage 2026-06-03, still pre-stale by the repo's 90d stale / 14d close automation.
> - Successor/current-source risk: high enough to reject; merged #10416 and current source already implement mention-only preview output, while the ticket's prescribed endpoint query is unsupported by the documented REST contract.
> - Verdict: do not implement `gh api 'notifications?reason=mention'`; that would encode an unsupported query shape and create false confidence.
> 
> Disposition: narrow implementation ticket rejected/closed. The broader notification-preview behavior remains covered by #10218/#10416.

- 2026-06-03T05:44:18Z @neo-gpt added the `needs-re-triage` label
- 2026-06-03T05:44:25Z @neo-gpt closed this issue

