Skip to content

Test plan: Notifications and Async Activity Signals

Status: DRAFT — spec.md's Open Question 1 (whether notifications, overdue tasks, and SLA-breached approvals nudge as one combined signal or distinct categories) is unresolved. The scenarios below cover what's already resolved; scenario 1 needs to be finalized once that question closes.

Scenarios

  1. Combined vs. categorized nudge framing. (blocked on Open Question 1)
  2. Once resolved, verify the nudge wording matches whichever framing was chosen (single combined count vs. per-category counts).

  3. List vs. count threshold (Resolved Decisions — content specificity).

  4. Given a user with 1–2 pending items (notifications + overdue tasks combined)
  5. When they initiate a chat
  6. Then the nudge lists each item individually.
  7. Given a user with 3 or more pending items
  8. Then the nudge collapses to a count (e.g., "You have 4 overdue tasks and 1 pending notification — click the link to review.").

  9. SLA-breach gating for approvals (Resolved Decisions — pending approvals).

  10. Given a user with a pending approval still within SLA
  11. When they initiate a chat
  12. Then no nudge is triggered for that approval.
  13. Given a user with an approval whose SLA has been breached
  14. Then the nudge includes it.

  15. No pending items → no nudge.

  16. Given a user with no unread/expired notifications, no overdue tasks, and no SLA-breached approvals
  17. When they initiate a chat
  18. Then the response is unaffected — no nudge segment is added.

  19. Threshold is configurable without a code change (Resolved Decisions — threshold configurability).

  20. Given the list/count threshold is implemented as a named constant/env var
  21. When the value is changed
  22. Then the list-vs-count cutover point shifts accordingly with no redeploy of application code.

  23. Deep link reuses the "Continue in Novaworks" mechanism.

  24. Given a nudge is shown
  25. When the user follows its deep link
  26. Then it resolves through the same mechanism as ../continue-in-novaworks/spec.md (per ../software-design/adr-gateway-owns-untranslatable-response-detection.md), landing the user in the Nova portal where the underlying items can be viewed and acted on.

Out of scope for this pass

  • Native push notifications, Slack/Teams messages, mobile push, email digests — explicitly out of scope in spec.md.
  • Nudge-fatigue mitigation (e.g., not re-nudging on unchanged items across chat turns) — not yet designed; flagged as a Risk in spec.md.