nhi.sgit.ai / packs / static-publishing / publish-target

07 — The publish output

PackStatic Publishing, `sgit vault serve`, and the Publishing Matrix RoleRevised 19 Aug: publish takes no target — one fixed folder, target-agnostic, and the override question resolved at deployment Date17–19 August 2026 · pack v0 OriginArchitect-review agent, SGit-AI__CLI repo Sourceraw markdown · original on GitHub Captured19 August 2026, at commit 2cedd9a — the raw file under src/ is byte-identical to that commit

Summary

The first version of this file was a rule policing where an output directory may live — the maintainer removed the question instead: sgit publish takes no target, writes .sg_vault/publish/ and nothing else on disk, and deployment is a separate act. Five things disappear at once: the containment rule, the --force-on-an-ancestor disaster, the amplification loop (gone by construction, since .sg_vault is always ignored), the escape hatch, and the naming decision. The folder is a finished, target-agnostic artefact — no CNAME, no .nojekyll, no netlify.toml; those belong to the deployer — which is what keeps the published bytes identical regardless of destination. And the two index.html files are kept apart at last: the loader is generated plaintext, always sgit's template; the vault's own index.html is encrypted content — the choice between them happens at deployment, where decryption creates the second candidate, and the decrypted page wins.

Key concepts

Key ideas

Read the document

📄 Pack document · 07__publish-target.md · rendered from the raw markdown (the source of truth)