"""validate_agents_shrink_v1.py — AGENTS shrink validator"""
from __future__ import annotations

import hashlib
from pathlib import Path

import yaml


ROOT = Path(__file__).resolve().parents[1]
AGENTS = ROOT / "AGENTS.md"
INDEX = ROOT / "governance" / "agents_index.yaml"


def _sha256(path: Path) -> str:
    return hashlib.sha256(path.read_bytes()).hexdigest()


def main() -> int:
    lines = AGENTS.read_text(encoding="utf-8").splitlines()
    if len(lines) > 350:
        print(f"AGENTS_SHRINK_FAIL: AGENTS.md lines={len(lines)} > 350")
        return 1
    if not INDEX.exists():
        print("AGENTS_SHRINK_FAIL: missing governance/agents_index.yaml")
        return 1
    index = yaml.safe_load(INDEX.read_text(encoding="utf-8")) or {}
    rule_files = index.get("rule_files") if isinstance(index.get("rule_files"), list) else []
    missing = []
    for rel in rule_files:
        path = ROOT / str(rel)
        if not path.exists():
            missing.append(str(rel))
    if missing:
        print(f"AGENTS_SHRINK_FAIL: missing rule files {missing}")
        return 1
    print("AGENTS_SHRINK_OK")
    print(f"agents_lines={len(lines)} rule_files={len(rule_files)}")
    return 0


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