artifacts/execution_manifest.hpp¶
Namespaces¶
| Name |
|---|
| sgns |
| sgns::sgprocessing Artifact and manifest binary serialization. |
Classes¶
| Name | |
|---|---|
| struct | sgns::sgprocessing::ExecutionManifest |
Attributes¶
| Name | |
|---|---|
| constexpr size_t | MAX_ARTIFACT_REFS Max input/output artifact hash references. |
| constexpr size_t | MAX_IDENTIFIER Max bytes for execution/attempt/task/subtask/pass ID strings. |
Attributes Documentation¶
variable MAX_ARTIFACT_REFS¶
Max input/output artifact hash references.
variable MAX_IDENTIFIER¶
Max bytes for execution/attempt/task/subtask/pass ID strings.
Source code¶
#ifndef SGPROCMGR_EXECUTION_MANIFEST_HPP
#define SGPROCMGR_EXECUTION_MANIFEST_HPP
#include <cstdint>
#include "artifacts/artifact_types.hpp"
namespace sgns::sgprocessing
{
// Manifest-specific size constants (D-06).
static constexpr size_t MAX_ARTIFACT_REFS = 64;
static constexpr size_t MAX_IDENTIFIER = 256;
struct ExecutionManifest
{
// ── Execution identifiers (ARTF-04 first group) ────────────────
char executionId[MAX_IDENTIFIER];
char attemptId[MAX_IDENTIFIER];
char taskId[MAX_IDENTIFIER];
char subtaskId[MAX_IDENTIFIER];
char passId[MAX_RESOURCE_NAME];
// ── Executor & compatibility identities (D-13, D-14) ───────────
uint8_t executorIdentity[SHA256_HASH_SIZE];
uint8_t modelIdentity[SHA256_HASH_SIZE];
uint8_t tokenizerIdentity[SHA256_HASH_SIZE];
uint8_t adapterIdentity[SHA256_HASH_SIZE];
uint8_t shaderIdentity[SHA256_HASH_SIZE];
uint8_t quantizationIdentity[SHA256_HASH_SIZE];
// ── Input / output artifact hash references (D-13) ─────────────
uint32_t inputArtifactCount = 0;
uint8_t inputArtifactHashes[MAX_ARTIFACT_REFS][SHA256_HASH_SIZE];
uint32_t outputArtifactCount = 0;
uint8_t outputArtifactHashes[MAX_ARTIFACT_REFS][SHA256_HASH_SIZE];
// ── Timing (D-13) ──────────────────────────────────────────────
int64_t startTimeUsec = 0;
int64_t endTimeUsec = 0;
// ── Terminal state (D-13, D-15) ────────────────────────────────
TerminalState terminalState = TerminalState::Success;
// ── Resource-use summary (D-13) ────────────────────────────────
uint64_t gpuMemoryUsedBytes = 0;
uint64_t outputBytesProduced = 0;
uint64_t wallClockUsec = 0;
// ── Manifest self-hash ─────────────────────────────────────────
//
// Computed by SerializeManifest() in artifact_serializer.hpp as
// SHA-256 of the serialized manifest bytes with this field zeroed
// (to avoid self-referential hashing). Write all zeros here before
// calling SerializeManifest / ComputeManifestHash.
uint8_t manifestHash[SHA256_HASH_SIZE];
// ── Human-readable diagnostic (ARTF-09) ────────────────────────
//
// Carries ProcessingError::message. Defaults empty when
// terminalState == TerminalState::Success. Silently truncated at
// MAX_IDENTIFIER - 1 bytes with no truncation marker (D-10). Last
// member of the struct — appended, never inserted, so no existing
// field's offset changes (ARTF-10 append-only trailer convention).
char errorMessage[MAX_IDENTIFIER];
};
} // namespace sgns::sgprocessing
#endif // SGPROCMGR_EXECUTION_MANIFEST_HPP
Updated on 2026-09-17 at 06:29:15 +0000