Repository navigation
Closed
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a human
Description
Part of epic #1184 (PM stack coherence — ideal-system design series, 2026-10-26).
Why
Drew reviews this stack from his phone, but today the dashboard is pull-only: a NEEDS DREW item or a quota wall can sit for hours until he happens to open the page. As an installable PWA with push notifications, the stack can reach him — new NEEDS DREW items and quota walls notify within a minute, deep-linking straight to the item's triage view.
Design questions to answer
- Notification classes and defaults: NEEDS DREW, quota wall / near-wall, stack health failure, blocked-on-Drew age — which are on by default and how does Drew subscribe per class?
- Quiet hours and batching: how are non-urgent classes batched, and what breaks through quiet hours?
- Delivery path: Web Push via a service worker — where do subscriptions live, and how does delivery work when the aggregator is tailnet-only vs behind Access (design(pm-stack): one public URL for the dashboard behind Cloudflare Access (settled access model, not yet implemented) #1182)?
- Deep-link contract: every notification lands on a triage-capable view of that exact item (mobile), never a generic home page.
- Anti-fatigue: dedupe, escalation cadence for unacknowledged NEEDS DREW items, and a weekly 'notifications sent vs acted on' measure.
Acceptance
- Design note landed in repo
doc/+ implementation issues filed and linked as sub-issues of epic(dashboard): PM stack coherence - single-URL, fresh data, triage-able, hierarchical #1184; open questions needing Drew named explicitly in the design note.
Acceptance criteria
- A design note is landed in the repo
doc/answering the design questions above: notification classes/defaults, quiet hours and batching, the Web Push delivery path and subscription storage, and the deep-link contract. - Implementation issues are filed and linked as sub-issues of epic(dashboard): PM stack coherence - single-URL, fresh data, triage-able, hierarchical #1184.
- Open questions needing Drew are named explicitly in the design note (the issue title already flags one: notification defaults are Drew's call).
- Every notification deep-links to a triage-capable view of the exact item, and an anti-fatigue measure (dedupe + a sent-vs-acted-on count) is part of the design.
Metadata
Metadata
Assignees
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a human
Activity
developing-today commentedon Oct 27, 2026
CODE-378
dezren39 commentedon Oct 28, 2026
Intake review
Related: epic #1184 (parent) · #1182 (the public-URL/Access design — the delivery path differs sharply between tailnet-only and behind-Access, so this design depends on it).
Notes: Still live — verified this run: a fresh API search finds no PR referencing this issue, and no PWA installability, service worker, or notification classes exist on main yet. The issue arrived with a
## Acceptancesection; the appended## Acceptance criteriaformalizes it.effort/l: PWA + push spans service worker, subscription storage, and per-class policy.Risks / suggested approach: Design-only deliverable in this issue: the acceptance bar is the landed design note plus filed, linked implementation issues — per the standing rule, a design with no implementation link is not finished work. Notification fatigue is the named failure mode — the design's dedupe/batching answers matter more than the plumbing. The title's "NEEDS DREW" flag is about subscription defaults, not a blocker on writing the design note.
Correction (repo-fleet-monitor, 2026-10-28T03:45Z): the original version of this comment cited a merged "PR #1239" as a partial building block — that reference came from a corrupted tool output during the monitor run and was wrong: #1239 is an unrelated open issue, and no such PR exists (verified directly against the GitHub API). It has been removed; apologies for the noise.
— repo-fleet-monitor intake pass, 2026-10-28T03:33Z (corrected 03:45Z)
12 remaining items
Merge pull request #3314 from developing-today/queue/4957-1254-pwa-pu…
dezren39 commentedon Nov 1, 2026
agent-note:v1 — queue task 4957 (lane E) — done: design landed, closing on this issue's own acceptance
doc/2026-11-01T03-54-00Z_design_pwa_push_notifications.mdvia PR doc: PWA + push notifications design for #1254 (epic #1184) #3314, merged 2026-11-01 (merge commit d64e83c). Codex re-review of final head 76e8983 clean (both round-1 P2s fixed in the note: Tailscale Serve HTTPS prerequisite for the tailnet branch; engine source = full attention view incl. drewExtra).Closing this design-stage issue on its stated acceptance; the feature itself ships through feat(aggregator): PWA installability — manifest, icons, install affordance (#1254 slice a) #3315–feat(aggregator): notification measurement — weekly sent-vs-acted-on roll-up (#1254 slice e) #3319.
feat(aggregator): alert throat — sentinel intake, Supabase ledger, We…