diff --git a/registry/index.json b/registry/index.json index 1173e361..9c337d89 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index a8a98e54..4fe6b841 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": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f", - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, "compatibility": { "openai": "pass", @@ -48,7 +48,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 7da7f1cd..c2d88168 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -3,24 +3,24 @@ "ok": true, "generated_at": "2026-06-13", "skill_dir": ".", - "commit": "be3fe0016116ab337a972a0bfee1b05cace7ac36", + "commit": "f3b23ea9b90e85dbcfdf85c75b40c29e9cad2ab3", "git_status": { "available": true, "dirty": true, - "changed_file_count": 47, + "changed_file_count": 25, "sample": [ - " M AGENTS.md", - " M Makefile", - " M README.md", " M registry/index.json", " M registry/packages/yao-meta-skill.json", " 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" + " M reports/output_execution_runs.md", + " M reports/package_verification.json", + " M reports/package_verification.md", + " M reports/registry_audit.json", + " M reports/registry_audit.md", + " M reports/review-studio.html" ] }, "summary": { @@ -42,7 +42,7 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 47 + "changed_file_count": 25 }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -115,8 +115,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "13838e344e1c707fea704bed95d80d499fea8e673a4a0fdc519b2671a625a4d1" + "bytes": 7967, + "sha256": "538ba36bb39fd9d7040f760b0a7c914f7c4f383e777721239369db73bc44c363" }, { "label": "blind_review", @@ -151,21 +151,21 @@ "path": "reports/security_trust_report.json", "exists": true, "bytes": 82914, - "sha256": "f709657c5ddb65011675d83f9170240722508831c0ac60ab37b57d87d8707496" + "sha256": "efb55ff48628972938b3938217373fcce189e91e61b62917edf9266b3c8b3954" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "3966d27f6a71b2f518b9b8e74d2853ffdbc778f84669d81012f671b41dcc0544" + "sha256": "d39f6642c39b2e0f5f8f5f05ce1eaac3e765ba5e7b90148bddf3553f3cbcf44d" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, "bytes": 19325, - "sha256": "0908995b45fb0f226a8b21f61c096ef432c95c267c7b4614efbc940edc74db8a" + "sha256": "cea8e0f5627ea3c19817f02a0644a5169b447333227a762223f0d2571a449825" }, { "label": "install_simulation", @@ -179,7 +179,7 @@ "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13946, - "sha256": "a4f4e6e665e4950289df34f6ef3ae04000666d6588fe05ca333c0809ad1acbda" + "sha256": "f8e39236c93213cab3a5e61881accd7bb941e6f77209f15ffcce9fa86e83b6fe" }, { "label": "world_class_evidence_plan", diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index 7c76c672..f7520373 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,7 +1,7 @@ # Benchmark Reproducibility Generated at: `2026-06-13` -Commit: `be3fe0016116ab337a972a0bfee1b05cace7ac36` +Commit: `f3b23ea9b90e85dbcfdf85c75b40c29e9cad2ab3` 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: `47` +- changed files at generation: `25` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. @@ -40,16 +40,16 @@ 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 | `13838e344e1c` | +| output_execution | `reports/output_execution_runs.json` | present | `538ba36bb39f` | | 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 | `f709657c5ddb` | -| registry_audit | `reports/registry_audit.json` | present | `3966d27f6a71` | -| package_verification | `reports/package_verification.json` | present | `0908995b45fb` | +| trust_report | `reports/security_trust_report.json` | present | `efb55ff48628` | +| registry_audit | `reports/registry_audit.json` | present | `d39f6642c39b` | +| package_verification | `reports/package_verification.json` | present | `cea8e0f5627e` | | install_simulation | `reports/install_simulation.json` | present | `db509b728ad4` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `a4f4e6e665e4` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `f8e39236c932` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `c24ea93bc38e` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `3129158ca088` | diff --git a/reports/context_budget.json b/reports/context_budget.json index 8d3ca11f..f1f54cc6 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,9 +6,9 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1002467, + "other_text_tokens": 1004699, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1003218, + "estimated_total_text_tokens": 1005450, "relevant_file_count": 436, "unused_resource_dirs": [], "quality_signal_points": 130, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index d49819b0..7076eee0 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": 28.6, + "duration_ms": 25.58, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.28, + "duration_ms": 25.78, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.23, + "duration_ms": 25.83, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.19, + "duration_ms": 25.84, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.68, + "duration_ms": 25.91, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.96, + "duration_ms": 25.98, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.39, + "duration_ms": 25.77, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.41, + "duration_ms": 25.69, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.45, + "duration_ms": 25.64, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.25, + "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 1a228449..5e67cc0f 100644 --- a/reports/output_execution_runs.md +++ b/reports/output_execution_runs.md @@ -23,16 +23,16 @@ 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 | 28.6 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 28.28 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 28.23 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 28.19 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 28.68 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 28.96 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 28.39 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 28.41 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 28.45 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 28.25 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 25.58 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 25.78 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 25.83 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 25.84 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 25.91 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.98 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 25.77 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 25.69 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 25.64 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.66 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index b7addbbc..d9262325 100644 --- a/reports/package_verification.json +++ b/reports/package_verification.json @@ -8,7 +8,7 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "archive_entry_count": 521, "failure_count": 0, "warning_count": 0 diff --git a/reports/package_verification.md b/reports/package_verification.md index 8d497c51..87b82934 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: `23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328` +- Archive SHA256: `c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a` - Failures: `0` - Warnings: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index 987f9841..ac06e098 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f", - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, "compatibility": { "openai": "pass", @@ -53,7 +53,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "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": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index 50696b5f..f2651e78 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f` -- Archive SHA256: `23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328` +- Package SHA256: `22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481` +- Archive SHA256: `c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index 9b088622..f967a023 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -227,7 +227,7 @@ - +
Review Studio 2.0
@@ -236,7 +236,7 @@
审查结论 review - Score 92/100 + Score 90/100
@@ -247,17 +247,17 @@

审查闸门

-
通过

意图画布

intent confidence 100/100; Intent is clear enough to package the first routeable version.

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

0 secrets; 78 scripts; 3 network-capable scripts; 0 help smoke failures

reports/security_trust_report.json 证据
通过

权限批准

3/3 permissions approved; gaps 0; required file_write, network, subprocess

reports/security_trust_report.json + security/permission_policy.json 证据
通过

权限探针

4/4 targets probed; native 0; metadata fallback 4; residual risks 4

reports/runtime_permission_probes.json 证据
通过

组合治理

12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues

reports/skill_atlas.json 证据
通过

运营回路

1 metadata events; adoption 0; missed 0; bad-output 0; risk low

reports/adoption_drift_report.json 证据
关注

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
通过

注册审计

yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures

reports/registry_audit.json + reports/install_simulation.json 证据
通过

发布路线

0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended

reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md 证据
+
通过

意图画布

intent confidence 100/100; Intent is clear enough to package the first routeable version.

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

0 secrets; 78 scripts; 3 network-capable scripts; 0 help smoke failures

reports/security_trust_report.json 证据
通过

权限批准

3/3 permissions approved; gaps 0; required file_write, network, subprocess

reports/security_trust_report.json + security/permission_policy.json 证据
通过

权限探针

4/4 targets probed; native 0; metadata fallback 4; residual risks 4

reports/runtime_permission_probes.json 证据
通过

组合治理

12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues

reports/skill_atlas.json 证据
通过

运营回路

1 metadata events; adoption 0; missed 0; bad-output 0; risk low

reports/adoption_drift_report.json 证据
关注

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true

reports/world_class_evidence_ledger.json 证据
通过

注册审计

yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures

reports/registry_audit.json + reports/install_simulation.json 证据
通过

发布路线

0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended

reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md 证据

阻断事项

无。

-

关注事项

  • 输出实验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
  • 人工批准0 active waivers; 1 warning gates still need reviewer decision
+

关注事项

  • 输出实验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
  • 人工批准0 active waivers; 1 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
关注

人工批准

对保留的 warning 写入 reviewer、理由、范围和到期时间,或修掉 warning。

warning 可以被接受,但必须可审计、会过期,并且不能掩盖 blocker。
修复位置
reports/review_waivers.md
验证命令
python3 scripts/render_review_waivers.py .
+
关注

输出实验

补足 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
关注

人工批准

对保留的 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
验证命令
python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .
@@ -313,7 +313,7 @@
-

信任报告

Secret
0
脚本数
78
网络脚本
3
Help 失败
0
包体哈希
22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f
+

信任报告

Secret
0
脚本数
78
网络脚本
3
Help 失败
0
包体哈希
22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481

安全边界

高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。

@@ -342,14 +342,19 @@

批准台账

Waiver Count
0
Active Count
0
Expired Count
0
Invalid Count
0
覆盖 Gate
0
+
+

世界证据

4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true

+

证据台账

Ledger Entry Count
4
Accepted Count
0
待审
4
Human Pending Count
1
External Pending Count
3
Overclaim Guard Active
Ready To Claim World Class
+
+

注册审计

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
归档哈希
23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328
+

包体元数据

名称
yao-meta-skill
版本
1.1.0
Maturity
governed
Owner
Yao Team
License
MIT
信任级别
local
目标平台
openai, claude, generic, agent-skills-compatible, vscode
兼容通过
6/6
归档哈希
c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a

发布路线

0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
521
失败数
0
警告数
0
归档哈希
23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
521
失败数
0
警告数
0
归档哈希
c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a
diff --git a/reports/review-studio.json b/reports/review-studio.json index 220c35a5..249f55a9 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -4,11 +4,11 @@ "skill_dir": ".", "summary": { "decision": "review", - "world_class_score": 92, - "gate_count": 13, + "world_class_score": 90, + "gate_count": 14, "blocker_count": 0, - "warning_count": 2, - "action_count": 2, + "warning_count": 3, + "action_count": 3, "annotation_count": 0, "open_annotation_count": 0, "open_annotation_blocker_count": 0, @@ -103,6 +103,14 @@ "evidence": "reports/review_waivers.json", "link": "review_waivers.md" }, + { + "key": "world-class-evidence", + "label": "世界证据", + "status": "warn", + "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true", + "evidence": "reports/world_class_evidence_ledger.json", + "link": "world_class_evidence_ledger.md" + }, { "key": "registry-audit", "label": "注册审计", @@ -137,6 +145,14 @@ "detail": "0 active waivers; 1 warning gates still need reviewer decision", "evidence": "reports/review_waivers.json", "link": "review_waivers.md" + }, + { + "key": "world-class-evidence", + "label": "世界证据", + "status": "warn", + "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; overclaim guard true", + "evidence": "reports/world_class_evidence_ledger.json", + "link": "world_class_evidence_ledger.md" } ], "review_actions": [ @@ -231,6 +247,68 @@ "evidence": "reports/review_waivers.json", "evidence_link": "review_waivers.md", "verification_command": "python3 scripts/render_review_waivers.py ." + }, + { + "gate_key": "world-class-evidence", + "label": "世界证据", + "status": "warn", + "priority": "warning", + "summary": "补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。", + "why": "世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。", + "source_fix": "reports/world_class_evidence_ledger.md + reports/world_class_evidence_plan.md", + "source_refs": [ + { + "path": "reports/world_class_evidence_ledger.md", + "label": "world-class evidence ledger", + "kind": "report", + "line": 1, + "exists": true, + "link": "world_class_evidence_ledger.md" + }, + { + "path": "reports/world_class_evidence_plan.md", + "label": "world-class evidence plan", + "kind": "report", + "line": 1, + "exists": true, + "link": "world_class_evidence_plan.md" + }, + { + "path": "reports/skill_os2_audit.md", + "label": "Skill OS 2.0 audit", + "kind": "report", + "line": 1, + "exists": true, + "link": "skill_os2_audit.md" + }, + { + "path": "reports/output_review_decisions.json", + "label": "human review decisions", + "kind": "report", + "line": 6, + "exists": true, + "link": "output_review_decisions.json" + }, + { + "path": "reports/runtime_permission_probes.md", + "label": "runtime permission probes", + "kind": "report", + "line": 1, + "exists": true, + "link": "runtime_permission_probes.md" + }, + { + "path": "reports/adoption_drift_report.md", + "label": "adoption drift", + "kind": "report", + "line": 1, + "exists": true, + "link": "adoption_drift_report.md" + } + ], + "evidence": "reports/world_class_evidence_ledger.json", + "evidence_link": "world_class_evidence_ledger.md", + "verification_command": "python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio ." } ], "evidence_paths": { @@ -1167,9 +1245,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 47 + "changed_file_count": 25 }, - "commit": "be3fe0016116ab337a972a0bfee1b05cace7ac36", + "commit": "f3b23ea9b90e85dbcfdf85c75b40c29e9cad2ab3", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -1265,7 +1343,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 162, - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" }, "skill_atlas": { "skill_count": 12, @@ -1303,8 +1381,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f", - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, "compatibility": { "openai": "pass", @@ -1335,7 +1413,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1351,7 +1429,7 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "archive_entry_count": 521, "failure_count": 0, "warning_count": 0 @@ -1430,12 +1508,12 @@ { "field": "archive_sha256", "from": "", - "to": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "to": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "to": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, @@ -3512,7 +3590,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.6, + "duration_ms": 25.58, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3540,7 +3618,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.28, + "duration_ms": 25.78, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3563,7 +3641,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.23, + "duration_ms": 25.83, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3591,7 +3669,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.19, + "duration_ms": 25.84, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3614,7 +3692,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.68, + "duration_ms": 25.91, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3642,7 +3720,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.96, + "duration_ms": 25.98, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3665,7 +3743,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.39, + "duration_ms": 25.77, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3692,7 +3770,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.41, + "duration_ms": 25.69, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3715,7 +3793,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.45, + "duration_ms": 25.64, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3744,7 +3822,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.25, + "duration_ms": 25.66, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -8757,7 +8835,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 162, - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" }, "failures": [], "warnings": [], @@ -10808,9 +10886,9 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1002467, + "other_text_tokens": 1004699, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1003218, + "estimated_total_text_tokens": 1005450, "relevant_file_count": 436, "unused_resource_dirs": [], "quality_signal_points": 130, @@ -13020,8 +13098,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f", - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, "compatibility": { "openai": "pass", @@ -13052,7 +13130,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -13077,7 +13155,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, @@ -13100,7 +13178,7 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "archive_entry_count": 521, "failure_count": 0, "warning_count": 0 @@ -14108,12 +14186,12 @@ { "field": "archive_sha256", "from": "", - "to": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "to": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "to": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 392780a0..885ad5e0 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -23,7 +23,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 162, - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" }, "failures": [], "warnings": [], diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index ea819731..bed1b0c8 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -16,7 +16,7 @@ - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` - Package hash files: `162` -- Package SHA256: `22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f` +- Package SHA256: `22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481` ## Failures diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index 6e934332..be435e8f 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -37,12 +37,12 @@ Yao Meta Skill is no longer only a Meta Skill factory. The current working tree - Local Install Sync Preflight v0 so source-to-local and source-to-active install syncs rebuild the package first, run install simulation, enforce installer permission coverage, and refuse to copy files before any destructive sync when the package is not install-ready. - Atlas Scope Policy v0 so examples, evolution snapshots, embedded generated skills, and validator fixtures remain visible in the full portfolio report without polluting release-actionable gates. - Review Annotations v0 for reviewer comments tied to Review Studio gates, source/report paths, and optional line numbers; open blocker annotations now block the Review Studio decision. -- Review Studio now avoids over-claiming release readiness when blind A/B adjudication is still pending: the root Meta Skill is in `review` with score `92`, no blockers, two warnings, and explicit actions for Output Lab reviewer adjudication plus waiver handling. +- Review Studio now avoids over-claiming release readiness when blind A/B adjudication and world-class evidence are still pending: the root Meta Skill is in `review` with score `90`, no blockers, three warnings, and explicit actions for Output Lab reviewer adjudication, waiver handling, and world-class evidence completion. - Review Studio Output Lab actions now link directly to `reports/output_review_decisions.json`, so pending blind A/B reviewer decisions have a concrete template instead of only a general adjudication warning. - Output Review Adjudication now preserves blind-review integrity by hiding expected winners for pending or invalid reviewer decisions; answer keys are revealed only after a valid A/B decision exists for that case. - Provider Output Eval Runner v0 so `python3 scripts/yao.py output-exec --provider-runner openai` can collect real provider-backed model evidence through a reviewed OpenAI Responses API compatible runner instead of ad hoc shell glue. -This is still not the final world-class state. Target-native behavior contracts are now explicit, VS Code / Copilot package metadata is auditable, local output-eval command execution is wired, blind-review answers remain hidden until valid decisions exist, a provider-backed output runner exists, installer-level permission coverage is now locally enforced during install simulation and local install sync, opt-in `yao.py` CLI telemetry can capture metadata-only real run signals, external clients can now emit one validated metadata-only event into a local spool, hook recipes now make Browser/Chrome/VS Code/wrapper/provider-adapter integration commands auditable, a Browser/Chrome Native Messaging host can receive length-prefixed metadata events and generate a local launcher plus manifest, validated external JSONL imports can bring those non-CLI client signals into the same drift loop, and Skill Atlas now consumes aggregate drift reports. Review Studio keeps pending human adjudication visible as a warning instead of treating it as a clean pass. Deeper provider-native execution transforms, installed platform-native client telemetry implementations, provider-native installer integration, real provider holdout runs, real human adjudication decisions, and native runtime permission enforcement remain open. +This is still not the final world-class state. Target-native behavior contracts are now explicit, VS Code / Copilot package metadata is auditable, local output-eval command execution is wired, blind-review answers remain hidden until valid decisions exist, a provider-backed output runner exists, installer-level permission coverage is now locally enforced during install simulation and local install sync, opt-in `yao.py` CLI telemetry can capture metadata-only real run signals, external clients can now emit one validated metadata-only event into a local spool, hook recipes now make Browser/Chrome/VS Code/wrapper/provider-adapter integration commands auditable, a Browser/Chrome Native Messaging host can receive length-prefixed metadata events and generate a local launcher plus manifest, validated external JSONL imports can bring those non-CLI client signals into the same drift loop, and Skill Atlas now consumes aggregate drift reports. Review Studio keeps pending human adjudication and pending world-class evidence visible as warnings instead of treating them as a clean pass. Deeper provider-native execution transforms, installed platform-native client telemetry implementations, provider-native installer integration, real provider holdout runs, real human adjudication decisions, accepted external evidence, and native runtime permission enforcement remain open. ## Coverage Matrix @@ -91,9 +91,9 @@ Next move: run provider-backed holdout cases with real credentials and one real ### 3. Review Studio is unified and now has reviewer actions plus annotations -The Review Studio page aggregates intent, trigger, output, context, runtime, trust, permission approvals, runtime permission probes, atlas, operations-loop, reviewer waiver, reviewer annotations, registry, and release gates. It exposes current warnings directly and emits `review_actions` for each non-pass gate with a source-fix location, structured `source_refs`, reason, evidence path, and verification command. It now also loads `reports/review_annotations.json`, renders reviewer comments tied to gates and source/report paths, and blocks the page decision when any open blocker annotation exists. The current root report is intentionally not a clean pass: decision `review`, score `92`, `13` gates, `0` blockers, `2` warnings, `2` actions, and `0` open annotation blockers. The warnings are useful evidence: the automated Output Eval Lab is strong, but the blind A/B adjudication still has `5` pending reviewer decisions, so the package should not claim fully reviewed status. +The Review Studio page aggregates intent, trigger, output, context, runtime, trust, permission approvals, runtime permission probes, atlas, operations-loop, reviewer waiver, reviewer annotations, registry, world-class evidence, and release gates. It exposes current warnings directly and emits `review_actions` for each non-pass gate with a source-fix location, structured `source_refs`, reason, evidence path, and verification command. It now also loads `reports/review_annotations.json`, renders reviewer comments tied to gates and source/report paths, and blocks the page decision when any open blocker annotation exists. The current root report is intentionally not a clean pass: decision `review`, score `90`, `14` gates, `0` blockers, `3` warnings, `3` actions, and `0` open annotation blockers. The warnings are useful evidence: the automated Output Eval Lab is strong, but the blind A/B adjudication still has `5` pending reviewer decisions and the world-class ledger still has `4` pending external or human evidence entries, so the package should not claim fully reviewed or world-class status. -Next move: add richer source-line anchors inside generated reports and record real reviewer annotations during the next human review pass. +Next move: add richer source-line anchors inside generated reports, record real reviewer annotations during the next human review pass, and close the provider, native-permission, real-client telemetry, and human review evidence entries in the world-class ledger. ### 4. Multi-skill operation now links Atlas with drift, but needs platform-native capture @@ -124,9 +124,9 @@ Next move: add real client or installer permission enforcement integration. | Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures | | Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes | | Adoption Drift | `1` metadata-only review event, `0` adoption samples, adoption `0`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages | -| Review Waivers | ledger generated; current release has `1` warning gate that still needs reviewer decision or a time-bounded waiver; blockers remain non-waivable in v0 | +| Review Waivers | ledger generated; current release has `1` warning gate that still needs reviewer decision or a time-bounded waiver; blockers remain non-waivable in v0, and world-class evidence gaps must be closed with accepted evidence rather than waived as completed | | Review Annotations | ledger generated; current release has `0` reviewer annotations and `0` open annotation blockers | -| Review Studio | decision `review`, world-class score `92`, `13` gates, `0` blockers, `2` warnings, `2` review actions, `0` open annotation blockers | +| Review Studio | decision `review`, world-class score `90`, `14` gates, `0` blockers, `3` warnings, `3` review actions, `0` open annotation blockers | | Skill OS 2.0 Audit | `15` audited areas, with local foundation evidence separated from human-required and external-required gaps | | World-Class Evidence Plan | `4` remaining evidence tasks: `1` human-required and `3` external-required, all with runbooks, success checks, and privacy contracts | | World-Class Evidence Ledger | `4` evidence entries remain pending: `1` human-required and `3` external-required; anti-overclaim guards block planned work, metadata fallbacks, pending review, and local command runners from counting as completion | diff --git a/reports/skill-overview.json b/reports/skill-overview.json index 85cec7e1..11113b6e 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -905,9 +905,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 47 + "changed_file_count": 25 }, - "commit": "be3fe0016116ab337a972a0bfee1b05cace7ac36", + "commit": "f3b23ea9b90e85dbcfdf85c75b40c29e9cad2ab3", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -1003,7 +1003,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 162, - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" }, "skill_atlas": { "skill_count": 12, @@ -1041,8 +1041,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f", - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "package_sha256": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, "compatibility": { "openai": "pass", @@ -1073,7 +1073,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1089,7 +1089,7 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328", + "archive_sha256": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a", "archive_entry_count": 521, "failure_count": 0, "warning_count": 0 @@ -1168,12 +1168,12 @@ { "field": "archive_sha256", "from": "", - "to": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "to": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "to": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 6c87ccd8..4221e3ca 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -303,7 +303,7 @@ "key": "review-studio", "label": "Review Studio", "status": "pass", - "current": "decision review; warnings 2; score 92", + "current": "decision review; warnings 3; score 90", "target": "One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations", "evidence": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index e6b15596..52139a6f 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -28,7 +28,7 @@ Generated at: `2026-06-13` | 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 521; 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 2; score 92 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. | +| Review Studio | pass | decision review; warnings 3; score 90 | 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/upgrade_check.json b/reports/upgrade_check.json index 7da1a711..95266f9b 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "23c245a236f450db2373b8ba7b95290df1a05b454d96890e89e25db7efaf4328" + "to": "c13191187953698cd40da82fd55e1c6116e516edd2c0045b4e20b41db6bf3b6a" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "22d5e9247b42c8c237c0524da9cae227ba0056807815e4174b810b178568546f" + "to": "22b432b88be7f5aef7f4935fc6fc904211e4eb30b47bf1dd687b905d3e62b481" } ] }, diff --git a/scripts/render_review_studio.py b/scripts/render_review_studio.py index 61e81a1c..0f47937f 100644 --- a/scripts/render_review_studio.py +++ b/scripts/render_review_studio.py @@ -458,6 +458,20 @@ ACTION_GUIDANCE: dict[str, dict[str, str]] = { ], "verification": "python3 scripts/render_review_waivers.py .", }, + "world-class-evidence": { + "summary": "补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。", + "why": "世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。", + "source_fix": "reports/world_class_evidence_ledger.md + reports/world_class_evidence_plan.md", + "source_paths": [ + {"path": "reports/world_class_evidence_ledger.md", "label": "world-class evidence ledger", "kind": "report", "patterns": ["# World-Class Evidence Ledger"]}, + {"path": "reports/world_class_evidence_plan.md", "label": "world-class evidence plan", "kind": "report", "patterns": ["# World-Class Evidence Plan"]}, + {"path": "reports/skill_os2_audit.md", "label": "Skill OS 2.0 audit", "kind": "report", "patterns": ["# Skill OS"]}, + {"path": "reports/output_review_decisions.json", "label": "human review decisions", "kind": "report", "patterns": ["winner_variant"]}, + {"path": "reports/runtime_permission_probes.md", "label": "runtime permission probes", "kind": "report", "patterns": ["# Runtime"]}, + {"path": "reports/adoption_drift_report.md", "label": "adoption drift", "kind": "report", "patterns": ["# Adoption"]}, + ], + "verification": "python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .", + }, "registry-audit": { "summary": "补齐 registry package metadata、checksum、license、owner、review cadence 和 install evidence。", "why": "分发元数据不完整时,团队无法安全安装、升级或追溯包体来源。", @@ -626,6 +640,7 @@ def render_html(report: dict[str, Any]) -> str: atlas_summary = report["data"]["atlas"].get("summary", {}) adoption_summary = report["data"]["adoption_drift"].get("summary", {}) waiver_summary = report["data"]["review_waivers"].get("summary", {}) + world_class_summary = report["data"].get("world_class_evidence_ledger", {}).get("summary", {}) annotation_summary = report["data"]["review_annotations"].get("summary", {}) annotation_caption = ( f"{annotation_summary.get('annotation_count', 0)} 条批注;" @@ -716,6 +731,19 @@ def render_html(report: dict[str, Any]) -> str: ["waiver_count", "active_count", "expired_count", "invalid_count", "covered_gate_count"], "no review waiver summary", ) + world_class_panel = render_kv_grid( + world_class_summary, + [ + "ledger_entry_count", + "accepted_count", + "pending_count", + "human_pending_count", + "external_pending_count", + "overclaim_guard_active", + "ready_to_claim_world_class", + ], + "world-class evidence ledger missing", + ) registry_panel = render_kv_grid( registry_package_summary(registry_package), [ @@ -883,6 +911,11 @@ def render_html(report: dict[str, Any]) -> str:

批准台账

{waiver_panel}
+
+

世界证据

{html.escape(gate_details.get('world-class-evidence', 'world-class evidence ledger missing'))}

+

证据台账

{world_class_panel}
+
+

注册审计

{html.escape(gate_details.get('registry-audit', 'registry audit missing'))}

包体元数据

{registry_panel}
diff --git a/scripts/review_studio_gates.py b/scripts/review_studio_gates.py index 7c2dc866..22aaad70 100644 --- a/scripts/review_studio_gates.py +++ b/scripts/review_studio_gates.py @@ -418,6 +418,39 @@ def build_gates(skill_dir: Path, output_html: Path, data: dict[str, dict[str, An ) ) + world_class_ledger = data.get("world_class_evidence_ledger", {}) + world_class_summary = world_class_ledger.get("summary", {}) if isinstance(world_class_ledger, dict) else {} + if not world_class_ledger and maturity == "governed": + world_class_status = "warn" + world_class_detail = "world-class evidence ledger is missing; public world-class readiness cannot be claimed" + elif not world_class_ledger: + world_class_status = "pass" + world_class_detail = "world-class evidence ledger is optional until governed or public world-class readiness is claimed" + elif world_class_summary.get("ready_to_claim_world_class") is True: + world_class_status = "pass" + world_class_detail = ( + f"{world_class_summary.get('accepted_count', 0)} accepted evidence entries; " + f"{world_class_summary.get('pending_count', 0)} pending" + ) + else: + world_class_status = "warn" + world_class_detail = ( + f"{world_class_summary.get('pending_count', 0)} pending world-class evidence entries; " + f"{world_class_summary.get('human_pending_count', 0)} human pending; " + f"{world_class_summary.get('external_pending_count', 0)} external pending; " + f"overclaim guard {str(world_class_summary.get('overclaim_guard_active', False)).lower()}" + ) + gates.append( + gate( + "world-class-evidence", + "世界证据", + world_class_status, + world_class_detail, + "reports/world_class_evidence_ledger.json", + _report_link(output_html, skill_dir, "reports/world_class_evidence_ledger.md"), + ) + ) + registry = data["registry"] install = data["install_simulation"] if not registry: @@ -505,6 +538,7 @@ def weighted_score(gates: list[dict[str, str]]) -> int: "skill-atlas": 10, "operations-loop": 10, "review-waivers": 10, + "world-class-evidence": 10, "registry-audit": 10, "release-notes": 10, "intent-canvas": 10, diff --git a/scripts/review_studio_layout.py b/scripts/review_studio_layout.py index 08e560ef..9b2d6a91 100644 --- a/scripts/review_studio_layout.py +++ b/scripts/review_studio_layout.py @@ -22,6 +22,7 @@ REVIEW_STUDIO_NAV = [ ("#atlas", "组合治理"), ("#telemetry", "运营回路"), ("#waivers", "人工批准"), + ("#world-class", "世界证据"), ("#registry", "注册审计"), ("#release", "发布路线"), ] diff --git a/tests/verify_review_studio.py b/tests/verify_review_studio.py index 552247a6..c3e2d7e5 100644 --- a/tests/verify_review_studio.py +++ b/tests/verify_review_studio.py @@ -240,17 +240,17 @@ def main() -> None: assert payload["ok"], payload assert payload["schema_version"] == "2.0", payload assert payload["summary"]["decision"] == "review", payload - assert payload["summary"]["gate_count"] == 13, payload - assert payload["summary"]["world_class_score"] == 92, payload - assert payload["summary"]["warning_count"] == 2, payload + assert payload["summary"]["gate_count"] == 14, payload + assert payload["summary"]["world_class_score"] == 90, payload + assert payload["summary"]["warning_count"] == 3, payload assert payload["summary"]["blocker_count"] == 0, payload - assert payload["summary"]["action_count"] == 2, payload + assert payload["summary"]["action_count"] == 3, payload assert payload["summary"]["annotation_count"] == 0, payload assert payload["summary"]["open_annotation_blocker_count"] == 0, payload assert payload["summary"]["action_count"] == payload["summary"]["warning_count"] + payload["summary"]["blocker_count"], payload - assert {item["gate_key"] for item in payload["review_actions"]} == {"output-lab", "review-waivers"}, payload + assert {item["gate_key"] for item in payload["review_actions"]} == {"output-lab", "review-waivers", "world-class-evidence"}, payload gate_keys = {item["key"] for item in payload["gates"]} - assert {"intent-canvas", "trigger-lab", "output-lab", "runtime-matrix", "trust-report", "permission-gates", "permission-runtime", "skill-atlas", "operations-loop", "review-waivers", "registry-audit", "release-notes"} <= gate_keys, payload + assert {"intent-canvas", "trigger-lab", "output-lab", "runtime-matrix", "trust-report", "permission-gates", "permission-runtime", "skill-atlas", "operations-loop", "review-waivers", "world-class-evidence", "registry-audit", "release-notes"} <= gate_keys, payload output_gate = next(item for item in payload["gates"] if item["key"] == "output-lab") assert output_gate["status"] == "warn", output_gate assert "5/5 cases" in output_gate["detail"], output_gate @@ -295,6 +295,13 @@ def main() -> None: assert waivers_gate["status"] == "warn", waivers_gate assert "warning gates still need reviewer decision" in waivers_gate["detail"], waivers_gate assert "reports/review_waivers.json" in waivers_gate["evidence"], waivers_gate + world_class_gate = next(item for item in payload["gates"] if item["key"] == "world-class-evidence") + assert world_class_gate["status"] == "warn", world_class_gate + assert "4 pending world-class evidence entries" in world_class_gate["detail"], world_class_gate + assert "1 human pending" in world_class_gate["detail"], world_class_gate + assert "3 external pending" in world_class_gate["detail"], world_class_gate + assert "overclaim guard true" in world_class_gate["detail"], world_class_gate + assert world_class_gate["evidence"] == "reports/world_class_evidence_ledger.json", world_class_gate assert output_html.exists(), output_html assert output_json.exists(), output_json full_payload = json.loads(output_json.read_text(encoding="utf-8")) @@ -324,7 +331,15 @@ def main() -> None: assert full_payload["data"]["runtime_permissions"]["summary"]["metadata_fallback_count"] == 4, full_payload["data"]["runtime_permissions"] assert full_payload["evidence_paths"]["runtime_permissions"] == "reports/runtime_permission_probes.md", full_payload["evidence_paths"] action_keys = {item["gate_key"] for item in full_payload["review_actions"]} - assert action_keys == {"output-lab", "review-waivers"}, full_payload["review_actions"] + assert action_keys == {"output-lab", "review-waivers", "world-class-evidence"}, full_payload["review_actions"] + world_class_action = next(item for item in full_payload["review_actions"] if item["gate_key"] == "world-class-evidence") + assert {item["path"] for item in world_class_action["source_refs"]} >= { + "reports/world_class_evidence_ledger.md", + "reports/world_class_evidence_plan.md", + "reports/skill_os2_audit.md", + }, world_class_action + assert all(item["exists"] for item in world_class_action["source_refs"]), world_class_action + assert full_payload["data"]["world_class_evidence_ledger"]["summary"]["pending_count"] == 4, full_payload["data"]["world_class_evidence_ledger"] assert full_payload["data"]["atlas"]["summary"]["actionable_route_collision_count"] == 0, full_payload["data"]["atlas"] assert full_payload["data"]["atlas"]["summary"]["actionable_drift_signal_count"] == 0, full_payload["data"]["atlas"] assert full_payload["data"]["atlas"]["summary"]["non_actionable_issue_count"] >= 1, full_payload["data"]["atlas"] @@ -367,6 +382,9 @@ def main() -> None: assert "reports/output_review_decisions.json" in html, html[:9000] assert "python3 scripts/adjudicate_output_review.py --write-template" in html, html[:9000] assert "对保留的 warning 写入 reviewer、理由、范围和到期时间,或修掉 warning。" in html, html[:9000] + assert "补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据" in html, html + assert "世界证据" in html, html + assert "证据台账" in html, html assert "审查批注" in html, html[:9000] assert "当前没有 reviewer 批注" in html, html[:9000] assert "输出实验" in html, html[:2000] @@ -411,7 +429,8 @@ def main() -> None: assert review_gates.status_label("warn") == "关注" assert review_gates.weighted_score([{"key": "output-lab", "status": "pass"}]) == 100 assert review_gates.weighted_score([{"key": "output-lab", "status": "warn"}]) == 60 - assert len(review_layout.REVIEW_STUDIO_NAV) == 15, review_layout.REVIEW_STUDIO_NAV + assert len(review_layout.REVIEW_STUDIO_NAV) == 16, review_layout.REVIEW_STUDIO_NAV + assert ("#world-class", "世界证据") in review_layout.REVIEW_STUDIO_NAV, review_layout.REVIEW_STUDIO_NAV assert "position: sticky" in review_layout.review_studio_css(), review_layout.review_studio_css()[:400] assert "#overview" in review_layout.render_review_nav(), review_layout.render_review_nav() assert "审查总览" in review_layout.render_review_nav(), review_layout.render_review_nav() diff --git a/tests/verify_yao_cli.py b/tests/verify_yao_cli.py index 8346596d..043d80ed 100644 --- a/tests/verify_yao_cli.py +++ b/tests/verify_yao_cli.py @@ -319,7 +319,10 @@ def main() -> None: review_studio_result = run("review-studio", str(created)) assert review_studio_result["ok"], review_studio_result assert review_studio_result["payload"]["artifacts"]["html"].endswith("reports/review-studio.html"), review_studio_result - assert review_studio_result["payload"]["summary"]["gate_count"] == 13, review_studio_result + assert review_studio_result["payload"]["summary"]["gate_count"] == 14, review_studio_result + created_world_class_gate = next(item for item in review_studio_result["payload"]["gates"] if item["key"] == "world-class-evidence") + assert created_world_class_gate["status"] == "pass", created_world_class_gate + assert "optional" in created_world_class_gate["detail"], created_world_class_gate review_waivers_result = run( "review-waivers",