#!/usr/bin/env python3
from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]
SKILL = ROOT / "skills" / "wip-triage" / "SKILL.md"

assert SKILL.is_file(), f"missing global skill source: {SKILL}"
text = SKILL.read_text(encoding="utf-8")

required = (
    "name: wip-triage",
    "description: Use when",
    "Default when no mode is supplied: `--audit`.",
    "RETIRE — LANDED",
    "RETIRE — REDUNDANT",
    "RECOVER",
    "KEEP — ACTIVE",
    "UNKNOWN",
    "CONSOLIDATE",
    "BLOCKED",
    "IGNORED-WIP",
    "STASHED-WIP",
    "Deletion requires `HIGH` confidence.",
    "NEVER mutate shared/default checkout.",
    "Any failed condition",
    "Executive recommendation",
    "Worktree ledger",
    "Recovery manifest",
    "Execution receipt",
)
missing = [item for item in required if item not in text]
assert not missing, f"missing required skill contracts: {missing}"

mode_positions = [text.index(mode) for mode in (
    "`--audit`",
    "`--preserve`",
    "`--consolidate`",
    "`--execute-safe-retirements`",
)]
assert mode_positions == sorted(mode_positions), "operating modes are not declared in safe escalation order"
assert "git branch --merged" in text
assert "Tags preserve committed history only" in text
assert len(text.splitlines()) < 500, "SKILL.md exceeds progressive-disclosure limit"

print("wip-triage skill contract: PASS")
