Skip to documentation
SLOP

tiny.closure.baseline

Reference tiny.closure baseline

Defined in tiny.closure.

API (7)

Actions

Public operations.

Types and contracts

Public types and contracts.

No direct callersNo direct callstiny.closurebaseline
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/closure/src/baseline/assemble.zig:29

zig
pub const AuditInput = struct {    generation: schema.GenerationId,    source_reference: schema.Descriptor,    source_revision: schema.Digest,    zig_version: schema.Descriptor,    optimize: schema.Descriptor,    artifact_bytes: u64,    artifact_digest: schema.Digest,    ranges: []const Range,    evidence: []const Evidence,};

Source: lib/closure/src/baseline/assemble.zig:19

zig
pub const Evidence = struct {    kind: EvidenceKind,    digest: schema.Digest,};

Source: lib/closure/src/baseline/assemble.zig:24

zig
pub const EvidenceKind = enum {    symbols,    relocations,};

Source: lib/closure/src/baseline/assemble.zig:12

zig
pub const Range = struct {    offset: u64,    length: u64,    digest: schema.Digest,    executable: bool,};

Source: lib/closure/src/baseline/assemble.zig:62

zig
pub const Storage = struct {    nodes: [limits.nodes_max]schema.Node = undefined,    edges: [limits.edges_max]schema.Edge = undefined,    artifacts: [limits.artifacts_max]schema.Artifact = undefined,    ranges: [limits.ranges_max]schema.ByteRange = undefined,    digests: [limits.digests_max]schema.DigestRecord = undefined,    provenance: [limits.provenance_parents_max]schema.ProvenanceParent = undefined,    sources: [limits.source_records_max]schema.SourceRecord = undefined,    builds: [limits.build_records_max]schema.BuildRecord = undefined,    authorities: [limits.authorities_max]schema.Authority = undefined,    lineages: [limits.lineage_references_max]schema.LineageReference = undefined,    services: [limits.service_descriptors_max]schema.ServiceDescriptor = undefined,    roots: [limits.residual_roots_max]schema.ResidualRoot = undefined,    claims: [limits.claims_max]schema.Claim = undefined,    claim_nodes: [limits.claim_nodes_max]schema.ClaimNode = undefined,    node_count: u16 = 0,    edge_count: u16 = 0,    artifact_count: u16 = 0,    range_count: u16 = 0,    digest_count: u16 = 0,    provenance_count: u16 = 0,    source_count: u16 = 0,    build_count: u16 = 0,    authority_count: u16 = 0,    lineage_count: u16 = 0,    service_count: u16 = 0,    root_count: u16 = 0,    claim_count: u16 = 0,    claim_node_count: u16 = 0,    fn reset(self: *Storage) void {        self.node_count = 0;        self.edge_count = 0;        self.artifact_count = 0;        self.range_count = 0;        self.digest_count = 0;        self.provenance_count = 0;        self.source_count = 0;        self.build_count = 0;        self.authority_count = 0;        self.lineage_count = 0;        self.service_count = 0;        self.root_count = 0;        self.claim_count = 0;        self.claim_node_count = 0;    }    fn addNode(self: *Storage, value: schema.Node) Error!schema.NodeId {        if (self.node_count == self.nodes.len) {            return error.NodeCapacityExceeded;        }        const id: schema.NodeId = @as(u32, self.node_count) + 1;        var stored = value;        stored.id = id;        self.nodes[self.node_count] = stored;        self.node_count += 1;        return id;    }    fn addEdge(self: *Storage, value: schema.Edge) Error!schema.RecordId {        if (self.edge_count == self.edges.len) {            return error.EdgeCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.edge_count) + 1;        var stored = value;        stored.id = id;        self.edges[self.edge_count] = stored;        self.edge_count += 1;        return id;    }    fn addArtifact(        self: *Storage,        value: schema.Artifact,    ) Error!schema.RecordId {        if (self.artifact_count == self.artifacts.len) {            return error.ArtifactCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.artifact_count) + 1;        var stored = value;        stored.id = id;        self.artifacts[self.artifact_count] = stored;        self.artifact_count += 1;        return id;    }    fn addRange(        self: *Storage,        value: schema.ByteRange,    ) Error!schema.RecordId {        if (self.range_count == self.ranges.len) {            return error.RangeCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.range_count) + 1;        var stored = value;        stored.id = id;        self.ranges[self.range_count] = stored;        self.range_count += 1;        return id;    }    fn addDigest(        self: *Storage,        value: schema.DigestRecord,    ) Error!schema.RecordId {        if (self.digest_count == self.digests.len) {            return error.DigestCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.digest_count) + 1;        var stored = value;        stored.id = id;        self.digests[self.digest_count] = stored;        self.digest_count += 1;        return id;    }    fn addProvenance(        self: *Storage,        value: schema.ProvenanceParent,    ) Error!schema.RecordId {        if (self.provenance_count == self.provenance.len) {            return error.ProvenanceCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.provenance_count) + 1;        var stored = value;        stored.id = id;        self.provenance[self.provenance_count] = stored;        self.provenance_count += 1;        return id;    }    fn addSource(        self: *Storage,        value: schema.SourceRecord,    ) Error!schema.RecordId {        if (self.source_count == self.sources.len) {            return error.SourceCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.source_count) + 1;        var stored = value;        stored.id = id;        self.sources[self.source_count] = stored;        self.source_count += 1;        return id;    }    fn addBuild(        self: *Storage,        value: schema.BuildRecord,    ) Error!schema.RecordId {        if (self.build_count == self.builds.len) {            return error.BuildCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.build_count) + 1;        var stored = value;        stored.id = id;        self.builds[self.build_count] = stored;        self.build_count += 1;        return id;    }    fn addLineage(        self: *Storage,        value: schema.LineageReference,    ) Error!schema.RecordId {        if (self.lineage_count == self.lineages.len) {            return error.LineageCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.lineage_count) + 1;        var stored = value;        stored.id = id;        self.lineages[self.lineage_count] = stored;        self.lineage_count += 1;        return id;    }    fn addService(        self: *Storage,        value: schema.ServiceDescriptor,    ) Error!schema.RecordId {        if (self.service_count == self.services.len) {            return error.ServiceCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.service_count) + 1;        var stored = value;        stored.id = id;        self.services[self.service_count] = stored;        self.service_count += 1;        return id;    }    fn addRoot(        self: *Storage,        value: schema.ResidualRoot,    ) Error!schema.RecordId {        if (self.root_count == self.roots.len) {            return error.RootCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.root_count) + 1;        var stored = value;        stored.id = id;        self.roots[self.root_count] = stored;        self.root_count += 1;        return id;    }    fn addClaim(self: *Storage, value: schema.Claim) Error!schema.ClaimId {        if (self.claim_count == self.claims.len) {            return error.ClaimCapacityExceeded;        }        const id: schema.ClaimId = @as(u32, self.claim_count) + 1;        var stored = value;        stored.id = id;        self.claims[self.claim_count] = stored;        self.claim_count += 1;        return id;    }    fn addClaimNode(        self: *Storage,        value: schema.ClaimNode,    ) Error!schema.RecordId {        if (self.claim_node_count == self.claim_nodes.len) {            return error.ClaimNodeCapacityExceeded;        }        const id: schema.RecordId = @as(u32, self.claim_node_count) + 1;        var stored = value;        stored.id = id;        self.claim_nodes[self.claim_node_count] = stored;        self.claim_node_count += 1;        return id;    }    fn input(        self: *const Storage,        generation: schema.GenerationId,        root: schema.Digest,    ) schema.GenerationInput {        return .{            .id = generation,            .root = root,            .nodes = self.nodes[0..self.node_count],            .edges = self.edges[0..self.edge_count],            .artifacts = self.artifacts[0..self.artifact_count],            .ranges = self.ranges[0..self.range_count],            .digests = self.digests[0..self.digest_count],            .provenance_parents = self.provenance[0..self.provenance_count],            .source_records = self.sources[0..self.source_count],            .build_records = self.builds[0..self.build_count],            .authorities = self.authorities[0..self.authority_count],            .lineage_references = self.lineages[0..self.lineage_count],            .service_descriptors = self.services[0..self.service_count],            .residual_roots = self.roots[0..self.root_count],            .claims = self.claims[0..self.claim_count],            .claim_nodes = self.claim_nodes[0..self.claim_node_count],        };    }};

Source: lib/closure/src/baseline/assemble.zig:59

zig
pub const Error = schema.Name.Error || schema.Descriptor.Error ||    schema.Digest.ParseError || AssemblyError;

Source: lib/closure/src/baseline/assemble.zig:378

zig
pub fn assemble(    storage: *Storage,    audit: AuditInput,) Error!schema.GenerationInput {    try preflight(audit);    storage.reset();    const profiles = try loadProfiles();    const graph = try addGraph(storage, audit, profiles);    const artifact = try addArtifact(storage, audit, graph.auditor);    try addEvidence(storage, audit, profiles, graph);    try addEdges(storage, graph);    const claim = try addClaim(        storage,        artifact,        audit.artifact_digest,        profiles,    );    try addTreatments(storage, graph, claim);    var generation = storage.input(        audit.generation,        schema.Digest.zero(),    );    generation.root = canonical.generation(generation);    return generation;}
Called byCallstest sourcelib.closure.src.baseline.assembletest: auditor baseline is exact roote...test sourcelib.closure.src.baseline.assembletest: auditor baseline rejects incomp...test sourcelib.closure.src.baseline.assembletest: baseline variable capacity reje...private sourcelib.closure.src.baseline.assembleaddArtifactprivate sourcelib.closure.src.baseline.assembleaddClaimprivate sourcelib.closure.src.baseline.assembleaddEdgesprivate sourcelib.closure.src.baseline.assembleaddEvidenceprivate sourcelib.closure.src.baseline.assembleaddGraph+5 morebaselineassemble
Static calls · unresolved targets: 0 · external targets: 2.

Source: lib/closure/src/baseline/root.zig

zig
const assembly = @import("assemble.zig");pub const AuditInput = assembly.AuditInput;pub const Error = assembly.Error;pub const Evidence = assembly.Evidence;pub const EvidenceKind = assembly.EvidenceKind;pub const Range = assembly.Range;pub const Storage = assembly.Storage;pub const assemble = assembly.assemble;

Source: lib/closure/src/root.zig:10

zig
pub const baseline = @import("baseline/root.zig");

Complete call list for baseline.assemble

10 direct calls.

Audit

Definitions8
Public names8
Members45
Version26.7.0
Revisiondaab053ee433