HUE-052 — Implement durable notification center, attention policy and local sound/desktop delivery
Canonical source:
docs/roadmap/issues.json·HUE-052Specification status:
TBI· Readiness:agent:blocked
Make meaningful task outcomes and attention needs durable, calm and locally visible even after HUE restarts.
- Implement Notification, NotificationEndpoint and NotificationDelivery records plus migrations
- Consume semantic events by durable cursor and apply class, urgency, sensitivity, grouping and deduplication policy
- Build notification center, unread count, filters, deep links and per-item delivery detail
- Implement task subscriptions, per-Space overrides, quiet hours, mute, grouping, completion-duration threshold and retention
- Integrate reference-platform OS notifications and configurable completion/attention sounds
- Persist local delivery attempts, retry/expiry state and channel health diagnostics
Acceptance criteria
Section titled “Acceptance criteria”- A verified long-running task creates exactly one canonical in-app outcome, one configured OS alert and one sound
- Completed-unverified, verified, failed, cancelled and unknown outcomes remain distinct
- Restart between event creation and delivery produces no lost or duplicate canonical notification
- Worker-event bursts group under the task outcome and emit at most one sound
- Quiet hours, local-only Space policy, disabled/unauthorized channels and retention are covered by automated tests
- Keyboard, screen-reader and reduced-motion behavior passes the documented accessibility contract
Dependencies
Section titled “Dependencies”HUE-018HUE-020HUE-051
Non-goals
Section titled “Non-goals”- Ship phone push or third-party messaging gateways
- Make raw runtime logs a notification source
Product contract
Section titled “Product contract”docs/04-ui-specification.mddocs/09-data-model-and-apis.mddocs/16-notifications-attention-delivery.md
Implementation handoff requirements
Section titled “Implementation handoff requirements”- Preserve the documented security, project, memory and event boundaries.
- Add or update automated tests for every observable acceptance criterion.
- Provide real verification output; do not rely on a worker/agent self-report.
- Update only the exact documentation sections whose status changed.
- Include screenshots or a recording for user-interface changes.
- Include migration, rollback and recovery notes for data/state changes.
- Link the pull request to this issue with
Closes #<issue-number>.