Pack every compose workload's code[] directories into content-addressed
tars and pin each digest onto entry.artifact (the contextArtifact
producer/user split, ADR-0022). Packing is BYTE-deterministic — sorted entry
order, epoch mtime, uid/gid 0 (the catalog publisher's normalization, NOT
packRemoteBuildContexts's plain tar) — so an unchanged tree re-packed
from a fresh clone re-digests identically and the change-aware deploy ships
nothing. The tar lands at the digest-keyed buildContextTarPath the
shipper reads. Returns packer warnings (lockfile / secret-file findings).
Pack every compose workload's
code[]directories into content-addressed tars and pin each digest ontoentry.artifact(thecontextArtifactproducer/user split, ADR-0022). Packing is BYTE-deterministic — sorted entry order, epoch mtime, uid/gid 0 (the catalog publisher's normalization, NOT packRemoteBuildContexts's plain tar) — so an unchanged tree re-packed from a fresh clone re-digests identically and the change-aware deploy ships nothing. The tar lands at the digest-keyed buildContextTarPath the shipper reads. Returns packer warnings (lockfile / secret-file findings).