This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Scripts/verify_investor_demo_acceptance_gate.py

62 lines
2.1 KiB
Python

#!/usr/bin/env python3
"""Verify the investor demo visual MVP acceptance gate is documented."""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
GATE_DOC = ROOT / "Docs" / "Investor" / "InvestorDemoAcceptanceGate.md"
STATUS_DOC = ROOT / "Docs" / "Investor" / "InvestorDemoStatus.md"
VISUAL_QA_DOC = ROOT / "Docs" / "Ops" / "PackagedDemoVisualQAEvidence.md"
ROADMAP = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md"
REQUIRED_GATE_SNIPPETS = [
"No packaged build should be called an investor visual MVP unless it passes",
"menus are confusing",
"character art is mannequin-only",
"terrain still reads as flat tan placeholder ground",
"foliage, shrubs, bushes, grass, and trees are absent",
"water does not read as a collectable freshwater source",
"primitive debug shapes",
"non-ray-traced Default rendering path",
"required visual QA screenshots or clips are missing",
"visual-qa-summary.txt",
"Agrarian systems-first investor prototype - visual MVP gate pending.",
"Agrarian investor visual MVP preview - internal investor build.",
]
def require(condition, message):
if not condition:
raise SystemExit(f"FAILED: {message}")
def main():
gate = GATE_DOC.read_text(encoding="utf-8")
status = STATUS_DOC.read_text(encoding="utf-8")
visual_qa = VISUAL_QA_DOC.read_text(encoding="utf-8")
roadmap = ROADMAP.read_text(encoding="utf-8")
for snippet in REQUIRED_GATE_SNIPPETS:
require(snippet in gate, f"acceptance gate doc missing {snippet!r}")
for snippet in [
"InvestorDemoAcceptanceGate.md",
"Current classification: systems-first investor prototype.",
"visual MVP gate pending",
]:
require(snippet in status, f"investor status doc missing {snippet!r}")
require("visual-qa-summary.txt" in visual_qa, "visual QA evidence doc must require visual-qa-summary.txt")
require(
"[x] Add an investor-demo acceptance gate" in roadmap,
"0.1.O investor-demo acceptance gate roadmap item is not checked off",
)
print("OK: investor demo visual MVP acceptance gate is documented.")
if __name__ == "__main__":
main()