from pathlib import Path ROOT = Path(__file__).resolve().parents[1] requirements = (ROOT / "requirements-spec.md").read_text() architecture = (ROOT / "architecture.md").read_text() guide = (ROOT / "solution-architecture-guide.md").read_text() terraform = (ROOT / "terraform/main.tf").read_text() required = { "requirements": ["Functional requirements", "Non-functional requirements", "Constraints", "Assumptions", "Open questions"], "architecture": ["Selected Google Cloud products", "Mermaid diagram", "Architecture description"], "guide": ["Validation results", "Repository verification", "Publication verification"], "terraform": ["required_providers", "google_cloud_run_v2_service", "google_pubsub_topic"], } for label, needles in required.items(): text = {"requirements": requirements, "architecture": architecture, "guide": guide, "terraform": terraform}[label] missing = [needle for needle in needles if needle not in text] assert not missing, f"{label} missing: {missing}" assert "Product selection deferred during this step: **true**" in requirements print("artifact structure checks passed")