Use Python 3 standard library. No network, account, service, paid assets, response storage or interpreter-side asset generation dependency is used by the shipped builder. An SVG renderer is only needed for actual view/native work, not source regeneration.
Current: python -B verify_source.py reads the adjacent complete source. Fresh: python -B build_source.py --output /absolute/new-owned-source creates a new complete namespace only after input/recipe/path validation. Then run /absolute/new-owned-source/verify_source.py. --inputs is an explicit different source input directory for author/developer use. Keep source unchanged; output must be new, outside input and creator, with no symlink ancestor. Existing/overlapping outputs reject before writes. Per-item names are an explicit finite whitelist; no paths come from arbitrary recipe strings.
Generated regular files use 0644 and directories 0755 with curated 8October 2026 UTC epoch mtime (not a claim about wall-clock build time). The default gate verifies fullfour body digests, sizes, complete directory namespace, fullmodes/nsmtime and semantic roles/links/questions/blank geometry/authority/grants. Device/inode are independently recorded at author/critic sealing, not made portable in the source manifest. No source-property restoration claim is made for raw Git/ZIP extraction; such a copy may need a separately reviewed metadata adapter or a shipped fresh build from exact readable input bodies.
SOURCE-MANIFEST excludes its own row to avoid recursion; external whole receipts include it. manifest.py is a builder component, not a review approval tool. A rehashed source still needs semantic review. Recipe and teacher aid-data contain all held keys and are staff-only sources, not an ordinary download. No hosted/native/physical print/participant approval follows a passing gate.