Expand description
harn pack <entrypoint> — build a signed-ready .harnpack from a
Harn entrypoint.
Walks the entrypoint’s transitive imports, precompiles every module
into a .harnbc artifact, snapshots the provider catalog and
stdlib pin, generates a minimal SBOM, assembles a v2 WorkflowBundle
manifest, and emits a deterministic tar.zst archive.
harn pack verify <bundle.harnpack> (#1779) reads a bundle back,
recomputes its canonical hash, verifies the embedded Ed25519
signature (if any), and cross-checks every per-module BLAKE3.
Structs§
- Build
Args - Plain-data input to
build: a flattened copy ofPackArgswithout the subcommand surface. Tests can construct this directly instead of going through the CLI parser. - Pack
Debug Symbol Metadata - Pack
Error - Pack
Json Data - JSON payload emitted under
JsonEnvelope.dataforharn pack. - Pack
Outcome - Outcome of
build. Used by tests; the dispatcher consumes it directly viarun. - Pack
Sbom Summary - Pack
Signature Summary - Pack
Verify Json Data - JSON payload emitted under
JsonEnvelope.dataforharn pack verify.
Constants§
- PACK_
SBOM_ ARCHIVE_ PATH - PACK_
SCHEMA_ VERSION - Stable schema version for the
harn pack --jsonenvelope. Bump whenPackJsonDatachanges shape in a way that agents need to detect. - PACK_
VERIFY_ SCHEMA_ VERSION - Stable schema version for the
harn pack verify --jsonenvelope. Bump whenPackVerifyJsonDatachanges shape in a way agents need to detect.
Functions§
- build
- json_
schema - run
- run_
to_ envelope - Programmatic entrypoint used by tests and other CLI command code that needs the JSON envelope without going through stdout.
- run_
verify - Dispatcher for
PackCommand::Verify: prints a human-readable line or aJsonEnvelopeand exits non-zero on verification failure. - verify
- Verify the bundle at
args.bundle: - verify_
json_ schema - JSON schema for
harn pack verify --json. Mirrors the runtime envelope so agents can validate output before consuming it. - verify_
to_ envelope - Programmatic verify entry point used by tests so they can read the envelope structurally instead of parsing stdout.