Files
yao-meta-skill/tests/verify_skill_os2_coverage.py
T
YAO 31ce04c655 Split meta skill CLI and review gates
Merge the beta-ready Yao Meta Skill architecture, report, evidence gate, and release-boundary updates.\n\nRelease boundary: beta/public testing is allowed; formal world-class, fully reviewed, or superiority claims remain blocked until the pending evidence gates are accepted.
2026-06-17 18:43:02 +08:00

190 lines
8.9 KiB
Python

#!/usr/bin/env python3
import json
import shutil
import subprocess
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
SCRIPT = ROOT / "scripts" / "render_skill_os2_coverage.py"
TMP = ROOT / "tests" / "tmp_skill_os2_coverage"
def main() -> None:
shutil.rmtree(TMP, ignore_errors=True)
TMP.mkdir(parents=True, exist_ok=True)
output_json = TMP / "skill_os2_coverage.json"
output_md = TMP / "skill_os2_coverage.md"
proc = subprocess.run(
[
sys.executable,
str(SCRIPT),
str(ROOT),
"--output-json",
str(output_json),
"--output-md",
str(output_md),
"--generated-at",
"2026-06-14",
],
cwd=ROOT,
capture_output=True,
text=True,
check=True,
)
payload = json.loads(proc.stdout)
assert payload["schema_version"] == "1.0", payload
assert payload["ok"] is True, payload
summary = payload["summary"]
assert summary["decision"] == "local-blueprint-covered-evidence-pending", summary
assert summary["module_count"] == 8, summary
assert summary["recommended_pr_count"] == 13, summary
assert summary["item_count"] == 21, summary
assert summary["pass_count"] == 21, summary
assert summary["warn_count"] == 0, summary
assert summary["missing_count"] == 0, summary
assert summary["extension_track_count"] == 4, summary
assert summary["extension_partial_count"] == 0, summary
assert summary["extension_planned_count"] == 0, summary
assert summary["extension_covered_count"] == 4, summary
assert summary["adaptive_extension_ready"] is True, summary
assert summary["local_blueprint_ready"] is True, summary
assert summary["public_world_class_ready"] is False, summary
assert summary["world_class_evidence_pending_count"] == 4, summary
modules = {item["key"]: item for item in payload["modules"]}
assert set(modules) == {
"skill-ir",
"output-eval-lab",
"runtime-conformance",
"trust-security",
"skill-atlas",
"registry-distribution",
"review-studio",
"telemetry-drift",
}, modules
assert modules["skill-ir"]["status"] == "pass", modules["skill-ir"]
assert modules["review-studio"]["status"] == "pass", modules["review-studio"]
assert any(entry["path"] == "reports/review-studio.html" and entry["exists"] for entry in modules["review-studio"]["evidence"])
prs = {item["key"]: item for item in payload["recommended_prs"]}
assert set(prs) == {
"benchmark-methodology",
"output-eval-schema",
"output-eval-runner",
"output-quality-scorecard",
"skill-ir-v0",
"compiler-refactor",
"agent-skills-conformance",
"trust-check",
"skill-atlas-generator",
"registry-package-format",
"review-studio-2",
"migration-v2-docs",
"evidence-consistency",
}, prs
assert prs["agent-skills-conformance"]["status"] == "pass", prs["agent-skills-conformance"]
assert prs["benchmark-methodology"]["status"] == "pass", prs["benchmark-methodology"]
assert prs["evidence-consistency"]["status"] == "pass", prs["evidence-consistency"]
assert any(entry["path"] == "reports/benchmark_reproducibility.json" and entry["exists"] for entry in prs["benchmark-methodology"]["evidence"])
assert payload["source_blueprint"]["core_module_count"] == 8, payload
assert payload["source_blueprint"]["recommended_pr_count"] == 13, payload
assert payload["source_blueprint"]["reference_extension_count"] == 4, payload
extension_tracks = {item["key"]: item for item in payload["reference_extension_tracks"]}
assert extension_tracks["skill-interpretation-report"]["status"] == "covered", extension_tracks
assert extension_tracks["adaptive-self-iteration"]["status"] == "covered", extension_tracks
assert extension_tracks["daily-skillops-report"]["status"] == "covered", extension_tracks
assert extension_tracks["weekly-curator-report"]["status"] == "covered", extension_tracks
assert any(
entry["path"] == "reports/skill-overview.html" and entry["exists"]
for entry in extension_tracks["skill-interpretation-report"]["evidence"]
), extension_tracks["skill-interpretation-report"]
assert any(
entry["path"] == "scripts/render_skill_interpretation.py" and entry["exists"]
for entry in extension_tracks["skill-interpretation-report"]["evidence"]
), extension_tracks["skill-interpretation-report"]
assert any(
entry["path"] == "schemas/skill-interpretation.schema.json" and entry["exists"]
for entry in extension_tracks["skill-interpretation-report"]["evidence"]
), extension_tracks["skill-interpretation-report"]
assert any(
entry["path"] == "scripts/summarize_user_signals.py" and entry["exists"]
for entry in extension_tracks["adaptive-self-iteration"]["evidence"]
), extension_tracks["adaptive-self-iteration"]
assert any(
entry["path"] == "scripts/apply_adaptation.py" and entry["exists"]
for entry in extension_tracks["adaptive-self-iteration"]["evidence"]
), extension_tracks["adaptive-self-iteration"]
assert any(
entry["path"] == "reports/adaptation_approval_ledger.json" and entry["exists"]
for entry in extension_tracks["adaptive-self-iteration"]["evidence"]
), extension_tracks["adaptive-self-iteration"]
assert any(
entry["path"] == "reports/adaptation_regression_report.json" and entry["exists"]
for entry in extension_tracks["adaptive-self-iteration"]["evidence"]
), extension_tracks["adaptive-self-iteration"]
assert any(
entry["path"] == "scripts/render_daily_skillops_report.py" and entry["exists"]
for entry in extension_tracks["daily-skillops-report"]["evidence"]
), extension_tracks["daily-skillops-report"]
assert any(
entry["path"] == "tests/verify_daily_skillops.py" and entry["exists"]
for entry in extension_tracks["daily-skillops-report"]["evidence"]
), extension_tracks["daily-skillops-report"]
assert any(
entry["path"].startswith("reports/skillops/daily/")
and entry["path"].endswith(".json")
and entry["exists"]
for entry in extension_tracks["daily-skillops-report"]["evidence"]
), extension_tracks["daily-skillops-report"]
assert any(
entry["path"].startswith("reports/skillops/daily/")
and entry["path"].endswith(".md")
and entry["exists"]
for entry in extension_tracks["daily-skillops-report"]["evidence"]
), extension_tracks["daily-skillops-report"]
assert any(
entry["path"] == "scripts/render_weekly_curator_report.py" and entry["exists"]
for entry in extension_tracks["weekly-curator-report"]["evidence"]
), extension_tracks["weekly-curator-report"]
assert any(
entry["path"] == "tests/verify_weekly_curator.py" and entry["exists"]
for entry in extension_tracks["weekly-curator-report"]["evidence"]
), extension_tracks["weekly-curator-report"]
assert any(
entry["path"].startswith("reports/skillops/weekly/")
and entry["path"].endswith(".json")
and entry["exists"]
for entry in extension_tracks["weekly-curator-report"]["evidence"]
), extension_tracks["weekly-curator-report"]
assert any(
entry["path"].startswith("reports/skillops/weekly/")
and entry["path"].endswith(".md")
and entry["exists"]
for entry in extension_tracks["weekly-curator-report"]["evidence"]
), extension_tracks["weekly-curator-report"]
assert "Close the four world-class evidence ledger entries" in payload["next_highest_leverage"][0], payload
assert "skill interpretation report" in " ".join(payload["next_highest_leverage"]), payload
assert "Daily SkillOps" in " ".join(payload["next_highest_leverage"]), payload
markdown = output_md.read_text(encoding="utf-8")
assert "Skill OS 2.0 Blueprint Coverage" in markdown, markdown
assert "local blueprint ready: `true`" in markdown, markdown
assert "public world-class ready: `false`" in markdown, markdown
assert "extension covered: `4`" in markdown, markdown
assert "extension partial: `0`" in markdown, markdown
assert "## Core Modules" in markdown, markdown
assert "## Recommended PR Coverage" in markdown, markdown
assert "Evidence Consistency" in markdown, markdown
assert "## Reference Extension Tracks" in markdown, markdown
assert "Skill Interpretation Report" in markdown, markdown
assert "Adaptive Self-Iteration" in markdown, markdown
assert "Daily SkillOps Report" in markdown, markdown
assert "Weekly Curator Report" in markdown, markdown
assert "user-supplied 2.0 reference plan" in markdown, markdown
assert "`agent-skills-conformance`" not in markdown, markdown
assert "Agent Skills Conformance" in markdown, markdown
print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
if __name__ == "__main__":
main()