---
title: "Limit mark-all-read to the active notification scope"
description: "Verify the documented scope of Mark all read when a notification category is selected, without silently consuming unrelated categories."
canonical_url: "https://vostride.com/agent-library/notifications/mark-all-read-scope.md"
md_url: "https://vostride.com/agent-library/notifications/mark-all-read-scope.md"
content_kind: "recipe"
topic: "notifications"
---

# Limit mark-all-read to the active notification scope

Verify the documented scope of Mark all read when a notification category is selected, without silently consuming unrelated categories.

## Risk

Bulk read behavior varies by product. This recipe uses a category-scoped contract and deliberately includes unread items outside the active category to expose overly broad updates.

## Fixtures

- A test inbox contains two unread Mentions and three unread Build notifications, each with a unique identifier.
- The product specifies that Mark all read affects only the currently selected notification category.
- No new events arrive during the run, and the fixture inventory records all five initial unread states.

## Steps

1. Open the full inbox and verify the total unread count is five.
2. Select Mentions and verify only the two mention fixtures appear.
3. Activate Mark all read and verify both visible mention entries lose their unread state.
4. Switch to Builds and verify all three build entries remain unread and the global badge shows three.
5. Reload, return to Mentions, and verify its two entries remain read while the build category still accounts for the unread total.

## Expected results

- The affected identifier set consists exactly of the two Mention fixtures.
- The three Build fixture states remain unchanged by the category-scoped bulk operation.
- The global unread count equals the untouched Build set after persistence is verified.

## False-pass traps

- A zero badge inside the Mentions tab does not prove other categories were preserved.
- If the real product defines a global scope, adapt the contract instead of falsely declaring category behavior required.

## Cleanup

- Remove all five fixture notifications and reset the selected category preference.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa web testing](/docs/agent-qa/guides/web-testing.md)

- [Notification QA recipes](/agent-library/notifications.md)
- [Software factory QA library](/agent-library.md)
