Acting as EngineerC3Accept
Domain event outbox
Every state change writes its event in the same transaction as the change itself. A separate relay dispatches them. No message is produced for a change that did not commit, and no change commits without its event.
SRS section 14.3, transactional outbox
Events recorded
6
Awaiting dispatch
2
With a last error
1
Distinct event types
6
There is no broker here, and the specification defers one deliberately. A polling relay over an outbox table gives the same delivery guarantee for a single deployment at a fraction of the operational cost, and the interface a broker would need is already the row shape below.
Event types
| Event type | Recorded | Awaiting dispatch |
|---|---|---|
| ArtifactRevisionIngested | 1 | 0 |
| ExtractionCompleted | 1 | 0 |
| ClaimAccepted | 1 | 0 |
| BaselineFrozen | 1 | 0 |
| ConfigurationDriftDetected | 1 | 1 |
| OpenItemRaised | 1 | 1 |
Outbox
Newest first. Attempts and the last error are retained so a stuck event is visible.
| Occurred | Type | Aggregate | Dispatched | Attempts | Last error |
|---|---|---|---|---|---|
| 2026-05-06 20:00 | ArtifactRevisionIngested | ARTIFACT_REVISION REV-SPC-002 | 2026-05-06 20:01 | 1 | - |
| 2026-05-07 06:00 | ExtractionCompleted | ARTIFACT_REVISION REV-SPC-002 | 2026-05-07 06:01 | 1 | - |
| 2026-05-10 18:00 | ClaimAccepted | CLAIM CLM-2026-0045-0004 | 2026-05-10 18:00 | 1 | - |
| 2026-05-13 02:00 | BaselineFrozen | BASELINE BSL-2026-0045-0001 | 2026-05-13 02:01 | 1 | - |
| 2026-05-17 08:00 | ConfigurationDriftDetected | CONFIGURATION_SNAPSHOT SNP-2026-0045-0001 | pending | 3 | No subscriber is registered for this event type in the sandbox. |
| 2026-05-17 08:00 | OpenItemRaised | OPEN_ITEM OPN-2026-0045-0001 | pending | 0 | - |
Payloads
The row a broker would carry, unchanged.
[
{
"id": "EVT-0001",
"projectId": "PRJ-2026-0045",
"eventType": "ArtifactRevisionIngested",
"aggregateKind": "ARTIFACT_REVISION",
"aggregateId": "REV-SPC-002",
"payload": {
"revision": 2
},
"occurredAt": "2026-05-06T20:00:00.000Z",
"dispatchedAt": "2026-05-06T20:01:12.000Z",
"attempts": 1,
"lastError": null
},
{
"id": "EVT-0002",
"projectId": "PRJ-2026-0045",
"eventType": "ExtractionCompleted",
"aggregateKind": "ARTIFACT_REVISION",
"aggregateId": "REV-SPC-002",
"payload": {
"claims": 26,
"ontologyVersion": "lv-panel/1.3.0"
},
"occurredAt": "2026-05-07T06:00:00.000Z",
"dispatchedAt": "2026-05-07T06:01:48.000Z",
"attempts": 1,
"lastError": null
},
{
"id": "EVT-0003",
"projectId": "PRJ-2026-0045",
"eventType": "ClaimAccepted",
"aggregateKind": "CLAIM",
"aggregateId": "CLM-2026-0045-0004",
"payload": {
"attributeKey": "RatedCurrentMain",
"value": "3200"
},
"occurredAt": "2026-05-10T18:00:00.000Z",
"dispatchedAt": "2026-05-10T18:00:36.000Z",
"attempts": 1,
"lastError": null
},
{
"id": "EVT-0004",
"projectId": "PRJ-2026-0045",
"eventType": "BaselineFrozen",
"aggregateKind": "BASELINE",
"aggregateId": "BSL-2026-0045-0001",
"payload": {
"baselineType": "REQUIREMENT"
},
"occurredAt": "2026-05-13T02:00:00.000Z",
"dispatchedAt": "2026-05-13T02:01:12.000Z",
"attempts": 1,
"lastError": null
},
{
"id": "EVT-0005",
"projectId": "PRJ-2026-0045",
"eventType": "ConfigurationDriftDetected",
"aggregateKind": "CONFIGURATION_SNAPSHOT",
"aggregateId": "SNP-2026-0045-0001",
"payload": {
"storedRevision": 2,
"upstreamRevision": 3
},
"occurredAt": "2026-05-17T08:00:00.000Z",
"dispatchedAt": null,
"attempts": 3,
"lastError": "No subscriber is registered for this event type in the sandbox."
},
{
"id": "EVT-0006",
"projectId": "PRJ-2026-0045",
"eventType": "OpenItemRaised",
"aggregateKind": "OPEN_ITEM",
"aggregateId": "OPN-2026-0045-0001",
"payload": {
"severity": "HIGH",
"itemType": "CONFIGURATION_DRIFT"
},
"occurredAt": "2026-05-17T08:00:00.000Z",
"dispatchedAt": null,
"attempts": 0,
"lastError": null
}
]