# SD Qualifier account notification subscriptions — 2026-08-06

Status: pass; deployed and configured
Type: evidence
Updated: 2026-08-06
Next Action: retain as deployment evidence; Controller A qualification continues
Campaign Reason: Historical record from campaign 014-complete-standalone-sd-qualifier-acceptance; retained independently after campaign closure and requires no separate owner-queue execution.
Campaign: standalone
Parent: work/tickets/ticket-configure-account-notification-subscriptions.md

## Delivered behavior

SD Qualifier PR #43, merge `1bddd0e59c01ae212309cf336663f9bea756dc41`,
adds the staff-only **Notifications** page, account/topic subscriptions,
canonical notifications with durable per-account deliveries, independent
retry/reminder/escalation state, one-shot approval/rejection completion
messages, migration of legacy recipient state, and isolation of informational
completion from operator interventions and card action state.

Live PostgreSQL verification found that the first delivery-claim query tried
to lock the nullable run join. PR #44, final merge
`b9ccca10424791119140b6cf43c8b7a7468218c2`, restricts `FOR UPDATE` to the
delivery row. The corrected query passed against a disposable PostgreSQL copy
before deployment.

## Qualification evidence

- Focused affected tests: `59/59` pass.
- Exact ARM64 merged image tests: `257/257` pass.
- PostgreSQL migration rehearsal copied `2/2` legacy email notifications into
  matching durable delivery rows.
- Production backup `/backups/sd-qualifier-20260806T200926Z.dump` passed its
  disposable restore check before migration `0020` was applied.
- Final image:
  `sha256:ea8fbb3a0f449f4abcffe13cd4fffbfc10b451342f884aa8541bbf97be62c371`.
- Final release/source identity: `account-notifications-b9ccca1` /
  `b9ccca10424791119140b6cf43c8b7a7468218c2`.

## Live acceptance

- `/sd-qualifier/healthz` returned `status=ok` with database, storage, clock,
  and workers ready.
- Authenticated production rendering returned HTTP `200` and contained the
  Notification subscriptions heading, both supported topics,
  `jong@sheldonmfg.com`, and exactly two checked subscriptions.
- Production has migration `0020`, two enabled `jon` subscriptions, two
  migrated delivery rows, and zero failed deliveries.
- Web and notification worker run the final image with zero restarts; the
  command worker remains on its prior qualified image.
- The one-time setup-test email to `jong@sheldonmfg.com` was accepted by the
  configured SMTP transport (`accepted=1`). This confirms provider acceptance,
  not final inbox placement.
- The in-app browser had no connected browser instance. Authenticated server
  rendering verified the deployed content; no visual screenshot was claimed.

## Campaign continuity

All four Controller A services remained active. Campaign
`648ba10c-0bc0-4319-8089-78a0cce287ce` remained at `28` completed and `1`
active run, exact S4 `44640 / BEFORE`; the deployment did not start Controller
B or perform controller/card access.
