Artifact And Vendor Governance

Artifact and vendor governance separates source-controlled project intent from transient local build state. The standard gives packages a way to identify committed binaries, release bundles, vendored source, generated source, public reference assets, private fixture sets, and release channels without treating every local compiler output as a durable artifact.

Catalogs

dev-std.toml remains the package policy switchboard. Detailed inventories live in authored governance catalogs under docs/governance/.

Artifact Classes

Artifact governance distinguishes transient build output, package distribution output, committed runtime artifacts, application/plugin bundles, fixture data, public reference assets, vendored runtime artifacts, generated source, oracle outputs, and release evidence.

Default audit is tracked-file-first. Ignored local paths such as build/, output/, temp/, rack_results/, and local staging under dist/ do not fail the default audit. Explicit release or evidence modes may inspect produced outputs, checksums, licenses, and channel inclusion.

Vendored Code

Vendored source under roots such as vendor/ or third_party/ requires a machine-readable vendor entry. Vendor entries identify upstream name, version or commit, source URL or archive, checksum when available, license file, local patches or pruning, consumers, update command, and owner.

Generated Source

Committed generated source is an artifact class. Its catalog entry records the source of truth, regeneration command, retention policy, and verification refs. This keeps generated code visible without asking normal source-domain audits to treat it as hand-owned implementation.

Release Channels

A configured package distribution such as pypi requires a release catalog. Release channels describe the publication process for PyPI, GitHub releases, native or WASM bundles, app/plugin packages, object store uploads, and future package-manager automation.

Each release channel must identify both a process_doc and a build_doc. The process document explains how the channel is published. The build document explains required tools, setup, invocation, packaging outputs, and the distinction between local build output and promoted release artifacts. A package may use the same document for both fields when the setup and release process are intentionally combined. Canonical package build documentation is audited by docs.build and should normally live at docs/build.html or docs/build.md.

Native and WASM paths such as dist/native/windows-x64/ and dist/wasm/browser/ are useful conventions when a package promotes those outputs. They are not mandatory for every mixed/native package.

Audit Scopes