diff --git a/Makefile b/Makefile index 2ead9bc..7f19f05 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PYTHON ?= python3 LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill -.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check world-class-ledger-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean +.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean eval: $(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt @@ -88,6 +88,9 @@ review-studio-check: skill-os2-audit-check: $(PYTHON) tests/verify_skill_os2_audit.py +skill-os2-coverage-check: + $(PYTHON) tests/verify_skill_os2_coverage.py + world-class-evidence-check: $(PYTHON) tests/verify_world_class_evidence_plan.py @@ -211,11 +214,11 @@ sync-local-install: package-check sync-active-install: package-check $(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)" -test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check world-class-ledger-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check +test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check ci-test: $(PYTHON) scripts/ci_test.py clean: - rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_skill_overview tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_benchmark_reproducibility tests/tmp_feedback tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md + rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_skill_overview tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_benchmark_reproducibility tests/tmp_feedback tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md find . -type d -name __pycache__ -prune -exec rm -rf {} + diff --git a/README.md b/README.md index f973481..ac925be 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ It turns rough workflows, transcripts, prompts, notes, and runbooks into reusabl - a generated visual HTML overview for each newly initialized skill - a Review Studio 2.0 HTML gate page that combines intent, trigger, output eval, context, runtime, trust, atlas, adoption drift, reviewer waivers, reviewer annotations, release evidence, and per-warning fix actions - a Skill OS 2.0 audit that maps each world-class requirement to current evidence, human-required gaps, and external-required gaps +- a Skill OS 2.0 blueprint coverage report that maps the upgrade plan's core modules and recommended PRs to concrete artifacts, commands, and tests - a world-class evidence plan that turns remaining provider, human, native-permission, and real-client telemetry gaps into executable evidence tasks - a world-class evidence ledger that records which external and human evidence is accepted or still pending without treating planned work as proof - a benchmark reproducibility manifest that checks methodology sections, required artifacts, failure disclosure, and reproduction commands @@ -280,6 +281,7 @@ Full reports: [reports/eval_suite.json](reports/eval_suite.json) and [reports/fa - lightweight with-skill vs baseline comparison is published in [reports/baseline-compare.md](reports/baseline-compare.md) - Review Studio 2.0 gate evidence is published in [reports/review-studio.html](reports/review-studio.html) - Review Studio fix actions are embedded in [reports/review-studio.json](reports/review-studio.json) +- Skill OS 2.0 blueprint coverage is published in [reports/skill_os2_coverage.md](reports/skill_os2_coverage.md) - reviewer waiver evidence is published in [reports/review_waivers.md](reports/review_waivers.md) - remaining world-class evidence tasks are published in [reports/world_class_evidence_plan.md](reports/world_class_evidence_plan.md) - current world-class evidence acceptance state is published in [reports/world_class_evidence_ledger.md](reports/world_class_evidence_ledger.md) @@ -399,7 +401,7 @@ Utility scripts that make the meta-skill operational: - `run_description_optimization_suite.py`: runs description optimization across the root skill and governed examples, then writes reusable reports and optional drift snapshots with calibration and family summaries - `promotion_checker.py`: applies promotion policy to current description candidates, writes promotion decisions, builds candidate registries, and emits iteration bundles with review stubs - `create_iteration_snapshot.py`: freezes the current promotion decision into a versioned release snapshot with review, route, and context evidence -- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, world-class-evidence, world-class-ledger, benchmark-reproducibility, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint +- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, skill-os2-coverage, world-class-evidence, world-class-ledger, benchmark-reproducibility, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint - `render_description_drift_history.py`: turns description-optimization snapshots into a readable drift-history report - `build_confusion_matrix.py`: scores route confusion across tracked sibling skills and `no_route` cases, then writes a route scorecard and optional milestone snapshot - `render_iteration_ledger.py`: compresses regression milestones, description optimization drift, and route scorecards into one iteration-facing ledger @@ -409,6 +411,7 @@ Utility scripts that make the meta-skill operational: - `render_context_reports.py`: generates root and example context-budget reports plus a shared context summary - `render_regression_history.py`: turns milestone snapshots into a readable regression history report - `render_skill_os2_audit.py`: renders a requirement-by-requirement Skill OS 2.0 audit that separates landed local evidence from human-required and external-required gaps +- `render_skill_os2_coverage.py`: maps the Skill OS 2.0 upgrade blueprint to local artifacts, commands, tests, and remaining evidence boundaries - `render_world_class_evidence_plan.py`: renders executable evidence tasks for remaining world-class gaps without treating planned external work as completed evidence - `render_world_class_evidence_ledger.py`: renders a machine-checkable ledger for current world-class evidence acceptance, anti-overclaim guards, provenance requirements, and privacy contracts - `render_benchmark_reproducibility.py`: renders methodology, artifact, failure-disclosure, and reproduction-command evidence for public benchmark claims diff --git a/registry/index.json b/registry/index.json index 7fa2958..eb902af 100644 --- a/registry/index.json +++ b/registry/index.json @@ -1,6 +1,6 @@ { "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "package_count": 1, "packages": [ { @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 7507d1c..e9b4afa 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": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2", - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, "compatibility": { "openai": "pass", @@ -48,10 +48,10 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-14" } diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json index 9543278..dccfe43 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-13T00:00:00Z", + "generated_at": "2026-06-14T00:00:00Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 09bdb47..254cbb5 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -1,26 +1,26 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", - "commit": "acc2cc25715da452d4db48ea6818498846c806ce", + "commit": "95a91bcb265051612ac3f80d70ab2ac611a2252c", "git_status": { "available": true, "dirty": true, - "changed_file_count": 27, + "changed_file_count": 43, "sample": [ + " M Makefile", + " M README.md", " M registry/index.json", " M registry/packages/yao-meta-skill.json", + " M reports/adoption_drift_report.json", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", + " M reports/compiled_targets.json", " M reports/context_budget.json", " M reports/install_simulation.json", " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md", - " M reports/package_verification.json", - " M reports/package_verification.md", - " M reports/registry_audit.json", - " M reports/registry_audit.md" + " M reports/output_execution_runs.md" ] }, "summary": { @@ -42,7 +42,7 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 27 + "changed_file_count": 43 }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -115,8 +115,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "c8608efe17151886b6833bb3439bbf6518e6b95035416e31cdeaf5e919b36b18" + "bytes": 7963, + "sha256": "092eead21acaab110bdd97d8272d248344f3dd78d629e34357d12b2ee076c4d3" }, { "label": "blind_review", @@ -150,50 +150,50 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 82914, - "sha256": "b634bb958d049e16bbf8aea38a16337964cf1877707577189ed6ea11beb99321" + "bytes": 83967, + "sha256": "fbdccb36e3d8b072663992c52e58ab4a3d23648ac37257786c7cb469bc3ca73f" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "d967568d9b058a65c936d3075a6c947a3651e912bfe03021806927fe6eaff929" + "sha256": "8cf24fcc5169316bb0738352f6ff063a9dae5a77d9d3724815461deb1b404c3a" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, "bytes": 19325, - "sha256": "ca9a087d0badeba81f8a9f8b8411e0a6ca1bd979d1011a03523e20d76f3cc7dc" + "sha256": "0ad3063d27162aa85d7615765cd301d973ccd5b145a6db4add9c3f30755e8cb9" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, "bytes": 8557, - "sha256": "00a3b2f3b36d83aa700dfc2082704d18b6069c82d53abb1af9cbbfed755d4fd6" + "sha256": "e1f11e6bab01480a768189812e32370523acafebf61836700417148eb4686485" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13946, - "sha256": "c0a047098dadd7821637b4b126f461e857730193c3f262f95fb4552474a54218" + "sha256": "557bf8d84f9d06a588f84853439544da36a687b90689af5ed82ec6772541f2aa" }, { "label": "world_class_evidence_plan", "path": "reports/world_class_evidence_plan.json", "exists": true, "bytes": 7614, - "sha256": "c24ea93bc38e7c5830679ab4e3a497ec06734aed274d3f8cf98befd7a31cea0e" + "sha256": "d592f7235c21c690a07c1542d1b8d6ef8289292b5187995fedea363375014b46" }, { "label": "world_class_evidence_ledger", "path": "reports/world_class_evidence_ledger.json", "exists": true, "bytes": 8269, - "sha256": "3129158ca088b4e5fc99107f35a6a4abed3080b9eb87eb992a8c29711475394d" + "sha256": "83a7ed59a8fd435f4110066a5279de0bcde4f2dadf37950085e8b5067ebf9e79" } ], "missing_artifacts": [], diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index 02f1915..0c9ae49 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,7 +1,7 @@ # Benchmark Reproducibility -Generated at: `2026-06-13` -Commit: `acc2cc25715da452d4db48ea6818498846c806ce` +Generated at: `2026-06-14` +Commit: `95a91bcb265051612ac3f80d70ab2ac611a2252c` Working tree dirty at generation: `true` ## Summary @@ -16,7 +16,7 @@ Working tree dirty at generation: `true` - provider evidence complete: `false` - human review complete: `false` - world-class ready: `false` -- changed files at generation: `27` +- changed files at generation: `43` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. @@ -40,18 +40,18 @@ This report proves local benchmark reproducibility only. It keeps external provi | output_cases | `evals/output/cases.jsonl` | present | `a6ae96857116` | | output_schema | `evals/output/schema.json` | present | `8ee340c95064` | | output_scorecard | `reports/output_quality_scorecard.json` | present | `0806258a8e08` | -| output_execution | `reports/output_execution_runs.json` | present | `c8608efe1715` | +| output_execution | `reports/output_execution_runs.json` | present | `092eead21aca` | | blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` | | review_adjudication | `reports/output_review_adjudication.json` | present | `ddd9af90d42e` | | trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` | | runtime_conformance | `reports/conformance_matrix.json` | present | `8251329e663d` | -| trust_report | `reports/security_trust_report.json` | present | `b634bb958d04` | -| registry_audit | `reports/registry_audit.json` | present | `d967568d9b05` | -| package_verification | `reports/package_verification.json` | present | `ca9a087d0bad` | -| install_simulation | `reports/install_simulation.json` | present | `00a3b2f3b36d` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `c0a047098dad` | -| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `c24ea93bc38e` | -| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `3129158ca088` | +| trust_report | `reports/security_trust_report.json` | present | `fbdccb36e3d8` | +| registry_audit | `reports/registry_audit.json` | present | `8cf24fcc5169` | +| package_verification | `reports/package_verification.json` | present | `0ad3063d2716` | +| install_simulation | `reports/install_simulation.json` | present | `e1f11e6bab01` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `557bf8d84f9d` | +| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `d592f7235c21` | +| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `83a7ed59a8fd` | ## Reproduction Commands diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index 9f6cac0..9320636 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -192,6 +192,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -275,7 +276,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -381,7 +382,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -422,6 +423,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -475,14 +477,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -504,7 +506,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -525,7 +527,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -536,7 +538,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -617,7 +619,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -658,6 +660,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -711,14 +714,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -738,7 +741,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -759,7 +762,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -770,7 +773,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -1019,6 +1022,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -1102,7 +1106,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -1208,7 +1212,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -1249,6 +1253,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -1302,14 +1307,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -1331,7 +1336,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -1352,7 +1357,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -1363,7 +1368,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -1444,7 +1449,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -1485,6 +1490,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -1538,14 +1544,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -1565,7 +1571,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -1586,7 +1592,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -1597,7 +1603,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -1846,6 +1852,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -1929,7 +1936,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -2035,7 +2042,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2076,6 +2083,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -2129,14 +2137,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2158,7 +2166,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -2179,7 +2187,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -2189,7 +2197,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -2264,7 +2272,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2305,6 +2313,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -2358,14 +2367,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2385,7 +2394,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -2406,7 +2415,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -2416,7 +2425,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -2657,6 +2666,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -2740,7 +2750,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -2846,7 +2856,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2887,6 +2897,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -2940,14 +2951,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2969,7 +2980,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -2990,7 +3001,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -3001,7 +3012,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -3075,7 +3086,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3116,6 +3127,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -3169,14 +3181,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -3196,7 +3208,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -3217,7 +3229,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -3228,7 +3240,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -3468,6 +3480,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -3551,7 +3564,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -3657,7 +3670,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3698,6 +3711,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -3751,14 +3765,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -3780,7 +3794,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -3801,7 +3815,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -3812,7 +3826,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -3890,7 +3904,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3931,6 +3945,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -3984,14 +3999,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -4011,7 +4026,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -4032,7 +4047,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -4043,7 +4058,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { diff --git a/reports/context_budget.json b/reports/context_budget.json index 8d23b00..0014993 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,10 +6,10 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1005981, + "other_text_tokens": 1027472, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1006732, - "relevant_file_count": 436, + "estimated_total_text_tokens": 1028223, + "relevant_file_count": 441, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 137.7 diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 21437b0..55badbb 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -1,14 +1,14 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "package_dir": "dist", "install_root": "[temporary-install-root]", "installed_skill_dir": "[temporary-install-root]/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 525, + "archive_entry_count": 529, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index a65d930..e5d69c9 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": 27.76, + "duration_ms": 27.9, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.1, + "duration_ms": 28.27, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.73, + "duration_ms": 27.66, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.09, + "duration_ms": 28.06, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.69, + "duration_ms": 28.3, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.06, + "duration_ms": 28.2, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.41, + "duration_ms": 28.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.83, + "duration_ms": 28.36, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.24, + "duration_ms": 29.14, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.92, + "duration_ms": 28.1, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index 2e943d5..4069f28 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 | 27.76 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 28.1 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 27.73 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 28.09 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 27.69 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 28.06 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 28.41 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 27.83 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 28.24 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 27.92 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 27.9 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 28.27 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 27.66 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 28.06 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 28.3 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 28.2 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 28.12 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 28.36 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 29.14 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 28.1 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index 996e659..af234c8 100644 --- a/reports/package_verification.json +++ b/reports/package_verification.json @@ -1,15 +1,15 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "package_dir": "dist", "summary": { "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", - "archive_entry_count": 525, + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", + "archive_entry_count": 529, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/package_verification.md b/reports/package_verification.md index 6e5c45f..1171dd5 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: `11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b` +- Archive SHA256: `a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be` - Failures: `0` - Warnings: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index e8c70ec..e9a50fa 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2", - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, "compatibility": { "openai": "pass", @@ -53,16 +53,16 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-14" }, "index": { "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "package_count": 1, "packages": [ { @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index 478eef4..e32110b 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2` -- Archive SHA256: `11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b` +- Package SHA256: `a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17` +- Archive SHA256: `a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index e43114e..677e240 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -292,12 +292,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 A/B0/5

adjudication decisions; pending 5

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native enforcement targets

Trust0

78 scripts scanned; secrets found

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

525 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 A/B0/5

adjudication decisions; pending 5

Blueprint20/20

2.0 coverage; evidence pending 4

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native enforcement targets

Trust0

79 scripts scanned; secrets found

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

529 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 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

reports/adoption_drift_report.json 证据
关注

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

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

意图画布

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

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

reports/adoption_drift_report.json 证据
关注

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

@@ -323,7 +323,7 @@

证据路径

- +
@@ -363,7 +363,7 @@
-

信任报告

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

信任报告

Secret
0
脚本数
79
网络脚本
3
Help 失败
0
包体哈希
a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17

安全边界

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

@@ -398,6 +398,11 @@
待补证 · external

Provider Holdout

Collect at least one provider-backed output-eval holdout run with model, timing, and token metadata.

负责人
operator with provider credentials
当前状态
model-executed 0; token-observed 0
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
观测值
model_executed_count: 0; timing_observed_count: 10; token_observed_count: 0; accepted: False

完成定义

  • reports/output_execution_runs.json summary.model_executed_count > 0
  • reports/output_execution_runs.json summary.timing_observed_count > 0
  • reports/output_execution_runs.json summary.token_observed_count > 0
  • reports/skill_os2_audit.json item provider-holdout status becomes pass

证据来源

  • reports/output_execution_runs.json
  • reports/output_execution_runs.md
  • reports/skill_os2_audit.json

隐私约束

  • Do not commit provider credentials or environment dumps.
  • The output execution report records output hashes and aggregate run metadata, not raw provider prompts.
待补证 · human

Human Adjudication

Record real blind A/B reviewer decisions before claiming human output review completion.

负责人
human reviewer
当前状态
0/5 decisions; pending 5
下一步
Record real A/B choices in the decision template, then regenerate adjudication.
观测值
pair_count: 5; judgment_count: 0; pending_count: 5; invalid_decision_count: 0; answer_revealed_count: 0; accepted: False

完成定义

  • reports/output_review_adjudication.json summary.pending_count == 0
  • reports/output_review_adjudication.json summary.judgment_count == summary.pair_count
  • reports/output_review_adjudication.json summary.invalid_decision_count == 0
  • reports/skill_os2_audit.json item human-adjudication status becomes pass

证据来源

  • reports/output_blind_review_pack.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md

隐私约束

  • Reviewer decisions should not include raw user data or private customer detail.
  • Keep the answer key separate until after decisions are recorded.
待补证 · external

Native Permission Enforcement

Prove at least one target or installer enforces approved high-permission capabilities at runtime.

负责人
target client or installer integrator
当前状态
native-enforced targets 0
下一步
Integrate a real client or installer runtime guard before claiming native permission enforcement.
观测值
native_enforcement_count: 0; metadata_fallback_count: 4; residual_risk_count: 4; failure_count: 0; accepted: False

完成定义

  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/skill_os2_audit.json item native-permission-enforcement status becomes pass

证据来源

  • dist/targets/*/adapter.json
  • reports/runtime_permission_probes.json
  • reports/runtime_permission_probes.md
  • security/permission_policy.json

隐私约束

  • Do not mark native_enforcement true for metadata-only fallbacks.
  • Keep residual risks visible for targets that still rely on operator enforcement.
待补证 · external

Native Client Telemetry

Import production metadata-only events from a real external client into the local drift loop.

负责人
Browser/Chrome/IDE/provider client integrator
当前状态
external source events 0; adoption samples 0
下一步
Install a real client against the native host and import production metadata-only events.
观测值
external_source_events: 0; adoption_sample_count: 0; raw_content_allowed: False; risk_band: low; accepted: False

完成定义

  • reports/adoption_drift_report.json summary.source_types.external > 0
  • reports/adoption_drift_report.json summary.adoption_sample_count > 0
  • reports/skill_os2_audit.json item native-client-telemetry status becomes pass

证据来源

  • reports/adoption_drift_report.json
  • reports/adoption_drift_report.md
  • reports/telemetry_hook_recipes.json
  • scripts/telemetry_native_host.py

隐私约束

  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.
+
+

蓝图覆盖

项目数
20
模块数
8
建议 PR
12
通过数
20
Warn Count
0
缺失数
0
本地蓝图
世界级
待补证据
4
+

覆盖边界

蓝图覆盖只证明 2.0 模块、建议 PR、脚本、报告和测试在本地闭环;public world-class 仍以 world-class evidence ledger 的真人和外部证据为准。

+
+

世界证据

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

证据台账

Ledger Entry Count
4
Accepted Count
0
待审
4
Human Pending Count
1
External Pending Count
3
Overclaim Guard Active
Ready To Claim World Class
@@ -405,12 +410,12 @@

注册审计

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

-

包体元数据

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

包体元数据

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

发布路线

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

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
525
失败数
0
警告数
0
归档哈希
11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
529
失败数
0
警告数
0
归档哈希
a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be
diff --git a/reports/review-studio.json b/reports/review-studio.json index f8ea01d..14b23d9 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -59,7 +59,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 78 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 79 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md" }, @@ -320,6 +320,7 @@ "output_review_decisions": "reports/output_review_decisions.json", "output_review_adjudication": "reports/output_review_adjudication.md", "benchmark_reproducibility": "reports/benchmark_reproducibility.md", + "skill_os2_coverage": "reports/skill_os2_coverage.md", "runtime_conformance": "reports/conformance_matrix.md", "trust_report": "reports/security_trust_report.md", "permission_policy": "security/permission_policy.md", @@ -776,7 +777,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 78 + "file_count": 79 }, { "path": "evals", @@ -788,10 +789,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 185 + "file_count": 187 } ], - "file_count": 327, + "file_count": 330, "folder_count": 4, "distribution": [ { @@ -816,7 +817,7 @@ }, { "label": "scripts", - "value": 78 + "value": 79 }, { "label": "evals", @@ -824,7 +825,7 @@ }, { "label": "reports", - "value": 185 + "value": 187 } ] }, @@ -945,7 +946,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 78 + "file_count": 79 }, { "path": "evals", @@ -957,7 +958,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 185 + "file_count": 187 } ], "strengths": [ @@ -1245,9 +1246,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 27 + "changed_file_count": 43 }, - "commit": "acc2cc25715da452d4db48ea6818498846c806ce", + "commit": "95a91bcb265051612ac3f80d70ab2ac611a2252c", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -1322,8 +1323,8 @@ "failures": [] }, "trust_security": { - "scanned_files": 162, - "script_count": 78, + "scanned_files": 163, + "script_count": 79, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -1332,18 +1333,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 55, + "file_write_script_count": 56, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 68, + "help_smoke_checked_count": 69, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 162, - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_hash_file_count": 163, + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" }, "skill_atlas": { "skill_count": 12, @@ -1381,8 +1382,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2", - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, "compatibility": { "openai": "pass", @@ -1413,12 +1414,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-14" }, "failures": [], "warnings": [] @@ -1429,8 +1430,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", - "archive_entry_count": 525, + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", + "archive_entry_count": 529, "failure_count": 0, "warning_count": 0 }, @@ -1441,7 +1442,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 525, + "archive_entry_count": 529, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1508,12 +1509,12 @@ { "field": "archive_sha256", "from": "", - "to": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "to": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "to": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, @@ -3590,7 +3591,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.76, + "duration_ms": 27.9, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3618,7 +3619,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.1, + "duration_ms": 28.27, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3641,7 +3642,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.73, + "duration_ms": 27.66, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3669,7 +3670,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.09, + "duration_ms": 28.06, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3692,7 +3693,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.69, + "duration_ms": 28.3, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3720,7 +3721,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.06, + "duration_ms": 28.2, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3743,7 +3744,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.41, + "duration_ms": 28.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3770,7 +3771,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.83, + "duration_ms": 28.36, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3793,7 +3794,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.24, + "duration_ms": 29.14, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3822,7 +3823,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.92, + "duration_ms": 28.1, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4129,6 +4130,622 @@ ], "failures": [] }, + "skill_os2_coverage": { + "schema_version": "1.0", + "ok": true, + "generated_at": "2026-06-14", + "skill_dir": ".", + "summary": { + "item_count": 20, + "module_count": 8, + "recommended_pr_count": 12, + "pass_count": 20, + "warn_count": 0, + "missing_count": 0, + "local_blueprint_ready": true, + "public_world_class_ready": false, + "world_class_evidence_pending_count": 4, + "decision": "local-blueprint-covered-evidence-pending" + }, + "status_counts": { + "pass": 20, + "warn": 0, + "missing": 0 + }, + "modules": [ + { + "key": "skill-ir", + "category": "core-module", + "label": "Skill IR", + "status": "pass", + "objective": "Platform-neutral capability contract exists before platform-specific packaging.", + "current": "schema 2.0.0; targets 5", + "command": "python3 scripts/yao.py skill-ir .", + "test": "python3 tests/verify_skill_ir.py", + "evidence": [ + { + "path": "skill-ir/schema.json", + "exists": true + }, + { + "path": "skill-ir/examples/yao-meta-skill.json", + "exists": true + }, + { + "path": "scripts/export_skill_ir.py", + "exists": true + }, + { + "path": "tests/verify_skill_ir.py", + "exists": true + } + ], + "next_action": "Keep all target packages compiled from IR rather than hand-maintained per target." + }, + { + "key": "output-eval-lab", + "category": "core-module", + "label": "Output Eval Lab", + "status": "pass", + "objective": "with-skill/baseline output quality is measured with assertions, execution evidence, and blind review packs.", + "current": "5 cases; delta 100.0; execution 10", + "command": "python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .", + "test": "python3 tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "evals/output/schema.json", + "exists": true + }, + { + "path": "evals/output/cases.jsonl", + "exists": true + }, + { + "path": "scripts/run_output_eval.py", + "exists": true + }, + { + "path": "scripts/run_output_execution.py", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Add more real-file and adversarial holdout cases as adoption data grows." + }, + { + "key": "runtime-conformance", + "category": "core-module", + "label": "Runtime Conformance", + "status": "pass", + "objective": "Target packages can be consumed by OpenAI, Claude, Agent Skills, VS Code, and generic targets.", + "current": "5/5 targets pass", + "command": "python3 scripts/yao.py conformance .", + "test": "python3 tests/verify_conformance_suite.py", + "evidence": [ + { + "path": "runtime/conformance/schema.json", + "exists": true + }, + { + "path": "scripts/run_conformance_suite.py", + "exists": true + }, + { + "path": "reports/conformance_matrix.json", + "exists": true + }, + { + "path": "tests/verify_conformance_suite.py", + "exists": true + } + ], + "next_action": "Keep conformance cases aligned with current platform metadata rules." + }, + { + "key": "trust-security", + "category": "core-module", + "label": "Trust Security", + "status": "pass", + "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", + "current": "79 scripts; secrets 0; help failures 0", + "command": "python3 scripts/yao.py trust .", + "test": "python3 tests/verify_trust_check.py", + "evidence": [ + { + "path": "scripts/trust_check.py", + "exists": true + }, + { + "path": "security/trust_policy.md", + "exists": true + }, + { + "path": "security/script_policy.md", + "exists": true + }, + { + "path": "security/permission_policy.json", + "exists": true + }, + { + "path": "reports/security_trust_report.json", + "exists": true + }, + { + "path": "tests/verify_trust_check.py", + "exists": true + } + ], + "next_action": "Keep high-permission approvals scoped, expiring, and mapped to target enforcement." + }, + { + "key": "skill-atlas", + "category": "core-module", + "label": "Skill Atlas", + "status": "pass", + "objective": "Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.", + "current": "12 scanned skills; actionable collisions 0", + "command": "python3 scripts/yao.py skill-atlas --workspace-root .", + "test": "python3 tests/verify_skill_atlas.py", + "evidence": [ + { + "path": "scripts/build_skill_atlas.py", + "exists": true + }, + { + "path": "skill_atlas/catalog.json", + "exists": true + }, + { + "path": "skill_atlas/route_overlap_matrix.csv", + "exists": true + }, + { + "path": "skill_atlas/dependency_graph.json", + "exists": true + }, + { + "path": "reports/skill_atlas.json", + "exists": true + }, + { + "path": "tests/verify_skill_atlas.py", + "exists": true + } + ], + "next_action": "Use real telemetry to rank stale or drifting skills by impact, not only by static metadata." + }, + { + "key": "registry-distribution", + "category": "core-module", + "label": "Registry Distribution", + "status": "pass", + "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", + "current": "archive entries 529; 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": [ + { + "path": "registry/index.schema.json", + "exists": true + }, + { + "path": "registry/package.schema.json", + "exists": true + }, + { + "path": "registry/packages/yao-meta-skill.json", + "exists": true + }, + { + "path": "scripts/registry_audit.py", + "exists": true + }, + { + "path": "reports/package_verification.json", + "exists": true + }, + { + "path": "reports/install_simulation.json", + "exists": true + }, + { + "path": "tests/verify_registry_audit.py", + "exists": true + } + ], + "next_action": "Regenerate registry metadata after package verification so source and archive checksums stay aligned." + }, + { + "key": "review-studio", + "category": "core-module", + "label": "Review Studio", + "status": "pass", + "objective": "One HTML page supports first-pass production review across trigger, output, runtime, trust, release, and evidence actions.", + "current": "14 gates; decision review; warnings 3", + "command": "python3 scripts/yao.py review-studio .", + "test": "python3 tests/verify_review_studio.py", + "evidence": [ + { + "path": "scripts/render_review_studio.py", + "exists": true + }, + { + "path": "reports/review-studio.html", + "exists": true + }, + { + "path": "reports/review-studio.json", + "exists": true + }, + { + "path": "tests/verify_review_studio.py", + "exists": true + } + ], + "next_action": "Close pending human and external evidence before claiming full release readiness." + }, + { + "key": "telemetry-drift", + "category": "core-module", + "label": "Telemetry Drift", + "status": "pass", + "objective": "Real usage feedback is captured as metadata-only local-first drift signals.", + "current": "events 1; recipes 5; risk low", + "command": "python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .", + "test": "python3 tests/verify_telemetry_hooks.py", + "evidence": [ + { + "path": "scripts/emit_telemetry_event.py", + "exists": true + }, + { + "path": "scripts/import_telemetry_events.py", + "exists": true + }, + { + "path": "scripts/telemetry_native_host.py", + "exists": true + }, + { + "path": "reports/adoption_drift_report.json", + "exists": true + }, + { + "path": "reports/telemetry_hook_recipes.json", + "exists": true + }, + { + "path": "tests/verify_telemetry_hooks.py", + "exists": true + } + ], + "next_action": "Install a real client and import production metadata-only events into the local drift loop." + } + ], + "recommended_prs": [ + { + "key": "benchmark-methodology", + "category": "recommended-pr", + "label": "Benchmark Methodology", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "17 required artifacts checked", + "command": "make ci-test", + "test": "tests/verify_benchmark_reproducibility.py", + "evidence": [ + { + "path": "reports/benchmark_methodology.md", + "exists": true + }, + { + "path": "reports/benchmark_reproducibility.json", + "exists": true + }, + { + "path": "tests/verify_benchmark_reproducibility.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-eval-schema", + "category": "recommended-pr", + "label": "Output Eval Schema", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "5 output cases", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "evals/output/schema.json", + "exists": true + }, + { + "path": "evals/output/cases.jsonl", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-eval-runner", + "category": "recommended-pr", + "label": "Output Eval Runner", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "delta 100.0", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "scripts/run_output_eval.py", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-quality-scorecard", + "category": "recommended-pr", + "label": "Output Quality Scorecard", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "gate pass True", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "reports/output_quality_scorecard.md", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "skill-ir-v0", + "category": "recommended-pr", + "label": "Skill IR V0", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "schema 2.0.0", + "command": "make ci-test", + "test": "tests/verify_skill_ir.py", + "evidence": [ + { + "path": "skill-ir/schema.json", + "exists": true + }, + { + "path": "skill-ir/examples/yao-meta-skill.json", + "exists": true + }, + { + "path": "tests/verify_skill_ir.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "compiler-refactor", + "category": "recommended-pr", + "label": "Compiler Refactor", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "5/5 compiled targets", + "command": "make ci-test", + "test": "tests/verify_compile_skill.py", + "evidence": [ + { + "path": "scripts/compile_skill.py", + "exists": true + }, + { + "path": "reports/compiled_targets.json", + "exists": true + }, + { + "path": "tests/verify_compile_skill.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "agent-skills-conformance", + "category": "recommended-pr", + "label": "Agent Skills Conformance", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "agent-skills target present", + "command": "make ci-test", + "test": "tests/verify_conformance_suite.py", + "evidence": [ + { + "path": "runtime/conformance/schema.json", + "exists": true + }, + { + "path": "reports/conformance_matrix.json", + "exists": true + }, + { + "path": "tests/verify_conformance_suite.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "trust-check", + "category": "recommended-pr", + "label": "Trust Check", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "secret findings 0", + "command": "make ci-test", + "test": "tests/verify_trust_check.py", + "evidence": [ + { + "path": "scripts/trust_check.py", + "exists": true + }, + { + "path": "reports/security_trust_report.json", + "exists": true + }, + { + "path": "tests/verify_trust_check.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "skill-atlas-generator", + "category": "recommended-pr", + "label": "Skill Atlas Generator", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "12 scanned skills", + "command": "make ci-test", + "test": "tests/verify_skill_atlas.py", + "evidence": [ + { + "path": "scripts/build_skill_atlas.py", + "exists": true + }, + { + "path": "reports/skill_atlas.json", + "exists": true + }, + { + "path": "tests/verify_skill_atlas.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "registry-package-format", + "category": "recommended-pr", + "label": "Registry Package Format", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "registry ok True", + "command": "make ci-test", + "test": "tests/verify_registry_audit.py", + "evidence": [ + { + "path": "registry/package.schema.json", + "exists": true + }, + { + "path": "reports/registry_audit.json", + "exists": true + }, + { + "path": "tests/verify_registry_audit.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "review-studio-2", + "category": "recommended-pr", + "label": "Review Studio 2.0", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "14 review gates", + "command": "make ci-test", + "test": "tests/verify_review_studio.py", + "evidence": [ + { + "path": "scripts/render_review_studio.py", + "exists": true + }, + { + "path": "reports/review-studio.html", + "exists": true + }, + { + "path": "tests/verify_review_studio.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "migration-v2-docs", + "category": "recommended-pr", + "label": "Migration V2 Docs", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "migration guide present", + "command": "make ci-test", + "test": "docs review", + "evidence": [ + { + "path": "docs/migration-v2.md", + "exists": true + }, + { + "path": "reports/skill-os-2-review.md", + "exists": true + }, + { + "path": "README.md", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + } + ], + "next_highest_leverage": [ + "Close the four world-class evidence ledger entries with accepted human or external evidence.", + "Keep the blueprint coverage report in CI so 2.0 plan drift is visible." + ], + "source_blueprint": { + "title": "Skill Overview / Skill OS 2.0 upgrade plan", + "core_module_count": 8, + "recommended_pr_count": 12 + }, + "artifacts": { + "json": "reports/skill_os2_coverage.json", + "markdown": "reports/skill_os2_coverage.md" + } + }, "compiled_targets": { "schema_version": "1.0", "ok": true, @@ -4323,6 +4940,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -4406,7 +5024,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -4512,7 +5130,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -4553,6 +5171,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -4606,14 +5225,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -4635,7 +5254,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -4656,7 +5275,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -4667,7 +5286,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -4748,7 +5367,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -4789,6 +5408,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -4842,14 +5462,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -4869,7 +5489,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -4890,7 +5510,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -4901,7 +5521,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -5150,6 +5770,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -5233,7 +5854,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -5339,7 +5960,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -5380,6 +6001,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -5433,14 +6055,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -5462,7 +6084,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -5483,7 +6105,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -5494,7 +6116,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -5575,7 +6197,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -5616,6 +6238,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -5669,14 +6292,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -5696,7 +6319,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -5717,7 +6340,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -5728,7 +6351,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -5977,6 +6600,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -6060,7 +6684,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -6166,7 +6790,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -6207,6 +6831,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -6260,14 +6885,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -6289,7 +6914,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -6310,7 +6935,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -6320,7 +6945,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -6395,7 +7020,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -6436,6 +7061,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -6489,14 +7115,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -6516,7 +7142,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -6537,7 +7163,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -6547,7 +7173,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -6788,6 +7414,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -6871,7 +7498,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -6977,7 +7604,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7018,6 +7645,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -7071,14 +7699,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -7100,7 +7728,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -7121,7 +7749,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -7132,7 +7760,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -7206,7 +7834,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7247,6 +7875,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -7300,14 +7929,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -7327,7 +7956,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -7348,7 +7977,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -7359,7 +7988,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -7599,6 +8228,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -7682,7 +8312,7 @@ ], "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 } @@ -7788,7 +8418,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7829,6 +8459,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -7882,14 +8513,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -7911,7 +8542,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -7932,7 +8563,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -7943,7 +8574,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -8021,7 +8652,7 @@ }, "file_write": { "required": true, - "script_count": 55, + "script_count": 56, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -8062,6 +8693,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -8115,14 +8747,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 68, + "checked_count": 69, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 55, + "file_write_script_count": 56, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -8142,7 +8774,7 @@ ], "capability_counts": { "network": 3, - "file_write": 55, + "file_write": 56, "subprocess": 8, "interactive": 0 }, @@ -8163,7 +8795,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 32, - "scripts": 78, + "scripts": 79, "assets": 2, "reports": 43 }, @@ -8174,7 +8806,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 78, + "script_count": 79, "help_smoke_failed_count": 0 }, "permissions": { @@ -8814,8 +9446,8 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 162, - "script_count": 78, + "scanned_files": 163, + "script_count": 79, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -8824,18 +9456,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 55, + "file_write_script_count": 56, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 68, + "help_smoke_checked_count": 69, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 162, - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_hash_file_count": 163, + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" }, "failures": [], "warnings": [], @@ -9512,6 +10144,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/render_skill_os2_coverage.py", + "interface": "cli", + "interface_declared": true, + "interface_reason": "Renders a Skill OS 2.0 blueprint-to-evidence coverage audit.", + "has_argparse": true, + "has_main_guard": true, + "uses_input": false, + "uses_network": false, + "uses_file_write": true, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/render_skill_overview.py", "interface": "cli", @@ -9981,9 +10627,9 @@ "help_smoke": { "enabled": true, "timeout_seconds": 5.0, - "candidate_count": 68, - "checked_count": 68, - "passed_count": 68, + "candidate_count": 69, + "checked_count": 69, + "passed_count": 69, "failed_count": 0, "skipped_count": 10, "failed_scripts": [], @@ -10458,6 +11104,16 @@ "stdout_excerpt": "usage: render_skill_os2_audit.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--generated-at GENERATED_AT]\n [skill_dir]\n\nRender a", "stderr_excerpt": "" }, + { + "path": "scripts/render_skill_os2_coverage.py", + "command": "python3 scripts/render_skill_os2_coverage.py --help", + "returncode": 0, + "timed_out": false, + "passed": true, + "has_help_text": true, + "stdout_excerpt": "usage: render_skill_os2_coverage.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--generated-at GENERATED_AT]\n [skill_di", + "stderr_excerpt": "" + }, { "path": "scripts/render_skill_overview.py", "command": "python3 scripts/render_skill_overview.py --help", @@ -10803,6 +11459,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -10886,10 +11543,10 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1005981, + "other_text_tokens": 1027472, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1006732, - "relevant_file_count": 436, + "estimated_total_text_tokens": 1028223, + "relevant_file_count": 441, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 137.7 @@ -11800,6 +12457,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", @@ -12726,7 +13384,7 @@ "adoption_drift": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13T00:00:00Z", + "generated_at": "2026-06-14T00:00:00Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", @@ -12874,7 +13532,7 @@ "world_class_evidence_ledger": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "summary": { "ledger_entry_count": 4, @@ -13098,8 +13756,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2", - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, "compatibility": { "openai": "pass", @@ -13130,16 +13788,16 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-14" }, "index": { "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "package_count": 1, "packages": [ { @@ -13155,7 +13813,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, @@ -13171,15 +13829,15 @@ "package_verification": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "package_dir": "dist", "summary": { "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", - "archive_entry_count": 525, + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", + "archive_entry_count": 529, "failure_count": 0, "warning_count": 0 }, @@ -13837,14 +14495,14 @@ "install_simulation": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "package_dir": "dist", "install_root": "[temporary-install-root]", "installed_skill_dir": "[temporary-install-root]/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 525, + "archive_entry_count": 529, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -14117,7 +14775,7 @@ "upgrade_check": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "previous": { "name": "yao-meta-skill", "version": "1.0.0", @@ -14186,12 +14844,12 @@ { "field": "archive_sha256", "from": "", - "to": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "to": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "to": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 2b7ba77..f893239 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -2,8 +2,8 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 162, - "script_count": 78, + "scanned_files": 163, + "script_count": 79, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -12,18 +12,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 55, + "file_write_script_count": 56, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 68, + "help_smoke_checked_count": 69, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 162, - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_hash_file_count": 163, + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" }, "failures": [], "warnings": [], @@ -700,6 +700,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/render_skill_os2_coverage.py", + "interface": "cli", + "interface_declared": true, + "interface_reason": "Renders a Skill OS 2.0 blueprint-to-evidence coverage audit.", + "has_argparse": true, + "has_main_guard": true, + "uses_input": false, + "uses_network": false, + "uses_file_write": true, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/render_skill_overview.py", "interface": "cli", @@ -1169,9 +1183,9 @@ "help_smoke": { "enabled": true, "timeout_seconds": 5.0, - "candidate_count": 68, - "checked_count": 68, - "passed_count": 68, + "candidate_count": 69, + "checked_count": 69, + "passed_count": 69, "failed_count": 0, "skipped_count": 10, "failed_scripts": [], @@ -1646,6 +1660,16 @@ "stdout_excerpt": "usage: render_skill_os2_audit.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--generated-at GENERATED_AT]\n [skill_dir]\n\nRender a", "stderr_excerpt": "" }, + { + "path": "scripts/render_skill_os2_coverage.py", + "command": "python3 scripts/render_skill_os2_coverage.py --help", + "returncode": 0, + "timed_out": false, + "passed": true, + "has_help_text": true, + "stdout_excerpt": "usage: render_skill_os2_coverage.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--generated-at GENERATED_AT]\n [skill_di", + "stderr_excerpt": "" + }, { "path": "scripts/render_skill_overview.py", "command": "python3 scripts/render_skill_overview.py --help", @@ -1991,6 +2015,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index a845f87..dedbb7d 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -1,22 +1,22 @@ # Security Trust Report - OK: `True` -- Scanned files: `162` -- Scripts: `78` +- Scanned files: `163` +- Scripts: `79` - Internal script modules: `10` - Secret findings: `0` - Network-capable scripts: `3` - Network policy covered scripts: `3` - Network policy missing scripts: `0` -- File-write scripts: `55` +- File-write scripts: `56` - Permission approvals: `3 / 3` - Permission approval gaps: `0` -- CLI help smoke checked: `68` +- CLI help smoke checked: `69` - CLI help smoke failures: `0` - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` -- Package hash files: `162` -- Package SHA256: `7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2` +- Package hash files: `163` +- Package SHA256: `a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17` ## Failures @@ -54,8 +54,8 @@ - Enabled: `True` - Timeout seconds: `5.0` -- Checked scripts: `68` -- Passed scripts: `68` +- Checked scripts: `69` +- Passed scripts: `69` - Failed scripts: `none` ## Script Surface @@ -109,6 +109,7 @@ | scripts/render_review_viewer.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_review_waivers.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_skill_os2_audit.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | +| scripts/render_skill_os2_coverage.py | cli | True | True | True | False | False | True | False | Renders a Skill OS 2.0 blueprint-to-evidence coverage audit. | | scripts/render_skill_overview.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_social_preview.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_system_model.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | diff --git a/reports/skill-overview.html b/reports/skill-overview.html index b1b97c7..7caf0f8 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -771,7 +771,7 @@

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

-
资产分布327项SKILL.mdREADME.mdagents/interface.yamlmanifest.jsonreferencesscripts
资产分布图展示当前包体的文件和目录重心。
+
资产分布330项SKILL.mdREADME.mdagents/interface.yamlmanifest.jsonreferencesscripts
资产分布图展示当前包体的文件和目录重心。
diff --git a/reports/skill-overview.json b/reports/skill-overview.json index 28f8c80..a117277 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -436,7 +436,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 78 + "file_count": 79 }, { "path": "evals", @@ -448,10 +448,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 185 + "file_count": 187 } ], - "file_count": 327, + "file_count": 330, "folder_count": 4, "distribution": [ { @@ -476,7 +476,7 @@ }, { "label": "scripts", - "value": 78 + "value": 79 }, { "label": "evals", @@ -484,7 +484,7 @@ }, { "label": "reports", - "value": 185 + "value": 187 } ] }, @@ -605,7 +605,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 78 + "file_count": 79 }, { "path": "evals", @@ -617,7 +617,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 185 + "file_count": 187 } ], "strengths": [ @@ -905,9 +905,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 27 + "changed_file_count": 43 }, - "commit": "acc2cc25715da452d4db48ea6818498846c806ce", + "commit": "95a91bcb265051612ac3f80d70ab2ac611a2252c", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -982,8 +982,8 @@ "failures": [] }, "trust_security": { - "scanned_files": 162, - "script_count": 78, + "scanned_files": 163, + "script_count": 79, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -992,18 +992,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 55, + "file_write_script_count": 56, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 68, + "help_smoke_checked_count": 69, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 162, - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "package_hash_file_count": 163, + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" }, "skill_atlas": { "skill_count": 12, @@ -1041,8 +1041,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2", - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "package_sha256": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, "compatibility": { "openai": "pass", @@ -1073,12 +1073,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-14" }, "failures": [], "warnings": [] @@ -1089,8 +1089,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b", - "archive_entry_count": 525, + "archive_sha256": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be", + "archive_entry_count": 529, "failure_count": 0, "warning_count": 0 }, @@ -1101,7 +1101,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 525, + "archive_entry_count": 529, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1168,12 +1168,12 @@ { "field": "archive_sha256", "from": "", - "to": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "to": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "to": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index a0e62d3..7daf8c7 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -111,6 +111,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 2620bf6..6d00b0f 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "skill_dir": ".", "summary": { "item_count": 15, @@ -197,7 +197,7 @@ "key": "trust-security", "label": "Trust Security", "status": "pass", - "current": "secrets 0; scripts 78; help failures 0", + "current": "secrets 0; scripts 79; help failures 0", "target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable", "evidence": [ { @@ -281,7 +281,7 @@ "key": "registry-distribution", "label": "Registry Distribution", "status": "pass", - "current": "zip entries 525; install failures 0; permission failures 0", + "current": "zip entries 529; 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 8cb3a3c..6918e39 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Audit -Generated at: `2026-06-13` +Generated at: `2026-06-14` ## Summary @@ -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 17; 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 78; 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 79; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. | | Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4 | Packaged adapters expose explicit permission metadata and residual risks | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0 | At least one target/client enforces approved permissions at runtime | Integrate a real client or installer runtime guard before claiming native permission enforcement. | | Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. | -| Registry Distribution | pass | zip entries 525; 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 529; 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 90 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. | | Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. | | Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. | diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json new file mode 100644 index 0000000..2d65e38 --- /dev/null +++ b/reports/skill_os2_coverage.json @@ -0,0 +1,616 @@ +{ + "schema_version": "1.0", + "ok": true, + "generated_at": "2026-06-14", + "skill_dir": ".", + "summary": { + "item_count": 20, + "module_count": 8, + "recommended_pr_count": 12, + "pass_count": 20, + "warn_count": 0, + "missing_count": 0, + "local_blueprint_ready": true, + "public_world_class_ready": false, + "world_class_evidence_pending_count": 4, + "decision": "local-blueprint-covered-evidence-pending" + }, + "status_counts": { + "pass": 20, + "warn": 0, + "missing": 0 + }, + "modules": [ + { + "key": "skill-ir", + "category": "core-module", + "label": "Skill IR", + "status": "pass", + "objective": "Platform-neutral capability contract exists before platform-specific packaging.", + "current": "schema 2.0.0; targets 5", + "command": "python3 scripts/yao.py skill-ir .", + "test": "python3 tests/verify_skill_ir.py", + "evidence": [ + { + "path": "skill-ir/schema.json", + "exists": true + }, + { + "path": "skill-ir/examples/yao-meta-skill.json", + "exists": true + }, + { + "path": "scripts/export_skill_ir.py", + "exists": true + }, + { + "path": "tests/verify_skill_ir.py", + "exists": true + } + ], + "next_action": "Keep all target packages compiled from IR rather than hand-maintained per target." + }, + { + "key": "output-eval-lab", + "category": "core-module", + "label": "Output Eval Lab", + "status": "pass", + "objective": "with-skill/baseline output quality is measured with assertions, execution evidence, and blind review packs.", + "current": "5 cases; delta 100.0; execution 10", + "command": "python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .", + "test": "python3 tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "evals/output/schema.json", + "exists": true + }, + { + "path": "evals/output/cases.jsonl", + "exists": true + }, + { + "path": "scripts/run_output_eval.py", + "exists": true + }, + { + "path": "scripts/run_output_execution.py", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Add more real-file and adversarial holdout cases as adoption data grows." + }, + { + "key": "runtime-conformance", + "category": "core-module", + "label": "Runtime Conformance", + "status": "pass", + "objective": "Target packages can be consumed by OpenAI, Claude, Agent Skills, VS Code, and generic targets.", + "current": "5/5 targets pass", + "command": "python3 scripts/yao.py conformance .", + "test": "python3 tests/verify_conformance_suite.py", + "evidence": [ + { + "path": "runtime/conformance/schema.json", + "exists": true + }, + { + "path": "scripts/run_conformance_suite.py", + "exists": true + }, + { + "path": "reports/conformance_matrix.json", + "exists": true + }, + { + "path": "tests/verify_conformance_suite.py", + "exists": true + } + ], + "next_action": "Keep conformance cases aligned with current platform metadata rules." + }, + { + "key": "trust-security", + "category": "core-module", + "label": "Trust Security", + "status": "pass", + "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", + "current": "79 scripts; secrets 0; help failures 0", + "command": "python3 scripts/yao.py trust .", + "test": "python3 tests/verify_trust_check.py", + "evidence": [ + { + "path": "scripts/trust_check.py", + "exists": true + }, + { + "path": "security/trust_policy.md", + "exists": true + }, + { + "path": "security/script_policy.md", + "exists": true + }, + { + "path": "security/permission_policy.json", + "exists": true + }, + { + "path": "reports/security_trust_report.json", + "exists": true + }, + { + "path": "tests/verify_trust_check.py", + "exists": true + } + ], + "next_action": "Keep high-permission approvals scoped, expiring, and mapped to target enforcement." + }, + { + "key": "skill-atlas", + "category": "core-module", + "label": "Skill Atlas", + "status": "pass", + "objective": "Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.", + "current": "12 scanned skills; actionable collisions 0", + "command": "python3 scripts/yao.py skill-atlas --workspace-root .", + "test": "python3 tests/verify_skill_atlas.py", + "evidence": [ + { + "path": "scripts/build_skill_atlas.py", + "exists": true + }, + { + "path": "skill_atlas/catalog.json", + "exists": true + }, + { + "path": "skill_atlas/route_overlap_matrix.csv", + "exists": true + }, + { + "path": "skill_atlas/dependency_graph.json", + "exists": true + }, + { + "path": "reports/skill_atlas.json", + "exists": true + }, + { + "path": "tests/verify_skill_atlas.py", + "exists": true + } + ], + "next_action": "Use real telemetry to rank stale or drifting skills by impact, not only by static metadata." + }, + { + "key": "registry-distribution", + "category": "core-module", + "label": "Registry Distribution", + "status": "pass", + "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", + "current": "archive entries 529; 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": [ + { + "path": "registry/index.schema.json", + "exists": true + }, + { + "path": "registry/package.schema.json", + "exists": true + }, + { + "path": "registry/packages/yao-meta-skill.json", + "exists": true + }, + { + "path": "scripts/registry_audit.py", + "exists": true + }, + { + "path": "reports/package_verification.json", + "exists": true + }, + { + "path": "reports/install_simulation.json", + "exists": true + }, + { + "path": "tests/verify_registry_audit.py", + "exists": true + } + ], + "next_action": "Regenerate registry metadata after package verification so source and archive checksums stay aligned." + }, + { + "key": "review-studio", + "category": "core-module", + "label": "Review Studio", + "status": "pass", + "objective": "One HTML page supports first-pass production review across trigger, output, runtime, trust, release, and evidence actions.", + "current": "14 gates; decision review; warnings 3", + "command": "python3 scripts/yao.py review-studio .", + "test": "python3 tests/verify_review_studio.py", + "evidence": [ + { + "path": "scripts/render_review_studio.py", + "exists": true + }, + { + "path": "reports/review-studio.html", + "exists": true + }, + { + "path": "reports/review-studio.json", + "exists": true + }, + { + "path": "tests/verify_review_studio.py", + "exists": true + } + ], + "next_action": "Close pending human and external evidence before claiming full release readiness." + }, + { + "key": "telemetry-drift", + "category": "core-module", + "label": "Telemetry Drift", + "status": "pass", + "objective": "Real usage feedback is captured as metadata-only local-first drift signals.", + "current": "events 1; recipes 5; risk low", + "command": "python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .", + "test": "python3 tests/verify_telemetry_hooks.py", + "evidence": [ + { + "path": "scripts/emit_telemetry_event.py", + "exists": true + }, + { + "path": "scripts/import_telemetry_events.py", + "exists": true + }, + { + "path": "scripts/telemetry_native_host.py", + "exists": true + }, + { + "path": "reports/adoption_drift_report.json", + "exists": true + }, + { + "path": "reports/telemetry_hook_recipes.json", + "exists": true + }, + { + "path": "tests/verify_telemetry_hooks.py", + "exists": true + } + ], + "next_action": "Install a real client and import production metadata-only events into the local drift loop." + } + ], + "recommended_prs": [ + { + "key": "benchmark-methodology", + "category": "recommended-pr", + "label": "Benchmark Methodology", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "17 required artifacts checked", + "command": "make ci-test", + "test": "tests/verify_benchmark_reproducibility.py", + "evidence": [ + { + "path": "reports/benchmark_methodology.md", + "exists": true + }, + { + "path": "reports/benchmark_reproducibility.json", + "exists": true + }, + { + "path": "tests/verify_benchmark_reproducibility.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-eval-schema", + "category": "recommended-pr", + "label": "Output Eval Schema", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "5 output cases", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "evals/output/schema.json", + "exists": true + }, + { + "path": "evals/output/cases.jsonl", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-eval-runner", + "category": "recommended-pr", + "label": "Output Eval Runner", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "delta 100.0", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "scripts/run_output_eval.py", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "output-quality-scorecard", + "category": "recommended-pr", + "label": "Output Quality Scorecard", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "gate pass True", + "command": "make ci-test", + "test": "tests/verify_output_eval_lab.py", + "evidence": [ + { + "path": "reports/output_quality_scorecard.md", + "exists": true + }, + { + "path": "reports/output_quality_scorecard.json", + "exists": true + }, + { + "path": "tests/verify_output_eval_lab.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "skill-ir-v0", + "category": "recommended-pr", + "label": "Skill IR V0", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "schema 2.0.0", + "command": "make ci-test", + "test": "tests/verify_skill_ir.py", + "evidence": [ + { + "path": "skill-ir/schema.json", + "exists": true + }, + { + "path": "skill-ir/examples/yao-meta-skill.json", + "exists": true + }, + { + "path": "tests/verify_skill_ir.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "compiler-refactor", + "category": "recommended-pr", + "label": "Compiler Refactor", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "5/5 compiled targets", + "command": "make ci-test", + "test": "tests/verify_compile_skill.py", + "evidence": [ + { + "path": "scripts/compile_skill.py", + "exists": true + }, + { + "path": "reports/compiled_targets.json", + "exists": true + }, + { + "path": "tests/verify_compile_skill.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "agent-skills-conformance", + "category": "recommended-pr", + "label": "Agent Skills Conformance", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "agent-skills target present", + "command": "make ci-test", + "test": "tests/verify_conformance_suite.py", + "evidence": [ + { + "path": "runtime/conformance/schema.json", + "exists": true + }, + { + "path": "reports/conformance_matrix.json", + "exists": true + }, + { + "path": "tests/verify_conformance_suite.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "trust-check", + "category": "recommended-pr", + "label": "Trust Check", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "secret findings 0", + "command": "make ci-test", + "test": "tests/verify_trust_check.py", + "evidence": [ + { + "path": "scripts/trust_check.py", + "exists": true + }, + { + "path": "reports/security_trust_report.json", + "exists": true + }, + { + "path": "tests/verify_trust_check.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "skill-atlas-generator", + "category": "recommended-pr", + "label": "Skill Atlas Generator", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "12 scanned skills", + "command": "make ci-test", + "test": "tests/verify_skill_atlas.py", + "evidence": [ + { + "path": "scripts/build_skill_atlas.py", + "exists": true + }, + { + "path": "reports/skill_atlas.json", + "exists": true + }, + { + "path": "tests/verify_skill_atlas.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "registry-package-format", + "category": "recommended-pr", + "label": "Registry Package Format", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "registry ok True", + "command": "make ci-test", + "test": "tests/verify_registry_audit.py", + "evidence": [ + { + "path": "registry/package.schema.json", + "exists": true + }, + { + "path": "reports/registry_audit.json", + "exists": true + }, + { + "path": "tests/verify_registry_audit.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "review-studio-2", + "category": "recommended-pr", + "label": "Review Studio 2.0", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "14 review gates", + "command": "make ci-test", + "test": "tests/verify_review_studio.py", + "evidence": [ + { + "path": "scripts/render_review_studio.py", + "exists": true + }, + { + "path": "reports/review-studio.html", + "exists": true + }, + { + "path": "tests/verify_review_studio.py", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + }, + { + "key": "migration-v2-docs", + "category": "recommended-pr", + "label": "Migration V2 Docs", + "status": "pass", + "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + "current": "migration guide present", + "command": "make ci-test", + "test": "docs review", + "evidence": [ + { + "path": "docs/migration-v2.md", + "exists": true + }, + { + "path": "reports/skill-os-2-review.md", + "exists": true + }, + { + "path": "README.md", + "exists": true + } + ], + "next_action": "Keep this item covered as the implementation evolves." + } + ], + "next_highest_leverage": [ + "Close the four world-class evidence ledger entries with accepted human or external evidence.", + "Keep the blueprint coverage report in CI so 2.0 plan drift is visible." + ], + "source_blueprint": { + "title": "Skill Overview / Skill OS 2.0 upgrade plan", + "core_module_count": 8, + "recommended_pr_count": 12 + }, + "artifacts": { + "json": "reports/skill_os2_coverage.json", + "markdown": "reports/skill_os2_coverage.md" + } +} diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md new file mode 100644 index 0000000..f23b766 --- /dev/null +++ b/reports/skill_os2_coverage.md @@ -0,0 +1,192 @@ +# Skill OS 2.0 Blueprint Coverage + +Generated at: `2026-06-14` + +## Summary + +- decision: `local-blueprint-covered-evidence-pending` +- local blueprint ready: `true` +- public world-class ready: `false` +- pass: `20` / `20` +- missing: `0` +- warn: `0` +- world-class evidence pending: `4` + +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 + +| Item | Status | Current | Command | Test | +| --- | --- | --- | --- | --- | +| 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` | 79 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 529; 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` | 14 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` | + +## Recommended PR Coverage + +| Item | Status | Current | Command | Test | +| --- | --- | --- | --- | --- | +| Benchmark Methodology | `pass` | 17 required artifacts checked | `make ci-test` | `tests/verify_benchmark_reproducibility.py` | +| Output Eval Schema | `pass` | 5 output cases | `make ci-test` | `tests/verify_output_eval_lab.py` | +| Output Eval Runner | `pass` | delta 100.0 | `make ci-test` | `tests/verify_output_eval_lab.py` | +| Output Quality Scorecard | `pass` | gate pass True | `make ci-test` | `tests/verify_output_eval_lab.py` | +| Skill IR V0 | `pass` | schema 2.0.0 | `make ci-test` | `tests/verify_skill_ir.py` | +| Compiler Refactor | `pass` | 5/5 compiled targets | `make ci-test` | `tests/verify_compile_skill.py` | +| Agent Skills Conformance | `pass` | agent-skills target present | `make ci-test` | `tests/verify_conformance_suite.py` | +| Trust Check | `pass` | secret findings 0 | `make ci-test` | `tests/verify_trust_check.py` | +| Skill Atlas Generator | `pass` | 12 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` | +| Registry Package Format | `pass` | registry ok True | `make ci-test` | `tests/verify_registry_audit.py` | +| Review Studio 2.0 | `pass` | 14 review gates | `make ci-test` | `tests/verify_review_studio.py` | +| Migration V2 Docs | `pass` | migration guide present | `make ci-test` | `docs review` | + +## Next Highest-Leverage Moves + +- Close the four world-class evidence ledger entries with accepted human or external evidence. +- Keep the blueprint coverage report in CI so 2.0 plan drift is visible. + +## Evidence Detail + +### Skill IR + +- objective: Platform-neutral capability contract exists before platform-specific packaging. +- status: `pass` +- existing evidence: `skill-ir/schema.json`, `skill-ir/examples/yao-meta-skill.json`, `scripts/export_skill_ir.py`, `tests/verify_skill_ir.py` +- next action: Keep all target packages compiled from IR rather than hand-maintained per target. + +### Output Eval Lab + +- objective: with-skill/baseline output quality is measured with assertions, execution evidence, and blind review packs. +- status: `pass` +- existing evidence: `evals/output/schema.json`, `evals/output/cases.jsonl`, `scripts/run_output_eval.py`, `scripts/run_output_execution.py`, `reports/output_quality_scorecard.json`, `tests/verify_output_eval_lab.py` +- next action: Add more real-file and adversarial holdout cases as adoption data grows. + +### Runtime Conformance + +- objective: Target packages can be consumed by OpenAI, Claude, Agent Skills, VS Code, and generic targets. +- status: `pass` +- existing evidence: `runtime/conformance/schema.json`, `scripts/run_conformance_suite.py`, `reports/conformance_matrix.json`, `tests/verify_conformance_suite.py` +- next action: Keep conformance cases aligned with current platform metadata rules. + +### Trust Security + +- objective: Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution. +- status: `pass` +- existing evidence: `scripts/trust_check.py`, `security/trust_policy.md`, `security/script_policy.md`, `security/permission_policy.json`, `reports/security_trust_report.json`, `tests/verify_trust_check.py` +- next action: Keep high-permission approvals scoped, expiring, and mapped to target enforcement. + +### Skill Atlas + +- objective: Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities. +- status: `pass` +- existing evidence: `scripts/build_skill_atlas.py`, `skill_atlas/catalog.json`, `skill_atlas/route_overlap_matrix.csv`, `skill_atlas/dependency_graph.json`, `reports/skill_atlas.json`, `tests/verify_skill_atlas.py` +- next action: Use real telemetry to rank stale or drifting skills by impact, not only by static metadata. + +### Registry Distribution + +- objective: Skill packages are installable, versioned, checksumed, and upgrade-reviewable. +- status: `pass` +- existing evidence: `registry/index.schema.json`, `registry/package.schema.json`, `registry/packages/yao-meta-skill.json`, `scripts/registry_audit.py`, `reports/package_verification.json`, `reports/install_simulation.json`, `tests/verify_registry_audit.py` +- next action: Regenerate registry metadata after package verification so source and archive checksums stay aligned. + +### Review Studio + +- objective: One HTML page supports first-pass production review across trigger, output, runtime, trust, release, and evidence actions. +- status: `pass` +- existing evidence: `scripts/render_review_studio.py`, `reports/review-studio.html`, `reports/review-studio.json`, `tests/verify_review_studio.py` +- next action: Close pending human and external evidence before claiming full release readiness. + +### Telemetry Drift + +- objective: Real usage feedback is captured as metadata-only local-first drift signals. +- status: `pass` +- existing evidence: `scripts/emit_telemetry_event.py`, `scripts/import_telemetry_events.py`, `scripts/telemetry_native_host.py`, `reports/adoption_drift_report.json`, `reports/telemetry_hook_recipes.json`, `tests/verify_telemetry_hooks.py` +- next action: Install a real client and import production metadata-only events into the local drift loop. + +### Benchmark Methodology + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `reports/benchmark_methodology.md`, `reports/benchmark_reproducibility.json`, `tests/verify_benchmark_reproducibility.py` +- next action: Keep this item covered as the implementation evolves. + +### Output Eval Schema + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `evals/output/schema.json`, `evals/output/cases.jsonl`, `tests/verify_output_eval_lab.py` +- next action: Keep this item covered as the implementation evolves. + +### Output Eval Runner + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `scripts/run_output_eval.py`, `reports/output_quality_scorecard.json`, `tests/verify_output_eval_lab.py` +- next action: Keep this item covered as the implementation evolves. + +### Output Quality Scorecard + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `reports/output_quality_scorecard.md`, `reports/output_quality_scorecard.json`, `tests/verify_output_eval_lab.py` +- next action: Keep this item covered as the implementation evolves. + +### Skill IR V0 + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `skill-ir/schema.json`, `skill-ir/examples/yao-meta-skill.json`, `tests/verify_skill_ir.py` +- next action: Keep this item covered as the implementation evolves. + +### Compiler Refactor + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `scripts/compile_skill.py`, `reports/compiled_targets.json`, `tests/verify_compile_skill.py` +- next action: Keep this item covered as the implementation evolves. + +### Agent Skills Conformance + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `runtime/conformance/schema.json`, `reports/conformance_matrix.json`, `tests/verify_conformance_suite.py` +- next action: Keep this item covered as the implementation evolves. + +### Trust Check + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `scripts/trust_check.py`, `reports/security_trust_report.json`, `tests/verify_trust_check.py` +- next action: Keep this item covered as the implementation evolves. + +### Skill Atlas Generator + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `scripts/build_skill_atlas.py`, `reports/skill_atlas.json`, `tests/verify_skill_atlas.py` +- next action: Keep this item covered as the implementation evolves. + +### Registry Package Format + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `registry/package.schema.json`, `reports/registry_audit.json`, `tests/verify_registry_audit.py` +- next action: Keep this item covered as the implementation evolves. + +### Review Studio 2.0 + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `scripts/render_review_studio.py`, `reports/review-studio.html`, `tests/verify_review_studio.py` +- next action: Keep this item covered as the implementation evolves. + +### Migration V2 Docs + +- objective: Recommended Skill OS 2.0 implementation PR from the upgrade plan. +- status: `pass` +- existing evidence: `docs/migration-v2.md`, `reports/skill-os-2-review.md`, `README.md` +- next action: Keep this item covered as the implementation evolves. diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index 1649f24..8b4f5d9 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -1,7 +1,7 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-14", "previous": { "name": "yao-meta-skill", "version": "1.0.0", @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "11456124f9b96bb18a57ae4ab3faf86e03b3261ef7bf2779510384294988915b" + "to": "a7496dc032de56d1df3a51489223d46cecf753460cd52f1a724b2c8c3c8374be" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "7c489830c0efdc9b641586b2a897bb39719c6ee73061726554e1349fc508b1b2" + "to": "a39f0ebbe3ba954cdc7770a8b585bdac18e9146fc3c468b8df7d5931fdafdc17" } ] }, diff --git a/reports/world_class_evidence_ledger.json b/reports/world_class_evidence_ledger.json index 3e793f2..640eb62 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-13", + "generated_at": "2026-06-14", "skill_dir": ".", "summary": { "ledger_entry_count": 4, diff --git a/reports/world_class_evidence_ledger.md b/reports/world_class_evidence_ledger.md index 686cb12..7be8399 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-13` +Generated at: `2026-06-14` ## Summary diff --git a/reports/world_class_evidence_plan.json b/reports/world_class_evidence_plan.json index 055080a..de1ada5 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-13", + "generated_at": "2026-06-14", "skill_dir": ".", "summary": { "audit_decision": "continue-iteration", diff --git a/reports/world_class_evidence_plan.md b/reports/world_class_evidence_plan.md index 6aed91f..504eae4 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-13` +Generated at: `2026-06-14` ## Summary diff --git a/scripts/ci_test.py b/scripts/ci_test.py index 0ebe0f7..c99c931 100644 --- a/scripts/ci_test.py +++ b/scripts/ci_test.py @@ -49,6 +49,7 @@ DEFAULT_TARGETS = [ "review-viewer-check", "review-studio-check", "skill-os2-audit-check", + "skill-os2-coverage-check", "world-class-evidence-check", "world-class-ledger-check", "benchmark-reproducibility-check", diff --git a/scripts/render_review_studio.py b/scripts/render_review_studio.py index 0e78551..0610769 100644 --- a/scripts/render_review_studio.py +++ b/scripts/render_review_studio.py @@ -125,6 +125,7 @@ def evidence_paths(skill_dir: Path) -> dict[str, str]: "output_review_decisions": "reports/output_review_decisions.json", "output_review_adjudication": "reports/output_review_adjudication.md", "benchmark_reproducibility": "reports/benchmark_reproducibility.md", + "skill_os2_coverage": "reports/skill_os2_coverage.md", "runtime_conformance": "reports/conformance_matrix.md", "trust_report": "reports/security_trust_report.md", "permission_policy": "security/permission_policy.md", @@ -157,6 +158,7 @@ def load_review_data(skill_dir: Path) -> dict[str, dict[str, Any]]: "output_execution": load_json(reports / "output_execution_runs.json"), "output_blind_review": load_json(reports / "output_blind_review_pack.json"), "output_review_adjudication": load_json(reports / "output_review_adjudication.json"), + "skill_os2_coverage": load_json(reports / "skill_os2_coverage.json"), "compiled_targets": load_json(reports / "compiled_targets.json"), "conformance": load_json(reports / "conformance_matrix.json"), "runtime_permissions": load_json(reports / "runtime_permission_probes.json"), @@ -184,6 +186,7 @@ def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]: output_execution = data["output_execution"].get("summary", {}) output_blind = data["output_blind_review"].get("summary", {}) output_review = data["output_review_adjudication"].get("summary", {}) + blueprint = data["skill_os2_coverage"].get("summary", {}) compiled = data["compiled_targets"].get("summary", {}) conformance = data["conformance"].get("summary", {}) runtime_permissions = data["runtime_permissions"].get("summary", {}) @@ -231,6 +234,11 @@ def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]: "value": f"{output_review.get('judgment_count', 0)}/{output_review.get('pair_count', 0)}", "detail": f"adjudication decisions; pending {output_review.get('pending_count', 0)}", }, + { + "label": "Blueprint", + "value": f"{blueprint.get('pass_count', 0)}/{blueprint.get('item_count', 0)}", + "detail": f"2.0 coverage; evidence pending {blueprint.get('world_class_evidence_pending_count', 0)}", + }, { "label": "Runtime", "value": f"{conformance.get('pass_count', 0)}/{conformance.get('target_count', 0)}", @@ -676,6 +684,7 @@ def render_html(report: dict[str, Any]) -> str: output_execution_summary = report["data"]["output_execution"].get("summary", {}) output_blind_summary = report["data"]["output_blind_review"].get("summary", {}) output_review_summary = report["data"]["output_review_adjudication"].get("summary", {}) + blueprint_summary = report["data"]["skill_os2_coverage"].get("summary", {}) conformance_summary = report["data"]["conformance"].get("summary", {}) compiled_summary = report["data"]["compiled_targets"].get("summary", {}) trust_summary = report["data"]["trust"].get("summary", {}) @@ -746,6 +755,21 @@ def render_html(report: dict[str, Any]) -> str: ], "review adjudication report missing", ) + blueprint_panel = render_kv_grid( + blueprint_summary, + [ + "item_count", + "module_count", + "recommended_pr_count", + "pass_count", + "warn_count", + "missing_count", + "local_blueprint_ready", + "public_world_class_ready", + "world_class_evidence_pending_count", + ], + "Skill OS 2.0 blueprint coverage missing", + ) conformance_panel = render_kv_grid( conformance_summary, ["target_count", "pass_count", "fail_count", "warning_count", "failure_count"], @@ -962,6 +986,11 @@ def render_html(report: dict[str, Any]) -> str: {world_class_entries_html} +
+

蓝图覆盖

{blueprint_panel}
+

覆盖边界

蓝图覆盖只证明 2.0 模块、建议 PR、脚本、报告和测试在本地闭环;public world-class 仍以 world-class evidence ledger 的真人和外部证据为准。

+
+

世界证据

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

证据台账

{world_class_panel}
diff --git a/scripts/render_skill_os2_coverage.py b/scripts/render_skill_os2_coverage.py new file mode 100644 index 0000000..0786edd --- /dev/null +++ b/scripts/render_skill_os2_coverage.py @@ -0,0 +1,410 @@ +#!/usr/bin/env python3 +import argparse +import json +from datetime import date +from pathlib import Path +from typing import Any + + +ROOT = Path(__file__).resolve().parent.parent +SCRIPT_INTERFACE = "cli" +SCRIPT_INTERFACE_REASON = "Renders a Skill OS 2.0 blueprint-to-evidence coverage audit." +RECOMMENDED_PR_LABELS = { + "benchmark-methodology": "Benchmark Methodology", + "output-eval-schema": "Output Eval Schema", + "output-eval-runner": "Output Eval Runner", + "output-quality-scorecard": "Output Quality Scorecard", + "skill-ir-v0": "Skill IR V0", + "compiler-refactor": "Compiler Refactor", + "agent-skills-conformance": "Agent Skills Conformance", + "trust-check": "Trust Check", + "skill-atlas-generator": "Skill Atlas Generator", + "registry-package-format": "Registry Package Format", + "review-studio-2": "Review Studio 2.0", + "migration-v2-docs": "Migration V2 Docs", +} + + +def load_json(path: Path) -> dict[str, Any]: + if not path.exists(): + return {} + try: + payload = json.loads(path.read_text(encoding="utf-8")) + except json.JSONDecodeError: + return {} + return payload if isinstance(payload, dict) else {} + + +def rel_path(path: Path, root: Path) -> str: + try: + return str(path.resolve().relative_to(root.resolve())) + except ValueError: + return str(path.resolve()) + + +def evidence(skill_dir: Path, paths: list[str]) -> list[dict[str, Any]]: + return [{"path": item, "exists": (skill_dir / item).exists()} for item in paths] + + +def all_exist(items: list[dict[str, Any]]) -> bool: + return all(item["exists"] for item in items) + + +def condition_status(condition: bool, evidence_items: list[dict[str, Any]]) -> str: + if not all_exist(evidence_items): + return "missing" + return "pass" if condition else "warn" + + +def build_item( + *, + key: str, + category: str, + label: str, + objective: str, + artifact_paths: list[str], + command: str, + test: str, + current: str, + condition: bool, + next_action: str, + skill_dir: Path, +) -> dict[str, Any]: + evidence_items = evidence(skill_dir, artifact_paths) + status = condition_status(condition, evidence_items) + return { + "key": key, + "category": category, + "label": label, + "status": status, + "objective": objective, + "current": current, + "command": command, + "test": test, + "evidence": evidence_items, + "next_action": next_action, + } + + +def summary_value(payload: dict[str, Any], key: str, default: Any = 0) -> Any: + summary = payload.get("summary", {}) + return summary.get(key, default) if isinstance(summary, dict) else default + + +def target_names(payload: dict[str, Any]) -> set[str]: + names = set() + for item in payload.get("targets", []) or payload.get("results", []): + if isinstance(item, dict): + value = item.get("target") or item.get("platform") or item.get("name") + if value: + names.add(str(value)) + return names + + +def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]: + reports = skill_dir / "reports" + skill_ir = load_json(skill_dir / "skill-ir" / "examples" / "yao-meta-skill.json") + output_quality = load_json(reports / "output_quality_scorecard.json") + output_execution = load_json(reports / "output_execution_runs.json") + compiled = load_json(reports / "compiled_targets.json") + conformance = load_json(reports / "conformance_matrix.json") + trust = load_json(reports / "security_trust_report.json") + atlas = load_json(reports / "skill_atlas.json") + registry = load_json(reports / "registry_audit.json") + package_verification = load_json(reports / "package_verification.json") + install = load_json(reports / "install_simulation.json") + review_studio = load_json(reports / "review-studio.json") + adoption = load_json(reports / "adoption_drift_report.json") + telemetry_hooks = load_json(reports / "telemetry_hook_recipes.json") + benchmark = load_json(reports / "benchmark_reproducibility.json") + world_class_ledger = load_json(reports / "world_class_evidence_ledger.json") + + output_case_count = summary_value(output_quality, "case_count") + output_delta = summary_value(output_quality, "delta", "n/a") + execution_count = summary_value(output_execution, "variant_run_count") + compiled_count = summary_value(compiled, "target_count") + compiled_pass = summary_value(compiled, "pass_count") + conformance_count = summary_value(conformance, "target_count") + conformance_pass = summary_value(conformance, "pass_count") + script_count = summary_value(trust, "script_count") + atlas_skill_count = summary_value(atlas, "skill_count") + package_entries = summary_value(package_verification, "archive_entry_count") + install_failures = summary_value(install, "failure_count") + studio_gates = summary_value(review_studio, "gate_count") + telemetry_recipe_count = summary_value(telemetry_hooks, "recipe_count") + benchmark_artifacts = summary_value(benchmark, "required_artifact_count") + pending_world_class = summary_value(world_class_ledger, "pending_count") + + modules = [ + build_item( + key="skill-ir", + category="core-module", + label="Skill IR", + objective="Platform-neutral capability contract exists before platform-specific packaging.", + artifact_paths=["skill-ir/schema.json", "skill-ir/examples/yao-meta-skill.json", "scripts/export_skill_ir.py", "tests/verify_skill_ir.py"], + command="python3 scripts/yao.py skill-ir .", + test="python3 tests/verify_skill_ir.py", + current=f"schema {skill_ir.get('schema_version', 'missing')}; targets {len(skill_ir.get('targets', []))}", + condition=skill_ir.get("schema_version") == "2.0.0" and len(skill_ir.get("targets", [])) >= 5, + next_action="Keep all target packages compiled from IR rather than hand-maintained per target.", + skill_dir=skill_dir, + ), + build_item( + key="output-eval-lab", + category="core-module", + label="Output Eval Lab", + objective="with-skill/baseline output quality is measured with assertions, execution evidence, and blind review packs.", + artifact_paths=["evals/output/schema.json", "evals/output/cases.jsonl", "scripts/run_output_eval.py", "scripts/run_output_execution.py", "reports/output_quality_scorecard.json", "tests/verify_output_eval_lab.py"], + command="python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .", + test="python3 tests/verify_output_eval_lab.py", + current=f"{output_case_count} cases; delta {output_delta}; execution {execution_count}", + condition=output_case_count >= 5 and execution_count >= 10 and summary_value(output_quality, "gate_pass") is True, + next_action="Add more real-file and adversarial holdout cases as adoption data grows.", + skill_dir=skill_dir, + ), + build_item( + key="runtime-conformance", + category="core-module", + label="Runtime Conformance", + objective="Target packages can be consumed by OpenAI, Claude, Agent Skills, VS Code, and generic targets.", + artifact_paths=["runtime/conformance/schema.json", "scripts/run_conformance_suite.py", "reports/conformance_matrix.json", "tests/verify_conformance_suite.py"], + command="python3 scripts/yao.py conformance .", + test="python3 tests/verify_conformance_suite.py", + current=f"{conformance_pass}/{conformance_count} targets pass", + condition=conformance_count >= 5 and conformance_pass == conformance_count and "agent-skills" in target_names(conformance), + next_action="Keep conformance cases aligned with current platform metadata rules.", + skill_dir=skill_dir, + ), + build_item( + key="trust-security", + category="core-module", + label="Trust Security", + objective="Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", + artifact_paths=["scripts/trust_check.py", "security/trust_policy.md", "security/script_policy.md", "security/permission_policy.json", "reports/security_trust_report.json", "tests/verify_trust_check.py"], + command="python3 scripts/yao.py trust .", + test="python3 tests/verify_trust_check.py", + current=f"{script_count} scripts; secrets {summary_value(trust, 'secret_findings', 'n/a')}; help failures {summary_value(trust, 'help_smoke_failed_count', 'n/a')}", + condition=trust.get("ok") is True and summary_value(trust, "secret_findings", 1) == 0 and summary_value(trust, "help_smoke_failed_count", 1) == 0, + next_action="Keep high-permission approvals scoped, expiring, and mapped to target enforcement.", + skill_dir=skill_dir, + ), + build_item( + key="skill-atlas", + category="core-module", + label="Skill Atlas", + objective="Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.", + artifact_paths=["scripts/build_skill_atlas.py", "skill_atlas/catalog.json", "skill_atlas/route_overlap_matrix.csv", "skill_atlas/dependency_graph.json", "reports/skill_atlas.json", "tests/verify_skill_atlas.py"], + command="python3 scripts/yao.py skill-atlas --workspace-root .", + test="python3 tests/verify_skill_atlas.py", + current=f"{atlas_skill_count} scanned skills; actionable collisions {summary_value(atlas, 'actionable_route_collision_count')}", + condition=atlas_skill_count >= 1 and summary_value(atlas, "actionable_route_collision_count", 1) == 0, + next_action="Use real telemetry to rank stale or drifting skills by impact, not only by static metadata.", + skill_dir=skill_dir, + ), + build_item( + key="registry-distribution", + category="core-module", + label="Registry Distribution", + objective="Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", + artifact_paths=["registry/index.schema.json", "registry/package.schema.json", "registry/packages/yao-meta-skill.json", "scripts/registry_audit.py", "reports/package_verification.json", "reports/install_simulation.json", "tests/verify_registry_audit.py"], + 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", + current=f"archive entries {package_entries}; install failures {install_failures}", + condition=registry.get("ok") is True and package_verification.get("ok") is True and install.get("ok") is True and package_entries > 0 and install_failures == 0, + next_action="Regenerate registry metadata after package verification so source and archive checksums stay aligned.", + skill_dir=skill_dir, + ), + build_item( + key="review-studio", + category="core-module", + label="Review Studio", + objective="One HTML page supports first-pass production review across trigger, output, runtime, trust, release, and evidence actions.", + artifact_paths=["scripts/render_review_studio.py", "reports/review-studio.html", "reports/review-studio.json", "tests/verify_review_studio.py"], + command="python3 scripts/yao.py review-studio .", + test="python3 tests/verify_review_studio.py", + current=f"{studio_gates} gates; decision {summary_value(review_studio, 'decision', 'missing')}; warnings {summary_value(review_studio, 'warning_count')}", + condition=review_studio.get("ok") is True and studio_gates >= 14 and summary_value(review_studio, "blocker_count", 1) == 0, + next_action="Close pending human and external evidence before claiming full release readiness.", + skill_dir=skill_dir, + ), + build_item( + key="telemetry-drift", + category="core-module", + label="Telemetry Drift", + objective="Real usage feedback is captured as metadata-only local-first drift signals.", + artifact_paths=["scripts/emit_telemetry_event.py", "scripts/import_telemetry_events.py", "scripts/telemetry_native_host.py", "reports/adoption_drift_report.json", "reports/telemetry_hook_recipes.json", "tests/verify_telemetry_hooks.py"], + command="python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .", + test="python3 tests/verify_telemetry_hooks.py", + current=f"events {summary_value(adoption, 'event_count')}; recipes {telemetry_recipe_count}; risk {summary_value(adoption, 'risk_band', 'missing')}", + condition=adoption.get("ok") is True and adoption.get("privacy_contract", {}).get("raw_content_allowed") is False and telemetry_recipe_count >= 5, + next_action="Install a real client and import production metadata-only events into the local drift loop.", + skill_dir=skill_dir, + ), + ] + + recommended_prs = [ + ("benchmark-methodology", "reports/benchmark_methodology.md", "reports/benchmark_reproducibility.json", "tests/verify_benchmark_reproducibility.py", benchmark.get("ok") is True and summary_value(benchmark, "methodology_complete") is True, f"{benchmark_artifacts} required artifacts checked"), + ("output-eval-schema", "evals/output/schema.json", "evals/output/cases.jsonl", "tests/verify_output_eval_lab.py", output_case_count >= 5, f"{output_case_count} output cases"), + ("output-eval-runner", "scripts/run_output_eval.py", "reports/output_quality_scorecard.json", "tests/verify_output_eval_lab.py", output_quality.get("ok") is True, f"delta {output_delta}"), + ("output-quality-scorecard", "reports/output_quality_scorecard.md", "reports/output_quality_scorecard.json", "tests/verify_output_eval_lab.py", summary_value(output_quality, "gate_pass") is True, f"gate pass {summary_value(output_quality, 'gate_pass', False)}"), + ("skill-ir-v0", "skill-ir/schema.json", "skill-ir/examples/yao-meta-skill.json", "tests/verify_skill_ir.py", skill_ir.get("schema_version") == "2.0.0", f"schema {skill_ir.get('schema_version', 'missing')}"), + ("compiler-refactor", "scripts/compile_skill.py", "reports/compiled_targets.json", "tests/verify_compile_skill.py", compiled_count >= 5 and compiled_pass == compiled_count, f"{compiled_pass}/{compiled_count} compiled targets"), + ("agent-skills-conformance", "runtime/conformance/schema.json", "reports/conformance_matrix.json", "tests/verify_conformance_suite.py", "agent-skills" in target_names(conformance), "agent-skills target present"), + ("trust-check", "scripts/trust_check.py", "reports/security_trust_report.json", "tests/verify_trust_check.py", trust.get("ok") is True, f"secret findings {summary_value(trust, 'secret_findings', 'n/a')}"), + ("skill-atlas-generator", "scripts/build_skill_atlas.py", "reports/skill_atlas.json", "tests/verify_skill_atlas.py", atlas.get("ok") is True, f"{atlas_skill_count} scanned skills"), + ("registry-package-format", "registry/package.schema.json", "reports/registry_audit.json", "tests/verify_registry_audit.py", registry.get("ok") is True, f"registry ok {registry.get('ok') is True}"), + ("review-studio-2", "scripts/render_review_studio.py", "reports/review-studio.html", "tests/verify_review_studio.py", review_studio.get("ok") is True and studio_gates >= 14, f"{studio_gates} review gates"), + ("migration-v2-docs", "docs/migration-v2.md", "reports/skill-os-2-review.md", "README.md", (skill_dir / "docs" / "migration-v2.md").exists(), "migration guide present"), + ] + pr_items = [ + build_item( + key=key, + category="recommended-pr", + label=RECOMMENDED_PR_LABELS[key], + objective="Recommended Skill OS 2.0 implementation PR from the upgrade plan.", + artifact_paths=[path_a, path_b, path_c], + command="make ci-test", + test=path_c if path_c.startswith("tests/") else "docs review", + current=current, + condition=condition, + next_action="Keep this item covered as the implementation evolves.", + skill_dir=skill_dir, + ) + for key, path_a, path_b, path_c, condition, current in recommended_prs + ] + + items = modules + pr_items + counts: dict[str, int] = {"pass": 0, "warn": 0, "missing": 0} + for item in items: + counts[item["status"]] = counts.get(item["status"], 0) + 1 + local_ready = counts.get("missing", 0) == 0 and counts.get("warn", 0) == 0 + public_ready = local_ready and summary_value(world_class_ledger, "ready_to_claim_world_class", False) is True + decision = "world-class-ready" if public_ready else ("local-blueprint-covered-evidence-pending" if local_ready else "continue-implementation") + summary = { + "item_count": len(items), + "module_count": len(modules), + "recommended_pr_count": len(pr_items), + "pass_count": counts.get("pass", 0), + "warn_count": counts.get("warn", 0), + "missing_count": counts.get("missing", 0), + "local_blueprint_ready": local_ready, + "public_world_class_ready": public_ready, + "world_class_evidence_pending_count": pending_world_class, + "decision": decision, + } + return { + "schema_version": "1.0", + "ok": counts.get("missing", 0) == 0, + "generated_at": generated_at, + "skill_dir": rel_path(skill_dir, ROOT), + "summary": summary, + "status_counts": counts, + "modules": modules, + "recommended_prs": pr_items, + "next_highest_leverage": [ + "Close the four world-class evidence ledger entries with accepted human or external evidence.", + "Keep the blueprint coverage report in CI so 2.0 plan drift is visible.", + ], + "source_blueprint": { + "title": "Skill Overview / Skill OS 2.0 upgrade plan", + "core_module_count": 8, + "recommended_pr_count": 12, + }, + "artifacts": { + "json": "reports/skill_os2_coverage.json", + "markdown": "reports/skill_os2_coverage.md", + }, + } + + +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"- 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"]), + "", + "## 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"]: + 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=".") + parser.add_argument("--output-json", default="reports/skill_os2_coverage.json") + parser.add_argument("--output-md", default="reports/skill_os2_coverage.md") + parser.add_argument("--generated-at", default=date.today().isoformat()) + args = parser.parse_args() + + skill_dir = Path(args.skill_dir).resolve() + report = build_coverage(skill_dir, args.generated_at) + output_json = Path(args.output_json) + output_md = Path(args.output_md) + if not output_json.is_absolute(): + output_json = skill_dir / output_json + if not output_md.is_absolute(): + output_md = skill_dir / output_md + output_json.parent.mkdir(parents=True, exist_ok=True) + output_md.parent.mkdir(parents=True, exist_ok=True) + output_json.write_text(json.dumps(report, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + output_md.write_text(render_markdown(report), encoding="utf-8") + print(json.dumps(report, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/scripts/review_studio_formatting.py b/scripts/review_studio_formatting.py index 56af8a6..0994b4c 100644 --- a/scripts/review_studio_formatting.py +++ b/scripts/review_studio_formatting.py @@ -35,9 +35,13 @@ LABELS = { "install_simulated": "安装模拟", "installer_permission_enforced_count": "安装权限", "installer_permission_failure_count": "安装权限失败", + "item_count": "项目数", "license": "License", + "local_blueprint_ready": "本地蓝图", "metadata_fallback_count": "Metadata fallback", "missed_trigger_count": "漏触发", + "missing_count": "缺失数", + "module_count": "模块数", "model_executed_count": "模型执行", "name": "名称", "native_enforcement_count": "原生执行", @@ -52,7 +56,9 @@ LABELS = { "pending_answer_hidden_count": "答案隐藏", "permission_capability_count": "权限能力", "permission_target_count": "权限目标", + "public_world_class_ready": "世界级", "recorded_fixture_count": "记录样本", + "recommended_pr_count": "建议 PR", "recommended_bump": "建议版本", "residual_risk_count": "残余风险", "risk_band": "风险带", @@ -70,6 +76,7 @@ LABELS = { "version": "版本", "warning_count": "警告数", "with_skill_pass_rate": "With Skill", + "world_class_evidence_pending_count": "待补证据", } diff --git a/scripts/yao.py b/scripts/yao.py index 056a33f..34b100a 100644 --- a/scripts/yao.py +++ b/scripts/yao.py @@ -468,6 +468,7 @@ def command_report(args: argparse.Namespace) -> int: run_script("render_world_class_evidence_plan.py", [str(ROOT)]), run_script("render_world_class_evidence_ledger.py", [str(ROOT)]), run_script("render_benchmark_reproducibility.py", [str(ROOT)]), + run_script("render_skill_os2_coverage.py", [str(ROOT)]), ] ) report = { @@ -497,6 +498,7 @@ def command_report(args: argparse.Namespace) -> int: "world_class_evidence_plan": "reports/world_class_evidence_plan.json", "world_class_evidence_ledger": "reports/world_class_evidence_ledger.json", "benchmark_reproducibility": "reports/benchmark_reproducibility.json", + "skill_os2_coverage": "reports/skill_os2_coverage.json", }, } print(json.dumps(report, ensure_ascii=False, indent=2)) @@ -553,6 +555,20 @@ def command_skill_os2_audit(args: argparse.Namespace) -> int: return 0 if result["ok"] else 2 +def command_skill_os2_coverage(args: argparse.Namespace) -> int: + skill_dir = str(Path(args.skill_dir).resolve()) + cmd = [skill_dir] + if args.output_json: + cmd.extend(["--output-json", args.output_json]) + if args.output_md: + cmd.extend(["--output-md", args.output_md]) + if args.generated_at: + cmd.extend(["--generated-at", args.generated_at]) + result = run_script("render_skill_os2_coverage.py", cmd) + print(json.dumps(result["payload"] if result["payload"] is not None else result, ensure_ascii=False, indent=2)) + return 0 if result["ok"] else 2 + + def command_world_class_evidence(args: argparse.Namespace) -> int: skill_dir = str(Path(args.skill_dir).resolve()) cmd = [skill_dir] @@ -1218,6 +1234,7 @@ def command_workspace_flow(args: argparse.Namespace) -> int: {"phase": "report-refresh", "result": run_script("render_world_class_evidence_plan.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_world_class_evidence_ledger.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_benchmark_reproducibility.py", [str(ROOT)])}, + {"phase": "report-refresh", "result": run_script("render_skill_os2_coverage.py", [str(ROOT)])}, ] ) diff --git a/scripts/yao_cli_parser.py b/scripts/yao_cli_parser.py index 31270fe..400f8cf 100644 --- a/scripts/yao_cli_parser.py +++ b/scripts/yao_cli_parser.py @@ -142,6 +142,16 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int] skill_os2_audit_cmd.add_argument("--generated-at") skill_os2_audit_cmd.set_defaults(func=_handler(command_handlers, "command_skill_os2_audit")) + skill_os2_coverage_cmd = subparsers.add_parser( + "skill-os2-coverage", + help="Render Skill OS 2.0 blueprint-to-evidence coverage.", + ) + skill_os2_coverage_cmd.add_argument("skill_dir", nargs="?", default=".") + skill_os2_coverage_cmd.add_argument("--output-json") + skill_os2_coverage_cmd.add_argument("--output-md") + skill_os2_coverage_cmd.add_argument("--generated-at") + skill_os2_coverage_cmd.set_defaults(func=_handler(command_handlers, "command_skill_os2_coverage")) + world_class_evidence_cmd = subparsers.add_parser( "world-class-evidence", help="Render the evidence collection plan for remaining world-class readiness gaps.", diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json index f0d4815..3448d46 100644 --- a/skill-ir/examples/yao-meta-skill.json +++ b/skill-ir/examples/yao-meta-skill.json @@ -155,6 +155,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index f65b81c..d99a572 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -67,6 +67,7 @@ "scripts/render_review_viewer.py", "scripts/render_review_waivers.py", "scripts/render_skill_os2_audit.py", + "scripts/render_skill_os2_coverage.py", "scripts/render_skill_overview.py", "scripts/render_social_preview.py", "scripts/render_system_model.py", diff --git a/tests/verify_review_studio.py b/tests/verify_review_studio.py index d10cdd3..aedf718 100644 --- a/tests/verify_review_studio.py +++ b/tests/verify_review_studio.py @@ -312,6 +312,8 @@ def main() -> None: assert full_payload["evidence_paths"]["output_review_adjudication"] == "reports/output_review_adjudication.md", full_payload["evidence_paths"] if (ROOT / "reports" / "benchmark_reproducibility.md").exists(): assert full_payload["evidence_paths"]["benchmark_reproducibility"] == "reports/benchmark_reproducibility.md", full_payload["evidence_paths"] + if (ROOT / "reports" / "skill_os2_coverage.md").exists(): + assert full_payload["evidence_paths"]["skill_os2_coverage"] == "reports/skill_os2_coverage.md", full_payload["evidence_paths"] assert full_payload["evidence_paths"]["review_annotations"] == "reports/review_annotations.md", full_payload["evidence_paths"] if (ROOT / "reports" / "world_class_evidence_plan.md").exists(): assert full_payload["evidence_paths"]["world_class_evidence_plan"] == "reports/world_class_evidence_plan.md", full_payload["evidence_paths"] @@ -340,6 +342,9 @@ def main() -> None: }, world_class_action assert all(item["exists"] for item in world_class_action["source_refs"]), world_class_action assert full_payload["data"]["world_class_evidence_ledger"]["summary"]["pending_count"] == 4, full_payload["data"]["world_class_evidence_ledger"] + if full_payload["data"]["skill_os2_coverage"]: + assert full_payload["data"]["skill_os2_coverage"]["summary"]["local_blueprint_ready"] is True, full_payload["data"]["skill_os2_coverage"] + assert full_payload["data"]["skill_os2_coverage"]["summary"]["public_world_class_ready"] is False, full_payload["data"]["skill_os2_coverage"] world_class_entries = full_payload["data"]["world_class_evidence_ledger"]["entries"] assert len(world_class_entries) == 4, world_class_entries assert {item["key"] for item in world_class_entries} == { @@ -405,6 +410,9 @@ def main() -> None: assert "隐私约束" in html, html assert "reports/output_execution_runs.json summary.model_executed_count > 0" in html, html assert "计划、metadata fallback、待评审和本地命令不会被当成完成证据" in html, html + assert "蓝图覆盖" in html, html + assert "本地蓝图" in html, html + assert "public world-class 仍以 world-class evidence ledger" in html, html assert "审查批注" in html, html[:9000] assert "当前没有 reviewer 批注" in html, html[:9000] assert "输出实验" in html, html[:2000] diff --git a/tests/verify_skill_os2_coverage.py b/tests/verify_skill_os2_coverage.py new file mode 100644 index 0000000..55c9c57 --- /dev/null +++ b/tests/verify_skill_os2_coverage.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +import json +import shutil +import subprocess +import sys +from pathlib import Path + + +ROOT = Path(__file__).resolve().parent.parent +SCRIPT = ROOT / "scripts" / "render_skill_os2_coverage.py" +TMP = ROOT / "tests" / "tmp_skill_os2_coverage" + + +def main() -> None: + shutil.rmtree(TMP, ignore_errors=True) + TMP.mkdir(parents=True, exist_ok=True) + output_json = TMP / "skill_os2_coverage.json" + output_md = TMP / "skill_os2_coverage.md" + proc = subprocess.run( + [ + sys.executable, + str(SCRIPT), + str(ROOT), + "--output-json", + str(output_json), + "--output-md", + str(output_md), + "--generated-at", + "2026-06-14", + ], + cwd=ROOT, + capture_output=True, + text=True, + check=True, + ) + payload = json.loads(proc.stdout) + assert payload["schema_version"] == "1.0", payload + assert payload["ok"] is True, payload + summary = payload["summary"] + assert summary["decision"] == "local-blueprint-covered-evidence-pending", summary + assert summary["module_count"] == 8, summary + assert summary["recommended_pr_count"] == 12, summary + assert summary["item_count"] == 20, summary + assert summary["pass_count"] == 20, summary + assert summary["warn_count"] == 0, summary + assert summary["missing_count"] == 0, summary + assert summary["local_blueprint_ready"] is True, summary + assert summary["public_world_class_ready"] is False, summary + assert summary["world_class_evidence_pending_count"] == 4, summary + modules = {item["key"]: item for item in payload["modules"]} + assert set(modules) == { + "skill-ir", + "output-eval-lab", + "runtime-conformance", + "trust-security", + "skill-atlas", + "registry-distribution", + "review-studio", + "telemetry-drift", + }, modules + assert modules["skill-ir"]["status"] == "pass", modules["skill-ir"] + assert modules["review-studio"]["status"] == "pass", modules["review-studio"] + assert any(entry["path"] == "reports/review-studio.html" and entry["exists"] for entry in modules["review-studio"]["evidence"]) + prs = {item["key"]: item for item in payload["recommended_prs"]} + assert set(prs) == { + "benchmark-methodology", + "output-eval-schema", + "output-eval-runner", + "output-quality-scorecard", + "skill-ir-v0", + "compiler-refactor", + "agent-skills-conformance", + "trust-check", + "skill-atlas-generator", + "registry-package-format", + "review-studio-2", + "migration-v2-docs", + }, prs + assert prs["agent-skills-conformance"]["status"] == "pass", prs["agent-skills-conformance"] + assert prs["benchmark-methodology"]["status"] == "pass", prs["benchmark-methodology"] + assert any(entry["path"] == "reports/benchmark_reproducibility.json" and entry["exists"] for entry in prs["benchmark-methodology"]["evidence"]) + assert payload["source_blueprint"]["core_module_count"] == 8, payload + assert payload["source_blueprint"]["recommended_pr_count"] == 12, payload + assert "Close the four world-class evidence ledger entries" in payload["next_highest_leverage"][0], payload + markdown = output_md.read_text(encoding="utf-8") + assert "Skill OS 2.0 Blueprint Coverage" in markdown, markdown + assert "local blueprint ready: `true`" in markdown, markdown + assert "public world-class ready: `false`" in markdown, markdown + assert "## Core Modules" in markdown, markdown + assert "## Recommended PR Coverage" in markdown, markdown + assert "`agent-skills-conformance`" not in markdown, markdown + assert "Agent Skills Conformance" in markdown, markdown + print(json.dumps({"ok": True}, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/tests/verify_yao_cli.py b/tests/verify_yao_cli.py index 043d80e..b15df07 100644 --- a/tests/verify_yao_cli.py +++ b/tests/verify_yao_cli.py @@ -74,6 +74,7 @@ def main() -> None: assert "quickstart" in parser_help, parser_help assert "review-studio" in parser_help, parser_help assert "skill-os2-audit" in parser_help, parser_help + assert "skill-os2-coverage" in parser_help, parser_help assert "world-class-evidence" in parser_help, parser_help assert "world-class-ledger" in parser_help, parser_help assert "benchmark-reproducibility" in parser_help, parser_help @@ -167,6 +168,20 @@ def main() -> None: assert skill_os2_audit_result["payload"]["summary"]["decision"] == "continue-iteration", skill_os2_audit_result assert skill_os2_audit_result["payload"]["summary"]["world_class_ready"] is False, skill_os2_audit_result + skill_os2_coverage_result = run( + "skill-os2-coverage", + str(ROOT), + "--output-json", + str(tmp_root / "skill_os2_coverage.json"), + "--output-md", + str(tmp_root / "skill_os2_coverage.md"), + "--generated-at", + "2026-06-14", + ) + assert skill_os2_coverage_result["ok"], skill_os2_coverage_result + assert skill_os2_coverage_result["payload"]["summary"]["local_blueprint_ready"] is True, skill_os2_coverage_result + assert skill_os2_coverage_result["payload"]["summary"]["public_world_class_ready"] is False, skill_os2_coverage_result + world_class_evidence_result = run( "world-class-evidence", str(ROOT), @@ -619,6 +634,7 @@ def main() -> None: assert "world_class_evidence_plan" in report_result["payload"]["artifacts"], report_result assert "world_class_evidence_ledger" in report_result["payload"]["artifacts"], report_result assert "benchmark_reproducibility" in report_result["payload"]["artifacts"], report_result + assert "skill_os2_coverage" in report_result["payload"]["artifacts"], report_result report_output_execution = json.loads((ROOT / "reports" / "output_execution_runs.json").read_text(encoding="utf-8")) assert report_output_execution["summary"]["command_executed_count"] == 10, report_output_execution assert report_output_execution["summary"]["recorded_fixture_count"] == 0, report_output_execution
路径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