Define the canonical event record emitted by Victus processing stages.
PipelineEvent makes pipeline execution observable, auditable, debuggable, and
replayable. It records what happened during execution without storing scientific
payloads.
event_idevent_id is globally unique inside Victus.event_id is immutable after creation.run_id.PipelineEvent is owned by victus-processing.
{
"event_id": "string",
"run_id": "string",
"timestamp": "datetime",
"process_name": "string",
"stage": "string",
"event_type": "stage_started|stage_succeeded|stage_failed|artifact_created|artifact_validated|artifact_invalid|routing_decision|skipped|warning|retry_scheduled|retry_exhausted",
"severity": "debug|info|warning|error|critical",
"status": "started|succeeded|failed|skipped|warning",
"paper_id": "string|null",
"artifact_id": "string|null",
"artifact_path": "string|null",
"message": "string",
"metadata": {}
}
| Field | Type | Description |
|---|---|---|
event_id |
String | Unique identifier for the event. |
run_id |
String | Identifier of the parent PipelineRun. |
timestamp |
Datetime | Time when the event was emitted. |
process_name |
String | Name of the process that emitted the event. |
stage |
String | Coarser pipeline stage. |
event_type |
Enum | Machine-readable event type. |
severity |
Enum | Operational severity. |
status |
Enum | Simplified event outcome. |
paper_id |
String / Null | Paper affected by the event. |
artifact_id |
String / Null | Artifact affected by the event. |
artifact_path |
String / Null | Physical path for the artifact when relevant. |
message |
String | Short human-readable description. |
metadata |
Object | Small structured diagnostic payload. |
PipelineEvent must record:
PipelineEvent must not store:
Large payloads must be stored as artifacts and referenced by path or artifact
identifier.
event_id must be unique and immutable.run_id must reference one PipelineRun.event_type, severity, and status must use allowed values.message must not be empty.metadata must be an object.stage_startedstage_succeededstage_failedartifact_createdartifact_validatedartifact_invalidrouting_decisionskippedwarningretry_scheduledretry_exhausteddebuginfowarningerrorcriticalstartedsucceededfailedskippedwarningCreated when a process emits an execution event.
Events are append-only and should not be materially updated.
Not deleted under normal operation.
Deprecated only by future contract version or event taxonomy migration.
PipelineRunArtifactManifestPipelineEvent.run_id -> PipelineRun.run_idPipelineEvent.paper_id -> Paper.paper_idPipelineEvent.artifact_id -> ArtifactManifest.artifact_idInitial JSONL target:
data/lake/pipeline_events.jsonl
Future database target:
pipeline_events
Recommended indexes:
run_idpaper_idprocess_namestageevent_typetimestampDocumentation clarification or validation wording refinement.
Backward-compatible additions such as nullable fields, new event types, or
additional metadata guidance.
Breaking schema changes, identity changes, event meaning changes, field
removals, or semantic meaning changes.