Skip to content

feat(aggregator): notification measurement — weekly sent-vs-acted-on roll-up (#1254 slice e) #3319

Closed

Description

@dezren39

Implementation slice (e) of the #1254 design (note: doc/2026-11-01T03-54-00Z_design_pwa_push_notifications.md, PR #3314; epic #1184). Follows slice (c) (needs real sends in notifications.jsonl).

Weekly roll-up on /notifications from the engine send log + acted-on detection (item leaves the needs-drew tier, or Drew comments/acts via the dashboard stores): per class — sent, acted-on within 24h, ratio, rolling 4 weeks. A class under 10% acted-on over the rolling window is shown as a default-off proposal on the page. Proposals only: default changes are Drew's call (design Q1) and never automatic.

Acceptance:

  • Roll-up matches a hand-checked week of notifications.jsonl
  • Acted-on attribution is documented on the page (what counts, what cannot be attributed)
  • A sub-10% class renders as a proposal; no setting changes without Drew acting

Activity

  1. added
    kind/featureNew feature or capability request
    priority/normalOrdinary priority (the default)
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Nov 1, 2026
  2. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · consumer contract now stated

    Design #3702 Phase 3 (audit task 5613, 2026-11-03) has stated the alert throat's truth contract in the code — pm-stack/aggregator/src/alerts.ts module header (PR #4977) — and closed the audit on #3702. What this means for the sent-vs-acted-on roll-up:

  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  4. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  5. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  6. 6 remaining items

  7. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codekind/featureNew feature or capability requestpriority/normalOrdinary priority (the default)source/creatorFiled by the new-issue-creator jobtask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions