Skip to content

sgns::sgprocessing::Artifact

More...

#include <artifact_types.hpp>

Public Attributes

Name
char[MAX_RESOURCE_NAME] resourceName
Human-readable output name, null-terminated.
uint8_t[SHA256_HASH_SIZE] artifactId
SHA-256 of raw artifact bytes (D-01: content-addressable ID)
char[MAX_RESOURCE_NAME] passId
Producing pass identity from schema.
char[MAX_RESOURCE_NAME] outputBinding
Output binding reference (e.g. "output:render_target")
char[64] dataType
DataType string (e.g. "TEXTURE2_D", "TENSOR", "STRING")
char[64] format
InputFormat string (e.g. "FLOAT32", "RGBA8", "INT8")
uint32_t width
0 if not applicable (e.g. string output)
uint32_t height
0 if not applicable
uint32_t depth
0 if not applicable (1 for 2D textures by convention)
uint64_t byteSize
Size of raw artifact bytes in bytes.
char[MAX_MEDIA_TYPE] mediaType
e.g. "application/octet-stream", "image/png"
uint8_t[SHA256_HASH_SIZE] contentHash
SHA-256 of raw artifact bytes only (D-03/D-07)
uint32_t chunkHashCount
How many chunk hashes the job produced (D-09); 0 if no chunking.
uint8_t[1024][SHA256_HASH_SIZE] chunkHashes
Per-chunk SHA-256 hashes from processor output (D-08); max 1024 (D-06)

Detailed Description

struct sgns::sgprocessing::Artifact;

Typed output artifact record (ARTF-01, ARTF-02, ARTF-03).

Every artifact carries: identity (resource name + content-hash-based ID), format metadata (data type, format, dimensions, byte size, media type), and per-chunk SHA-256 hashes from the producing processor.

Content-hash-based identity (D-01): artifactId = SHA-256 of raw artifact bytes. Same bytes → same ID across any execution — enables deduplication and caching.

Public Attributes Documentation

variable resourceName

char[MAX_RESOURCE_NAME] resourceName;

Human-readable output name, null-terminated.

variable artifactId

uint8_t[SHA256_HASH_SIZE] artifactId;

SHA-256 of raw artifact bytes (D-01: content-addressable ID)

variable passId

char[MAX_RESOURCE_NAME] passId;

Producing pass identity from schema.

variable outputBinding

char[MAX_RESOURCE_NAME] outputBinding;

Output binding reference (e.g. "output:render_target")

variable dataType

char[64] dataType;

DataType string (e.g. "TEXTURE2_D", "TENSOR", "STRING")

variable format

char[64] format;

InputFormat string (e.g. "FLOAT32", "RGBA8", "INT8")

variable width

uint32_t width = 0;

0 if not applicable (e.g. string output)

variable height

uint32_t height = 0;

0 if not applicable

variable depth

uint32_t depth = 0;

0 if not applicable (1 for 2D textures by convention)

variable byteSize

uint64_t byteSize = 0;

Size of raw artifact bytes in bytes.

variable mediaType

char[MAX_MEDIA_TYPE] mediaType;

e.g. "application/octet-stream", "image/png"

variable contentHash

uint8_t[SHA256_HASH_SIZE] contentHash;

SHA-256 of raw artifact bytes only (D-03/D-07)

variable chunkHashCount

uint32_t chunkHashCount = 0;

How many chunk hashes the job produced (D-09); 0 if no chunking.

variable chunkHashes

uint8_t[1024][SHA256_HASH_SIZE] chunkHashes = {};

Per-chunk SHA-256 hashes from processor output (D-08); max 1024 (D-06)


Updated on 2026-09-17 at 06:29:14 +0000