Files
activity-core/schemas/event-envelope.json
tegwick 6f9132314f Add project scaffold: contracts, schemas, docker-compose, workplans
Phase 0 contracts (event envelope, ActivityDefinition, idempotency doc,
naming conventions) and Phase 1 Temporal cluster setup (docker-compose.dev.yml,
Temporal dynamic config) are complete. Includes Pydantic models, JSON schemas,
wiki architecture docs, and ADR-001 workplan files for both workstreams.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 22:45:40 +01:00

58 lines
1.6 KiB
JSON

{
"description": "Standard internal event envelope. Every event, whether time-fired or\nbroker-delivered, is normalised into this shape before processing.",
"properties": {
"event_id": {
"description": "Stable unique ID. Used for deduplication: if an event with this ID has already been processed, the router skips it.",
"title": "Event Id",
"type": "string"
},
"type": {
"description": "Dot-namespaced event type, e.g. 'user.created'.",
"title": "Type",
"type": "string"
},
"source": {
"description": "Originating service or component, e.g. 'user-service'.",
"title": "Source",
"type": "string"
},
"occurred_at": {
"description": "When the event occurred (UTC).",
"format": "date-time",
"title": "Occurred At",
"type": "string"
},
"subject": {
"description": "Primary resource affected, e.g. 'user/123'.",
"title": "Subject",
"type": "string"
},
"trace_id": {
"description": "Distributed tracing correlation ID.",
"title": "Trace Id",
"type": "string"
},
"schema_version": {
"default": "1.0",
"description": "Schema version string for forward-compatibility.",
"title": "Schema Version",
"type": "string"
},
"payload": {
"additionalProperties": true,
"description": "Event-specific data; structure varies by event type.",
"title": "Payload",
"type": "object"
}
},
"required": [
"event_id",
"type",
"source",
"occurred_at",
"subject",
"trace_id"
],
"title": "EventEnvelope",
"type": "object"
}