pub struct Artifact {
pub primary: String,
pub sidecars: Vec<(String, Vec<u8>)>,
pub citations: Vec<ContractId>,
pub quorum_status: QuorumStatus,
}Expand description
Emitted artifact — primary source/IR text plus sidecar files plus the structural citation chain to Layer-5 compile contracts.
The citations field is the structural channel that closes the
audit chain: every target-specific IR construct in primary cites
a Layer-5 compile contract by ID. Recovery is via this field, NOT
via regex over primary text. See
contracts/xpile-backend-trait-v1.yaml equation compile_contract_citation.
Fields§
§primary: StringEmitted source / IR text (Rust source, Ruchy source, PTX text, WGSL source, SPIR-V text, Lean source).
sidecars: Vec<(String, Vec<u8>)>Optional binaries, manifests, debug maps, accompanying the primary.
citations: Vec<ContractId>Layer-5 compile contracts sanctioning every target-specific
construct in primary. Structural — not regex-recoverable.
quorum_status: QuorumStatusMulti-emitter quorum status (PMAT-262 / Section 29). At v0.1.0
every Backend impl emits exactly one artifact, so this is always
QuorumStatus::Single { emitter: <backend_name> }. Multi-emitter
backends (future rustc_codegen_nvvm + aprender-gpu quorum on PTX)
populate QuorumStatus::Multi { ... } with the diff_exec result.
Defaults via serde to Single { emitter: "unknown" } for
backward-compatible deserialization of older JSON payloads.