#!/usr/bin/env python3 """Validate the Svrnty Vision BTE provider-gateway refresh proof.""" from __future__ import annotations import json from pathlib import Path ROOT = Path(__file__).resolve().parents[1] PROOF = ROOT / "docs/goal-runs/bte-product-ready-provider-gateway-refresh/svrnty-vision-work-007-provider-gateway-refresh.json" MD = ROOT / "docs/goal-runs/bte-product-ready-provider-gateway-refresh/svrnty-vision-work-007-provider-gateway-refresh.md" def require(condition: bool, errors: list[str], message: str) -> None: if not condition: errors.append(message) def main() -> int: errors: list[str] = [] proof = json.loads(PROOF.read_text(encoding="utf-8")) md = MD.read_text(encoding="utf-8") require(proof.get("schema") == "svrnty-vision.bte-product-ready-provider-gateway-refresh-proof.v1", errors, "schema") require(proof.get("work_item_id") == "SVRNTY-VISION-WORK-007", errors, "work_item_id") require(proof.get("route") == "svrnty-vision", errors, "route") require(proof.get("approval", {}).get("expired") is True, errors, "approval_expired") refresh = proof.get("gateway_refresh", {}) host = refresh.get("host_port_container", {}).get("healthz", {}) bte_ns = refresh.get("bte_network_namespace_container", {}).get("healthz_from_bte_runtime_namespace", {}) require(host.get("http_status") == 200 and host.get("body_status") == "ok", errors, "host_healthz") require(bte_ns.get("http_status") == 200 and bte_ns.get("body_status") == "ok", errors, "bte_namespace_healthz") readyz = proof.get("downstream_bte_recheck", {}).get("readyz", {}) require(readyz.get("http_status") == 200 and readyz.get("body_status") == "Healthy", errors, "bte_readyz") effects = proof.get("tool_effects", {}) require(effects.get("gateway_runtime_started") is True, errors, "gateway_runtime_started") for key in ( "provider_call_from_this_route", "profile_exposure_changed", "mcp_registered", "archive_delete_performed", "raw_payload_storage_created", "product_ready_claim_made", ): require(effects.get(key) is False, errors, f"forbidden_effect:{key}") for snippet in ( "No credentials or secrets", "No Profile Exposure", "raw payload storage", "Product Ready claim", "bte-work-019", ): require(snippet in md, errors, f"md_missing:{snippet}") result = { "ok": not errors, "validator": "svrnty-vision-bte-provider-gateway-refresh-v1", "checked": [str(PROOF.relative_to(ROOT)), str(MD.relative_to(ROOT))], "errors": errors, } print(json.dumps(result, indent=2)) return 0 if not errors else 1 if __name__ == "__main__": raise SystemExit(main())