Skip to content

Events Reference

One topic exchange, datacore.resource-lifecycle, carries every lifecycle event. Full detail (including the Pipeline Router's internal timeout sweep) lives at specs/001-datacore-knowledge-warehouse/contracts/events.md.

Envelope

json
{ "event": "RESOURCE_CREATED", "resource_id": "uuid", "occurred_at": "ISO-8601", "payload": { } }

Events

EventRouting keyPublished whenConsumed by
RESOURCE_CREATEDresource.createdA resource matches a pipeline at creation (or pending pickup)Pipeline Router
PIPELINE_STEP_DISPATCHEDpipeline.step.dispatched.<plugin_id>The Router routes a step to a specific pluginThat plugin's worker(s)
ARTIFACT_GENERATEDartifact.generatedA step's callback reports successReserved for future consumers (logging today)
PIPELINE_STEP_COMPLETEDpipeline.step.completedRight after ARTIFACT_GENERATED, once the next step is determinedReserved for future consumers
RESOURCE_FAILEDresource.failedA step's retries (including timeout-triggered ones) are exhaustedReserved for future consumers

Retry, backoff, and timeout

Each pipeline step has its own max_attempts, backoff_seconds, and timeout_seconds. A step is retried (with delay) on explicit failure or if no callback arrives within timeout_seconds — both paths feed the same retry state machine, so a resource only reaches FAILED once a step's attempts are truly exhausted, never left hanging indefinitely.