# 06 Notification Tests and Release Hardening Implementation guide: [Ticket Implementation Guide](../ticket-implementation-guide.md) ## Branch `codex/v0.5-webhook-notification/06-notification-tests-and-release-hardening` Start this branch from `codex/v0.5-webhook-notification/05-discord-webhook-delivery`. ## Goal Complete release-level coverage and polish for v0.5 webhook notifications. ## Requirements - Review the full v0.5 implementation against the release README and all prior tickets. - Fill missing tests for permissions, validation, hidden secrets, queued delivery, delivery logs, disabled actions, no-op moves, and multiple actions per event. - Confirm project settings navigation is consistent across settings pages. - Confirm existing ticket move flows still behave the same for web, API, and MCP clients. - Confirm documentation matches the implemented behavior. - Update release ticket docs only when they differ from the finished implementation. ## Acceptance Criteria - All v0.5 acceptance criteria are covered by automated tests. - A ticket status change can trigger multiple enabled actions for the same project. - Failed external deliveries do not prevent ticket status movement. - Secrets are never exposed in resources, Inertia props, logs, or tests. - Existing web, API, and MCP status movement tests pass. - The release docs are accurate after implementation. ## Tests - End-to-end feature tests for creating actions and triggering deliveries from ticket status movement. - Authorization tests for project admin management and non-admin denial. - Regression tests for web, API, and MCP ticket status moves. - HTTP fake tests for webhook and Discord delivery. - Queue tests for dispatch behavior and retryable failures. ## Verification - `php artisan route:list --except-vendor` - `php artisan wayfinder:generate --with-form --no-interaction` - `vendor/bin/pint --dirty --format agent` - `php artisan test --compact tests/Feature/Notifications tests/Feature/Projects tests/Feature/Api/TicketApiTest.php tests/Feature/Mcp` - `npm run types:check` - `git diff --check` ## Commit And Push - Commit only this ticket's changes. - Push with `git push origin codex/v0.5-webhook-notification/06-notification-tests-and-release-hardening`. ## Out of Scope - New notification channels beyond webhook and Discord - User bell notifications - Unread counters - Incoming webhooks - API or MCP management endpoints - OAuth, scoped notification tokens, or external app installations