diff --git a/registry/index.json b/registry/index.json
index 901d90b6..d0daaa88 100644
--- a/registry/index.json
+++ b/registry/index.json
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
}
diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json
index 77307494..8c4a3fd7 100644
--- a/registry/packages/yao-meta-skill.json
+++ b/registry/packages/yao-meta-skill.json
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -48,7 +48,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json
index 3f7b48b4..e0256cba 100644
--- a/reports/adoption_drift_report.json
+++ b/reports/adoption_drift_report.json
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
- "generated_at": "2026-06-13T18:04:28Z",
+ "generated_at": "2026-06-13T18:17:38Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json
index 43beae57..7bfc5bfd 100644
--- a/reports/architecture_maintainability.json
+++ b/reports/architecture_maintainability.json
@@ -4,27 +4,20 @@
"generated_at": "2026-06-14",
"skill_dir": ".",
"summary": {
- "python_file_count": 141,
- "script_file_count": 85,
+ "python_file_count": 143,
+ "script_file_count": 87,
"test_file_count": 56,
- "internal_module_count": 14,
+ "internal_module_count": 16,
"cli_script_count": 72,
"command_handler_count": 35,
"warn_line_threshold": 900,
"block_line_threshold": 1500,
- "largest_file_lines": 1196,
- "hotspot_count": 3,
+ "largest_file_lines": 1159,
+ "hotspot_count": 2,
"blocker_count": 0,
"decision": "watch-maintainability-hotspots"
},
"largest_files": [
- {
- "path": "scripts/render_review_studio.py",
- "lines": 1196,
- "kind": "cli-script",
- "severity": "warn",
- "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"lines": 1159,
@@ -39,6 +32,13 @@
"severity": "warn",
"recommendation": "Split viewer data assembly from HTML section rendering."
},
+ {
+ "path": "scripts/render_review_studio.py",
+ "lines": 887,
+ "kind": "cli-script",
+ "severity": "pass",
+ "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
+ },
{
"path": "tests/verify_yao_cli.py",
"lines": 838,
@@ -104,13 +104,6 @@
}
],
"hotspots": [
- {
- "path": "scripts/render_review_studio.py",
- "lines": 1196,
- "kind": "cli-script",
- "severity": "warn",
- "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"lines": 1159,
@@ -127,11 +120,6 @@
}
],
"actions": [
- {
- "path": "scripts/render_review_studio.py",
- "severity": "warn",
- "action": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"severity": "warn",
diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md
index 32511bdd..c717e094 100644
--- a/reports/architecture_maintainability.md
+++ b/reports/architecture_maintainability.md
@@ -5,14 +5,14 @@ Generated at: `2026-06-14`
## Summary
- decision: `watch-maintainability-hotspots`
-- python files: `141`
-- scripts: `85`
+- python files: `143`
+- scripts: `87`
- tests: `56`
-- internal modules: `14`
+- internal modules: `16`
- CLI scripts: `72`
- Yao CLI command handlers: `35`
-- largest file lines: `1196`
-- hotspots: `3`
+- largest file lines: `1159`
+- hotspots: `2`
- blockers: `0`
This report keeps maintainability risk visible before the Meta Skill grows more gates, renderers, and CLI commands.
@@ -21,7 +21,6 @@ This report keeps maintainability risk visible before the Meta Skill grows more
| File | Lines | Kind | Severity | Recommended action |
| --- | ---: | --- | --- | --- |
-| `scripts/render_review_studio.py` | `1196` | `cli-script` | `warn` | Move data loading and large section renderers into focused review_studio_* modules. |
| `scripts/yao.py` | `1159` | `cli-script` | `warn` | Split command handlers by domain while keeping scripts/yao.py as the thin CLI orchestrator. |
| `scripts/render_review_viewer.py` | `983` | `cli-script` | `warn` | Split viewer data assembly from HTML section rendering. |
@@ -29,9 +28,9 @@ This report keeps maintainability risk visible before the Meta Skill grows more
| File | Lines | Kind | Severity |
| --- | ---: | --- | --- |
-| `scripts/render_review_studio.py` | `1196` | `cli-script` | `warn` |
| `scripts/yao.py` | `1159` | `cli-script` | `warn` |
| `scripts/render_review_viewer.py` | `983` | `cli-script` | `warn` |
+| `scripts/render_review_studio.py` | `887` | `cli-script` | `pass` |
| `tests/verify_yao_cli.py` | `838` | `test` | `pass` |
| `scripts/skill_report_model.py` | `782` | `internal-module` | `pass` |
| `scripts/compile_skill.py` | `734` | `cli-script` | `pass` |
diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json
index ee81d390..1e011edf 100644
--- a/reports/benchmark_reproducibility.json
+++ b/reports/benchmark_reproducibility.json
@@ -3,24 +3,24 @@
"ok": true,
"generated_at": "2026-06-14",
"skill_dir": ".",
- "commit": "7afde5ebafd5b8cb0b00aaaac4943c037fc9dce4",
+ "commit": "d7018dac5583d8973d8544d5f02906e94e8b1f9b",
"git_status": {
"available": true,
"dirty": true,
- "changed_file_count": 36,
+ "changed_file_count": 39,
"sample": [
- " M registry/index.json",
- " M registry/packages/yao-meta-skill.json",
- " M reports/adoption_drift_report.json",
- " M reports/architecture_maintainability.json",
- " M reports/architecture_maintainability.md",
- " M reports/benchmark_reproducibility.json",
- " M reports/benchmark_reproducibility.md",
- " M reports/compiled_targets.json",
- " M reports/context_budget.json",
- " M reports/install_simulation.json",
- " M reports/output_execution_runs.json",
- " M reports/output_execution_runs.md"
+ "MM registry/index.json",
+ "MM registry/packages/yao-meta-skill.json",
+ "MM reports/adoption_drift_report.json",
+ "M reports/architecture_maintainability.json",
+ "M reports/architecture_maintainability.md",
+ "MM reports/benchmark_reproducibility.json",
+ "MM reports/benchmark_reproducibility.md",
+ "M reports/compiled_targets.json",
+ "MM reports/context_budget.json",
+ "M reports/install_simulation.json",
+ "MM reports/output_execution_runs.json",
+ "MM reports/output_execution_runs.md"
]
},
"summary": {
@@ -42,7 +42,7 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"working_tree_dirty": true,
- "changed_file_count": 36
+ "changed_file_count": 39
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -116,7 +116,7 @@
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7966,
- "sha256": "ef773cdb0b4b3e6263b58aa52c8473ee5b5613297bae721ea34da2418f4f6c9b"
+ "sha256": "e1497671aeac5efe481d21880306d1cd156520f3c6981335a23bea04c4d11e5e"
},
{
"label": "blind_review",
@@ -150,43 +150,43 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
- "bytes": 89598,
- "sha256": "043f8314a8c2c8ef992d486384cd22dba5a0284af491fd830ddc91fec54f666a"
+ "bytes": 90767,
+ "sha256": "6a3b7738607ffef7d039e1ff913593ec9d5cd0242fc74d430c53bb62dc33df8a"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
- "bytes": 18801,
- "sha256": "3f071172d13c70acd0b16fe84ae011fee39030da61dd5801009fadead64f2a60"
+ "bytes": 19050,
+ "sha256": "648f17271e22805669eebc88486f47e891faa9b1fa9f2bf8cf21b14d00f9e1aa"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
- "sha256": "a55d0fb1c7d6730d1b8009904b59a18eb61a776368a211385b4a5d21b915edf1"
+ "sha256": "e350e7b2d3d6a971b506c9d2d159059b19e692e0957498a502fe797057ebdb85"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19325,
- "sha256": "ff899ad76a6ad8e39a5f15e483135b4a93602ff59984a61f0c807ad627749dad"
+ "sha256": "144cd592106a66b50e8464b96494f6ed0ad41dba11941a3d7de11765b818a800"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8557,
- "sha256": "20d6fa71cc492c837a98d383686677c7c2e9cc5885514ab56d5b23819060b746"
+ "sha256": "097060e129d0d699a2e19c5802b03b14b28134983a87f7d78cc1d525e7e5c683"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 13946,
- "sha256": "48f2206d4eb7598009740e9d4ab9e1f08b9d039cf661bb39ffbc24b2beb2c099"
+ "sha256": "52aff10d9877c50343b2caca9f2e3f6a721045662b6862551e22f5fe0555d878"
},
{
"label": "world_class_evidence_plan",
diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md
index fd222619..5dcdf280 100644
--- a/reports/benchmark_reproducibility.md
+++ b/reports/benchmark_reproducibility.md
@@ -1,7 +1,7 @@
# Benchmark Reproducibility
Generated at: `2026-06-14`
-Commit: `7afde5ebafd5b8cb0b00aaaac4943c037fc9dce4`
+Commit: `d7018dac5583d8973d8544d5f02906e94e8b1f9b`
Working tree dirty at generation: `true`
## Summary
@@ -16,7 +16,7 @@ Working tree dirty at generation: `true`
- provider evidence complete: `false`
- human review complete: `false`
- world-class ready: `false`
-- changed files at generation: `36`
+- changed files at generation: `39`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete.
@@ -40,17 +40,17 @@ This report proves local benchmark reproducibility only. It keeps external provi
| output_cases | `evals/output/cases.jsonl` | present | `a6ae96857116` |
| output_schema | `evals/output/schema.json` | present | `8ee340c95064` |
| output_scorecard | `reports/output_quality_scorecard.json` | present | `0806258a8e08` |
-| output_execution | `reports/output_execution_runs.json` | present | `ef773cdb0b4b` |
+| output_execution | `reports/output_execution_runs.json` | present | `e1497671aeac` |
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
| review_adjudication | `reports/output_review_adjudication.json` | present | `ddd9af90d42e` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `8251329e663d` |
-| trust_report | `reports/security_trust_report.json` | present | `043f8314a8c2` |
-| python_compatibility | `reports/python_compatibility.json` | present | `3f071172d13c` |
-| registry_audit | `reports/registry_audit.json` | present | `a55d0fb1c7d6` |
-| package_verification | `reports/package_verification.json` | present | `ff899ad76a6a` |
-| install_simulation | `reports/install_simulation.json` | present | `20d6fa71cc49` |
-| skill_os2_audit | `reports/skill_os2_audit.json` | present | `48f2206d4eb7` |
+| trust_report | `reports/security_trust_report.json` | present | `6a3b7738607f` |
+| python_compatibility | `reports/python_compatibility.json` | present | `648f17271e22` |
+| registry_audit | `reports/registry_audit.json` | present | `e350e7b2d3d6` |
+| package_verification | `reports/package_verification.json` | present | `144cd592106a` |
+| install_simulation | `reports/install_simulation.json` | present | `097060e129d0` |
+| skill_os2_audit | `reports/skill_os2_audit.json` | present | `52aff10d9877` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `ed1274b7c18c` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `5ed043491c3d` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `124b9239d7f3` |
diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json
index 5364a2f9..8f241bdb 100644
--- a/reports/compiled_targets.json
+++ b/reports/compiled_targets.json
@@ -204,9 +204,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -222,9 +224,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -1045,9 +1045,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -1063,9 +1065,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -1886,9 +1886,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -1904,9 +1906,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -2711,9 +2711,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -2729,9 +2731,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -3536,9 +3536,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -3554,9 +3556,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
diff --git a/reports/context_budget.json b/reports/context_budget.json
index 69f5eecf..261b9516 100644
--- a/reports/context_budget.json
+++ b/reports/context_budget.json
@@ -6,10 +6,10 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 751,
- "other_text_tokens": 1083497,
+ "other_text_tokens": 1084439,
"estimated_initial_load_tokens": 944,
- "estimated_total_text_tokens": 1084248,
- "relevant_file_count": 469,
+ "estimated_total_text_tokens": 1085190,
+ "relevant_file_count": 473,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 137.7
diff --git a/reports/install_simulation.json b/reports/install_simulation.json
index f62330d1..4aabcf96 100644
--- a/reports/install_simulation.json
+++ b/reports/install_simulation.json
@@ -8,7 +8,7 @@
"installed_skill_dir": "[temporary-install-root]/yao-meta-skill",
"summary": {
"archive_present": true,
- "archive_entry_count": 553,
+ "archive_entry_count": 555,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json
index dce73489..63a3626c 100644
--- a/reports/output_execution_runs.json
+++ b/reports/output_execution_runs.json
@@ -34,7 +34,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.82,
+ "duration_ms": 27.82,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -62,7 +62,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.73,
+ "duration_ms": 26.16,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -85,7 +85,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.52,
+ "duration_ms": 27.01,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -136,7 +136,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.92,
+ "duration_ms": 25.7,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -164,7 +164,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.58,
+ "duration_ms": 25.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -187,7 +187,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.69,
+ "duration_ms": 25.83,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -214,7 +214,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.4,
+ "duration_ms": 26.02,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -237,7 +237,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.48,
+ "duration_ms": 25.66,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md
index 9fa1095e..17e76959 100644
--- a/reports/output_execution_runs.md
+++ b/reports/output_execution_runs.md
@@ -23,15 +23,15 @@ Command runner evidence is present. This proves the eval harness executed an ext
| Case | Variant | Mode | Model | Duration ms | Tokens | Score | Status |
| --- | --- | --- | --- | ---: | ---: | ---: | --- |
-| skill-package-contract | baseline | command | local-output-eval-runner | 25.82 | 33 | 0.0 | pass |
-| skill-package-contract | with_skill | command | local-output-eval-runner | 25.73 | 73 | 100.0 | pass |
-| output-eval-expectation | baseline | command | local-output-eval-runner | 25.52 | 36 | 0.0 | pass |
+| skill-package-contract | baseline | command | local-output-eval-runner | 27.82 | 33 | 0.0 | pass |
+| skill-package-contract | with_skill | command | local-output-eval-runner | 26.16 | 73 | 100.0 | pass |
+| output-eval-expectation | baseline | command | local-output-eval-runner | 27.01 | 36 | 0.0 | pass |
| output-eval-expectation | with_skill | command | local-output-eval-runner | 25.68 | 80 | 100.0 | pass |
-| ir-before-packaging | baseline | command | local-output-eval-runner | 25.92 | 33 | 0.0 | pass |
-| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.58 | 80 | 100.0 | pass |
-| near-neighbor-boundary | baseline | command | local-output-eval-runner | 25.69 | 36 | 0.0 | pass |
-| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 25.4 | 65 | 100.0 | pass |
-| file-backed-governed-package | baseline | command | local-output-eval-runner | 25.48 | 37 | 0.0 | pass |
+| ir-before-packaging | baseline | command | local-output-eval-runner | 25.7 | 33 | 0.0 | pass |
+| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.64 | 80 | 100.0 | pass |
+| near-neighbor-boundary | baseline | command | local-output-eval-runner | 25.83 | 36 | 0.0 | pass |
+| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 26.02 | 65 | 100.0 | pass |
+| file-backed-governed-package | baseline | command | local-output-eval-runner | 25.66 | 37 | 0.0 | pass |
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.68 | 98 | 100.0 | pass |
## Next Fixes
diff --git a/reports/package_verification.json b/reports/package_verification.json
index 5a077c91..d9a8b933 100644
--- a/reports/package_verification.json
+++ b/reports/package_verification.json
@@ -8,8 +8,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
- "archive_entry_count": 553,
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
+ "archive_entry_count": 555,
"failure_count": 0,
"warning_count": 0
},
diff --git a/reports/package_verification.md b/reports/package_verification.md
index 1d28f495..9de1c442 100644
--- a/reports/package_verification.md
+++ b/reports/package_verification.md
@@ -4,7 +4,7 @@
- Package directory: `dist`
- Targets: `4 / 4` adapters present
- Archive present: `True`
-- Archive SHA256: `26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25`
+- Archive SHA256: `7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0`
- Failures: `0`
- Warnings: `0`
diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json
index e37bc207..8032796c 100644
--- a/reports/python_compatibility.json
+++ b/reports/python_compatibility.json
@@ -5,7 +5,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
- "file_count": 144,
+ "file_count": 146,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -394,6 +394,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/review_studio_data.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/review_studio_formatting.py",
"ok": true,
@@ -412,6 +418,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/run_conformance_suite.py",
"ok": true,
diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md
index 182cae66..5ce26a6a 100644
--- a/reports/python_compatibility.md
+++ b/reports/python_compatibility.md
@@ -6,7 +6,7 @@ Generated at: `2026-06-14`
- decision: `pass`
- target python: `3.11`
-- files scanned: `144`
+- files scanned: `146`
- issues: `0`
- syntax errors: `0`
- f-string 3.11 violations: `0`
diff --git a/reports/registry_audit.json b/reports/registry_audit.json
index f21daa98..3df8ee28 100644
--- a/reports/registry_audit.json
+++ b/reports/registry_audit.json
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -53,7 +53,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
diff --git a/reports/registry_audit.md b/reports/registry_audit.md
index 2aabf712..0cb0911b 100644
--- a/reports/registry_audit.md
+++ b/reports/registry_audit.md
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
-- Package SHA256: `18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e`
-- Archive SHA256: `26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25`
+- Package SHA256: `1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49`
+- Archive SHA256: `7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0`
- Install simulated: `True`
## Compatibility
diff --git a/reports/review-studio.html b/reports/review-studio.html
index c75660e2..2417312a 100644
--- a/reports/review-studio.html
+++ b/reports/review-studio.html
@@ -292,22 +292,22 @@
核心指标
- Skill IR2.0.05 targets in platform-neutral contract
Compiler5/5target contracts compiled from Skill IR
Output Delta100.05 cases; 1 file-backed
Exec Runs10command 10; model 0; recorded 0
Blind A/B5review pairs hide baseline vs with-skill labels
Review A/B0/5adjudication decisions; pending 5
Blueprint20/202.0 coverage; evidence pending 4
Runtime5/5target conformance pass rate
Perm Probe4/40 native enforcement targets
Trust085 scripts scanned; secrets found
Py Compat0144 files scanned for Python 3.11
Arch Debt31196 largest lines; 35 CLI handlers
Atlas512 scanned skills; route collisions
Driftlow1 metadata events; 0 missed triggers
Waivers00 gates covered; human risk decisions
Intake4/40 valid submissions; 0 invalid
Claim Guard068 public surfaces scanned
Notes0/00 open blocker annotations
Registry1.1.05 targets; MIT license
Archivepass553 zip entries; package verification
Installpass4 adapters; 12 permissions enforced; 0 permission failures
Upgrademinordeclared minor; 0 breaking changes
+ Skill IR2.0.05 targets in platform-neutral contract
Compiler5/5target contracts compiled from Skill IR
Output Delta100.05 cases; 1 file-backed
Exec Runs10command 10; model 0; recorded 0
Blind A/B5review pairs hide baseline vs with-skill labels
Review A/B0/5adjudication decisions; pending 5
Blueprint20/202.0 coverage; evidence pending 4
Runtime5/5target conformance pass rate
Perm Probe4/40 native enforcement targets
Trust087 scripts scanned; secrets found
Py Compat0146 files scanned for Python 3.11
Arch Debt21159 largest lines; 35 CLI handlers
Atlas512 scanned skills; route collisions
Driftlow1 metadata events; 0 missed triggers
Waivers00 gates covered; human risk decisions
Intake4/40 valid submissions; 0 invalid
Claim Guard068 public surfaces scanned
Notes0/00 open blocker annotations
Registry1.1.05 targets; MIT license
Archivepass555 zip entries; package verification
Installpass4 adapters; 12 permissions enforced; 0 permission failures
Upgrademinordeclared minor; 0 breaking changes
审查闸门
- 通过
意图画布
intent confidence 100/100; Intent is clear enough to package the first routeable version.
通过
触发实验
13 trigger cases; 0 misroutes; 0 ambiguous
关注
输出实验
5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5
通过
上下文
initial load 944/1000; quality density 137.7
通过
运行矩阵
5 / 5 targets pass
通过
信任报告
0 secrets; 85 scripts; 3 network-capable scripts; 0 help smoke failures
通过
Python 兼容
Python 3.11; 144 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards
关注
架构维护
141 Python files; 3 hotspots; 0 blockers; largest 1196 lines; 35 CLI handlers
通过
权限批准
3/3 permissions approved; gaps 0; required file_write, network, subprocess
通过
权限探针
4/4 targets probed; native 0; metadata fallback 4; residual risks 4
通过
组合治理
12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues
通过
运营回路
1 metadata events; adoption 0; missed 0; bad-output 0; risk low
关注
人工批准
0 active waivers; 2 warning gates still need reviewer decision
关注
世界证据
4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true
通过
注册审计
yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
通过
发布路线
0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
+ 通过
意图画布
intent confidence 100/100; Intent is clear enough to package the first routeable version.
通过
触发实验
13 trigger cases; 0 misroutes; 0 ambiguous
关注
输出实验
5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5
通过
上下文
initial load 944/1000; quality density 137.7
通过
运行矩阵
5 / 5 targets pass
通过
信任报告
0 secrets; 87 scripts; 3 network-capable scripts; 0 help smoke failures
通过
Python 兼容
Python 3.11; 146 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards
关注
架构维护
143 Python files; 2 hotspots; 0 blockers; largest 1159 lines; 35 CLI handlers
通过
权限批准
3/3 permissions approved; gaps 0; required file_write, network, subprocess
通过
权限探针
4/4 targets probed; native 0; metadata fallback 4; residual risks 4
通过
组合治理
12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues
通过
运营回路
1 metadata events; adoption 0; missed 0; bad-output 0; risk low
关注
人工批准
0 active waivers; 2 warning gates still need reviewer decision
关注
世界证据
4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true
通过
注册审计
yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
通过
发布路线
0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
-
关注事项
- 输出实验5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5
- 架构维护141 Python files; 3 hotspots; 0 blockers; largest 1196 lines; 35 CLI handlers
- 人工批准0 active waivers; 2 warning gates still need reviewer decision
- 世界证据4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true
+
关注事项
- 输出实验5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5
- 架构维护143 Python files; 2 hotspots; 0 blockers; largest 1159 lines; 35 CLI handlers
- 人工批准0 active waivers; 2 warning gates still need reviewer decision
- 世界证据4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true
修复动作
- 关注
输出实验
补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。
没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。- 修复位置
- evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_decisions.json + reports/output_review_adjudication.md
- 验证命令
python3 scripts/adjudicate_output_review.py --write-template && python3 scripts/yao.py output-review
关注
架构维护
处理大文件和 CLI command surface 的维护性热点,优先拆分稳定职责边界。
Meta Skill 的门禁、报告和 CLI 会持续增长;如果不把架构债纳入审查,后续能力会越来越难验证和迁移。- 修复位置
- reports/architecture_maintainability.md + scripts/yao.py + scripts/render_review_studio.py
- 验证命令
python3 scripts/yao.py architecture-audit .
关注
人工批准
对保留的 warning 写入 reviewer、理由、范围和到期时间,或修掉 warning。
warning 可以被接受,但必须可审计、会过期,并且不能掩盖 blocker。- 修复位置
- reports/review_waivers.md
- 验证命令
python3 scripts/render_review_waivers.py .
关注
世界证据
补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。
世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。- 修复位置
- reports/world_class_evidence_ledger.md + reports/world_class_evidence_plan.md + reports/world_class_evidence_intake.md
- 验证命令
python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .
+ 关注
输出实验
补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。
没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。- 修复位置
- evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_decisions.json + reports/output_review_adjudication.md
- 验证命令
python3 scripts/adjudicate_output_review.py --write-template && python3 scripts/yao.py output-review
关注
架构维护
处理大文件和 CLI command surface 的维护性热点,优先拆分稳定职责边界。
Meta Skill 的门禁、报告和 CLI 会持续增长;如果不把架构债纳入审查,后续能力会越来越难验证和迁移。- 修复位置
- reports/architecture_maintainability.md + scripts/yao.py + scripts/render_review_studio.py
- 验证命令
python3 scripts/yao.py architecture-audit .
关注
人工批准
对保留的 warning 写入 reviewer、理由、范围和到期时间,或修掉 warning。
warning 可以被接受,但必须可审计、会过期,并且不能掩盖 blocker。- 修复位置
- reports/review_waivers.md
- 验证命令
python3 scripts/render_review_waivers.py .
关注
世界证据
补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。
世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。- 修复位置
- reports/world_class_evidence_ledger.md + reports/world_class_evidence_plan.md + reports/world_class_evidence_intake.md
- 验证命令
python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .
- 信任报告
- Secret
- 0
- 脚本数
- 85
- 网络脚本
- 3
- Help 失败
- 0
- 包体哈希
18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e
+ 信任报告
- Secret
- 0
- 脚本数
- 87
- 网络脚本
- 3
- Help 失败
- 0
- 包体哈希
1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49
安全边界
高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。
- Python 兼容
- 目标 Python
- 3.11
- 文件数
- 144
- 问题数
- 0
- 语法错误
- 0
- F-string 3.11
- 0
+ Python 兼容
- 目标 Python
- 3.11
- 文件数
- 146
- 问题数
- 0
- 语法错误
- 0
- F-string 3.11
- 0
解释器边界
CI 和发布审查以 Python 3.11 兼容为底线;本地更高版本允许的新语法不能绕过兼容门禁。
@@ -425,12 +425,12 @@
注册审计
yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
- 包体元数据
- 名称
- yao-meta-skill
- 版本
- 1.1.0
- Maturity
- governed
- Owner
- Yao Team
- License
- MIT
- 信任级别
- local
- 目标平台
- openai, claude, generic, agent-skills-compatible, vscode
- 兼容通过
- 6/6
- 归档哈希
26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25
+ 包体元数据
- 名称
- yao-meta-skill
- 版本
- 1.1.0
- Maturity
- governed
- Owner
- Yao Team
- License
- MIT
- 信任级别
- local
- 目标平台
- openai, claude, generic, agent-skills-compatible, vscode
- 兼容通过
- 6/6
- 归档哈希
7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0
发布路线
0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
- 包体验证
- 目标数
- 4
- Adapter
- 4
- 归档存在
- 是
- Zip 条目
- 553
- 失败数
- 0
- 警告数
- 0
- 归档哈希
26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25
+ 包体验证
- 目标数
- 4
- Adapter
- 4
- 归档存在
- 是
- Zip 条目
- 555
- 失败数
- 0
- 警告数
- 0
- 归档哈希
7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0
diff --git a/reports/review-studio.json b/reports/review-studio.json
index 37c222d5..fdcdf08a 100644
--- a/reports/review-studio.json
+++ b/reports/review-studio.json
@@ -59,7 +59,7 @@
"key": "trust-report",
"label": "信任报告",
"status": "pass",
- "detail": "0 secrets; 85 scripts; 3 network-capable scripts; 0 help smoke failures",
+ "detail": "0 secrets; 87 scripts; 3 network-capable scripts; 0 help smoke failures",
"evidence": "reports/security_trust_report.json",
"link": "security_trust_report.md"
},
@@ -67,7 +67,7 @@
"key": "python-compat",
"label": "Python 兼容",
"status": "pass",
- "detail": "Python 3.11; 144 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
+ "detail": "Python 3.11; 146 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
"evidence": "reports/python_compatibility.json",
"link": "python_compatibility.md"
},
@@ -75,7 +75,7 @@
"key": "architecture-maintainability",
"label": "架构维护",
"status": "warn",
- "detail": "141 Python files; 3 hotspots; 0 blockers; largest 1196 lines; 35 CLI handlers",
+ "detail": "143 Python files; 2 hotspots; 0 blockers; largest 1159 lines; 35 CLI handlers",
"evidence": "reports/architecture_maintainability.json",
"link": "architecture_maintainability.md"
},
@@ -158,7 +158,7 @@
"key": "architecture-maintainability",
"label": "架构维护",
"status": "warn",
- "detail": "141 Python files; 3 hotspots; 0 blockers; largest 1196 lines; 35 CLI handlers",
+ "detail": "143 Python files; 2 hotspots; 0 blockers; largest 1159 lines; 35 CLI handlers",
"evidence": "reports/architecture_maintainability.json",
"link": "architecture_maintainability.md"
},
@@ -271,7 +271,7 @@
"path": "scripts/render_review_studio.py",
"label": "Review Studio renderer",
"kind": "source",
- "line": 387,
+ "line": 121,
"exists": true,
"link": "../scripts/render_review_studio.py"
},
@@ -891,7 +891,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -906,7 +906,7 @@
"file_count": 195
}
],
- "file_count": 344,
+ "file_count": 346,
"folder_count": 4,
"distribution": [
{
@@ -931,7 +931,7 @@
},
{
"label": "scripts",
- "value": 85
+ "value": 87
},
{
"label": "evals",
@@ -1060,7 +1060,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -1360,9 +1360,9 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"working_tree_dirty": true,
- "changed_file_count": 36
+ "changed_file_count": 39
},
- "commit": "7afde5ebafd5b8cb0b00aaaac4943c037fc9dce4",
+ "commit": "d7018dac5583d8973d8544d5f02906e94e8b1f9b",
"missing_artifacts": [],
"limitations": [
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
@@ -1437,9 +1437,9 @@
"failures": []
},
"trust_security": {
- "scanned_files": 169,
- "script_count": 85,
- "internal_module_count": 12,
+ "scanned_files": 171,
+ "script_count": 87,
+ "internal_module_count": 14,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1457,8 +1457,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 169,
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_hash_file_count": 171,
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
},
"skill_atlas": {
"skill_count": 12,
@@ -1496,8 +1496,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -1528,7 +1528,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1544,8 +1544,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
- "archive_entry_count": 553,
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
+ "archive_entry_count": 555,
"failure_count": 0,
"warning_count": 0
},
@@ -1556,7 +1556,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 553,
+ "archive_entry_count": 555,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1623,12 +1623,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "to": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "to": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
@@ -3745,7 +3745,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.82,
+ "duration_ms": 27.82,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3773,7 +3773,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.73,
+ "duration_ms": 26.16,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3796,7 +3796,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.52,
+ "duration_ms": 27.01,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3847,7 +3847,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.92,
+ "duration_ms": 25.7,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3875,7 +3875,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.58,
+ "duration_ms": 25.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3898,7 +3898,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.69,
+ "duration_ms": 25.83,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3925,7 +3925,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.4,
+ "duration_ms": 26.02,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -3948,7 +3948,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 25.48,
+ "duration_ms": 25.66,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4408,7 +4408,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
- "current": "85 scripts; secrets 0; help failures 0",
+ "current": "87 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -4482,7 +4482,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
- "current": "archive entries 553; install failures 0",
+ "current": "archive entries 555; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
@@ -5106,9 +5106,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -5124,9 +5126,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -5947,9 +5947,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -5965,9 +5967,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -6788,9 +6788,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -6806,9 +6808,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -7613,9 +7613,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -7631,9 +7633,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -8438,9 +8438,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -8456,9 +8458,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
@@ -9655,9 +9655,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
- "scanned_files": 169,
- "script_count": 85,
- "internal_module_count": 12,
+ "scanned_files": 171,
+ "script_count": 87,
+ "internal_module_count": 14,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -9675,8 +9675,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 169,
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_hash_file_count": 171,
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
},
"failures": [],
"warnings": [],
@@ -10525,6 +10525,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/review_studio_data.py",
+ "interface": "internal-module",
+ "interface_declared": true,
+ "interface_reason": "Imported by render_review_studio.py to load Review Studio source reports and metric cards.",
+ "has_argparse": false,
+ "has_main_guard": false,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": false,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/review_studio_formatting.py",
"interface": "internal-module",
@@ -10567,6 +10581,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "interface": "internal-module",
+ "interface_declared": true,
+ "interface_reason": "Imported by render_review_studio.py to render world-class evidence cards.",
+ "has_argparse": false,
+ "has_main_guard": false,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": false,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/run_conformance_suite.py",
"interface": "cli",
@@ -10924,7 +10952,7 @@
"checked_count": 73,
"passed_count": 73,
"failed_count": 0,
- "skipped_count": 12,
+ "skipped_count": 14,
"failed_scripts": [],
"results": [
{
@@ -11659,6 +11687,10 @@
}
],
"skipped": [
+ {
+ "path": "scripts/review_studio_data.py",
+ "reason": "internal module"
+ },
{
"path": "scripts/review_studio_formatting.py",
"reason": "internal module"
@@ -11671,6 +11703,10 @@
"path": "scripts/review_studio_layout.py",
"reason": "internal module"
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "reason": "internal module"
+ },
{
"path": "scripts/skill_report_charts.py",
"reason": "internal module"
@@ -11888,7 +11924,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
- "file_count": 144,
+ "file_count": 146,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -12277,6 +12313,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/review_studio_data.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/review_studio_formatting.py",
"ok": true,
@@ -12295,6 +12337,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/run_conformance_suite.py",
"ok": true,
@@ -12782,27 +12830,20 @@
"generated_at": "2026-06-14",
"skill_dir": ".",
"summary": {
- "python_file_count": 141,
- "script_file_count": 85,
+ "python_file_count": 143,
+ "script_file_count": 87,
"test_file_count": 56,
- "internal_module_count": 14,
+ "internal_module_count": 16,
"cli_script_count": 72,
"command_handler_count": 35,
"warn_line_threshold": 900,
"block_line_threshold": 1500,
- "largest_file_lines": 1196,
- "hotspot_count": 3,
+ "largest_file_lines": 1159,
+ "hotspot_count": 2,
"blocker_count": 0,
"decision": "watch-maintainability-hotspots"
},
"largest_files": [
- {
- "path": "scripts/render_review_studio.py",
- "lines": 1196,
- "kind": "cli-script",
- "severity": "warn",
- "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"lines": 1159,
@@ -12817,6 +12858,13 @@
"severity": "warn",
"recommendation": "Split viewer data assembly from HTML section rendering."
},
+ {
+ "path": "scripts/render_review_studio.py",
+ "lines": 887,
+ "kind": "cli-script",
+ "severity": "pass",
+ "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
+ },
{
"path": "tests/verify_yao_cli.py",
"lines": 838,
@@ -12882,13 +12930,6 @@
}
],
"hotspots": [
- {
- "path": "scripts/render_review_studio.py",
- "lines": 1196,
- "kind": "cli-script",
- "severity": "warn",
- "recommendation": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"lines": 1159,
@@ -12905,11 +12946,6 @@
}
],
"actions": [
- {
- "path": "scripts/render_review_studio.py",
- "severity": "warn",
- "action": "Move data loading and large section renderers into focused review_studio_* modules."
- },
{
"path": "scripts/yao.py",
"severity": "warn",
@@ -12934,10 +12970,10 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 751,
- "other_text_tokens": 1083497,
+ "other_text_tokens": 1084439,
"estimated_initial_load_tokens": 944,
- "estimated_total_text_tokens": 1084248,
- "relevant_file_count": 469,
+ "estimated_total_text_tokens": 1085190,
+ "relevant_file_count": 473,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 137.7
@@ -13860,9 +13896,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -14781,7 +14819,7 @@
"adoption_drift": {
"ok": true,
"schema_version": "2.0",
- "generated_at": "2026-06-13T18:04:28Z",
+ "generated_at": "2026-06-13T18:17:38Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -15555,8 +15593,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -15587,7 +15625,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -15612,7 +15650,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
@@ -15635,8 +15673,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
- "archive_entry_count": 553,
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
+ "archive_entry_count": 555,
"failure_count": 0,
"warning_count": 0
},
@@ -16301,7 +16339,7 @@
"installed_skill_dir": "[temporary-install-root]/yao-meta-skill",
"summary": {
"archive_present": true,
- "archive_entry_count": 553,
+ "archive_entry_count": 555,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -16643,12 +16681,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "to": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "to": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
diff --git a/reports/review-viewer.json b/reports/review-viewer.json
index 61ca90f7..ac9be3e0 100644
--- a/reports/review-viewer.json
+++ b/reports/review-viewer.json
@@ -437,7 +437,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -452,7 +452,7 @@
"file_count": 195
}
],
- "file_count": 344,
+ "file_count": 346,
"folder_count": 4,
"distribution": [
{
@@ -477,7 +477,7 @@
},
{
"label": "scripts",
- "value": 85
+ "value": 87
},
{
"label": "evals",
@@ -606,7 +606,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -906,9 +906,9 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"working_tree_dirty": true,
- "changed_file_count": 36
+ "changed_file_count": 39
},
- "commit": "7afde5ebafd5b8cb0b00aaaac4943c037fc9dce4",
+ "commit": "d7018dac5583d8973d8544d5f02906e94e8b1f9b",
"missing_artifacts": [],
"limitations": [
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
@@ -983,9 +983,9 @@
"failures": []
},
"trust_security": {
- "scanned_files": 169,
- "script_count": 85,
- "internal_module_count": 12,
+ "scanned_files": 171,
+ "script_count": 87,
+ "internal_module_count": 14,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1003,8 +1003,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 169,
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_hash_file_count": 171,
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
},
"skill_atlas": {
"skill_count": 12,
@@ -1042,8 +1042,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -1074,7 +1074,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1090,8 +1090,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
- "archive_entry_count": 553,
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
+ "archive_entry_count": 555,
"failure_count": 0,
"warning_count": 0
},
@@ -1102,7 +1102,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 553,
+ "archive_entry_count": 555,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1169,12 +1169,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "to": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "to": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json
index 74fa3b7f..307878be 100644
--- a/reports/security_trust_report.json
+++ b/reports/security_trust_report.json
@@ -2,9 +2,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
- "scanned_files": 169,
- "script_count": 85,
- "internal_module_count": 12,
+ "scanned_files": 171,
+ "script_count": 87,
+ "internal_module_count": 14,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -22,8 +22,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 169,
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_hash_file_count": 171,
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
},
"failures": [],
"warnings": [],
@@ -872,6 +872,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/review_studio_data.py",
+ "interface": "internal-module",
+ "interface_declared": true,
+ "interface_reason": "Imported by render_review_studio.py to load Review Studio source reports and metric cards.",
+ "has_argparse": false,
+ "has_main_guard": false,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": false,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/review_studio_formatting.py",
"interface": "internal-module",
@@ -914,6 +928,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "interface": "internal-module",
+ "interface_declared": true,
+ "interface_reason": "Imported by render_review_studio.py to render world-class evidence cards.",
+ "has_argparse": false,
+ "has_main_guard": false,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": false,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/run_conformance_suite.py",
"interface": "cli",
@@ -1271,7 +1299,7 @@
"checked_count": 73,
"passed_count": 73,
"failed_count": 0,
- "skipped_count": 12,
+ "skipped_count": 14,
"failed_scripts": [],
"results": [
{
@@ -2006,6 +2034,10 @@
}
],
"skipped": [
+ {
+ "path": "scripts/review_studio_data.py",
+ "reason": "internal module"
+ },
{
"path": "scripts/review_studio_formatting.py",
"reason": "internal module"
@@ -2018,6 +2050,10 @@
"path": "scripts/review_studio_layout.py",
"reason": "internal module"
},
+ {
+ "path": "scripts/review_studio_world_class.py",
+ "reason": "internal module"
+ },
{
"path": "scripts/skill_report_charts.py",
"reason": "internal module"
diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md
index 41e9dda2..69e3a523 100644
--- a/reports/security_trust_report.md
+++ b/reports/security_trust_report.md
@@ -1,9 +1,9 @@
# Security Trust Report
- OK: `True`
-- Scanned files: `169`
-- Scripts: `85`
-- Internal script modules: `12`
+- Scanned files: `171`
+- Scripts: `87`
+- Internal script modules: `14`
- Secret findings: `0`
- Network-capable scripts: `3`
- Network policy covered scripts: `3`
@@ -15,8 +15,8 @@
- CLI help smoke failures: `0`
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
-- Package hash files: `169`
-- Package SHA256: `18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e`
+- Package hash files: `171`
+- Package SHA256: `1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49`
## Failures
@@ -121,9 +121,11 @@
| scripts/render_world_class_evidence_ledger.py | cli | True | True | True | False | False | True | False | Renders a machine-checkable ledger for world-class external and human evidence gaps. |
| scripts/render_world_class_evidence_plan.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/resource_boundary_check.py | cli | False | True | True | False | False | False | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
+| scripts/review_studio_data.py | internal-module | True | False | False | False | False | False | False | Imported by render_review_studio.py to load Review Studio source reports and metric cards. |
| scripts/review_studio_formatting.py | internal-module | True | False | False | False | False | False | False | Imported by render_review_studio.py to format report dictionaries as audit UI panels. |
| scripts/review_studio_gates.py | internal-module | True | False | False | False | False | False | False | Imported by render_review_studio.py to keep Review Studio gate evaluation separate from HTML rendering. |
| scripts/review_studio_layout.py | internal-module | True | False | False | False | False | False | False | Imported by render_review_studio.py to keep Review Studio layout and CSS out of gate logic. |
+| scripts/review_studio_world_class.py | internal-module | True | False | False | False | False | False | False | Imported by render_review_studio.py to render world-class evidence cards. |
| scripts/run_conformance_suite.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/run_description_optimization_suite.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/run_eval_suite.py | cli | False | True | True | False | False | False | True | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
diff --git a/reports/skill-overview.html b/reports/skill-overview.html
index 2487b7b0..816f9ea9 100644
--- a/reports/skill-overview.html
+++ b/reports/skill-overview.html
@@ -771,7 +771,7 @@
让 reviewer 快速确认关键文件、目录和资产分布。Lets reviewers confirm key files, directories, and asset distribution quickly.
-
资产分布图展示当前包体的文件和目录重心。
+
资产分布图展示当前包体的文件和目录重心。
| 路径Path | 作用Role | 类型Type |
| SKILL.md | Skill 入口文件Skill entrypoint | 文件file |
| README.md | 人类可读使用说明Human-readable usage guide | 文件file |
| agents/interface.yaml | 跨平台接口元数据Neutral interface metadata | 文件file |
| manifest.json | 生命周期与打包元数据Lifecycle and portability metadata | 文件file |
| references | 扩展指导与复用资料Extended guidance and reusable notes | 目录folder |
| scripts | 确定性脚本或本地工具Deterministic helpers or local tooling | 目录folder |
| evals | 触发与质量检查Trigger and quality checks | 目录folder |
| reports | 生成的证据与总结报告Generated evidence and overview artifacts | 目录folder |
diff --git a/reports/skill-overview.json b/reports/skill-overview.json
index 7e51eb59..6c08171d 100644
--- a/reports/skill-overview.json
+++ b/reports/skill-overview.json
@@ -436,7 +436,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -451,7 +451,7 @@
"file_count": 195
}
],
- "file_count": 344,
+ "file_count": 346,
"folder_count": 4,
"distribution": [
{
@@ -476,7 +476,7 @@
},
{
"label": "scripts",
- "value": 85
+ "value": 87
},
{
"label": "evals",
@@ -605,7 +605,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 85
+ "file_count": 87
},
{
"path": "evals",
@@ -905,9 +905,9 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"working_tree_dirty": true,
- "changed_file_count": 36
+ "changed_file_count": 39
},
- "commit": "7afde5ebafd5b8cb0b00aaaac4943c037fc9dce4",
+ "commit": "d7018dac5583d8973d8544d5f02906e94e8b1f9b",
"missing_artifacts": [],
"limitations": [
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
@@ -982,9 +982,9 @@
"failures": []
},
"trust_security": {
- "scanned_files": 169,
- "script_count": 85,
- "internal_module_count": 12,
+ "scanned_files": 171,
+ "script_count": 87,
+ "internal_module_count": 14,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1002,8 +1002,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 169,
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "package_hash_file_count": 171,
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
},
"skill_atlas": {
"skill_count": 12,
@@ -1041,8 +1041,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e",
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "package_sha256": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
"compatibility": {
"openai": "pass",
@@ -1073,7 +1073,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1089,8 +1089,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25",
- "archive_entry_count": 553,
+ "archive_sha256": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0",
+ "archive_entry_count": 555,
"failure_count": 0,
"warning_count": 0
},
@@ -1101,7 +1101,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 553,
+ "archive_entry_count": 555,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1168,12 +1168,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "to": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "to": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json
index de98d65e..00d06470 100644
--- a/reports/skill_atlas.json
+++ b/reports/skill_atlas.json
@@ -123,9 +123,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json
index a57b4f5a..d6cb9bcc 100644
--- a/reports/skill_os2_audit.json
+++ b/reports/skill_os2_audit.json
@@ -197,7 +197,7 @@
"key": "trust-security",
"label": "Trust Security",
"status": "pass",
- "current": "secrets 0; scripts 85; help failures 0",
+ "current": "secrets 0; scripts 87; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
@@ -281,7 +281,7 @@
"key": "registry-distribution",
"label": "Registry Distribution",
"status": "pass",
- "current": "zip entries 553; install failures 0; permission failures 0",
+ "current": "zip entries 555; install failures 0; permission failures 0",
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
"evidence": [
{
diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md
index 565b4d8f..2bab22bb 100644
--- a/reports/skill_os2_audit.md
+++ b/reports/skill_os2_audit.md
@@ -23,11 +23,11 @@ Generated at: `2026-06-14`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 20; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
-| Trust Security | pass | secrets 0; scripts 85; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
+| Trust Security | pass | secrets 0; scripts 87; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4 | Packaged adapters expose explicit permission metadata and residual risks | Preserve residual-risk notes until real native enforcement exists. |
| Native Permission Enforcement | external-required | native-enforced targets 0 | At least one target/client enforces approved permissions at runtime | Integrate a real client or installer runtime guard before claiming native permission enforcement. |
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
-| Registry Distribution | pass | zip entries 553; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
+| Registry Distribution | pass | zip entries 555; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Review Studio | pass | decision review; warnings 4; score 89 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json
index 415e7f2d..60453551 100644
--- a/reports/skill_os2_coverage.json
+++ b/reports/skill_os2_coverage.json
@@ -122,7 +122,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
- "current": "85 scripts; secrets 0; help failures 0",
+ "current": "87 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -196,7 +196,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
- "current": "archive entries 553; install failures 0",
+ "current": "archive entries 555; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md
index ec6b4d70..dc41e78a 100644
--- a/reports/skill_os2_coverage.md
+++ b/reports/skill_os2_coverage.md
@@ -21,9 +21,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
-| Trust Security | `pass` | 85 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
+| Trust Security | `pass` | 87 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
-| Registry Distribution | `pass` | archive entries 553; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
+| Registry Distribution | `pass` | archive entries 555; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
| Review Studio | `pass` | 16 gates; decision review; warnings 4 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json
index 48f2e40b..3a4ee04d 100644
--- a/reports/upgrade_check.json
+++ b/reports/upgrade_check.json
@@ -70,12 +70,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "26e0362e174968f9eaeabb4f47304f641610791bc215f4e55d675d3367448b25"
+ "to": "7ebe0695052701dec068e1070b72aea19c865b039cf65e8773063b335395bdb0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "18e4ec6cd34d80c2fff0ce51a7a107f15c9dbaa5c6d4e54065aee15dbd0fb00e"
+ "to": "1636101ae369f5659d9a64e95bb19144e1271912f1ac5ce846fd7b569cb1ff49"
}
]
},
diff --git a/scripts/render_review_studio.py b/scripts/render_review_studio.py
index 39a24d58..bded1e08 100644
--- a/scripts/render_review_studio.py
+++ b/scripts/render_review_studio.py
@@ -6,57 +6,16 @@ import os
from pathlib import Path
from typing import Any
-try:
- import yaml
-except ImportError: # pragma: no cover
- yaml = None
-
+from review_studio_data import evidence_paths, insight_cards, load_review_data
from review_studio_formatting import registry_package_summary, render_kv_grid
from review_studio_gates import add_blockers_from_gate, build_gates, status_label, weighted_score
from review_studio_layout import render_review_nav, review_studio_css
+from review_studio_world_class import render_world_class_evidence_entries
ROOT = Path(__file__).resolve().parent.parent
-def load_json(path: Path) -> dict[str, Any]:
- if not path.exists():
- return {}
- try:
- payload = json.loads(path.read_text(encoding="utf-8"))
- except json.JSONDecodeError:
- return {}
- return payload if isinstance(payload, dict) else {}
-
-
-def load_yaml(path: Path) -> dict[str, Any]:
- if not path.exists() or yaml is None:
- return {}
- payload = yaml.safe_load(path.read_text(encoding="utf-8")) or {}
- return payload if isinstance(payload, dict) else {}
-
-
-def parse_frontmatter(path: Path) -> dict[str, Any]:
- if not path.exists():
- return {}
- lines = path.read_text(encoding="utf-8", errors="replace").splitlines()
- if not lines or lines[0].strip() != "---":
- return {}
- try:
- end_index = lines[1:].index("---") + 1
- except ValueError:
- return {}
- text = "\n".join(lines[1:end_index])
- if yaml is not None:
- payload = yaml.safe_load(text) or {}
- return payload if isinstance(payload, dict) else {}
- data = {}
- for line in text.splitlines():
- if ":" in line:
- key, value = line.split(":", 1)
- data[key.strip()] = value.strip().strip('"')
- return data
-
def display_path(skill_dir: Path, path: Path) -> str:
try:
@@ -115,231 +74,6 @@ def source_refs(
return refs
-def evidence_paths(skill_dir: Path) -> dict[str, str]:
- rels = {
- "skill_overview": "reports/skill-overview.html",
- "review_viewer": "reports/review-viewer.html",
- "output_eval": "reports/output_quality_scorecard.md",
- "output_execution": "reports/output_execution_runs.md",
- "output_blind_review": "reports/output_blind_review_pack.md",
- "output_review_decisions": "reports/output_review_decisions.json",
- "output_review_adjudication": "reports/output_review_adjudication.md",
- "benchmark_reproducibility": "reports/benchmark_reproducibility.md",
- "skill_os2_coverage": "reports/skill_os2_coverage.md",
- "runtime_conformance": "reports/conformance_matrix.md",
- "trust_report": "reports/security_trust_report.md",
- "python_compatibility": "reports/python_compatibility.md",
- "architecture_maintainability": "reports/architecture_maintainability.md",
- "permission_policy": "security/permission_policy.md",
- "runtime_permissions": "reports/runtime_permission_probes.md",
- "skill_atlas": "reports/skill_atlas.html",
- "compiled_targets": "reports/compiled_targets.md",
- "adoption_drift": "reports/adoption_drift_report.md",
- "review_waivers": "reports/review_waivers.md",
- "review_annotations": "reports/review_annotations.md",
- "world_class_evidence_plan": "reports/world_class_evidence_plan.md",
- "world_class_evidence_ledger": "reports/world_class_evidence_ledger.md",
- "world_class_evidence_intake": "reports/world_class_evidence_intake.md",
- "world_class_claim_guard": "reports/world_class_claim_guard.md",
- "registry_audit": "reports/registry_audit.md",
- "package_verification": "reports/package_verification.md",
- "install_simulation": "reports/install_simulation.md",
- "upgrade_check": "reports/upgrade_check.md",
- "migration": "docs/migration-v2.md",
- "skill_ir": "reports/skill-ir.json",
- }
- return {key: rel for key, rel in rels.items() if (skill_dir / rel).exists() or (ROOT / rel).exists()}
-
-
-def load_review_data(skill_dir: Path) -> dict[str, dict[str, Any]]:
- reports = skill_dir / "reports"
- return {
- "overview": load_json(reports / "skill-overview.json"),
- "intent_confidence": load_json(reports / "intent-confidence.json"),
- "intent_dialogue": load_json(reports / "intent-dialogue.json"),
- "route_scorecard": load_json(reports / "route_scorecard.json"),
- "output_quality": load_json(reports / "output_quality_scorecard.json"),
- "output_execution": load_json(reports / "output_execution_runs.json"),
- "output_blind_review": load_json(reports / "output_blind_review_pack.json"),
- "output_review_adjudication": load_json(reports / "output_review_adjudication.json"),
- "skill_os2_coverage": load_json(reports / "skill_os2_coverage.json"),
- "compiled_targets": load_json(reports / "compiled_targets.json"),
- "conformance": load_json(reports / "conformance_matrix.json"),
- "runtime_permissions": load_json(reports / "runtime_permission_probes.json"),
- "trust": load_json(reports / "security_trust_report.json"),
- "python_compatibility": load_json(reports / "python_compatibility.json"),
- "architecture_maintainability": load_json(reports / "architecture_maintainability.json"),
- "context_budget": load_json(reports / "context_budget.json"),
- "promotion": load_json(reports / "promotion_decisions.json"),
- "atlas": load_json(reports / "skill_atlas.json"),
- "adoption_drift": load_json(reports / "adoption_drift_report.json"),
- "review_waivers": load_json(reports / "review_waivers.json"),
- "review_annotations": load_json(reports / "review_annotations.json"),
- "world_class_evidence_ledger": load_json(reports / "world_class_evidence_ledger.json"),
- "world_class_evidence_intake": load_json(reports / "world_class_evidence_intake.json"),
- "world_class_claim_guard": load_json(reports / "world_class_claim_guard.json"),
- "registry": load_json(reports / "registry_audit.json"),
- "package_verification": load_json(reports / "package_verification.json"),
- "install_simulation": load_json(reports / "install_simulation.json"),
- "upgrade_check": load_json(reports / "upgrade_check.json"),
- "manifest": load_json(skill_dir / "manifest.json"),
- "frontmatter": parse_frontmatter(skill_dir / "SKILL.md"),
- "interface": load_yaml(skill_dir / "agents" / "interface.yaml"),
- }
-
-
-def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]:
- overview = data["overview"]
- output = data["output_quality"].get("summary", {})
- output_execution = data["output_execution"].get("summary", {})
- output_blind = data["output_blind_review"].get("summary", {})
- output_review = data["output_review_adjudication"].get("summary", {})
- blueprint = data["skill_os2_coverage"].get("summary", {})
- compiled = data["compiled_targets"].get("summary", {})
- conformance = data["conformance"].get("summary", {})
- runtime_permissions = data["runtime_permissions"].get("summary", {})
- trust = data["trust"].get("summary", {})
- python_compat = data["python_compatibility"].get("summary", {})
- architecture = data["architecture_maintainability"].get("summary", {})
- atlas = data["atlas"].get("summary", {})
- adoption = data["adoption_drift"].get("summary", {})
- waivers = data["review_waivers"].get("summary", {})
- annotations = data["review_annotations"].get("summary", {})
- intake = data["world_class_evidence_intake"].get("summary", {})
- claim_guard = data["world_class_claim_guard"].get("summary", {})
- registry = data["registry"].get("package", {})
- package_verification = data["package_verification"].get("summary", {})
- install_simulation = data["install_simulation"].get("summary", {})
- upgrade = data["upgrade_check"].get("summary", {})
- cards = [
- {
- "label": "Skill IR",
- "value": str(overview.get("skill_ir", {}).get("schema_version", "missing")),
- "detail": f"{overview.get('skill_ir', {}).get('target_count', 0)} targets in platform-neutral contract",
- },
- {
- "label": "Compiler",
- "value": f"{compiled.get('pass_count', 0)}/{compiled.get('target_count', 0)}",
- "detail": "target contracts compiled from Skill IR",
- },
- {
- "label": "Output Delta",
- "value": str(output.get("delta", "n/a")),
- "detail": f"{output.get('case_count', 0)} cases; {output.get('file_backed_case_count', 0)} file-backed",
- },
- {
- "label": "Exec Runs",
- "value": str(output_execution.get("variant_run_count", 0)),
- "detail": (
- f"command {output_execution.get('command_executed_count', 0)}; "
- f"model {output_execution.get('model_executed_count', 0)}; "
- f"recorded {output_execution.get('recorded_fixture_count', 0)}"
- ),
- },
- {
- "label": "Blind A/B",
- "value": str(output_blind.get("pair_count", 0)),
- "detail": "review pairs hide baseline vs with-skill labels",
- },
- {
- "label": "Review A/B",
- "value": f"{output_review.get('judgment_count', 0)}/{output_review.get('pair_count', 0)}",
- "detail": f"adjudication decisions; pending {output_review.get('pending_count', 0)}",
- },
- {
- "label": "Blueprint",
- "value": f"{blueprint.get('pass_count', 0)}/{blueprint.get('item_count', 0)}",
- "detail": f"2.0 coverage; evidence pending {blueprint.get('world_class_evidence_pending_count', 0)}",
- },
- {
- "label": "Runtime",
- "value": f"{conformance.get('pass_count', 0)}/{conformance.get('target_count', 0)}",
- "detail": "target conformance pass rate",
- },
- {
- "label": "Perm Probe",
- "value": f"{runtime_permissions.get('metadata_fallback_count', 0)}/{runtime_permissions.get('target_count', 0)}",
- "detail": f"{runtime_permissions.get('native_enforcement_count', 0)} native enforcement targets",
- },
- {
- "label": "Trust",
- "value": str(trust.get("secret_findings", 0)),
- "detail": f"{trust.get('script_count', 0)} scripts scanned; secrets found",
- },
- {
- "label": "Py Compat",
- "value": str(python_compat.get("issue_count", 0)),
- "detail": f"{python_compat.get('file_count', 0)} files scanned for Python {python_compat.get('target_python', '3.11')}",
- },
- {
- "label": "Arch Debt",
- "value": str(architecture.get("hotspot_count", 0)),
- "detail": (
- f"{architecture.get('largest_file_lines', 0)} largest lines; "
- f"{architecture.get('command_handler_count', 0)} CLI handlers"
- ),
- },
- {
- "label": "Atlas",
- "value": str(atlas.get("route_collision_count", 0)),
- "detail": f"{atlas.get('skill_count', 0)} scanned skills; route collisions",
- },
- {
- "label": "Drift",
- "value": str(adoption.get("risk_band", "n/a")),
- "detail": f"{adoption.get('event_count', 0)} metadata events; {adoption.get('missed_trigger_count', 0)} missed triggers",
- },
- {
- "label": "Waivers",
- "value": str(waivers.get("active_count", 0)),
- "detail": f"{waivers.get('covered_gate_count', 0)} gates covered; human risk decisions",
- },
- {
- "label": "Intake",
- "value": f"{intake.get('template_pass_count', 0)}/{intake.get('template_count', 0)}",
- "detail": (
- f"{intake.get('valid_submission_count', 0)} valid submissions; "
- f"{intake.get('invalid_submission_count', 0)} invalid"
- ),
- },
- {
- "label": "Claim Guard",
- "value": str(claim_guard.get("violation_count", 0)),
- "detail": f"{claim_guard.get('claim_surface_count', 0)} public surfaces scanned",
- },
- {
- "label": "Notes",
- "value": f"{annotations.get('open_count', 0)}/{annotations.get('annotation_count', 0)}",
- "detail": f"{annotations.get('open_blocker_count', 0)} open blocker annotations",
- },
- {
- "label": "Registry",
- "value": str(registry.get("version", "n/a")),
- "detail": f"{len(registry.get('targets', []))} targets; {registry.get('license', 'no license')} license",
- },
- {
- "label": "Archive",
- "value": "pass" if data["package_verification"].get("ok") else "n/a",
- "detail": f"{package_verification.get('archive_entry_count', 0)} zip entries; package verification",
- },
- {
- "label": "Install",
- "value": "pass" if data["install_simulation"].get("ok") else "n/a",
- "detail": (
- f"{install_simulation.get('adapter_count', 0)} adapters; "
- f"{install_simulation.get('installer_permission_enforced_count', 0)} permissions enforced; "
- f"{install_simulation.get('installer_permission_failure_count', 0)} permission failures"
- ),
- },
- {
- "label": "Upgrade",
- "value": str(upgrade.get("recommended_bump", "n/a")),
- "detail": f"declared {upgrade.get('declared_bump', 'n/a')}; {upgrade.get('breaking_change_count', 0)} breaking changes",
- },
- ]
- return cards
-
-
def render_gate_list(gates: list[dict[str, str]]) -> str:
items = []
for item in gates:
@@ -684,49 +418,6 @@ def render_review_annotations_panel(annotations_report: dict[str, Any]) -> str:
return "".join(cards)
-def render_inline_list(items: list[Any], empty_label: str) -> str:
- if not items:
- return f"{html.escape(empty_label)}
"
- return "" + "".join(f"- {html.escape(str(item))}
" for item in items) + "
"
-
-
-def render_world_class_evidence_entries(ledger: dict[str, Any]) -> str:
- entries = ledger.get("entries", []) if isinstance(ledger, dict) else []
- if not entries:
- return "当前没有 world-class 证据条目。
"
- cards = []
- for entry in entries:
- observed = entry.get("observed_state", {}) if isinstance(entry.get("observed_state", {}), dict) else {}
- observed_summary = "; ".join(f"{key}: {value}" for key, value in observed.items())
- status = str(entry.get("status", "pending"))
- status_label_text = "已接受" if status == "accepted" else "待补证"
- cards.append(
- ""
- f"{html.escape(status_label_text)} · {html.escape(str(entry.get('category', '')))}"
- f"
{html.escape(str(entry.get('label', entry.get('key', 'evidence'))))}
"
- f"{html.escape(str(entry.get('objective', '')))}
"
- f"- 负责人
- {html.escape(str(entry.get('owner', '')))}
"
- f"- 当前状态
- {html.escape(str(entry.get('current', '')))}
"
- f"- 下一步
- {html.escape(str(entry.get('next_action', '')))}
"
- f"- 观测值
- {html.escape(observed_summary or '无')}
"
- ""
- "
完成定义
"
- + render_inline_list(entry.get("success_checks", []), "暂无完成定义。")
- + ""
- "
证据来源
"
- + render_inline_list(entry.get("evidence_artifacts", []), "暂无证据来源。")
- + ""
- "
隐私约束
"
- + render_inline_list(entry.get("privacy_contract", []), "暂无隐私约束。")
- + ""
- "
"
- ""
- )
- return "" + "".join(cards) + "
"
-
-
def render_html(report: dict[str, Any]) -> str:
summary = report["summary"]
gates = report["gates"]
diff --git a/scripts/review_studio_data.py b/scripts/review_studio_data.py
new file mode 100644
index 00000000..fb65fcb2
--- /dev/null
+++ b/scripts/review_studio_data.py
@@ -0,0 +1,281 @@
+#!/usr/bin/env python3
+"""Data loading and insight card helpers for Review Studio."""
+
+import json
+from pathlib import Path
+from typing import Any
+
+try:
+ import yaml
+except ImportError: # pragma: no cover
+ yaml = None
+
+
+SCRIPT_INTERFACE = "internal-module"
+SCRIPT_INTERFACE_REASON = "Imported by render_review_studio.py to load Review Studio source reports and metric cards."
+
+ROOT = Path(__file__).resolve().parent.parent
+
+
+def load_json(path: Path) -> dict[str, Any]:
+ if not path.exists():
+ return {}
+ try:
+ payload = json.loads(path.read_text(encoding="utf-8"))
+ except json.JSONDecodeError:
+ return {}
+ return payload if isinstance(payload, dict) else {}
+
+
+def load_yaml(path: Path) -> dict[str, Any]:
+ if not path.exists() or yaml is None:
+ return {}
+ payload = yaml.safe_load(path.read_text(encoding="utf-8")) or {}
+ return payload if isinstance(payload, dict) else {}
+
+
+def parse_frontmatter(path: Path) -> dict[str, Any]:
+ if not path.exists():
+ return {}
+ lines = path.read_text(encoding="utf-8", errors="replace").splitlines()
+ if not lines or lines[0].strip() != "---":
+ return {}
+ try:
+ end_index = lines[1:].index("---") + 1
+ except ValueError:
+ return {}
+ text = "\n".join(lines[1:end_index])
+ if yaml is not None:
+ payload = yaml.safe_load(text) or {}
+ return payload if isinstance(payload, dict) else {}
+ data = {}
+ for line in text.splitlines():
+ if ":" in line:
+ key, value = line.split(":", 1)
+ data[key.strip()] = value.strip().strip('"')
+ return data
+
+
+def evidence_paths(skill_dir: Path) -> dict[str, str]:
+ rels = {
+ "skill_overview": "reports/skill-overview.html",
+ "review_viewer": "reports/review-viewer.html",
+ "output_eval": "reports/output_quality_scorecard.md",
+ "output_execution": "reports/output_execution_runs.md",
+ "output_blind_review": "reports/output_blind_review_pack.md",
+ "output_review_decisions": "reports/output_review_decisions.json",
+ "output_review_adjudication": "reports/output_review_adjudication.md",
+ "benchmark_reproducibility": "reports/benchmark_reproducibility.md",
+ "skill_os2_coverage": "reports/skill_os2_coverage.md",
+ "runtime_conformance": "reports/conformance_matrix.md",
+ "trust_report": "reports/security_trust_report.md",
+ "python_compatibility": "reports/python_compatibility.md",
+ "architecture_maintainability": "reports/architecture_maintainability.md",
+ "permission_policy": "security/permission_policy.md",
+ "runtime_permissions": "reports/runtime_permission_probes.md",
+ "skill_atlas": "reports/skill_atlas.html",
+ "compiled_targets": "reports/compiled_targets.md",
+ "adoption_drift": "reports/adoption_drift_report.md",
+ "review_waivers": "reports/review_waivers.md",
+ "review_annotations": "reports/review_annotations.md",
+ "world_class_evidence_plan": "reports/world_class_evidence_plan.md",
+ "world_class_evidence_ledger": "reports/world_class_evidence_ledger.md",
+ "world_class_evidence_intake": "reports/world_class_evidence_intake.md",
+ "world_class_claim_guard": "reports/world_class_claim_guard.md",
+ "registry_audit": "reports/registry_audit.md",
+ "package_verification": "reports/package_verification.md",
+ "install_simulation": "reports/install_simulation.md",
+ "upgrade_check": "reports/upgrade_check.md",
+ "migration": "docs/migration-v2.md",
+ "skill_ir": "reports/skill-ir.json",
+ }
+ return {key: rel for key, rel in rels.items() if (skill_dir / rel).exists() or (ROOT / rel).exists()}
+
+
+def load_review_data(skill_dir: Path) -> dict[str, dict[str, Any]]:
+ reports = skill_dir / "reports"
+ return {
+ "overview": load_json(reports / "skill-overview.json"),
+ "intent_confidence": load_json(reports / "intent-confidence.json"),
+ "intent_dialogue": load_json(reports / "intent-dialogue.json"),
+ "route_scorecard": load_json(reports / "route_scorecard.json"),
+ "output_quality": load_json(reports / "output_quality_scorecard.json"),
+ "output_execution": load_json(reports / "output_execution_runs.json"),
+ "output_blind_review": load_json(reports / "output_blind_review_pack.json"),
+ "output_review_adjudication": load_json(reports / "output_review_adjudication.json"),
+ "skill_os2_coverage": load_json(reports / "skill_os2_coverage.json"),
+ "compiled_targets": load_json(reports / "compiled_targets.json"),
+ "conformance": load_json(reports / "conformance_matrix.json"),
+ "runtime_permissions": load_json(reports / "runtime_permission_probes.json"),
+ "trust": load_json(reports / "security_trust_report.json"),
+ "python_compatibility": load_json(reports / "python_compatibility.json"),
+ "architecture_maintainability": load_json(reports / "architecture_maintainability.json"),
+ "context_budget": load_json(reports / "context_budget.json"),
+ "promotion": load_json(reports / "promotion_decisions.json"),
+ "atlas": load_json(reports / "skill_atlas.json"),
+ "adoption_drift": load_json(reports / "adoption_drift_report.json"),
+ "review_waivers": load_json(reports / "review_waivers.json"),
+ "review_annotations": load_json(reports / "review_annotations.json"),
+ "world_class_evidence_ledger": load_json(reports / "world_class_evidence_ledger.json"),
+ "world_class_evidence_intake": load_json(reports / "world_class_evidence_intake.json"),
+ "world_class_claim_guard": load_json(reports / "world_class_claim_guard.json"),
+ "registry": load_json(reports / "registry_audit.json"),
+ "package_verification": load_json(reports / "package_verification.json"),
+ "install_simulation": load_json(reports / "install_simulation.json"),
+ "upgrade_check": load_json(reports / "upgrade_check.json"),
+ "manifest": load_json(skill_dir / "manifest.json"),
+ "frontmatter": parse_frontmatter(skill_dir / "SKILL.md"),
+ "interface": load_yaml(skill_dir / "agents" / "interface.yaml"),
+ }
+
+
+def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]:
+ overview = data["overview"]
+ output = data["output_quality"].get("summary", {})
+ output_execution = data["output_execution"].get("summary", {})
+ output_blind = data["output_blind_review"].get("summary", {})
+ output_review = data["output_review_adjudication"].get("summary", {})
+ blueprint = data["skill_os2_coverage"].get("summary", {})
+ compiled = data["compiled_targets"].get("summary", {})
+ conformance = data["conformance"].get("summary", {})
+ runtime_permissions = data["runtime_permissions"].get("summary", {})
+ trust = data["trust"].get("summary", {})
+ python_compat = data["python_compatibility"].get("summary", {})
+ architecture = data["architecture_maintainability"].get("summary", {})
+ atlas = data["atlas"].get("summary", {})
+ adoption = data["adoption_drift"].get("summary", {})
+ waivers = data["review_waivers"].get("summary", {})
+ annotations = data["review_annotations"].get("summary", {})
+ intake = data["world_class_evidence_intake"].get("summary", {})
+ claim_guard = data["world_class_claim_guard"].get("summary", {})
+ registry = data["registry"].get("package", {})
+ package_verification = data["package_verification"].get("summary", {})
+ install_simulation = data["install_simulation"].get("summary", {})
+ upgrade = data["upgrade_check"].get("summary", {})
+ cards = [
+ {
+ "label": "Skill IR",
+ "value": str(overview.get("skill_ir", {}).get("schema_version", "missing")),
+ "detail": f"{overview.get('skill_ir', {}).get('target_count', 0)} targets in platform-neutral contract",
+ },
+ {
+ "label": "Compiler",
+ "value": f"{compiled.get('pass_count', 0)}/{compiled.get('target_count', 0)}",
+ "detail": "target contracts compiled from Skill IR",
+ },
+ {
+ "label": "Output Delta",
+ "value": str(output.get("delta", "n/a")),
+ "detail": f"{output.get('case_count', 0)} cases; {output.get('file_backed_case_count', 0)} file-backed",
+ },
+ {
+ "label": "Exec Runs",
+ "value": str(output_execution.get("variant_run_count", 0)),
+ "detail": (
+ f"command {output_execution.get('command_executed_count', 0)}; "
+ f"model {output_execution.get('model_executed_count', 0)}; "
+ f"recorded {output_execution.get('recorded_fixture_count', 0)}"
+ ),
+ },
+ {
+ "label": "Blind A/B",
+ "value": str(output_blind.get("pair_count", 0)),
+ "detail": "review pairs hide baseline vs with-skill labels",
+ },
+ {
+ "label": "Review A/B",
+ "value": f"{output_review.get('judgment_count', 0)}/{output_review.get('pair_count', 0)}",
+ "detail": f"adjudication decisions; pending {output_review.get('pending_count', 0)}",
+ },
+ {
+ "label": "Blueprint",
+ "value": f"{blueprint.get('pass_count', 0)}/{blueprint.get('item_count', 0)}",
+ "detail": f"2.0 coverage; evidence pending {blueprint.get('world_class_evidence_pending_count', 0)}",
+ },
+ {
+ "label": "Runtime",
+ "value": f"{conformance.get('pass_count', 0)}/{conformance.get('target_count', 0)}",
+ "detail": "target conformance pass rate",
+ },
+ {
+ "label": "Perm Probe",
+ "value": f"{runtime_permissions.get('metadata_fallback_count', 0)}/{runtime_permissions.get('target_count', 0)}",
+ "detail": f"{runtime_permissions.get('native_enforcement_count', 0)} native enforcement targets",
+ },
+ {
+ "label": "Trust",
+ "value": str(trust.get("secret_findings", 0)),
+ "detail": f"{trust.get('script_count', 0)} scripts scanned; secrets found",
+ },
+ {
+ "label": "Py Compat",
+ "value": str(python_compat.get("issue_count", 0)),
+ "detail": f"{python_compat.get('file_count', 0)} files scanned for Python {python_compat.get('target_python', '3.11')}",
+ },
+ {
+ "label": "Arch Debt",
+ "value": str(architecture.get("hotspot_count", 0)),
+ "detail": (
+ f"{architecture.get('largest_file_lines', 0)} largest lines; "
+ f"{architecture.get('command_handler_count', 0)} CLI handlers"
+ ),
+ },
+ {
+ "label": "Atlas",
+ "value": str(atlas.get("route_collision_count", 0)),
+ "detail": f"{atlas.get('skill_count', 0)} scanned skills; route collisions",
+ },
+ {
+ "label": "Drift",
+ "value": str(adoption.get("risk_band", "n/a")),
+ "detail": f"{adoption.get('event_count', 0)} metadata events; {adoption.get('missed_trigger_count', 0)} missed triggers",
+ },
+ {
+ "label": "Waivers",
+ "value": str(waivers.get("active_count", 0)),
+ "detail": f"{waivers.get('covered_gate_count', 0)} gates covered; human risk decisions",
+ },
+ {
+ "label": "Intake",
+ "value": f"{intake.get('template_pass_count', 0)}/{intake.get('template_count', 0)}",
+ "detail": (
+ f"{intake.get('valid_submission_count', 0)} valid submissions; "
+ f"{intake.get('invalid_submission_count', 0)} invalid"
+ ),
+ },
+ {
+ "label": "Claim Guard",
+ "value": str(claim_guard.get("violation_count", 0)),
+ "detail": f"{claim_guard.get('claim_surface_count', 0)} public surfaces scanned",
+ },
+ {
+ "label": "Notes",
+ "value": f"{annotations.get('open_count', 0)}/{annotations.get('annotation_count', 0)}",
+ "detail": f"{annotations.get('open_blocker_count', 0)} open blocker annotations",
+ },
+ {
+ "label": "Registry",
+ "value": str(registry.get("version", "n/a")),
+ "detail": f"{len(registry.get('targets', []))} targets; {registry.get('license', 'no license')} license",
+ },
+ {
+ "label": "Archive",
+ "value": "pass" if data["package_verification"].get("ok") else "n/a",
+ "detail": f"{package_verification.get('archive_entry_count', 0)} zip entries; package verification",
+ },
+ {
+ "label": "Install",
+ "value": "pass" if data["install_simulation"].get("ok") else "n/a",
+ "detail": (
+ f"{install_simulation.get('adapter_count', 0)} adapters; "
+ f"{install_simulation.get('installer_permission_enforced_count', 0)} permissions enforced; "
+ f"{install_simulation.get('installer_permission_failure_count', 0)} permission failures"
+ ),
+ },
+ {
+ "label": "Upgrade",
+ "value": str(upgrade.get("recommended_bump", "n/a")),
+ "detail": f"declared {upgrade.get('declared_bump', 'n/a')}; {upgrade.get('breaking_change_count', 0)} breaking changes",
+ },
+ ]
+ return cards
diff --git a/scripts/review_studio_world_class.py b/scripts/review_studio_world_class.py
new file mode 100644
index 00000000..d365c76d
--- /dev/null
+++ b/scripts/review_studio_world_class.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+"""World-class evidence HTML helpers for Review Studio."""
+
+import html
+from typing import Any
+
+
+SCRIPT_INTERFACE = "internal-module"
+SCRIPT_INTERFACE_REASON = "Imported by render_review_studio.py to render world-class evidence cards."
+
+
+def render_inline_list(items: list[Any], empty_label: str) -> str:
+ if not items:
+ return f"{html.escape(empty_label)}
"
+ return "" + "".join(f"- {html.escape(str(item))}
" for item in items) + "
"
+
+
+def render_world_class_evidence_entries(ledger: dict[str, Any]) -> str:
+ entries = ledger.get("entries", []) if isinstance(ledger, dict) else []
+ if not entries:
+ return "当前没有 world-class 证据条目。
"
+ cards = []
+ for entry in entries:
+ observed = entry.get("observed_state", {}) if isinstance(entry.get("observed_state", {}), dict) else {}
+ observed_summary = "; ".join(f"{key}: {value}" for key, value in observed.items())
+ status = str(entry.get("status", "pending"))
+ status_label_text = "已接受" if status == "accepted" else "待补证"
+ cards.append(
+ ""
+ f"{html.escape(status_label_text)} · {html.escape(str(entry.get('category', '')))}"
+ f"
{html.escape(str(entry.get('label', entry.get('key', 'evidence'))))}
"
+ f"{html.escape(str(entry.get('objective', '')))}
"
+ f"- 负责人
- {html.escape(str(entry.get('owner', '')))}
"
+ f"- 当前状态
- {html.escape(str(entry.get('current', '')))}
"
+ f"- 下一步
- {html.escape(str(entry.get('next_action', '')))}
"
+ f"- 观测值
- {html.escape(observed_summary or '无')}
"
+ ""
+ "
完成定义
"
+ + render_inline_list(entry.get("success_checks", []), "暂无完成定义。")
+ + ""
+ "
证据来源
"
+ + render_inline_list(entry.get("evidence_artifacts", []), "暂无证据来源。")
+ + ""
+ "
隐私约束
"
+ + render_inline_list(entry.get("privacy_contract", []), "暂无隐私约束。")
+ + ""
+ "
"
+ ""
+ )
+ return "" + "".join(cards) + "
"
diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json
index 1e331dcb..50bb1e52 100644
--- a/skill-ir/examples/yao-meta-skill.json
+++ b/skill-ir/examples/yao-meta-skill.json
@@ -167,9 +167,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
@@ -185,9 +187,7 @@
"scripts/trigger_eval.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
- "scripts/validate_skill.py",
- "scripts/verify_package.py",
- "scripts/yao.py"
+ "scripts/validate_skill.py"
],
"assets": [
"templates/basic_skill.md.j2",
diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json
index 81336f17..fa52e6e8 100644
--- a/skill_atlas/catalog.json
+++ b/skill_atlas/catalog.json
@@ -79,9 +79,11 @@
"scripts/render_world_class_evidence_ledger.py",
"scripts/render_world_class_evidence_plan.py",
"scripts/resource_boundary_check.py",
+ "scripts/review_studio_data.py",
"scripts/review_studio_formatting.py",
"scripts/review_studio_gates.py",
"scripts/review_studio_layout.py",
+ "scripts/review_studio_world_class.py",
"scripts/run_conformance_suite.py",
"scripts/run_description_optimization_suite.py",
"scripts/run_eval_suite.py",
diff --git a/tests/verify_architecture_maintainability.py b/tests/verify_architecture_maintainability.py
index 36723c22..a61bb87c 100644
--- a/tests/verify_architecture_maintainability.py
+++ b/tests/verify_architecture_maintainability.py
@@ -38,14 +38,15 @@ def main() -> None:
payload = json.loads(proc.stdout)
assert payload["ok"], payload
assert payload["summary"]["decision"] == "watch-maintainability-hotspots", payload["summary"]
- assert payload["summary"]["hotspot_count"] >= 3, payload["summary"]
+ assert payload["summary"]["hotspot_count"] == 2, payload["summary"]
assert payload["summary"]["blocker_count"] == 0, payload["summary"]
assert 30 <= payload["summary"]["command_handler_count"] < 50, payload["summary"]
assert payload["summary"]["largest_file_lines"] >= 900, payload["summary"]
- assert payload["largest_files"][0]["path"] == "scripts/render_review_studio.py", payload["largest_files"][0]
+ assert payload["largest_files"][0]["path"] == "scripts/yao.py", payload["largest_files"][0]
assert payload["largest_files"][0]["severity"] == "warn", payload["largest_files"][0]
hotspot_paths = {item["path"] for item in payload["hotspots"]}
- assert {"scripts/yao.py", "scripts/render_review_studio.py", "scripts/render_review_viewer.py"} <= hotspot_paths, hotspot_paths
+ assert {"scripts/yao.py", "scripts/render_review_viewer.py"} <= hotspot_paths, hotspot_paths
+ assert "scripts/render_review_studio.py" not in hotspot_paths, hotspot_paths
assert output_json.exists(), output_json
markdown = output_md.read_text(encoding="utf-8")
assert "# Architecture Maintainability" in markdown, markdown
diff --git a/tests/verify_review_studio.py b/tests/verify_review_studio.py
index 446bba09..29a40585 100644
--- a/tests/verify_review_studio.py
+++ b/tests/verify_review_studio.py
@@ -319,7 +319,7 @@ def main() -> None:
assert python_compat_gate["evidence"] == "reports/python_compatibility.json", python_compat_gate
architecture_gate = next(item for item in payload["gates"] if item["key"] == "architecture-maintainability")
assert architecture_gate["status"] == "warn", architecture_gate
- assert "3 hotspots" in architecture_gate["detail"], architecture_gate
+ assert "2 hotspots" in architecture_gate["detail"], architecture_gate
assert "0 blockers" in architecture_gate["detail"], architecture_gate
assert "CLI handlers" in architecture_gate["detail"], architecture_gate
assert architecture_gate["evidence"] == "reports/architecture_maintainability.json", architecture_gate
@@ -392,7 +392,7 @@ def main() -> None:
assert full_payload["evidence_paths"]["runtime_permissions"] == "reports/runtime_permission_probes.md", full_payload["evidence_paths"]
assert full_payload["data"]["python_compatibility"]["summary"]["target_python"] == "3.11", full_payload["data"]["python_compatibility"]
assert full_payload["data"]["python_compatibility"]["summary"]["issue_count"] == 0, full_payload["data"]["python_compatibility"]
- assert full_payload["data"]["architecture_maintainability"]["summary"]["hotspot_count"] >= 3, full_payload["data"]["architecture_maintainability"]
+ assert full_payload["data"]["architecture_maintainability"]["summary"]["hotspot_count"] == 2, full_payload["data"]["architecture_maintainability"]
assert full_payload["data"]["architecture_maintainability"]["summary"]["blocker_count"] == 0, full_payload["data"]["architecture_maintainability"]
action_keys = {item["gate_key"] for item in full_payload["review_actions"]}
assert action_keys == {"output-lab", "architecture-maintainability", "review-waivers", "world-class-evidence"}, full_payload["review_actions"]
diff --git a/tests/verify_yao_cli.py b/tests/verify_yao_cli.py
index b8eb38a3..8f3aefb2 100644
--- a/tests/verify_yao_cli.py
+++ b/tests/verify_yao_cli.py
@@ -217,7 +217,7 @@ def main() -> None:
"2026-06-14",
)
assert architecture_result["ok"], architecture_result
- assert architecture_result["payload"]["summary"]["hotspot_count"] >= 3, architecture_result
+ assert architecture_result["payload"]["summary"]["hotspot_count"] == 2, architecture_result
assert architecture_result["payload"]["summary"]["blocker_count"] == 0, architecture_result
assert 30 <= architecture_result["payload"]["summary"]["command_handler_count"] < 50, architecture_result