Problem
src/notifications/service.ts's notification event-kind union has no quota-related event, and evaluateTenantQuota's per-dimension "remaining" figures (packages/loopover-engine/src/tenant-quota.ts) are never checked against a soft warning threshold anywhere.
Area
src/notifications/service.ts, packages/loopover-engine/src/tenant-quota.ts.
Proposal
This issue is sequenced after #7647 — do not start until #7647 (the hard-block admission-check wiring) has actually landed in src/queue/job-dispatch.ts. Add a quota-warning event kind and check it at the exact same admission-check point #7647 adds (e.g. 80%/90% remaining), firing through the existing notification delivery path (src/queue/job-dispatch.ts's deliverNotification/evaluateNotificationEvent calls — the required pattern, same as #7647 itself uses).
⚠️ Do not invent a separate quota-checking call site — this must hook into the same admission-check point #7647 adds, not a new one.
Deliverables
Test Coverage Requirements
src/** — standard 99%+ Codecov patch target, both branches (under threshold / at-or-over threshold).
Resources
Boundaries
Blocked on #7647 — see the native blocked-by relationship on this issue.
Re-locked to maintainer-only on 2026-07-21 — see the issue comment for why (tenant billing/usage-exposure surface, not purely mechanical). This line is left from before that correction; do not treat it as current guidance.
Problem
src/notifications/service.ts's notification event-kind union has no quota-related event, andevaluateTenantQuota's per-dimension "remaining" figures (packages/loopover-engine/src/tenant-quota.ts) are never checked against a soft warning threshold anywhere.Area
src/notifications/service.ts,packages/loopover-engine/src/tenant-quota.ts.Proposal
This issue is sequenced after #7647 — do not start until #7647 (the hard-block admission-check wiring) has actually landed in
src/queue/job-dispatch.ts. Add a quota-warning event kind and check it at the exact same admission-check point #7647 adds (e.g. 80%/90% remaining), firing through the existing notification delivery path (src/queue/job-dispatch.ts'sdeliverNotification/evaluateNotificationEventcalls — the required pattern, same as #7647 itself uses).Deliverables
Test Coverage Requirements
src/**— standard 99%+ Codecov patch target, both branches (under threshold / at-or-over threshold).Resources
src/notifications/service.ts,src/types.tssrc/queue/job-dispatch.ts(the required pattern)Boundaries
Blocked on #7647 — see the native blocked-by relationship on this issue.
Re-locked to maintainer-only on 2026-07-21 — see the issue comment for why (tenant billing/usage-exposure surface, not purely mechanical). This line is left from before that correction; do not treat it as current guidance.