/******************************************************************************* Facilitates the recording of build artifacts and generation of provenance metadata. Do not handle raw content parsing of build files. Do not manage transport or configuration orchestration. RFC-1097: step 6 — compass.migrate codemod run Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order. RFC-1097: sweep — werkstatt-engine clean Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics. *******************************************************************************/ /** * Record build artifacts and create provenance metadata. * Collects hashes of dist files and stores build metadata for signing. */ import { collectBuildOutputs, createBuildProvenance, writeBuildArtifacts } from "./build.ts"; export async function runRecordBuild(args: { cwd: string; builder?: string; distDir?: string; }): Promise { const outputs = await collectBuildOutputs(args.cwd, args.distDir); const provenance = await createBuildProvenance({ cwd: args.cwd, builder: args.builder ?? "local", outputs, }); await writeBuildArtifacts({ cwd: args.cwd, outputs, provenance }); console.log(""); console.log("Integrity build record"); console.log(` build id ${outputs.buildId}`); console.log(` outputs ${Object.keys(outputs.outputs).length}`); console.log(` builder ${provenance.builder}`); }