#!/usr/bin/env python3
from __future__ import annotations

import hashlib
import json
import stat
import sys
from pathlib import Path


def canonical(value: object) -> bytes:
    return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")).encode()


def main() -> int:
    root = Path(sys.argv[1]).resolve(strict=True)
    manifest = json.loads((root / "candidate-manifest.json").read_text(encoding="utf-8"))
    binding = manifest["binding"]
    candidate = hashlib.sha256(canonical(binding)).hexdigest()
    if candidate != manifest["candidate_digest"]:
        raise ValueError("candidate binding digest mismatch")
    expected = {
        "profile_full": "749 passed",
        "gateway_full": "8282 passed, 59 skipped",
        "golden_verifier_tests": "49 passed",
        "focused_regressions": "76 passed",
    }
    if any(manifest["gates"].get(key) != value for key, value in expected.items()):
        raise ValueError("suite count gate mismatch")
    golden = json.loads((root / "seals/golden-contract-summary.json").read_text(encoding="utf-8"))
    if golden["status"] != "ACTUAL_INSTALLED_GOLDEN_PATH_PASS" or golden["transport_call_count"] != 1:
        raise ValueError("installed Golden Path gate mismatch")
    if (golden["approved_generation"], golden["terminal_generation"]) != (4, 7):
        raise ValueError("generation lineage mismatch")
    if golden["archive_schema"] != "customer-cleanup-archive-v2" or golden["cleanup_phase"] != "committed":
        raise ValueError("archive or cleanup gate mismatch")
    terminal = golden["terminal_inventory"]
    if not terminal["terminal"] or any(terminal[key] for key in ("active_count", "pending_count", "unknown_count", "orphan_count")):
        raise ValueError("terminal inventory mismatch")
    for path in (root, root / "golden-bundle-final"):
        if stat.S_IMODE(path.stat().st_mode) != 0o700:
            raise ValueError(f"non-private directory: {path}")
    result = {
        "schema": "independent-installed-candidate-verification-v1",
        "status": "INSTALLED_GOLDEN_PATH_PASS",
        "candidate_digest": candidate,
        "product_digest": manifest["product_digest"],
        "golden_runtime_candidate_digest": manifest["golden_runtime_candidate_digest"],
        "gateway": {"passed": 8282, "skipped": 59},
        "profile": {"passed": 749},
    }
    print(json.dumps(result, sort_keys=True, separators=(",", ":")))
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
