The Notification SDK¶
Every system that runs unattended produces outcomes: it ran, it failed, it is late, it recovered. The notification SDK gives all of them one way to report, and one place that decides what each outcome deserves. It is the core of VirtualForge's notification engine, which describes the capability. This page describes the SDK underneath it.
What it provides¶
| What it means | |
|---|---|
| One event contract | A small, versioned, validated record: what the event is about, its status, its severity, a summary and a link. The written contract is authoritative, not any one implementation, and an event that breaks it is rejected rather than half-delivered |
| One set of routing rules | Rules decide, by source, status and severity, whether an event is only recorded, posted to a chat channel, raised as an alert, or opened as an incident |
| A record of every event | Every event is written to a durable log, whatever else happens to it |
| Adapters for each platform | Delivery to a chat tool, an alerting service, an incident system or a log store is one adapter. The core names no platform, so supporting another one means adding an adapter, not changing the core |
| Watching for silence | A scheduled source that stops reporting can be detected and raised, so a job that never ran does not look like one that succeeded |
Today's adapters are for Slack, Jira Service Management (alerts, heartbeats and incidents), and AWS (the record and the engine's state). They are examples of the pattern, not a limit on it.
Where it is used¶
The SDK runs Endeavor Engineering's own operational monitoring: every build, test and release, scheduled checks, alerts and reviewed incidents report through it. How we use it is on Operational monitoring and incident response.
It is not yet inside customer products. It was built without ties to any one platform or cloud so that it can serve a VirtualForge deployment with that deployment's own adapters. That use is in active development, and not available yet.
About this SDK¶
| What it is | A shared library: the event contract, the routing core, and the platform adapters |
| Languages | Python, running EEI's operations. Java and .NET when a product needs them; every implementation must pass the same contract test cases |
| Availability | Used by EEI operations, and documented openly. Not yet in customer products, and not offered for third-party development |
See the SDK inventory for the rest of the family.