#!/usr/bin/env python3 """Verify Agrarian asset pipeline policy docs are present and explicit.""" from pathlib import Path ROOT = Path(__file__).resolve().parents[1] REQUIRED = { "Docs/Art/AssetLicenses.md": [ "Fab assets explicitly marked free", "Quixel/Megascans", "CC0 or public-domain", "/home/nathan/AssetStaging/Agrarian", "Do not import random internet images", "Free-Only Acquisition Gate", "Paid Fab assets are blocked", "Native Ground Zero proxy vegetation", ], "Docs/Art/AgrarianAssetPipeline.md": [ "realistic modern post-collapse frontier survival", "Old abandoned equipment", "Do not scrape random internet images or models", "Free-Only Lockdown", "Do not click purchase", "LicenseEvidence", "Run visual and placeholder verifiers", "Water should be handled as a shader/system problem", ], "AGRARIAN_DEVELOPMENT_ROADMAP.md": [ "Asset acquisition and ingest pipeline", "Fab/free, Quixel, CC0/public-domain", "old abandoned equipment", ], } def main() -> None: missing: list[str] = [] for relative_path, snippets in REQUIRED.items(): path = ROOT / relative_path if not path.exists(): missing.append(f"missing file: {relative_path}") continue text = path.read_text(encoding="utf-8") for snippet in snippets: if snippet not in text: missing.append(f"{relative_path}: missing snippet {snippet!r}") if missing: raise SystemExit("\n".join(missing)) print("Asset pipeline policy verification complete.") if __name__ == "__main__": main()