The public tree and its history contain only the listed paths. Earlier projection history remains preserved internally. Source-Sha: 913fde029b935671833254797f0f20f1eb9fabba Policy-Sha: 913fde029b935671833254797f0f20f1eb9fabba Tree-Digest: 180ae530c1058a2a5c89837bdce2d323ae83e669e38590ca72e75b8d92b7262f
1.1 KiB
Publication provenance
This branch is a constructed public projection. Its commit trailers identify the internal source commit and the policy used to admit the projected tree. Admission means the tree is eligible for disclosure; it neither authorizes nor implies external publication.
.publication/paths.txt is the exact path authority. Every file in a candidate
must be listed, and every listed file must exist. Parent directories grant no
recursive authority. .publication/surface_gate.py can also write the exact
mode, blob ID, size, and path inventory for one immutable candidate with
--inventory-out.
Path authority covers every reachable commit, including files deleted before the tip. Removing a path from disclosure therefore requires history that does not contain it; a deletion commit alone is insufficient. Shallow history fails closed. Internal development history is preserved separately.
Reproduce the tree digest from a checked-out public commit with:
LC_ALL=C git ls-tree -r --full-tree HEAD^{tree} | LC_ALL=C sort | sha256sum
The result must equal the commit's Tree-Digest trailer.