Files
Jyotisha/tests/test_restricted_technique_statuses.py
T
2026-07-17 11:39:24 +08:00

39 lines
1.5 KiB
Python

from __future__ import annotations
import json
from pathlib import Path
from scripts.audit_capabilities import ALLOWED_STATUS
ROOT = Path(__file__).resolve().parents[1]
REGISTRY = ROOT / "references" / "technique_registry.json"
def test_restricted_techniques_keep_canonical_status_boundaries() -> None:
techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"]
assert techniques["prashna"]["status"] == "guarded"
assert techniques["prashna_integration"]["status"] == "guarded"
assert techniques["upagraha_gulika_maandi"]["status"] == "guarded"
assert techniques["panchavargiya_bala"]["status"] == "guarded"
assert techniques["rangacharya_jaimini_variant"]["status"] == "comparison-only"
for key in ("prashna", "prashna_integration", "upagraha_gulika_maandi", "panchavargiya_bala"):
assert techniques[key]["verification_level"]["prediction"] == "support_only"
assert techniques["rangacharya_jaimini_variant"]["verification_level"]["prediction"] == "blocked"
def test_restricted_statuses_are_accepted_by_capability_audit() -> None:
techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"]
restricted_statuses = {
techniques["prashna"]["status"],
techniques["prashna_integration"]["status"],
techniques["upagraha_gulika_maandi"]["status"],
techniques["panchavargiya_bala"]["status"],
techniques["rangacharya_jaimini_variant"]["status"],
}
assert restricted_statuses <= ALLOWED_STATUS