diff --git a/registry/index.json b/registry/index.json index 40794b4..3d768e4 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 6363283..c4a865a 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": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -48,7 +48,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" diff --git a/reports/evidence_consistency.json b/reports/evidence_consistency.json index c918d01..fb1ed7c 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -4,14 +4,14 @@ "generated_at": "2026-06-16", "skill_dir": ".", "summary": { - "check_count": 29, - "pass_count": 29, + "check_count": 30, + "pass_count": 30, "warn_count": 0, "fail_count": 0, "decision": "consistent" }, "status_counts": { - "pass": 29, + "pass": 30, "warn": 0, "fail": 0 }, @@ -43,6 +43,59 @@ ], "detail": "The consistency gate can only be trusted when every source JSON report parses and every source Markdown report is readable." }, + { + "key": "release-evidence-flow-covers-first-class-reports", + "label": "Release evidence flow covers first-class reports", + "status": "pass", + "expected": { + "AGENTS.md": true, + "source_refresh_section": true, + "clean_lock_section": true, + "source_refresh_commands": { + "python3 scripts/render_skill_overview.py .": true, + "python3 scripts/render_skill_interpretation.py .": true, + "python3 scripts/render_review_viewer.py .": true, + "python3 scripts/render_review_studio.py . --output-html reports/review-studio.html --output-json reports/review-studio.json": true, + "python3 scripts/render_evidence_consistency.py . --generated-at \"$GENERATED_AT\"": true + }, + "clean_lock_commands": { + "python3 scripts/render_skill_overview.py .": true, + "python3 scripts/render_skill_interpretation.py .": true, + "python3 scripts/render_review_viewer.py .": true, + "python3 scripts/render_review_studio.py . --output-html reports/review-studio.html --output-json reports/review-studio.json": true, + "python3 scripts/render_evidence_consistency.py . --generated-at \"$GENERATED_AT\"": true + } + }, + "actual": { + "AGENTS.md": true, + "source_refresh_section": true, + "clean_lock_section": true, + "source_refresh_commands": { + "python3 scripts/render_skill_overview.py .": true, + "python3 scripts/render_skill_interpretation.py .": true, + "python3 scripts/render_review_viewer.py .": true, + "python3 scripts/render_review_studio.py . --output-html reports/review-studio.html --output-json reports/review-studio.json": true, + "python3 scripts/render_evidence_consistency.py . --generated-at \"$GENERATED_AT\"": true + }, + "clean_lock_commands": { + "python3 scripts/render_skill_overview.py .": true, + "python3 scripts/render_skill_interpretation.py .": true, + "python3 scripts/render_review_viewer.py .": true, + "python3 scripts/render_review_studio.py . --output-html reports/review-studio.html --output-json reports/review-studio.json": true, + "python3 scripts/render_evidence_consistency.py . --generated-at \"$GENERATED_AT\"": true + } + }, + "paths": [ + "AGENTS.md", + "reports/benchmark_reproducibility.json", + "reports/skill-overview.json", + "reports/skill-interpretation.json", + "reports/review-viewer.json", + "reports/review-studio.json", + "reports/evidence_consistency.json" + ], + "detail": "Release refresh and clean-lock instructions must regenerate every first-class report before evidence consistency can be trusted." + }, { "key": "benchmark-release-lock-self-consistency", "label": "Benchmark release lock matches git dirty state", @@ -1322,7 +1375,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1337,7 +1390,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -1362,7 +1415,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -1410,7 +1463,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1425,7 +1478,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -1450,7 +1503,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -2028,10 +2081,10 @@ "score `91`", "`16` gates", "`3` warnings", - "`29` declared internal modules", - "`82 / 82` CLI help smoke checks passing across `111` scripts", - "`618` zip entries", - "archive with `618` entries", + "`30` declared internal modules", + "`82 / 82` CLI help smoke checks passing across `112` scripts", + "`619` zip entries", + "archive with `619` entries", "`12` installer permission checks enforced", "`0` permission failures", "`24` required artifacts", diff --git a/reports/evidence_consistency.md b/reports/evidence_consistency.md index 6245d0e..96a43f4 100644 --- a/reports/evidence_consistency.md +++ b/reports/evidence_consistency.md @@ -5,8 +5,8 @@ Generated at: `2026-06-16` ## Summary - decision: `consistent` -- checks: `29` -- pass: `29` +- checks: `30` +- pass: `30` - warn: `0` - fail: `0` @@ -17,6 +17,7 @@ This gate compares generated evidence reports against each other. It does not cr | Check | Status | Detail | Paths | | --- | --- | --- | --- | | Required report artifacts are readable | `pass` | The consistency gate can only be trusted when every source JSON report parses and every source Markdown report is readable. | `reports/benchmark_reproducibility.json`, `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/adoption_drift_report.json`, `reports/world_class_evidence_ledger.json`, `reports/world_class_evidence_plan.json`, `reports/world_class_evidence_intake.json`, `reports/world_class_submission_review.json`, `reports/world_class_operator_runbook.json`, `reports/skill_os2_coverage.json`, `reports/review-studio.json`, `reports/package_verification.json`, `reports/install_simulation.json`, `reports/security_trust_report.json`, `reports/context_budget.json`, `reports/world_class_claim_guard.json`, `reports/skill-os-2-review.md` | +| Release evidence flow covers first-class reports | `pass` | Release refresh and clean-lock instructions must regenerate every first-class report before evidence consistency can be trusted. | `AGENTS.md`, `reports/benchmark_reproducibility.json`, `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/review-viewer.json`, `reports/review-studio.json`, `reports/evidence_consistency.json` | | Benchmark release lock matches git dirty state | `pass` | The benchmark release lock must reflect the generation-time git dirty flag. | `reports/benchmark_reproducibility.json` | | overview embeds the benchmark commit | `pass` | Human-facing reports must point to the same benchmark release-lock commit. | `reports/benchmark_reproducibility.json`, `reports/skill-overview.json` | | overview embeds benchmark summary fields | `pass` | Selected summary fields must match exactly across generated reports. | `reports/benchmark_reproducibility.json`, `reports/skill-overview.json` | diff --git a/reports/install_simulation.json b/reports/install_simulation.json index ac29875..467ffb0 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -8,7 +8,7 @@ "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index 78bc16b..1d448c2 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.59, + "duration_ms": 26.89, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.37, + "duration_ms": 26.26, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.45, + "duration_ms": 26.84, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 29.67, + "duration_ms": 29.71, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 30.1, + "duration_ms": 29.67, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 30.07, + "duration_ms": 28.07, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.43, + "duration_ms": 26.39, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.52, + "duration_ms": 26.35, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.47, + "duration_ms": 26.48, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.12, + "duration_ms": 26.29, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index df9d94f..8db41a5 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.59 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 28.37 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 27.45 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 29.67 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 30.1 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 30.07 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 27.43 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 27.52 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 27.47 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 27.12 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 26.89 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 26.26 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 26.84 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 29.71 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 29.67 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 28.07 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 26.39 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 26.35 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 26.48 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 26.29 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index 43d7845..578eb4f 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": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/package_verification.md b/reports/package_verification.md index 8a654c3..c3cd252 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: `2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9` +- Archive SHA256: `77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf` - Failures: `0` - Warnings: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index 2591034..a0768d3 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -53,7 +53,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "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": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index c643b1d..ab3c426 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea` -- Archive SHA256: `2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9` +- Package SHA256: `ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544` +- Archive SHA256: `77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index a5c03e3..a9a6477 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -676,12 +676,12 @@

核心指标

-
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 0; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

4 blockers; local reproducible true

Blueprint21/21

2.0 coverage; extensions partial 0, planned 0; evidence pending 4

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

111 scripts scanned; secrets found

Py Compat0

177 files scanned for Python 3.11

Arch Debt0

899 largest lines; 8 watchlist; 64 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

173 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

618 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

+
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 0; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

4 blockers; local reproducible true

Blueprint21/21

2.0 coverage; extensions partial 0, planned 0; evidence pending 4

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

112 scripts scanned; secrets found

Py Compat0

177 files scanned for Python 3.11

Arch Debt0

899 largest lines; 8 watchlist; 64 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

173 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

619 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

审查闸门

-
通过

意图画布

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 960/1000; deferred 436837/120000; top deferred scripts 387626; resource governance governed; quality density 135.4

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

Python 3.11; 177 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards

reports/python_compatibility.json 证据
通过

架构维护

174 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 899 lines; 64 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.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; installer 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; source checks 6/13 pass; 7 blocked; 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 证据
+
通过

意图画布

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 960/1000; deferred 436837/120000; top deferred scripts 387626; resource governance governed; quality density 135.4

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

Python 3.11; 177 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards

reports/python_compatibility.json 证据
通过

架构维护

174 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 899 lines; 64 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.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; installer 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; source checks 6/13 pass; 7 blocked; 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

@@ -748,7 +748,7 @@
-

信任报告

Secret
0
脚本数
111
网络脚本
3
Help 失败
0
包体哈希
9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea
+

信任报告

Secret
0
脚本数
112
网络脚本
3
Help 失败
0
包体哈希
ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544

安全边界

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

@@ -827,12 +827,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
归档哈希
2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9
+

包体元数据

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

发布路线

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

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
618
失败数
0
警告数
0
归档哈希
2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
619
失败数
0
警告数
0
归档哈希
77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf
diff --git a/reports/review-studio.json b/reports/review-studio.json index 9e3a36b..f4f5479 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -59,7 +59,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 111 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 112 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md" }, @@ -1193,7 +1193,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1208,7 +1208,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -1233,7 +1233,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -1363,7 +1363,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1788,9 +1788,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1808,8 +1808,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "skill_atlas": { "skill_count": 12, @@ -1847,8 +1847,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -1879,7 +1879,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1895,8 +1895,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, @@ -1907,7 +1907,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1974,12 +1974,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, @@ -4346,7 +4346,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.59, + "duration_ms": 26.89, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4374,7 +4374,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.37, + "duration_ms": 26.26, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4397,7 +4397,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.45, + "duration_ms": 26.84, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4425,7 +4425,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 29.67, + "duration_ms": 29.71, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4448,7 +4448,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 30.1, + "duration_ms": 29.67, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4476,7 +4476,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 30.07, + "duration_ms": 28.07, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4499,7 +4499,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.43, + "duration_ms": 26.39, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4526,7 +4526,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.52, + "duration_ms": 26.35, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4549,7 +4549,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.47, + "duration_ms": 26.48, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4578,7 +4578,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.12, + "duration_ms": 26.29, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5824,7 +5824,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "111 scripts; secrets 0; help failures 0", + "current": "112 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -5898,7 +5898,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 618; install failures 0", + "current": "archive entries 619; 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": [ @@ -11391,9 +11391,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -11411,8 +11411,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "failures": [], "warnings": [], @@ -11605,6 +11605,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/evidence_consistency_release.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Imported by render_evidence_consistency.py to verify release evidence refresh instructions.", + "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/evidence_consistency_world_class.py", "interface": "internal-module", @@ -13024,7 +13038,7 @@ "checked_count": 82, "passed_count": 82, "failed_count": 0, - "skipped_count": 29, + "skipped_count": 30, "failed_scripts": [], "results": [ { @@ -13849,6 +13863,10 @@ } ], "skipped": [ + { + "path": "scripts/evidence_consistency_release.py", + "reason": "internal module" + }, { "path": "scripts/evidence_consistency_world_class.py", "reason": "internal module" @@ -20462,8 +20480,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -20494,7 +20512,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -20519,7 +20537,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, @@ -20542,8 +20560,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, @@ -21208,7 +21226,7 @@ "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -21550,12 +21568,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/reports/review-viewer.json b/reports/review-viewer.json index 025bde1..3aa0344 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -513,7 +513,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -528,7 +528,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -553,7 +553,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -683,7 +683,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1108,9 +1108,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1128,8 +1128,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "skill_atlas": { "skill_count": 12, @@ -1167,8 +1167,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -1199,7 +1199,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1215,8 +1215,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, @@ -1227,7 +1227,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1294,12 +1294,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index c03e8ad..74871c9 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -2,9 +2,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "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": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "failures": [], "warnings": [], @@ -216,6 +216,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/evidence_consistency_release.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Imported by render_evidence_consistency.py to verify release evidence refresh instructions.", + "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/evidence_consistency_world_class.py", "interface": "internal-module", @@ -1635,7 +1649,7 @@ "checked_count": 82, "passed_count": 82, "failed_count": 0, - "skipped_count": 29, + "skipped_count": 30, "failed_scripts": [], "results": [ { @@ -2460,6 +2474,10 @@ } ], "skipped": [ + { + "path": "scripts/evidence_consistency_release.py", + "reason": "internal module" + }, { "path": "scripts/evidence_consistency_world_class.py", "reason": "internal module" diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index 1b09bdb..6ca6a94 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -1,9 +1,9 @@ # Security Trust Report - OK: `True` -- Scanned files: `198` -- Scripts: `111` -- Internal script modules: `29` +- Scanned files: `199` +- Scripts: `112` +- Internal script modules: `30` - 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: `198` -- Package SHA256: `9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea` +- Package hash files: `199` +- Package SHA256: `ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544` ## Failures @@ -75,6 +75,7 @@ | scripts/cross_packager.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/diff_eval.py | cli | False | True | True | False | False | False | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/emit_telemetry_event.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | +| scripts/evidence_consistency_release.py | internal-module | True | False | False | False | False | False | False | Imported by render_evidence_consistency.py to verify release evidence refresh instructions. | | scripts/evidence_consistency_world_class.py | internal-module | True | False | False | False | False | False | False | Imported by render_evidence_consistency.py to isolate world-class evidence workflow consistency checks. | | scripts/export_skill_ir.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/github_benchmark_scan.py | cli | False | True | True | False | True | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html index 669c5ac..82493c1 100644 --- a/reports/skill-interpretation.html +++ b/reports/skill-interpretation.html @@ -930,7 +930,7 @@

让 reviewer 快速确认关键文件、目录和资产分布。Lets reviewers confirm key files, directories, and asset distribution quickly.

-
资产分布Asset Distribution400项400 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution401项401 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json index 10d1c51..1a3543b 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -513,7 +513,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -528,7 +528,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -553,7 +553,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -687,7 +687,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1112,9 +1112,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1132,8 +1132,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "skill_atlas": { "skill_count": 12, @@ -1171,8 +1171,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -1203,7 +1203,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1219,8 +1219,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, @@ -1231,7 +1231,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1298,12 +1298,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index f4d4610..791d9d0 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -114,13 +114,13 @@ Next move: add real client or installer permission enforcement integration. | Output Eval | `5` cases, with-skill pass rate `100`, baseline pass rate `0`, with file-backed, near-neighbor, boundary coverage, `10` local command-runner execution runs, `0` recorded fixture runs, `0` provider model-executed runs in root release evidence, `10` estimated token counts, provider runner v0 available, `5` blind A/B review pairs, a generated `reports/output_review_decisions.json` template, `0 / 5` reviewer decisions pending, `0` answer keys revealed, and `5` pending answers hidden | | Runtime Conformance | `5 / 5` targets passing | | Target Compiler | `5 / 5` compiled target contracts generated for OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot outputs, including target permission contracts and target-native behavior contracts | -| Trust | `0` secret findings, `1` pinned dependency file, `29` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `82 / 82` CLI help smoke checks passing across `111` scripts, source-contract hash scope explicit | +| Trust | `0` secret findings, `1` pinned dependency file, `30` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `82 / 82` CLI help smoke checks passing across `112` scripts, source-contract hash scope explicit | | Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired | | Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility | | Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility | | Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix | -| Package Verification | `4 / 4` target adapters present, archive verified, `618` zip entries, `0` failures, `0` warnings | -| Install Simulation | archive with `618` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | +| Package Verification | `4 / 4` target adapters present, archive verified, `619` zip entries, `0` failures, `0` warnings | +| Install Simulation | archive with `619` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | | 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 | diff --git a/reports/skill-overview.html b/reports/skill-overview.html index 5786de6..e1d20c1 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -930,7 +930,7 @@

让 reviewer 快速确认关键文件、目录和资产分布。Lets reviewers confirm key files, directories, and asset distribution quickly.

-
资产分布Asset Distribution400项400 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution401项401 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
路径Path作用Role类型Type
SKILL.mdSkill 入口文件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 b0bdca0..f75086b 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -512,7 +512,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -527,7 +527,7 @@ "file_count": 222 } ], - "file_count": 400, + "file_count": 401, "folder_count": 4, "distribution": [ { @@ -552,7 +552,7 @@ }, { "label": "scripts", - "value": 111 + "value": 112 }, { "label": "evals", @@ -682,7 +682,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 111 + "file_count": 112 }, { "path": "evals", @@ -1107,9 +1107,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 198, - "script_count": 111, - "internal_module_count": 29, + "scanned_files": 199, + "script_count": 112, + "internal_module_count": 30, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1127,8 +1127,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 198, - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "package_hash_file_count": 199, + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" }, "skill_atlas": { "skill_count": 12, @@ -1166,8 +1166,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea", - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "package_sha256": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, "compatibility": { "openai": "pass", @@ -1198,7 +1198,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1214,8 +1214,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9", - "archive_entry_count": 618, + "archive_sha256": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf", + "archive_entry_count": 619, "failure_count": 0, "warning_count": 0 }, @@ -1226,7 +1226,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 618, + "archive_entry_count": 619, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1293,12 +1293,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 9fa67d6..c5bb9d6 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -130,7 +130,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "111 scripts; secrets 0; help failures 0", + "current": "112 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -204,7 +204,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 618; install failures 0", + "current": "archive entries 619; 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 6adfb26..78cdd70 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -26,9 +26,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` | 111 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | +| Trust Security | `pass` | 112 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 618; 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 619; 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 3 | `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 aa4f6c0..83d174c 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "2fd9a3f8c7c4aa72b0bd03e9cfbf0449a0fa9215f949459324895c72c9abf6b9" + "to": "77d9bd77e4a9e3992b727da369e195d94753fd4195b33981abadd10e81ee9fdf" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9fde13846a41c2d1442b6e80350313246dedebe02590ce1f2f07f2da1109c9ea" + "to": "ce3d8c67706a5059ae162d937f51d7469aee3d0095a53889c686524f2b43d544" } ] }, diff --git a/scripts/evidence_consistency_release.py b/scripts/evidence_consistency_release.py new file mode 100644 index 0000000..e746181 --- /dev/null +++ b/scripts/evidence_consistency_release.py @@ -0,0 +1,72 @@ +from pathlib import Path +from typing import Any + + +SCRIPT_INTERFACE = "internal-module" +SCRIPT_INTERFACE_REASON = "Imported by render_evidence_consistency.py to verify release evidence refresh instructions." + +SOURCE_REFRESH_HEADER = "After source changes that affect scripts" +CLEAN_LOCK_HEADER = "For final release evidence" +CLEAN_LOCK_END = "If `reports/benchmark_reproducibility.json`" + +FIRST_CLASS_REPORT_COMMANDS = [ + "python3 scripts/render_skill_overview.py .", + "python3 scripts/render_skill_interpretation.py .", + "python3 scripts/render_review_viewer.py .", + "python3 scripts/render_review_studio.py . --output-html reports/review-studio.html --output-json reports/review-studio.json", + 'python3 scripts/render_evidence_consistency.py . --generated-at "$GENERATED_AT"', +] + + +def section_between(text: str, start: str, end: str) -> str: + if start not in text: + return "" + section = text.split(start, 1)[1] + if end in section: + section = section.split(end, 1)[0] + return section + + +def command_presence(section: str) -> dict[str, bool]: + return {command: command in section for command in FIRST_CLASS_REPORT_COMMANDS} + + +def build_release_evidence_flow_check(skill_dir: Path) -> dict[str, Any]: + agents_path = skill_dir / "AGENTS.md" + agents_text = agents_path.read_text(encoding="utf-8") if agents_path.exists() else "" + source_refresh = section_between(agents_text, SOURCE_REFRESH_HEADER, CLEAN_LOCK_HEADER) + clean_lock = section_between(agents_text, CLEAN_LOCK_HEADER, CLEAN_LOCK_END) + expected = { + "AGENTS.md": True, + "source_refresh_section": True, + "clean_lock_section": True, + "source_refresh_commands": {command: True for command in FIRST_CLASS_REPORT_COMMANDS}, + "clean_lock_commands": {command: True for command in FIRST_CLASS_REPORT_COMMANDS}, + } + actual = { + "AGENTS.md": agents_path.exists(), + "source_refresh_section": bool(source_refresh), + "clean_lock_section": bool(clean_lock), + "source_refresh_commands": command_presence(source_refresh), + "clean_lock_commands": command_presence(clean_lock), + } + return { + "key": "release-evidence-flow-covers-first-class-reports", + "label": "Release evidence flow covers first-class reports", + "status": "pass" if expected == actual else "fail", + "expected": expected, + "actual": actual, + "paths": [ + "AGENTS.md", + "reports/benchmark_reproducibility.json", + "reports/skill-overview.json", + "reports/skill-interpretation.json", + "reports/review-viewer.json", + "reports/review-studio.json", + "reports/evidence_consistency.json", + ], + "detail": ( + "Release refresh and clean-lock instructions must regenerate every first-class report " + "before evidence consistency can be trusted." + ), + } diff --git a/scripts/render_evidence_consistency.py b/scripts/render_evidence_consistency.py index 345d64d..59d1bfc 100644 --- a/scripts/render_evidence_consistency.py +++ b/scripts/render_evidence_consistency.py @@ -6,6 +6,7 @@ from datetime import date from pathlib import Path from typing import Any +from evidence_consistency_release import build_release_evidence_flow_check from evidence_consistency_world_class import build_world_class_workflow_check @@ -250,6 +251,7 @@ def build_report(skill_dir: Path, generated_at: str) -> dict[str, Any]: paths=list(REQUIRED_REPORTS.values()) + list(REQUIRED_TEXT_REPORTS.values()), detail="The consistency gate can only be trusted when every source JSON report parses and every source Markdown report is readable.", ) + checks.append(build_release_evidence_flow_check(skill_dir)) benchmark = reports["benchmark"] overview = reports["overview"] diff --git a/tests/verify_evidence_consistency.py b/tests/verify_evidence_consistency.py index a3eed12..7835338 100644 --- a/tests/verify_evidence_consistency.py +++ b/tests/verify_evidence_consistency.py @@ -10,6 +10,7 @@ ROOT = Path(__file__).resolve().parent.parent SCRIPT = ROOT / "scripts" / "render_evidence_consistency.py" TMP = ROOT / "tests" / "tmp_evidence_consistency" REPORT_FILES = [ + "AGENTS.md", "reports/benchmark_reproducibility.json", "reports/skill-overview.json", "reports/skill-overview.html", @@ -136,8 +137,11 @@ def main() -> None: assert payload["ok"] is True, payload assert payload["summary"]["decision"] == "consistent", payload assert payload["summary"]["fail_count"] == 0, payload - assert payload["summary"]["check_count"] >= 29, payload + assert payload["summary"]["check_count"] >= 30, payload checks = {item["key"]: item for item in payload["checks"]} + assert checks["release-evidence-flow-covers-first-class-reports"]["status"] == "pass", checks[ + "release-evidence-flow-covers-first-class-reports" + ] assert checks["overview-benchmark-summary"]["status"] == "pass", checks["overview-benchmark-summary"] assert checks["interpretation-adoption-summary"]["status"] == "pass", checks["interpretation-adoption-summary"] assert checks["coverage-world-class-boundary"]["status"] == "pass", checks["coverage-world-class-boundary"] @@ -212,6 +216,34 @@ def main() -> None: claim_guard_drift_checks["claim-guard-package-runtime-surface"] ) + release_flow_drift_root = TMP / "release-flow-drift-skill" + copy_reports(release_flow_drift_root) + agents_path = release_flow_drift_root / "AGENTS.md" + agents_text = agents_path.read_text(encoding="utf-8") + agents_path.write_text( + agents_text.replace("python3 scripts/render_skill_interpretation.py .\n", "", 1), + encoding="utf-8", + ) + release_flow_drift_proc = run( + [ + sys.executable, + str(SCRIPT), + str(release_flow_drift_root), + "--output-json", + str(TMP / "release_flow_drift.json"), + "--output-md", + str(TMP / "release_flow_drift.md"), + "--generated-at", + "2026-06-15", + ] + ) + assert release_flow_drift_proc.returncode == 2, release_flow_drift_proc.stdout + release_flow_drift_payload = json.loads(release_flow_drift_proc.stdout) + release_flow_drift_checks = {item["key"]: item for item in release_flow_drift_payload["checks"]} + assert release_flow_drift_checks["release-evidence-flow-covers-first-class-reports"]["status"] == "fail", ( + release_flow_drift_checks["release-evidence-flow-covers-first-class-reports"] + ) + workflow_drift_root = TMP / "workflow-drift-skill" copy_reports(workflow_drift_root) studio_path = workflow_drift_root / "reports" / "review-studio.json" diff --git a/tests/verify_trust_check.py b/tests/verify_trust_check.py index 6a4ec39..7e9ca95 100644 --- a/tests/verify_trust_check.py +++ b/tests/verify_trust_check.py @@ -91,6 +91,7 @@ def main() -> None: "scripts/review_studio_formatting.py", "scripts/review_studio_gates.py", "scripts/review_studio_layout.py", + "scripts/evidence_consistency_release.py", "scripts/evidence_consistency_world_class.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", @@ -114,6 +115,7 @@ def main() -> None: assert "review_studio_formatting.py" not in warning_text, payload["warnings"] assert "review_studio_gates.py" not in warning_text, payload["warnings"] assert "review_studio_layout.py" not in warning_text, payload["warnings"] + assert "evidence_consistency_release.py" not in warning_text, payload["warnings"] assert "evidence_consistency_world_class.py" not in warning_text, payload["warnings"] assert "skill_report_charts.py" not in warning_text, payload["warnings"] assert "skill_report_i18n.py" not in warning_text, payload["warnings"]
路径Path作用Role类型Type
SKILL.mdSkill 入口文件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