62 lines
2.1 KiB
Python
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()
|