Skip to content

Community promotion manifest

The private WolfXL repository is the source authority for generated Community runtime promotions. scripts/community_promotion_manifest.py creates a deterministic receipt for an already-staged wolfxl-community tree. It does not copy files, publish packages, push branches, or contact external systems.

uv run python scripts/community_promotion_manifest.py \
  --export-dir ../wolfxl-community-staged

The producer requires:

  • a clean, committed private source checkout;
  • a staged export outside that checkout;
  • only the public top-level paths admitted by config/community-export-policy-v1.json;
  • matching Python and Rust 2.0.x package versions;
  • MIT package metadata and the pinned Community license;
  • no symlinks, special files, credential filenames, or private-only top-level roots.

It writes .wolfxl-community-promotion.json atomically at the export root. The manifest records the exact private source commit and tree, generator and policy digests, every exported path/content digest/size, and one aggregate target-tree digest. It contains no source contents, credentials, timestamps, or machine paths.

Proof boundary

The manifest proves what the clean private source checkout inventoried and binds that assertion to exact output bytes. It does not claim that the current legacy Community tree can be reconstructed from current commercial source, and it does not by itself authenticate a manifest after it is copied elsewhere.

A public receiving gate should be added only when it validates this exact schema and has an authenticated handoff from the private producer. Until then, the manifest is review evidence at the source boundary, not independent public provenance.

Operational sequence

  1. Materialize the proposed Community tree in a fresh staging directory.
  2. Run all Community tests and artifact checks against that directory.
  3. Run the producer from a clean committed private source checkout.
  4. Review the manifest, source SHA, policy digest, and aggregate target digest.
  5. Move the staged tree and unchanged manifest through the separately reviewed Community pull request.

The producer is idempotent: rerunning it against identical source, policy, and staged bytes replaces the manifest with byte-identical output.