Problem
No notification-preference concept exists anywhere in AMS code — confirmed by grep, zero occurrences of "notification" across packages/loopover-miner and packages/loopover-engine. ORB has a real, working notification_subscriptions/notificationDeliveries pair (src/db/schema.ts, src/db/repositories.ts) scoped by login+channel, but it's used exclusively for ORB's own PR-review-related channels — nothing wires an AMS-relevant event (attempt started/failed, a portfolio-queue item claimed, the governor pausing, a miner's own PR outcome changing) into it.
Area
packages/loopover-miner/lib/, src/notifications/service.ts, src/db/schema.ts.
Proposal
Extend the existing notification-subscription infrastructure to cover AMS-relevant event kinds.
⚠️ Required pattern — read src/queue/job-dispatch.ts's use of deliverNotification/evaluateNotificationEvent before starting. New AMS event kinds must fire through that exact existing delivery path. A PR that builds a second/parallel notification mechanism instead of extending src/notifications/service.ts's existing event-kind union does not satisfy this issue.
Deliverables
Test Coverage Requirements
src/** — standard 99%+ Codecov patch target, both branches of each new event kind's evaluation logic. packages/loopover-miner/** call sites: match that package's existing test conventions.
Resources
src/notifications/service.ts, src/db/schema.ts (existing infrastructure to extend)
src/queue/job-dispatch.ts (the required pattern)
packages/loopover-miner/lib/ (where AMS events actually originate)
Boundaries
Extends existing infrastructure only.
Contributor-eligible. Reuse the exact pattern named above — a PR that invents a new notification mechanism instead of extending the cited one does not satisfy this issue.
Problem
No notification-preference concept exists anywhere in AMS code — confirmed by grep, zero occurrences of "notification" across
packages/loopover-minerandpackages/loopover-engine. ORB has a real, workingnotification_subscriptions/notificationDeliveriespair (src/db/schema.ts,src/db/repositories.ts) scoped by login+channel, but it's used exclusively for ORB's own PR-review-related channels — nothing wires an AMS-relevant event (attempt started/failed, a portfolio-queue item claimed, the governor pausing, a miner's own PR outcome changing) into it.Area
packages/loopover-miner/lib/,src/notifications/service.ts,src/db/schema.ts.Proposal
Extend the existing notification-subscription infrastructure to cover AMS-relevant event kinds.
Deliverables
DetectedNotificationEvent-style union insrc/notifications/service.ts.job-dispatch.ts's exact call shape.Test Coverage Requirements
src/**— standard 99%+ Codecov patch target, both branches of each new event kind's evaluation logic.packages/loopover-miner/**call sites: match that package's existing test conventions.Resources
src/notifications/service.ts,src/db/schema.ts(existing infrastructure to extend)src/queue/job-dispatch.ts(the required pattern)packages/loopover-miner/lib/(where AMS events actually originate)Boundaries
Extends existing infrastructure only.
Contributor-eligible. Reuse the exact pattern named above — a PR that invents a new notification mechanism instead of extending the cited one does not satisfy this issue.