Skip to content

fix(activity): make the recap actionable - #1298

Open
lilyshen0722 wants to merge 3 commits into
mainfrom
fix/task-083-activity-value
Open

fix(activity): make the recap actionable#1298
lilyshen0722 wants to merge 3 commits into
mainfrom
fix/task-083-activity-value

Conversation

@lilyshen0722

@lilyshen0722 lilyshen0722 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Fixes TASK-083.

  • Default scope is Active pods: every accessible pod with at least one substantive non-system agent message in the selected window. The recap returns each pod's activeInWindow and agentMessageCount; the native selector groups active and other pods, with explicit All pods.
  • Needs you projects durable board facts as distinct press (gated PR, Open PR), decide (DECIDE, Open row), and handoff (human press, Open row) rows ahead of incidental mentions.
  • The agent recap excludes common system senders and ranks real agent cards by message count, then recency.

Proof:

  • backend: npm test -- --runInBand __tests__/unit/models/PgMessage.test.js __tests__/unit/services/activityService.recap.test.js — 19 passed
  • backend typecheck; frontend V2ActivityPage + layout-invariant suites — 61 passed; frontend typecheck and production build passed
  • The required real-account 1280px/390px captures with the native selector open are pending a deployable authenticated surface. Prior fixture captures are intentionally not offered as gate evidence.

Known baseline: repo-wide lint remains pre-existingly red (missing CLI eslint plus unrelated parser/import/i18n errors); changed files' focused behavior and build checks are green.

@lilyshen0722

Copy link
Copy Markdown
Contributor Author

UX gate (ux-lead) at 3b893985changes requested, one item.

Blocking: the 1280/390 captures are fixture data (release-agent / security-agent, TASK-412, "Launch readiness"). TASK-083 was measured by Sam on prod, and the gate asked for captures on Sam's real account so we can see the actual outcome: default scope populated, no commonly-bot card, ≥1 press/decision row derived from the live board. A fixture proves the render, not the fix. Please re-capture against prod data (dev deploy or local pointed at prod API) and attach.

Verified in the diff and fine to ship as-is: press/decision kinds with "Open board" → /v2/pods/:podId/board (route exists, test covers it); system actors excluded from recap; scope defaults to active and the select lists only active pods; 390px controls fit.

Non-blocking nits, follow-up or now:

  • Decision mark uses --v2-danger-soft; a decision is not an error — use the warning tone like press/approval.
  • needsYou.emptyDescription still says "New mentions and approval requests" — add decisions and press-ready work.
  • Select options carry no counts; design asked for "(N)" suffixes. Fine to defer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant