← Files DesignlyARCHIVED FILE
evals/baseline/test_monolith_parity.py
1.88 KB · Sep 30, 2026 · 23:14 UTC
#!/usr/bin/env python3
"""Parity test for Designly v4.3 against the preserved v3.2.1 capabilities."""
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
BASELINE_SPEC = ROOT / "evals/baseline/v3.2.1-behavior.json"
def main() -> int:
if not BASELINE_SPEC.is_file():
print(f"FAIL Baseline spec not found: {BASELINE_SPEC}")
return 1
spec = json.loads(BASELINE_SPEC.read_text(encoding="utf-8"))
failures: list[str] = []
for slug in spec.get("required_v4_skill_slugs", []):
for rel in (f"skills/{slug}/SKILL.md", f"skills/{slug}/agents/openai.yaml"):
if not (ROOT / rel).is_file():
failures.append(f"Missing {rel}")
else:
print(f"PASS {rel}")
for slug in spec.get("required_v4_agent_slugs", []):
rel = f".codex/agents/{slug}.toml"
if not (ROOT / rel).is_file():
failures.append(f"Missing {rel}")
else:
print(f"PASS {rel}")
required_contracts = [
"design-context.schema.json", "signal-packet.schema.json", "design-lock.schema.json",
"revision-request.schema.json", "edit-contract.schema.json", "routing-graph.json"
]
for name in required_contracts:
rel = f"shared/contracts/{name}"
if not (ROOT / rel).is_file():
failures.append(f"Missing {rel}")
else:
print(f"PASS {rel}")
if failures:
print(f"\nParity check: FAIL ({len(failures)} missing components)")
for f in failures:
print(f" - {f}")
return 1
print(f"\nParity check: PASS ({len(spec.get('required_v4_skill_slugs', []))} skills, {len(spec.get('required_v4_agent_slugs', []))} agents, {len(required_contracts)} shared contracts present; v3.2.1 behavior retained)")
return 0
if __name__ == "__main__":
raise SystemExit(main())
SHA-256: 1636f0cdb4d7ee7c51ceaaa101514f4406864e454169f8d56df69e06e5f46ced