MCM-45 — Module Usage Plan Threshold and Expiry Notifications
Warn when a module's own usage plan nears or hits its limit, independent of the enterprise's overall subscription.
MCM-45 — Module Usage Plan Threshold and Expiry Notifications
← Back to Notification System overview
As an Enterprise Admin,
I want to be notified when a module's own usage plan approaches or reaches its limit,
so that I can act — upgrade, request an extension, or reduce usage — before that module stops working, not after it has already expired.
Acceptance Criteria
- Each of Discovery, FinOps, SecOps, Governance, and Orchestration tracks usage against its own assigned plan, independently of the enterprise's overall subscription and of every other module's plan.
- When a module's usage reaches 90 % of its plan limit, a warning notification is sent naming that specific module and its current usage percentage.
- When a module's usage reaches 100 % of its plan limit (expired), a separate, higher-severity notification is sent naming that module and stating it has expired.
- A given module's 90 % warning is sent once per time it is first crossed, not repeated on every subsequent check while usage remains at or above 90 % but below 100 %.
- The 100 % (expired) notification is sent once, the first time that threshold is crossed, and the affected module's own screens reflect the expired state consistently with what the notification says — never one saying "expired" while the module's own UI still shows it as usable, or vice versa.
- These notifications go through the same categorized delivery pipeline, channel preferences, and read/unread mechanics as every other category (see Notification Preferences).
Technical Design
Each module already tracks its own usage against an assigned plan — visible today in the Billing area's existing "Current Plan" view — independent of the enterprise's overall subscription. This story adds a scheduled check against that existing per-module usage tracking, raising a notification the first time a module's usage crosses 90 % of its plan (warning) and again the first time it reaches 100 % (expired), rather than on every check while a threshold is already crossed. Both notifications name the specific module and flow through the same categorized delivery pipeline as every other notification type, so preferences, read state, and channel selection all work identically to any other category.
UI / Frontend Changes
- Notification bell entries for both the 90 % warning and the 100 % expired case clearly name the affected module.
- Clicking either notification deep-links to that module's own Current Plan / usage view.
- The affected module's own screens show the same near-limit / expired state the notification reported, so the two are never inconsistent with each other.