1.6 KiB
Public source boundary
The canonical engineering repository combines product source with private planning, prompt, packaging, and operational evidence. Do not make that history public directly. Create a parentless candidate with scripts/export-public-source.mjs and validate that candidate before publication.
A public source set may include reviewed code under cmd/, internal/, apps/, stable configuration schemas, synthetic fixtures, durable user documentation, and reproducible build scripts selected by public-source.allowlist.
Exclude from public source/release archives unless individually reviewed:
.agents/,.codex/, prompt packs and operator-specific instructions;artifacts/, generated evidence, checksums and package reports not produced by the tagged release job;- private deployment configuration, host inventories and telemetry;
- transient planning/state documents and local test output;
- credentials,
.envfiles, private keys and production data.
The exporter blocks when LICENSE is missing and scans the rendered candidate for private topology, machine-local paths, denied directories, symlinks, and oversized files. It writes a content manifest so the published tree can be reviewed independently of private Git history.
First-party source code selected for the public source set is licensed under AGPL-3.0-or-later; see the root LICENSE. Third-party components and assets retain their own terms and must remain covered by the repository's dependency and notice documentation.
Before any visibility change, also scan every private ref and object. A clean current export does not sanitize the canonical repository history.