From 9172b6719cf7280d8b343c5aeaa44c29c26a44ca Mon Sep 17 00:00:00 2001 From: yaojingang Date: Wed, 17 Jun 2026 00:57:52 +0800 Subject: [PATCH] Split Skill OS coverage markdown renderer --- registry/index.json | 2 +- registry/packages/yao-meta-skill.json | 6 +- reports/adoption_drift_report.json | 2 +- reports/architecture_maintainability.json | 32 ++- reports/architecture_maintainability.md | 11 +- reports/benchmark_reproducibility.json | 54 +++-- reports/benchmark_reproducibility.md | 29 +-- reports/compiled_targets.json | 90 ++++---- reports/context_budget.json | 20 +- reports/context_budget.md | 2 +- reports/context_budget_summary.json | 12 +- reports/evidence_consistency.json | 10 +- reports/install_simulation.json | 2 +- reports/output_execution_runs.json | 20 +- reports/output_execution_runs.md | 20 +- reports/package_verification.json | 4 +- reports/package_verification.md | 2 +- reports/python_compatibility.json | 8 +- reports/python_compatibility.md | 2 +- reports/registry_audit.json | 8 +- reports/registry_audit.md | 4 +- reports/review-studio.html | 14 +- reports/review-studio.json | 216 ++++++++++--------- reports/review-viewer.json | 42 ++-- reports/security_trust_report.json | 30 ++- reports/security_trust_report.md | 11 +- reports/skill-interpretation.html | 2 +- reports/skill-interpretation.json | 42 ++-- reports/skill-os-2-review.md | 6 +- reports/skill-overview.html | 2 +- reports/skill-overview.json | 42 ++-- reports/skill_atlas.json | 1 + reports/skill_os2_audit.json | 4 +- reports/skill_os2_audit.md | 4 +- reports/skill_os2_coverage.json | 6 +- reports/skill_os2_coverage.md | 6 +- reports/upgrade_check.json | 4 +- reports/world_class_claim_guard.json | 2 +- reports/world_class_claim_guard.md | 2 +- reports/world_class_evidence_intake.json | 2 +- reports/world_class_evidence_intake.md | 2 +- reports/world_class_evidence_ledger.json | 2 +- reports/world_class_evidence_ledger.md | 2 +- reports/world_class_evidence_plan.json | 2 +- reports/world_class_evidence_plan.md | 2 +- reports/world_class_evidence_preflight.json | 2 +- reports/world_class_evidence_preflight.md | 2 +- reports/world_class_operator_runbook.json | 2 +- reports/world_class_operator_runbook.md | 2 +- reports/world_class_submission_review.json | 2 +- reports/world_class_submission_review.md | 2 +- scripts/render_skill_os2_coverage.py | 98 +-------- scripts/skill_os2_coverage_markdown.py | 101 +++++++++ skill-ir/examples/yao-meta-skill.json | 2 + skill_atlas/catalog.json | 1 + tests/verify_architecture_maintainability.py | 4 +- tests/verify_trust_check.py | 2 + 57 files changed, 544 insertions(+), 464 deletions(-) create mode 100644 scripts/skill_os2_coverage_markdown.py diff --git a/registry/index.json b/registry/index.json index 32e6f6a7..acc5ceb1 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 32e91182..4edd1542 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": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261" + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0" }, "compatibility": { "openai": "pass", @@ -48,7 +48,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json index 66c3a011..1db992ca 100644 --- a/reports/adoption_drift_report.json +++ b/reports/adoption_drift_report.json @@ -1,7 +1,7 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-16T16:50:04Z", + "generated_at": "2026-06-16T16:57:11Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json index d13c6c1e..77c02a18 100644 --- a/reports/architecture_maintainability.json +++ b/reports/architecture_maintainability.json @@ -4,10 +4,10 @@ "generated_at": "2026-06-13", "skill_dir": ".", "summary": { - "python_file_count": 215, - "script_file_count": 140, + "python_file_count": 216, + "script_file_count": 141, "test_file_count": 75, - "internal_module_count": 56, + "internal_module_count": 57, "cli_script_count": 86, "command_handler_count": 68, "entrypoint_command_handler_count": 18, @@ -18,7 +18,7 @@ "block_line_threshold": 1500, "largest_file_lines": 696, "watchlist_count": 0, - "early_watchlist_count": 9, + "early_watchlist_count": 8, "hotspot_count": 0, "blocker_count": 0, "decision": "pass" @@ -40,14 +40,6 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "scripts/render_skill_os2_coverage.py", - "lines": 649, - "kind": "cli-script", - "severity": "pass", - "early_watch": true, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." - }, { "path": "scripts/render_review_studio.py", "lines": 647, @@ -119,6 +111,14 @@ "severity": "pass", "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/trust_check.py", + "lines": 582, + "kind": "cli-script", + "severity": "pass", + "early_watch": false, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "watchlist": [], @@ -139,14 +139,6 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "scripts/render_skill_os2_coverage.py", - "lines": 649, - "kind": "cli-script", - "severity": "pass", - "early_watch": true, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." - }, { "path": "scripts/render_review_studio.py", "lines": 647, diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md index 86b66336..3d15bc07 100644 --- a/reports/architecture_maintainability.md +++ b/reports/architecture_maintainability.md @@ -5,17 +5,17 @@ Generated at: `2026-06-13` ## Summary - decision: `pass` -- python files: `215` -- scripts: `140` +- python files: `216` +- scripts: `141` - tests: `75` -- internal modules: `56` +- internal modules: `57` - CLI scripts: `86` - Yao CLI command handlers: `68` - entrypoint command handlers: `18` - command modules: `6` - largest file lines: `696` - early watch threshold lines: `600` -- early watchlist: `9` +- early watchlist: `8` - watch threshold lines: `720` - watchlist: `0` - hotspots: `0` @@ -37,7 +37,6 @@ No near-threshold files found. | --- | ---: | --- | --- | | `tests/verify_yao_cli.py` | `696` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. | | `scripts/skill_report_model.py` | `665` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | -| `scripts/render_skill_os2_coverage.py` | `649` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | | `scripts/render_review_studio.py` | `647` | `cli-script` | Move data loading and large section renderers into focused review_studio_* modules. | | `scripts/review_studio_gates.py` | `646` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | | `scripts/render_reference_synthesis.py` | `644` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | @@ -51,7 +50,6 @@ No near-threshold files found. | --- | ---: | --- | --- | | `tests/verify_yao_cli.py` | `696` | `test` | `pass` | | `scripts/skill_report_model.py` | `665` | `internal-module` | `pass` | -| `scripts/render_skill_os2_coverage.py` | `649` | `cli-script` | `pass` | | `scripts/render_review_studio.py` | `647` | `cli-script` | `pass` | | `scripts/review_studio_gates.py` | `646` | `internal-module` | `pass` | | `scripts/render_reference_synthesis.py` | `644` | `cli-script` | `pass` | @@ -61,6 +59,7 @@ No near-threshold files found. | `scripts/render_benchmark_reproducibility.py` | `595` | `cli-script` | `pass` | | `scripts/optimize_description.py` | `585` | `cli-script` | `pass` | | `scripts/render_skill_overview.py` | `584` | `cli-script` | `pass` | +| `scripts/trust_check.py` | `582` | `cli-script` | `pass` | ## Release Rule diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 1a0bc494..ca794e0b 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -3,23 +3,36 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "git_status": { "available": true, - "dirty": false, - "changed_file_count": 0, - "sample": [], + "dirty": true, + "changed_file_count": 22, + "sample": [ + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json", + " M reports/evidence_consistency.json", + " M reports/install_simulation.json", + " M reports/install_simulation.md", + " M reports/package_verification.json", + " M reports/package_verification.md", + " M reports/review-studio.html", + " M reports/review-studio.json" + ], "scope": "generation-time status before this report is written" }, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -37,14 +50,15 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, "public_claim": { "ready": false, "scope": "public benchmark or world-class readiness claim", "blockers": [ + "release lock is not clean or commit is unavailable", "provider-backed model holdout evidence is incomplete", "human blind-review adjudication is incomplete", "world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)", @@ -53,10 +67,10 @@ "policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks." }, "release_lock": { - "ready": true, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "ready": false, + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "status_scope": "generation-time status before this report is written", - "reason": "clean generation-time HEAD" + "reason": "working tree was dirty at generation time" }, "evidence_bundle": { "algorithm": "sha256(path,label,exists,artifact_sha256)", @@ -64,7 +78,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac" + "sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -172,8 +186,8 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 129571, - "sha256": "72d20099da91f9e75f26e89ed7e55d7908eda1bfa735e3db19ad96ef246140a7" + "bytes": 130190, + "sha256": "b910b05f5adee9d9252c1fa64160cf269f7c7eefb452ed1d31f00884a6ee7d43" }, { "label": "python_compatibility", @@ -194,14 +208,14 @@ "path": "reports/package_verification.json", "exists": true, "bytes": 19338, - "sha256": "4550569cc29691a7bbc463d2b2fc33725791f0448a745a77a6e7350ebf9cc5f0" + "sha256": "1fb37aae43ee5eb8ab494b364f41d1fb1e965077c5f56700de0bb3e1db76357f" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, - "bytes": 8758, - "sha256": "21cbda5169820329503b35bfdc493c9cf0216f196b137e99c7665845c1974b79" + "bytes": 8557, + "sha256": "eb2e01bc30483a73c732ceea9bff6bc74bf368f6f91fec02fe74ab47cc7d2366" }, { "label": "skill_os2_audit", diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index 5eceeaf6..6e818d4b 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,19 +1,19 @@ # Benchmark Reproducibility Generated at: `2026-06-17` -Commit: `de1a50f0ceca0bf4fcd565833a360065cc655f42` -Working tree dirty at generation: `false` -Evidence bundle SHA256: `26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac` +Commit: `cf173248896ad818d8e5ec0fe00d0ed403a33ae1` +Working tree dirty at generation: `true` +Evidence bundle SHA256: `500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f` ## Summary - reproducibility ready: `true` -- release lock ready: `true` +- release lock ready: `false` - methodology complete: `true` - required artifacts: `25` - missing artifacts: `0` -- source contract sha256: `0932f0afc589` -- archive sha256: `72f9b9d57f49` +- source contract sha256: `d085dd56b0bd` +- archive sha256: `8789dec9d02f` - output cases: `5` - disclosed failure cases: `3` - reproduction commands: `23` @@ -22,8 +22,8 @@ Evidence bundle SHA256: `26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6 - world-class ready: `false` - world-class source checks: `7` pass / `13` total; `6` blocked - public claim ready: `false` -- public claim blockers: `4` -- changed files at generation: `0` +- public claim blockers: `5` +- changed files at generation: `22` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit is generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below. @@ -35,6 +35,7 @@ This report proves local benchmark reproducibility only. It keeps external provi | Blocker | | --- | +| release lock is not clean or commit is unavailable | | provider-backed model holdout evidence is incomplete | | human blind-review adjudication is incomplete | | world-class evidence is not accepted yet (4 open gaps, 4 ledger pending) | @@ -42,15 +43,15 @@ This report proves local benchmark reproducibility only. It keeps external provi ## Release Lock -- ready: `true` -- reason: clean generation-time HEAD +- ready: `false` +- reason: working tree was dirty at generation time - status scope: generation-time status before this report is written ## Evidence Bundle - algorithm: `sha256(path,label,exists,artifact_sha256)` - artifacts: `25` / `25` -- sha256: `26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac` +- sha256: `500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f` ## Methodology Sections @@ -77,11 +78,11 @@ This report proves local benchmark reproducibility only. It keeps external provi | review_adjudication | `reports/output_review_adjudication.json` | present | `bb8c72a9291e` | | trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` | | runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` | -| trust_report | `reports/security_trust_report.json` | present | `72d20099da91` | +| trust_report | `reports/security_trust_report.json` | present | `b910b05f5ade` | | python_compatibility | `reports/python_compatibility.json` | present | `b223212ec521` | | registry_audit | `reports/registry_audit.json` | present | `cd509aec32b4` | -| package_verification | `reports/package_verification.json` | present | `4550569cc296` | -| install_simulation | `reports/install_simulation.json` | present | `21cbda516982` | +| package_verification | `reports/package_verification.json` | present | `1fb37aae43ee` | +| install_simulation | `reports/install_simulation.json` | present | `eb2e01bc3048` | | skill_os2_audit | `reports/skill_os2_audit.json` | present | `51108b590a6f` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `9b74155fb9bf` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `f6e1a69b0359` | diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index 18a0542c..62059b73 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -251,6 +251,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -292,6 +293,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", @@ -344,8 +346,8 @@ ], "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 } }, @@ -616,8 +618,8 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -627,7 +629,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -871,8 +873,8 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -882,7 +884,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -1190,6 +1192,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -1231,6 +1234,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", @@ -1283,8 +1287,8 @@ ], "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 } }, @@ -1555,8 +1559,8 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -1566,7 +1570,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -1810,8 +1814,8 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -1821,7 +1825,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -2129,6 +2133,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -2170,6 +2175,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", @@ -2222,8 +2228,8 @@ ], "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 } }, @@ -2494,8 +2500,8 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -2504,7 +2510,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -2742,8 +2748,8 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -2752,7 +2758,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -3052,6 +3058,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -3093,6 +3100,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", @@ -3145,8 +3153,8 @@ ], "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 } }, @@ -3417,8 +3425,8 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -3428,7 +3436,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -3665,8 +3673,8 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -3676,7 +3684,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -3975,6 +3983,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -4016,6 +4025,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", @@ -4068,8 +4078,8 @@ ], "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 } }, @@ -4340,8 +4350,8 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -4351,7 +4361,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { @@ -4592,8 +4602,8 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 140, - "assets": 5, + "scripts": 141, + "assets": 6, "reports": 43 }, "generated_files": [ @@ -4603,7 +4613,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 140, + "script_count": 141, "help_smoke_failed_count": 0 }, "permissions": { diff --git a/reports/context_budget.json b/reports/context_budget.json index 9e6adcde..d5286c1d 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,16 +6,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1081327, + "other_text_tokens": 1081706, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1082124, - "deferred_resource_tokens": 495959, + "estimated_total_text_tokens": 1082503, + "deferred_resource_tokens": 496024, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140 + "estimated_tokens": 435130, + "file_count": 141 }, { "path": "references", @@ -36,8 +36,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140 + "estimated_tokens": 435130, + "file_count": 141 } ], "deferred_resource_governance": { @@ -59,14 +59,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140, + "estimated_tokens": 435130, + "file_count": 141, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 680, + "relevant_file_count": 682, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 diff --git a/reports/context_budget.md b/reports/context_budget.md index bad2a1e0..fa36a330 100644 --- a/reports/context_budget.md +++ b/reports/context_budget.md @@ -2,7 +2,7 @@ | Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status | | --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- | -| root | `.` | `production` | 1000 | 990 | 797 | 495959 | `governed` | scripts:435065 | 131.3 | - | ok | +| root | `.` | `production` | 1000 | 990 | 797 | 496024 | `governed` | scripts:435130 | 131.3 | - | ok | | complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok | | governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok | diff --git a/reports/context_budget_summary.json b/reports/context_budget_summary.json index ecbc1469..2d92ca59 100644 --- a/reports/context_budget_summary.json +++ b/reports/context_budget_summary.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-06-17", + "generated_at": "2026-03-31", "targets": [ { "label": "root", @@ -8,12 +8,12 @@ "budget_limit": 1000, "initial_tokens": 990, "skill_body_tokens": 797, - "deferred_resource_tokens": 495959, + "deferred_resource_tokens": 496024, "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140 + "estimated_tokens": 435130, + "file_count": 141 } ], "deferred_resource_governance": { @@ -35,8 +35,8 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140, + "estimated_tokens": 435130, + "file_count": 141, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], diff --git a/reports/evidence_consistency.json b/reports/evidence_consistency.json index f5c400e8..97cfaadc 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -222,7 +222,7 @@ "actual": { "available": true, "clean": false, - "changed_file_count": 7 + "changed_file_count": 20 }, "paths": [ "reports/benchmark_reproducibility.json" @@ -2417,10 +2417,10 @@ "score `91`", "`16` gates", "`3` warnings", - "`54` declared internal modules", - "`86 / 86` CLI help smoke checks passing across `140` scripts", - "`678` zip entries", - "archive with `678` entries", + "`55` declared internal modules", + "`86 / 86` CLI help smoke checks passing across `141` scripts", + "`679` zip entries", + "archive with `679` entries", "`12` installer permission checks enforced", "`0` permission failures", "`25` required artifacts", diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 262ad70c..ce12cdda 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -8,7 +8,7 @@ "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index 37e06b4f..e4ac6a73 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": 26.72, + "duration_ms": 26.08, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 26.18, + "duration_ms": 26.92, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.78, + "duration_ms": 28.38, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 26.09, + "duration_ms": 30.93, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.18, + "duration_ms": 32.32, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 29.11, + "duration_ms": 30.31, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.29, + "duration_ms": 30.96, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.38, + "duration_ms": 29.88, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.14, + "duration_ms": 29.19, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.09, + "duration_ms": 29.51, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index 9ecc64ba..b0809555 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 | 26.72 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 26.18 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 25.78 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 26.09 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 27.18 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 29.11 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 28.29 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 28.38 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 28.14 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 28.09 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 26.08 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 26.92 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 28.38 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 30.93 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 32.32 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 30.31 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 30.96 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 29.88 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 29.19 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 29.51 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index 46711948..e3246168 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": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/package_verification.md b/reports/package_verification.md index dc3bde18..f167d14b 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: `72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261` +- Archive SHA256: `8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0` - Failures: `0` - Warnings: `0` diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json index 207c59b9..2f464fe4 100644 --- a/reports/python_compatibility.json +++ b/reports/python_compatibility.json @@ -5,7 +5,7 @@ "root": ".", "summary": { "target_python": "3.11", - "file_count": 218, + "file_count": 219, "issue_count": 0, "syntax_error_count": 0, "fstring_311_violation_count": 0, @@ -652,6 +652,12 @@ "issue_count": 0, "issues": [] }, + { + "path": "scripts/skill_os2_coverage_markdown.py", + "ok": true, + "issue_count": 0, + "issues": [] + }, { "path": "scripts/skill_report_charts.py", "ok": true, diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md index 1289f5d7..8848a965 100644 --- a/reports/python_compatibility.md +++ b/reports/python_compatibility.md @@ -6,7 +6,7 @@ Generated at: `2026-06-13` - decision: `pass` - target python: `3.11` -- files scanned: `218` +- files scanned: `219` - issues: `0` - syntax errors: `0` - f-string 3.11 violations: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index 5e7e36d3..598d856f 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261" + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0" }, "compatibility": { "openai": "pass", @@ -53,7 +53,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "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": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index efaa421b..22f66d8f 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7` -- Archive SHA256: `72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261` +- Package SHA256: `d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f` +- Archive SHA256: `8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index 5a47dae0..0392a0ee 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -740,12 +740,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

140 scripts scanned; secrets found

Py Compat0

218 files scanned for Python 3.11

Arch Debt0

696 largest lines; 0 watchlist; 9 early; 68 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

678 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

5 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

141 scripts scanned; secrets found

Py Compat0

218 files scanned for Python 3.11

Arch Debt0

696 largest lines; 0 watchlist; 8 early; 68 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

679 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 990/1000; deferred 495959/120000; top deferred scripts 435065; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

215 Python files; 0 hotspots; 0 watchlist files; 9 early watch files; 0 blockers; largest 696 lines; 68 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 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true

reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly 证据
关注

人工批准

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 7/13 pass; 6 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 990/1000; deferred 496024/120000; top deferred scripts 435130; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

216 Python files; 0 hotspots; 0 watchlist files; 8 early watch files; 0 blockers; largest 696 lines; 68 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 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true

reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly 证据
关注

人工批准

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 7/13 pass; 6 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 证据
@@ -812,12 +812,12 @@
-

上下文

initial load 990/1000; deferred 495959/120000; top deferred scripts 435065; resource governance governed; quality density 131.3

+

上下文

initial load 990/1000; deferred 496024/120000; top deferred scripts 435130; resource governance governed; quality density 131.3

编译证据

Review reports/compiled_targets.md before packaging to inspect target adapter modes, generated files, preserved semantics, warnings, and unsupported features.

-

信任报告

Secret
0
脚本数
140
网络脚本
3
Help 失败
0
包体哈希
0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7
+

信任报告

Secret
0
脚本数
141
网络脚本
3
Help 失败
0
包体哈希
d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f

安全边界

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

@@ -882,8 +882,8 @@
-

公开声明

本地复现
发布锁
可公开声明
声明阻断
4
Provider 证据
人审完成
世界级就绪
-

声明阻断

  • 阻断provider-backed model holdout evidence is incomplete
  • 阻断human blind-review adjudication is incomplete
  • 阻断world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)
  • 阻断world-class source checks are not all accepted (7/13 pass, 6 blocked)
+

公开声明

本地复现
发布锁
可公开声明
声明阻断
5
Provider 证据
人审完成
世界级就绪
+

声明阻断

  • 阻断release lock is not clean or commit is unavailable
  • 阻断provider-backed model holdout evidence is incomplete
  • 阻断human blind-review adjudication is incomplete
  • 阻断world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)
  • 阻断world-class source checks are not all accepted (7/13 pass, 6 blocked)
@@ -908,7 +908,7 @@

发布路线

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

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
678
失败数
0
警告数
0
归档哈希
72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
679
失败数
0
警告数
0
归档哈希
8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0
diff --git a/reports/review-studio.json b/reports/review-studio.json index d83be49c..0cad64d8 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -44,7 +44,7 @@ "key": "context-budget", "label": "上下文", "status": "pass", - "detail": "initial load 990/1000; deferred 495959/120000; top deferred scripts 435065; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 496024/120000; top deferred scripts 435130; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json", "link": "context_budget.md" }, @@ -60,7 +60,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 140 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 141 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md" }, @@ -76,7 +76,7 @@ "key": "architecture-maintainability", "label": "架构维护", "status": "pass", - "detail": "215 Python files; 0 hotspots; 0 watchlist files; 9 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint", + "detail": "216 Python files; 0 hotspots; 0 watchlist files; 8 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint", "evidence": "reports/architecture_maintainability.json", "link": "architecture_maintainability.md" }, @@ -1475,7 +1475,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -1490,7 +1490,7 @@ "file_count": 235 } ], - "file_count": 443, + "file_count": 444, "folder_count": 4, "distribution": [ { @@ -1515,7 +1515,7 @@ }, { "label": "scripts", - "value": 140 + "value": 141 }, { "label": "evals", @@ -1645,7 +1645,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -1959,13 +1959,13 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1983,11 +1983,11 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -2071,9 +2071,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -2091,8 +2091,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "skill_atlas": { "skill_count": 12, @@ -2178,8 +2178,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, @@ -2190,7 +2190,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -2200,7 +2200,7 @@ "installer_permission_failure_count": 0, "permission_target_count": 4, "permission_capability_count": 3, - "install_root_is_temp": false, + "install_root_is_temp": true, "failure_count": 0, "warning_count": 0 }, @@ -5650,23 +5650,36 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "git_status": { "available": true, - "dirty": false, - "changed_file_count": 0, - "sample": [], + "dirty": true, + "changed_file_count": 22, + "sample": [ + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json", + " M reports/evidence_consistency.json", + " M reports/install_simulation.json", + " M reports/install_simulation.md", + " M reports/package_verification.json", + " M reports/package_verification.md", + " M reports/review-studio.html", + " M reports/review-studio.json" + ], "scope": "generation-time status before this report is written" }, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -5684,14 +5697,15 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, "public_claim": { "ready": false, "scope": "public benchmark or world-class readiness claim", "blockers": [ + "release lock is not clean or commit is unavailable", "provider-backed model holdout evidence is incomplete", "human blind-review adjudication is incomplete", "world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)", @@ -5700,10 +5714,10 @@ "policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks." }, "release_lock": { - "ready": true, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "ready": false, + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "status_scope": "generation-time status before this report is written", - "reason": "clean generation-time HEAD" + "reason": "working tree was dirty at generation time" }, "evidence_bundle": { "algorithm": "sha256(path,label,exists,artifact_sha256)", @@ -5711,7 +5725,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac" + "sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -5819,8 +5833,8 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 129571, - "sha256": "72d20099da91f9e75f26e89ed7e55d7908eda1bfa735e3db19ad96ef246140a7" + "bytes": 130190, + "sha256": "b910b05f5adee9d9252c1fa64160cf269f7c7eefb452ed1d31f00884a6ee7d43" }, { "label": "python_compatibility", @@ -5841,14 +5855,14 @@ "path": "reports/package_verification.json", "exists": true, "bytes": 19338, - "sha256": "4550569cc29691a7bbc463d2b2fc33725791f0448a745a77a6e7350ebf9cc5f0" + "sha256": "1fb37aae43ee5eb8ab494b364f41d1fb1e965077c5f56700de0bb3e1db76357f" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, - "bytes": 8758, - "sha256": "21cbda5169820329503b35bfdc493c9cf0216f196b137e99c7665845c1974b79" + "bytes": 8557, + "sha256": "eb2e01bc30483a73c732ceea9bff6bc74bf368f6f91fec02fe74ab47cc7d2366" }, { "label": "skill_os2_audit", @@ -6187,7 +6201,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "140 scripts; secrets 0; help failures 0", + "current": "141 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -6261,7 +6275,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 678; install failures 0", + "current": "archive entries 679; 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": [ @@ -12179,9 +12193,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -12199,8 +12213,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "failures": [], "warnings": [], @@ -13651,6 +13665,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/skill_os2_coverage_markdown.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Imported by render_skill_os2_coverage.py to keep coverage data assembly separate from Markdown rendering.", + "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/skill_report_charts.py", "interface": "internal-module", @@ -14218,7 +14246,7 @@ "checked_count": 86, "passed_count": 86, "failed_count": 0, - "skipped_count": 54, + "skipped_count": 55, "failed_scripts": [], "results": [ { @@ -15183,6 +15211,10 @@ "path": "scripts/skill_ir_paths.py", "reason": "internal module" }, + { + "path": "scripts/skill_os2_coverage_markdown.py", + "reason": "internal module" + }, { "path": "scripts/skill_report_charts.py", "reason": "internal module" @@ -16830,13 +16862,13 @@ "architecture_maintainability": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { - "python_file_count": 215, - "script_file_count": 140, + "python_file_count": 216, + "script_file_count": 141, "test_file_count": 75, - "internal_module_count": 56, + "internal_module_count": 57, "cli_script_count": 86, "command_handler_count": 68, "entrypoint_command_handler_count": 18, @@ -16847,7 +16879,7 @@ "block_line_threshold": 1500, "largest_file_lines": 696, "watchlist_count": 0, - "early_watchlist_count": 9, + "early_watchlist_count": 8, "hotspot_count": 0, "blocker_count": 0, "decision": "pass" @@ -16869,14 +16901,6 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "scripts/render_skill_os2_coverage.py", - "lines": 649, - "kind": "cli-script", - "severity": "pass", - "early_watch": true, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." - }, { "path": "scripts/render_review_studio.py", "lines": 647, @@ -16948,6 +16972,14 @@ "severity": "pass", "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/trust_check.py", + "lines": 582, + "kind": "cli-script", + "severity": "pass", + "early_watch": false, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "watchlist": [], @@ -16968,14 +17000,6 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "scripts/render_skill_os2_coverage.py", - "lines": 649, - "kind": "cli-script", - "severity": "pass", - "early_watch": true, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." - }, { "path": "scripts/render_review_studio.py", "lines": 647, @@ -17040,16 +17064,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1081327, + "other_text_tokens": 1081494, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1082124, - "deferred_resource_tokens": 495959, + "estimated_total_text_tokens": 1082291, + "deferred_resource_tokens": 496024, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140 + "estimated_tokens": 435130, + "file_count": 141 }, { "path": "references", @@ -17070,8 +17094,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140 + "estimated_tokens": 435130, + "file_count": 141 } ], "deferred_resource_governance": { @@ -17093,14 +17117,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 435065, - "file_count": 140, + "estimated_tokens": 435130, + "file_count": 141, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 680, + "relevant_file_count": 682, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 @@ -24115,8 +24139,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, @@ -24774,14 +24798,14 @@ "install_simulation": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-17", "skill_dir": ".", - "package_dir": "tests/tmp_review_studio/dist", - "install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill", - "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", + "package_dir": "dist", + "install_root": "[temporary-install-root]", + "installed_skill_dir": "[temporary-install-root]/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -24791,7 +24815,7 @@ "installer_permission_failure_count": 0, "permission_target_count": 4, "permission_capability_count": 3, - "install_root_is_temp": false, + "install_root_is_temp": true, "failure_count": 0, "warning_count": 0 }, @@ -24799,7 +24823,7 @@ { "id": "archive-present", "status": "pass", - "detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip" + "detail": "Package archive exists: dist/yao-meta-skill.zip" }, { "id": "archive-safe-paths", @@ -25045,10 +25069,10 @@ "failures": [], "warnings": [], "artifacts": { - "archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip", - "package_manifest": "tests/tmp_review_studio/dist/manifest.json", - "json": "tests/tmp_review_studio/install_simulation.json", - "markdown": "tests/tmp_review_studio/install_simulation.md" + "archive": "dist/yao-meta-skill.zip", + "package_manifest": "dist/manifest.json", + "json": "reports/install_simulation.json", + "markdown": "reports/install_simulation.md" } }, "upgrade_check": { diff --git a/reports/review-viewer.json b/reports/review-viewer.json index c7dd0226..a95e4177 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -512,7 +512,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -527,7 +527,7 @@ "file_count": 235 } ], - "file_count": 443, + "file_count": 444, "folder_count": 4, "distribution": [ { @@ -552,7 +552,7 @@ }, { "label": "scripts", - "value": 140 + "value": 141 }, { "label": "evals", @@ -682,7 +682,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -996,13 +996,13 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1020,11 +1020,11 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1108,9 +1108,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "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": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "skill_atlas": { "skill_count": 12, @@ -1215,8 +1215,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, @@ -1227,7 +1227,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1237,7 +1237,7 @@ "installer_permission_failure_count": 0, "permission_target_count": 4, "permission_capability_count": 3, - "install_root_is_temp": false, + "install_root_is_temp": true, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 0cc66578..1b234562 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -2,9 +2,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "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": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "failures": [], "warnings": [], @@ -1474,6 +1474,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/skill_os2_coverage_markdown.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Imported by render_skill_os2_coverage.py to keep coverage data assembly separate from Markdown rendering.", + "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/skill_report_charts.py", "interface": "internal-module", @@ -2041,7 +2055,7 @@ "checked_count": 86, "passed_count": 86, "failed_count": 0, - "skipped_count": 54, + "skipped_count": 55, "failed_scripts": [], "results": [ { @@ -3006,6 +3020,10 @@ "path": "scripts/skill_ir_paths.py", "reason": "internal module" }, + { + "path": "scripts/skill_os2_coverage_markdown.py", + "reason": "internal module" + }, { "path": "scripts/skill_report_charts.py", "reason": "internal module" diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index 5098eb9b..853956ed 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -1,9 +1,9 @@ # Security Trust Report - OK: `True` -- Scanned files: `232` -- Scripts: `140` -- Internal script modules: `54` +- Scanned files: `233` +- Scripts: `141` +- Internal script modules: `55` - 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: `232` -- Package SHA256: `0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7` +- Package hash files: `233` +- Package SHA256: `d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f` ## Failures @@ -164,6 +164,7 @@ | scripts/run_output_execution.py | cli | False | True | True | False | False | True | True | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/simulate_install.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/skill_ir_paths.py | internal-module | True | False | False | False | False | False | False | Imported by compiler, registry, conformance, and report scripts to locate canonical Skill IR artifacts. | +| scripts/skill_os2_coverage_markdown.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_os2_coverage.py to keep coverage data assembly separate from Markdown rendering. | | scripts/skill_report_charts.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_overview.py to render inline SVG report charts. | | scripts/skill_report_i18n.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_overview.py to keep bilingual report copy and fallback rules out of HTML rendering. | | scripts/skill_report_layout.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_overview.py to keep overview report layout and CSS out of data rendering. | diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html index d3c8e099..6ec9bb13 100644 --- a/reports/skill-interpretation.html +++ b/reports/skill-interpretation.html @@ -921,7 +921,7 @@

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

-
资产分布Asset Distribution443项443 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution444项444 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 1402f9f2..23b94720 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -512,7 +512,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -527,7 +527,7 @@ "file_count": 235 } ], - "file_count": 443, + "file_count": 444, "folder_count": 4, "distribution": [ { @@ -552,7 +552,7 @@ }, { "label": "scripts", - "value": 140 + "value": 141 }, { "label": "evals", @@ -686,7 +686,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -1000,13 +1000,13 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1024,11 +1024,11 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1112,9 +1112,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "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": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "skill_atlas": { "skill_count": 12, @@ -1219,8 +1219,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, @@ -1231,7 +1231,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1241,7 +1241,7 @@ "installer_permission_failure_count": 0, "permission_target_count": 4, "permission_capability_count": 3, - "install_root_is_temp": false, + "install_root_is_temp": true, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index cb735a0f..3e8864e4 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -133,13 +133,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, `54` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `140` scripts, source-contract hash scope explicit | +| Trust | `0` secret findings, `1` pinned dependency file, `55` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `141` 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, `678` zip entries, `0` failures, `0` warnings | -| Install Simulation | archive with `678` 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, `679` zip entries, `0` failures, `0` warnings | +| Install Simulation | archive with `679` 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, `1` adoption sample, adoption `100`, 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 c456d933..2351bb65 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -921,7 +921,7 @@

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

-
资产分布Asset Distribution443项443 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution444项444 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 3d6c12f8..a8c76af4 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -511,7 +511,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -526,7 +526,7 @@ "file_count": 235 } ], - "file_count": 443, + "file_count": 444, "folder_count": 4, "distribution": [ { @@ -551,7 +551,7 @@ }, { "label": "scripts", - "value": 140 + "value": 141 }, { "label": "evals", @@ -681,7 +681,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 140 + "file_count": 141 }, { "path": "evals", @@ -995,13 +995,13 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "26ba31c85f4ff70f819d1cd1f1cc44f0fdadd51fd6f0a94867c2eb6d1c9672ac", - "source_contract_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7", - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", + "evidence_bundle_sha256": "500178f73e61df4d96d2347416ee904773b09d02bb3831d8b933fcbdeb89582f", + "source_contract_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f", + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1019,11 +1019,11 @@ "world_class_source_pass_count": 7, "world_class_source_blocked_count": 6, "public_claim_ready": false, - "public_claim_blocker_count": 4, - "working_tree_dirty": false, - "changed_file_count": 0 + "public_claim_blocker_count": 5, + "working_tree_dirty": true, + "changed_file_count": 22 }, - "commit": "de1a50f0ceca0bf4fcd565833a360065cc655f42", + "commit": "cf173248896ad818d8e5ec0fe00d0ed403a33ae1", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1107,9 +1107,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 232, - "script_count": 140, - "internal_module_count": 54, + "scanned_files": 233, + "script_count": 141, + "internal_module_count": 55, "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": 232, - "package_sha256": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "package_hash_file_count": 233, + "package_sha256": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" }, "skill_atlas": { "skill_count": 12, @@ -1214,8 +1214,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261", - "archive_entry_count": 678, + "archive_sha256": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0", + "archive_entry_count": 679, "failure_count": 0, "warning_count": 0 }, @@ -1226,7 +1226,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 678, + "archive_entry_count": 679, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1236,7 +1236,7 @@ "installer_permission_failure_count": 0, "permission_target_count": 4, "permission_capability_count": 3, - "install_root_is_temp": false, + "install_root_is_temp": true, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index a8124057..cca5f9c1 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -166,6 +166,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index b9e918fe..d392f2b7 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -197,7 +197,7 @@ "key": "trust-security", "label": "Trust Security", "status": "pass", - "current": "secrets 0; scripts 140; help failures 0", + "current": "secrets 0; scripts 141; help failures 0", "target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable", "evidence": [ { @@ -285,7 +285,7 @@ "key": "registry-distribution", "label": "Registry Distribution", "status": "pass", - "current": "zip entries 678; install failures 0; permission failures 0", + "current": "zip entries 679; install failures 0; permission failures 0", "target": "Package metadata, archive checksum, package verification, and install simulation pass", "evidence": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index 114ae384..85fc5b87 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -23,11 +23,11 @@ Generated at: `2026-06-13` | Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. | | Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. | | Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. | -| Trust Security | pass | secrets 0; scripts 140; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. | +| Trust Security | pass | secrets 0; scripts 141; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. | | Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external 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 678; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. | +| Registry Distribution | pass | zip entries 679; 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 3; score 91 | 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 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. | diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 184e2a42..106b6053 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "item_count": 21, @@ -130,7 +130,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "140 scripts; secrets 0; help failures 0", + "current": "141 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 678; install failures 0", + "current": "archive entries 679; 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 7bdda9ac..97e8ddc3 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Blueprint Coverage -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -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` | 140 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | +| Trust Security | `pass` | 141 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 678; 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 679; 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 63ee297f..8c36a2d4 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "72f9b9d57f498b5e574c6a857b1e7a4aa41d515545e3ad40cc46b26af20e8261" + "to": "8789dec9d02f8cf016ed1bd9e42bd4abce52e32bdfda8ee909b48fcea4cdbba0" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "0932f0afc5893229405baf4b5a151c52c257830d258f3228c08cf26fd1fc05e7" + "to": "d085dd56b0bd6ec09d8e1ffbc596902107fb000822ae94877eff836ea246990f" } ] }, diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json index 22da9491..fe24ca0b 100644 --- a/reports/world_class_claim_guard.json +++ b/reports/world_class_claim_guard.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "ledger_ready_to_claim_world_class": false, diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md index d2d4d668..5315b99a 100644 --- a/reports/world_class_claim_guard.md +++ b/reports/world_class_claim_guard.md @@ -1,6 +1,6 @@ # World-Class Claim Guard -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_intake.json b/reports/world_class_evidence_intake.json index 81d92d87..df978d9e 100644 --- a/reports/world_class_evidence_intake.json +++ b/reports/world_class_evidence_intake.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "schema_present": true, diff --git a/reports/world_class_evidence_intake.md b/reports/world_class_evidence_intake.md index 440128cd..297677c7 100644 --- a/reports/world_class_evidence_intake.md +++ b/reports/world_class_evidence_intake.md @@ -1,6 +1,6 @@ # World-Class Evidence Intake -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_ledger.json b/reports/world_class_evidence_ledger.json index d81f6f75..ef380d20 100644 --- a/reports/world_class_evidence_ledger.json +++ b/reports/world_class_evidence_ledger.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "decision": "evidence-pending", "ready_to_claim_world_class": false, diff --git a/reports/world_class_evidence_ledger.md b/reports/world_class_evidence_ledger.md index fb22bd0b..eb8c1650 100644 --- a/reports/world_class_evidence_ledger.md +++ b/reports/world_class_evidence_ledger.md @@ -1,6 +1,6 @@ # World-Class Evidence Ledger -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_plan.json b/reports/world_class_evidence_plan.json index ff133db6..50908b39 100644 --- a/reports/world_class_evidence_plan.json +++ b/reports/world_class_evidence_plan.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "audit_decision": "continue-iteration", diff --git a/reports/world_class_evidence_plan.md b/reports/world_class_evidence_plan.md index b540f1e6..3a1b0962 100644 --- a/reports/world_class_evidence_plan.md +++ b/reports/world_class_evidence_plan.md @@ -1,6 +1,6 @@ # World-Class Evidence Plan -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_preflight.json b/reports/world_class_evidence_preflight.json index bf6bf821..4a7eaf7a 100644 --- a/reports/world_class_evidence_preflight.json +++ b/reports/world_class_evidence_preflight.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "evidence_item_count": 4, diff --git a/reports/world_class_evidence_preflight.md b/reports/world_class_evidence_preflight.md index d6431496..e487d321 100644 --- a/reports/world_class_evidence_preflight.md +++ b/reports/world_class_evidence_preflight.md @@ -1,6 +1,6 @@ # World-Class Evidence Preflight -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_operator_runbook.json b/reports/world_class_operator_runbook.json index 18dec411..03f7b4a1 100644 --- a/reports/world_class_operator_runbook.json +++ b/reports/world_class_operator_runbook.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "evidence_item_count": 4, diff --git a/reports/world_class_operator_runbook.md b/reports/world_class_operator_runbook.md index 17ebd41e..8ba17d83 100644 --- a/reports/world_class_operator_runbook.md +++ b/reports/world_class_operator_runbook.md @@ -1,6 +1,6 @@ # World-Class Operator Runbook -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_submission_review.json b/reports/world_class_submission_review.json index 5b9f0a2d..8abee31b 100644 --- a/reports/world_class_submission_review.json +++ b/reports/world_class_submission_review.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "decision": "awaiting-submissions", "ready_to_claim_world_class": false, diff --git a/reports/world_class_submission_review.md b/reports/world_class_submission_review.md index 4958147c..21bd5b52 100644 --- a/reports/world_class_submission_review.md +++ b/reports/world_class_submission_review.md @@ -1,6 +1,6 @@ # World-Class Submission Review -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/scripts/render_skill_os2_coverage.py b/scripts/render_skill_os2_coverage.py index a030f624..aee29bda 100644 --- a/scripts/render_skill_os2_coverage.py +++ b/scripts/render_skill_os2_coverage.py @@ -5,6 +5,8 @@ from datetime import date from pathlib import Path from typing import Any +from skill_os2_coverage_markdown import render_markdown + ROOT = Path(__file__).resolve().parent.parent SCRIPT_INTERFACE = "cli" @@ -526,102 +528,6 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]: } -def render_table(items: list[dict[str, Any]]) -> list[str]: - lines = ["| Item | Status | Current | Command | Test |", "| --- | --- | --- | --- | --- |"] - for item in items: - lines.append( - "| " - + " | ".join( - [ - item["label"].replace("|", "\\|"), - f"`{item['status']}`", - item["current"].replace("|", "\\|"), - f"`{item['command']}`", - f"`{item['test']}`", - ] - ) - + " |" - ) - return lines - - -def render_markdown(report: dict[str, Any]) -> str: - summary = report["summary"] - lines = [ - "# Skill OS 2.0 Blueprint Coverage", - "", - f"Generated at: `{report['generated_at']}`", - "", - "## Summary", - "", - f"- decision: `{summary['decision']}`", - f"- local blueprint ready: `{str(summary['local_blueprint_ready']).lower()}`", - f"- public world-class ready: `{str(summary['public_world_class_ready']).lower()}`", - f"- pass: `{summary['pass_count']}` / `{summary['item_count']}`", - f"- missing: `{summary['missing_count']}`", - f"- warn: `{summary['warn_count']}`", - f"- reference extensions: `{summary['extension_track_count']}`", - f"- extension covered: `{summary['extension_covered_count']}`", - f"- extension partial: `{summary['extension_partial_count']}`", - f"- extension planned: `{summary['extension_planned_count']}`", - f"- adaptive extension ready: `{str(summary['adaptive_extension_ready']).lower()}`", - f"- world-class evidence pending: `{summary['world_class_evidence_pending_count']}`", - "", - "This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, commands, and tests. It does not count pending human review, provider runs, metadata fallbacks, or planned work as public world-class evidence.", - "", - "## Core Modules", - "", - *render_table(report["modules"]), - "", - "## Recommended PR Coverage", - "", - *render_table(report["recommended_prs"]), - "", - "## Reference Extension Tracks", - "", - "| Track | Status | Current | Target | Next action |", - "| --- | --- | --- | --- | --- |", - ] - for item in report["reference_extension_tracks"]: - lines.append( - "| " - + " | ".join( - [ - item["label"].replace("|", "\\|"), - f"`{item['status']}`", - item["current"].replace("|", "\\|"), - item["target"].replace("|", "\\|"), - item["next_action"].replace("|", "\\|"), - ] - ) - + " |" - ) - lines.extend( - [ - "", - "These extension tracks come from the user-supplied 2.0 reference plan. They are tracked separately from the formal Skill OS blueprint so the report can distinguish landed local architecture from planned explainer/adaptor evolution.", - "", - "## Next Highest-Leverage Moves", - "", - ] - ) - lines.extend(f"- {item}" for item in report["next_highest_leverage"]) - lines.extend(["", "## Evidence Detail", ""]) - for item in report["modules"] + report["recommended_prs"] + report["reference_extension_tracks"]: - existing = [entry["path"] for entry in item["evidence"] if entry["exists"]] - missing = [entry["path"] for entry in item["evidence"] if not entry["exists"]] - lines.append(f"### {item['label']}") - lines.append("") - lines.append(f"- objective: {item['objective']}") - lines.append(f"- status: `{item['status']}`") - lines.append(f"- existing evidence: {', '.join(f'`{path}`' for path in existing) if existing else '`none`'}") - if missing: - lines.append(f"- missing evidence: {', '.join(f'`{path}`' for path in missing)}") - lines.append(f"- next action: {item['next_action']}") - lines.append("") - return "\n".join(lines).rstrip() + "\n" - - def main() -> None: parser = argparse.ArgumentParser(description="Render Skill OS 2.0 blueprint coverage evidence.") parser.add_argument("skill_dir", nargs="?", default=".") diff --git a/scripts/skill_os2_coverage_markdown.py b/scripts/skill_os2_coverage_markdown.py new file mode 100644 index 00000000..d8bfee12 --- /dev/null +++ b/scripts/skill_os2_coverage_markdown.py @@ -0,0 +1,101 @@ +from typing import Any + + +SCRIPT_INTERFACE = "internal-module" +SCRIPT_INTERFACE_REASON = "Imported by render_skill_os2_coverage.py to keep coverage data assembly separate from Markdown rendering." + + +def render_table(items: list[dict[str, Any]]) -> list[str]: + lines = ["| Item | Status | Current | Command | Test |", "| --- | --- | --- | --- | --- |"] + for item in items: + lines.append( + "| " + + " | ".join( + [ + item["label"].replace("|", "\\|"), + f"`{item['status']}`", + item["current"].replace("|", "\\|"), + f"`{item['command']}`", + f"`{item['test']}`", + ] + ) + + " |" + ) + return lines + + +def render_markdown(report: dict[str, Any]) -> str: + summary = report["summary"] + lines = [ + "# Skill OS 2.0 Blueprint Coverage", + "", + f"Generated at: `{report['generated_at']}`", + "", + "## Summary", + "", + f"- decision: `{summary['decision']}`", + f"- local blueprint ready: `{str(summary['local_blueprint_ready']).lower()}`", + f"- public world-class ready: `{str(summary['public_world_class_ready']).lower()}`", + f"- pass: `{summary['pass_count']}` / `{summary['item_count']}`", + f"- missing: `{summary['missing_count']}`", + f"- warn: `{summary['warn_count']}`", + f"- reference extensions: `{summary['extension_track_count']}`", + f"- extension covered: `{summary['extension_covered_count']}`", + f"- extension partial: `{summary['extension_partial_count']}`", + f"- extension planned: `{summary['extension_planned_count']}`", + f"- adaptive extension ready: `{str(summary['adaptive_extension_ready']).lower()}`", + f"- world-class evidence pending: `{summary['world_class_evidence_pending_count']}`", + "", + "This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, commands, and tests. It does not count pending human review, provider runs, metadata fallbacks, or planned work as public world-class evidence.", + "", + "## Core Modules", + "", + *render_table(report["modules"]), + "", + "## Recommended PR Coverage", + "", + *render_table(report["recommended_prs"]), + "", + "## Reference Extension Tracks", + "", + "| Track | Status | Current | Target | Next action |", + "| --- | --- | --- | --- | --- |", + ] + for item in report["reference_extension_tracks"]: + lines.append( + "| " + + " | ".join( + [ + item["label"].replace("|", "\\|"), + f"`{item['status']}`", + item["current"].replace("|", "\\|"), + item["target"].replace("|", "\\|"), + item["next_action"].replace("|", "\\|"), + ] + ) + + " |" + ) + lines.extend( + [ + "", + "These extension tracks come from the user-supplied 2.0 reference plan. They are tracked separately from the formal Skill OS blueprint so the report can distinguish landed local architecture from planned explainer/adaptor evolution.", + "", + "## Next Highest-Leverage Moves", + "", + ] + ) + lines.extend(f"- {item}" for item in report["next_highest_leverage"]) + lines.extend(["", "## Evidence Detail", ""]) + for item in report["modules"] + report["recommended_prs"] + report["reference_extension_tracks"]: + existing = [entry["path"] for entry in item["evidence"] if entry["exists"]] + missing = [entry["path"] for entry in item["evidence"] if not entry["exists"]] + lines.append(f"### {item['label']}") + lines.append("") + lines.append(f"- objective: {item['objective']}") + lines.append(f"- status: `{item['status']}`") + lines.append(f"- existing evidence: {', '.join(f'`{path}`' for path in existing) if existing else '`none`'}") + if missing: + lines.append(f"- missing evidence: {', '.join(f'`{path}`' for path in missing)}") + lines.append(f"- next action: {item['next_action']}") + lines.append("") + return "\n".join(lines).rstrip() + "\n" diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json index 3fa5b439..96d46fe2 100644 --- a/skill-ir/examples/yao-meta-skill.json +++ b/skill-ir/examples/yao-meta-skill.json @@ -214,6 +214,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", @@ -255,6 +256,7 @@ ], "assets": [ "assets/review-studio.css", + "assets/review-viewer.css", "assets/skill-overview.css", "assets/skill-overview.js", "templates/basic_skill.md.j2", diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index 95b3779c..29559ec1 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -122,6 +122,7 @@ "scripts/run_output_execution.py", "scripts/simulate_install.py", "scripts/skill_ir_paths.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/skill_report_charts.py", "scripts/skill_report_i18n.py", "scripts/skill_report_layout.py", diff --git a/tests/verify_architecture_maintainability.py b/tests/verify_architecture_maintainability.py index 4d9c6550..c37711ae 100644 --- a/tests/verify_architecture_maintainability.py +++ b/tests/verify_architecture_maintainability.py @@ -54,6 +54,7 @@ def main() -> None: assert all(item["early_watch"] is True for item in payload["early_watchlist"]), payload["early_watchlist"] early_watch_paths = {item["path"] for item in payload["early_watchlist"]} assert "scripts/render_review_viewer.py" not in early_watch_paths, payload["early_watchlist"] + assert "scripts/render_skill_os2_coverage.py" not in early_watch_paths, payload["early_watchlist"] renderer_lines = len((ROOT / "scripts" / "render_review_studio.py").read_text(encoding="utf-8").splitlines()) action_module = (ROOT / "scripts" / "review_studio_actions.py").read_text(encoding="utf-8") action_lines = len(action_module.splitlines()) @@ -71,8 +72,9 @@ def main() -> None: assert "No file-size hotspots found." in markdown, markdown assert "No near-threshold files found." in markdown, markdown assert "## Early Watchlist" in markdown, markdown - assert "- early watchlist: `9`" in markdown, markdown + assert "- early watchlist: `8`" in markdown, markdown assert "scripts/render_review_viewer.py" not in markdown, markdown + assert "scripts/render_skill_os2_coverage.py" not in markdown, markdown assert "Do not split a file only for line count" in markdown, markdown blocker_proc = subprocess.run( diff --git a/tests/verify_trust_check.py b/tests/verify_trust_check.py index 9fb15908..4100a4de 100644 --- a/tests/verify_trust_check.py +++ b/tests/verify_trust_check.py @@ -116,6 +116,7 @@ def main() -> None: "scripts/skill_report_model.py", "scripts/skill_report_sources.py", "scripts/skill_report_world_class.py", + "scripts/skill_os2_coverage_markdown.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_evidence_contract.py", "scripts/world_class_source_checks.py", @@ -152,6 +153,7 @@ def main() -> None: assert "skill_report_model.py" not in warning_text, payload["warnings"] assert "skill_report_sources.py" not in warning_text, payload["warnings"] assert "skill_report_world_class.py" not in warning_text, payload["warnings"] + assert "skill_os2_coverage_markdown.py" not in warning_text, payload["warnings"] assert "world_class_preflight_layout.py" not in warning_text, payload["warnings"] assert "world_class_evidence_contract.py" not in warning_text, payload["warnings"] assert "world_class_source_checks.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