---
title: "Suppress in-app alerts for a muted thread"
description: "Verify that a muted test thread stops producing the specified in-app alert while an otherwise equivalent unmuted control still produces one."
canonical_url: "https://vostride.com/agent-library/notifications/muted-thread-no-alert.md"
md_url: "https://vostride.com/agent-library/notifications/muted-thread-no-alert.md"
content_kind: "recipe"
topic: "notifications"
---

# Suppress in-app alerts for a muted thread

Verify that a muted test thread stops producing the specified in-app alert while an otherwise equivalent unmuted control still produces one.

## Risk

Absence assertions are weak unless the event source and observation window are controlled. A paired control thread proves the fixture producer and notification delivery path were active.

## Fixtures

- The QA user participates in test threads Cedar discussion and Maple discussion, both initially unmuted.
- A prepared external fixture actor can add one synthetic comment to each thread without messaging real people.
- The contract defines a bounded in-app delivery window, and the initial notification inventory contains neither fixture comment.

## Steps

1. Open Cedar discussion, mute it, and verify its visible muted state persists after returning to the thread.
2. Trigger the two prepared fixture comments and verify the fixture actor reports successful creation for both.
3. Open the notification inbox during the documented delivery window and verify the Maple comment notification arrives.
4. After the window closes, verify no Cedar comment notification appears, using the prepared inbox inventory for the exact fixture identifiers.
5. Unmute Cedar and verify the thread state changes back without retroactively inventing a notification unless the product contract explicitly specifies that behavior.

## Expected results

- The control notification demonstrates successful event generation and active delivery during the same observation period.
- The muted thread produces no notification matching its new fixture comment identifier.
- The mute setting persists independently of the transient inbox view.

## False-pass traps

- An empty inbox caused by a stopped event worker is not evidence that muting works.
- Absence of a title substring is insufficient if the notification uses a different summary; match the fixture event identifier externally.

## Cleanup

- Remove synthetic comments and their notifications, and restore both threads to their initial mute preferences.

## 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)
