From 9f793d59cfe358d938feba877a2e02ecd28ae300 Mon Sep 17 00:00:00 2001 From: yaojingang Date: Sun, 21 Jun 2026 16:33:27 +0800 Subject: [PATCH] Fix package skill entrypoint surface --- registry/index.json | 4 +- registry/packages/yao-meta-skill.json | 8 +- reports/adaptation_proposals.json | 2 +- reports/adaptation_proposals.md | 2 +- reports/benchmark_reproducibility.json | 72 ++- reports/benchmark_reproducibility.md | 28 +- reports/compiled_targets.json | 2 +- reports/context_budget.json | 14 +- reports/context_budget.md | 2 +- reports/context_budget_summary.json | 8 +- reports/evidence_consistency.json | 238 ++++----- reports/evidence_consistency.md | 2 +- reports/install_simulation.json | 26 +- reports/install_simulation.md | 6 +- reports/package_verification.json | 12 +- reports/package_verification.md | 4 +- reports/registry_audit.json | 12 +- reports/registry_audit.md | 4 +- reports/review-studio.html | 20 +- reports/review-studio.json | 311 ++++++------ reports/review-viewer.json | 42 +- reports/runtime_permission_probes.json | 10 +- reports/security_trust_report.json | 2 +- reports/security_trust_report.md | 2 +- reports/skill-interpretation.html | 2 +- reports/skill-interpretation.json | 42 +- reports/skill-os-2-review.md | 4 +- reports/skill-overview.html | 2 +- reports/skill-overview.json | 42 +- reports/skill_os2_audit.json | 4 +- reports/skill_os2_audit.md | 4 +- reports/skill_os2_coverage.json | 8 +- reports/skill_os2_coverage.md | 6 +- reports/skillops/daily/2026-06-21.json | 513 ++++++++++++++++++++ reports/skillops/daily/2026-06-21.md | 174 +++++++ reports/skillops/weekly/2026-W25.json | 23 +- reports/skillops/weekly/2026-W25.md | 12 +- reports/upgrade_check.json | 10 +- reports/world_class_claim_guard.json | 46 +- reports/world_class_claim_guard.md | 10 +- reports/world_class_evidence_preflight.html | 4 +- reports/world_class_evidence_preflight.json | 10 +- reports/world_class_evidence_preflight.md | 8 +- scripts/cross_packager.py | 2 + scripts/simulate_install.py | 15 + scripts/verify_package.py | 15 + tests/verify_install_simulation.py | 13 + tests/verify_package_verification.py | 15 + 48 files changed, 1320 insertions(+), 497 deletions(-) create mode 100644 reports/skillops/daily/2026-06-21.json create mode 100644 reports/skillops/daily/2026-06-21.md diff --git a/registry/index.json b/registry/index.json index 4b98f23..0fcfae4 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-21", "package_count": 1, "packages": [ { @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 6456ca9..dac6bc0 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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -48,10 +48,10 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" } diff --git a/reports/adaptation_proposals.json b/reports/adaptation_proposals.json index 4c859d7..359d404 100644 --- a/reports/adaptation_proposals.json +++ b/reports/adaptation_proposals.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20T12:35:26Z", + "generated_at": "2026-06-21", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, diff --git a/reports/adaptation_proposals.md b/reports/adaptation_proposals.md index 3e02623..8092cdc 100644 --- a/reports/adaptation_proposals.md +++ b/reports/adaptation_proposals.md @@ -1,6 +1,6 @@ # Adaptation Proposals -- Generated at: `2026-06-20T12:35:26Z` +- Generated at: `2026-06-21` - Pattern report: `reports/user_patterns.json` - Proposal only: `true` - Writes repository files: `false` diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 86a4fed..010c57a 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -1,45 +1,27 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "git_status": { "available": true, "dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "generated_dirty": true, - "generated_changed_file_count": 71, + "generated_changed_file_count": 3, "source_dirty": false, "source_changed_file_count": 0, "sample": [ - " M registry/index.json", - " M registry/packages/yao-meta-skill.json", - " M reports/adaptation_proposals.json", - " M reports/adaptation_proposals.md", - " M reports/adoption_drift_report.json", - " M reports/adoption_drift_report.md", - " M reports/architecture_maintainability.json", - " M reports/architecture_maintainability.md", - " M reports/artifact-design-profile.json", - " M reports/artifact-design-profile.md", - " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md" + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json" ], "source_sample": [], "generated_sample": [ - " M registry/index.json", - " M registry/packages/yao-meta-skill.json", - " M reports/adaptation_proposals.json", - " M reports/adaptation_proposals.md", - " M reports/adoption_drift_report.json", - " M reports/adoption_drift_report.md", - " M reports/architecture_maintainability.json", - " M reports/architecture_maintainability.md", - " M reports/artifact-design-profile.json", - " M reports/artifact-design-profile.md", - " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md" + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json" ], "generated_dirty_prefixes": [ "dist/", @@ -57,9 +39,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -82,11 +64,11 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, "beta_test_release": { "ready": true, @@ -129,10 +111,10 @@ }, "release_lock": { "ready": true, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "status_scope": "generation-time status before this report is written", "source_changed_file_count": 0, - "generated_changed_file_count": 71, + "generated_changed_file_count": 3, "reason": "only generated evidence artifacts were dirty at generation time" }, "evidence_bundle": { @@ -141,7 +123,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4" + "sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -250,7 +232,7 @@ "path": "reports/security_trust_report.json", "exists": true, "bytes": 139090, - "sha256": "7ae59b7700db912ea4c72a3626d2fab5ee975e264fd067ca1ca6f94ee726c91f" + "sha256": "2ef43f009be68b1dd1a994b841d69b89723cf0b6d7725dc6ad86670d14235135" }, { "label": "python_compatibility", @@ -264,28 +246,28 @@ "path": "reports/registry_audit.json", "exists": true, "bytes": 3137, - "sha256": "1c9d988340746f6f00406718f3c6473b440379b8f45190ef51cc9e996e9107b8" + "sha256": "03cb951dc8ba71843602bffa1148d7a40095a7e109a024193422aaa8a94ba4c7" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, - "bytes": 19338, - "sha256": "7aa6c25e8154d246ace49f7ab9159fa85f96d1d4ebb7e2bb03c7b223260a908b" + "bytes": 19525, + "sha256": "e2ad726ce0486be0f57d88e518ef4d265479a04756419c6f8df50cf7d05b1f14" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, - "bytes": 8758, - "sha256": "247c037353fe29aa638945a2d5633228e16f30ff44c27ca1a57cb70ccc441359" + "bytes": 8793, + "sha256": "6cf79201727352e5f92f4e1fa1697a069ab325d526065f5316ee939e84475ef5" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13824, - "sha256": "80ddfb66a136a52ff9eb9aca2f6a9fe72cb923a066028f0baa9db2c0e03f0689" + "sha256": "1079221b5ac72e19e3e7a0f4970f133d828336f34bac82abf3fb867d18834cfa" }, { "label": "world_class_evidence_plan", @@ -347,8 +329,8 @@ "label": "world_class_claim_guard", "path": "reports/world_class_claim_guard.json", "exists": true, - "bytes": 17958, - "sha256": "47fae260e9d6d2b7c39685a1e746aa79bf79c1e6b2cd6b6c4fa706f857aa8325" + "bytes": 18759, + "sha256": "556700f05a65bda9b55d829c109d1aec54ae5b4da80ffbefe1196319df86f117" } ], "missing_artifacts": [], diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index f04493b..b4efcd7 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,11 +1,11 @@ # Benchmark Reproducibility -Generated at: `2026-06-20` -Commit: `f37e78def3464bc818429c47e1ecc9e033c7356c` +Generated at: `2026-06-21` +Commit: `139d0fd15ce995757d6d75fb45fb417d0b1b4e7d` Working tree dirty at generation: `true` Source tree dirty at generation: `false` Generated evidence dirty at generation: `true` -Evidence bundle SHA256: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4` +Evidence bundle SHA256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad` ## Summary @@ -14,8 +14,8 @@ Evidence bundle SHA256: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399 - methodology complete: `true` - required artifacts: `25` - missing artifacts: `0` -- source contract sha256: `e5b4ffc5c3f9` -- archive sha256: `7db44f059844` +- source contract sha256: `eddeea80a657` +- archive sha256: `c56a8519244c` - output cases: `5` - disclosed failure cases: `3` - reproduction commands: `23` @@ -28,9 +28,9 @@ Evidence bundle SHA256: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399 - beta deferred evidence: `4` - public claim ready: `false` - public claim blockers: `3` -- changed files at generation: `71` +- changed files at generation: `3` - source changed files at generation: `0` -- generated changed files at generation: `71` +- generated changed files at generation: `3` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit and dirty samples are generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below. @@ -74,7 +74,7 @@ This report proves local benchmark reproducibility only. It keeps external provi - algorithm: `sha256(path,label,exists,artifact_sha256)` - artifacts: `25` / `25` -- sha256: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4` +- sha256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad` ## Methodology Sections @@ -101,12 +101,12 @@ This report proves local benchmark reproducibility only. It keeps external provi | review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` | | trigger_scorecard | `reports/route_scorecard.json` | present | `a649547a7d3d` | | runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` | -| trust_report | `reports/security_trust_report.json` | present | `7ae59b7700db` | +| trust_report | `reports/security_trust_report.json` | present | `2ef43f009be6` | | python_compatibility | `reports/python_compatibility.json` | present | `7f3fc8e785bf` | -| registry_audit | `reports/registry_audit.json` | present | `1c9d98834074` | -| package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` | -| install_simulation | `reports/install_simulation.json` | present | `247c037353fe` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `80ddfb66a136` | +| registry_audit | `reports/registry_audit.json` | present | `03cb951dc8ba` | +| package_verification | `reports/package_verification.json` | present | `e2ad726ce048` | +| install_simulation | `reports/install_simulation.json` | present | `6cf792017273` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `1079221b5ac7` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `374ee899a0ba` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `565ae80a8228` | | world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `e36a7e753f41` | @@ -115,7 +115,7 @@ This report proves local benchmark reproducibility only. It keeps external provi | world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `d8678010fcfd` | | world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `fe3a73bf2eb9` | | world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `022594013b24` | -| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `47fae260e9d6` | +| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `556700f05a65` | ## Reproduction Commands diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index 079c96b..7eb7eaa 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "target_count": 5, diff --git a/reports/context_budget.json b/reports/context_budget.json index 97cf9b2..40a0344 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,15 +6,15 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 805, - "other_text_tokens": 1167829, + "other_text_tokens": 1169049, "estimated_initial_load_tokens": 998, - "estimated_total_text_tokens": 1168634, - "deferred_resource_tokens": 530464, + "estimated_total_text_tokens": 1169854, + "deferred_resource_tokens": 530871, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155 }, { @@ -36,7 +36,7 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155 } ], @@ -59,14 +59,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 570, + "relevant_file_count": 571, "unused_resource_dirs": [], "quality_signal_points": 140, "quality_density": 140.3 diff --git a/reports/context_budget.md b/reports/context_budget.md index 4e309a3..87bfeca 100644 --- a/reports/context_budget.md +++ b/reports/context_budget.md @@ -2,7 +2,7 @@ | Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status | | --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- | -| root | `.` | `production` | 1000 | 998 | 805 | 530464 | `governed` | scripts:469161 | 140.3 | - | ok | +| root | `.` | `production` | 1000 | 998 | 805 | 530871 | `governed` | scripts:469568 | 140.3 | - | ok | | complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok | | governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok | diff --git a/reports/context_budget_summary.json b/reports/context_budget_summary.json index 5326c21..95c5a2e 100644 --- a/reports/context_budget_summary.json +++ b/reports/context_budget_summary.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-31", + "generated_at": "2026-06-21", "targets": [ { "label": "root", @@ -8,11 +8,11 @@ "budget_limit": 1000, "initial_tokens": 998, "skill_body_tokens": 805, - "deferred_resource_tokens": 530464, + "deferred_resource_tokens": 530871, "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155 } ], @@ -35,7 +35,7 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } diff --git a/reports/evidence_consistency.json b/reports/evidence_consistency.json index bc5070c..11f9187 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "check_count": 39, @@ -324,12 +324,12 @@ "status": "pass", "expected": { "status": "pass", - "detail": "initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3", + "detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3", "evidence": "reports/context_budget.json" }, "actual": { "status": "pass", - "detail": "initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3", + "detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3", "evidence": "reports/context_budget.json" }, "paths": [ @@ -357,7 +357,7 @@ "actual": { "available": true, "clean": false, - "changed_file_count": 53 + "changed_file_count": 21 }, "paths": [ "reports/benchmark_reproducibility.json" @@ -398,8 +398,8 @@ "key": "overview-benchmark-commit", "label": "overview embeds the benchmark commit", "status": "pass", - "expected": "f37e78def3464bc818429c47e1ecc9e033c7356c", - "actual": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", + "actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-overview.json" @@ -414,12 +414,12 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "beta_test_ready": true, "beta_test_blocker_count": 0, "beta_test_deferred_evidence_count": 4, @@ -430,12 +430,12 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "beta_test_ready": true, "beta_test_blocker_count": 0, "beta_test_deferred_evidence_count": 4, @@ -454,13 +454,13 @@ "status": "pass", "expected": { "event_count": 1, - "adoption_sample_count": 0, - "activation_count": 0, - "accepted_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "activation_count": 1, + "accepted_count": 1, + "adoption_rate": 100.0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "source_types": { "manual": 1 @@ -468,13 +468,13 @@ }, "actual": { "event_count": 1, - "adoption_sample_count": 0, - "activation_count": 0, - "accepted_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "activation_count": 1, + "accepted_count": 1, + "adoption_rate": 100.0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "source_types": { "manual": 1 @@ -497,8 +497,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -509,8 +509,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -530,7 +530,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 11 + "source_pass_count": 12 }, "actual": { "ready": false, @@ -538,7 +538,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 11 + "source_pass_count": 12 }, "paths": [ "reports/world_class_evidence_ledger.json", @@ -550,8 +550,8 @@ "key": "interpretation-benchmark-commit", "label": "interpretation embeds the benchmark commit", "status": "pass", - "expected": "f37e78def3464bc818429c47e1ecc9e033c7356c", - "actual": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", + "actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-interpretation.json" @@ -566,12 +566,12 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "beta_test_ready": true, "beta_test_blocker_count": 0, "beta_test_deferred_evidence_count": 4, @@ -582,12 +582,12 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "beta_test_ready": true, "beta_test_blocker_count": 0, "beta_test_deferred_evidence_count": 4, @@ -606,13 +606,13 @@ "status": "pass", "expected": { "event_count": 1, - "adoption_sample_count": 0, - "activation_count": 0, - "accepted_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "activation_count": 1, + "accepted_count": 1, + "adoption_rate": 100.0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "source_types": { "manual": 1 @@ -620,13 +620,13 @@ }, "actual": { "event_count": 1, - "adoption_sample_count": 0, - "activation_count": 0, - "accepted_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "activation_count": 1, + "accepted_count": 1, + "adoption_rate": 100.0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "source_types": { "manual": 1 @@ -649,8 +649,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -661,8 +661,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -682,7 +682,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 11 + "source_pass_count": 12 }, "actual": { "ready": false, @@ -690,7 +690,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 11 + "source_pass_count": 12 }, "paths": [ "reports/world_class_evidence_ledger.json", @@ -1489,7 +1489,7 @@ "external_pending_count": 3, "human_pending_count": 1, "source_check_count": 19, - "source_pass_count": 11, + "source_pass_count": 12, "conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。", "conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.", "entries": [ @@ -1546,8 +1546,7 @@ "summary_zh": "真实外部客户端 metadata-only 事件仍未导入。", "summary_en": "Real external-client metadata-only events have not been imported yet.", "blocked_checks": [ - "External events", - "Adoption sample" + "External events" ] } ] @@ -1561,7 +1560,7 @@ "external_pending_count": 3, "human_pending_count": 1, "source_check_count": 19, - "source_pass_count": 11, + "source_pass_count": 12, "conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。", "conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.", "entries": [ @@ -1618,8 +1617,7 @@ "summary_zh": "真实外部客户端 metadata-only 事件仍未导入。", "summary_en": "Real external-client metadata-only events have not been imported yet.", "blocked_checks": [ - "External events", - "Adoption sample" + "External events" ] } ] @@ -1682,10 +1680,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -1718,7 +1716,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -1770,10 +1768,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -1806,7 +1804,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -1969,15 +1967,15 @@ "expected": { "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "public_claim_ready": false }, "actual": { "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 11, - "world_class_source_blocked_count": 8, + "world_class_source_pass_count": 12, + "world_class_source_blocked_count": 7, "public_claim_ready": false }, "paths": [ @@ -2031,8 +2029,8 @@ "expected": { "pending_count": 4, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "preflight_counts_as_evidence": false, "credential_value_exposed": false @@ -2040,8 +2038,8 @@ "actual": { "pending_count": 4, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "ready_to_claim_world_class": false, "preflight_counts_as_evidence": false, "credential_value_exposed": false @@ -2141,8 +2139,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 8, - "supporting_evidence_ready_count": 7, + "supporting_evidence_total_count": 11, + "supporting_evidence_ready_count": 11, "submission_ref_copy_to_artifact_refs": true, "supporting_evidence_copy_to_artifact_refs": false }, @@ -2187,8 +2185,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 8, - "supporting_evidence_ready_count": 7, + "supporting_evidence_total_count": 11, + "supporting_evidence_ready_count": 11, "submission_ref_copy_to_artifact_refs": true, "supporting_evidence_copy_to_artifact_refs": false }, @@ -2218,7 +2216,7 @@ "summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 12, + "phase_queue_row_count": 11, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2251,8 +2249,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 8, - "row_count": 8, + "blocked_count": 7, + "row_count": 7, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2376,15 +2374,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2394,7 +2392,7 @@ "operator_runbook_summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 12, + "phase_queue_row_count": 11, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2427,8 +2425,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 8, - "row_count": 8, + "blocked_count": 7, + "row_count": 7, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2552,15 +2550,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2674,15 +2672,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2693,7 +2691,7 @@ "summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 12, + "phase_queue_row_count": 11, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2726,8 +2724,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 8, - "row_count": 8, + "blocked_count": 7, + "row_count": 7, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2746,7 +2744,7 @@ "operator_runbook_summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 12, + "phase_queue_row_count": 11, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2779,8 +2777,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 8, - "row_count": 8, + "blocked_count": 7, + "row_count": 7, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2904,15 +2902,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3026,15 +3024,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3148,15 +3146,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 2, - "row_count": 2, + "blocked_count": 1, + "row_count": 1, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", + "next_action_id": "native-client-telemetry-source-check-external_source_events", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3202,7 +3200,9 @@ "agents/interface.yaml": true, "evidence/world_class/README.md": true, "security/permission_policy.json": true, - "reports/world_class_evidence_ledger.json": true + "reports/world_class_evidence_ledger.json": true, + "dist/manifest.json": true, + "dist/targets/openai/adapter.json": true }, "prohibited_surfaces": [] }, @@ -3221,7 +3221,9 @@ "agents/interface.yaml": true, "evidence/world_class/README.md": true, "security/permission_policy.json": true, - "reports/world_class_evidence_ledger.json": true + "reports/world_class_evidence_ledger.json": true, + "dist/manifest.json": true, + "dist/targets/openai/adapter.json": true }, "prohibited_surfaces": [] }, @@ -3252,8 +3254,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "plan_keys": [ "human-adjudication", "native-client-telemetry", @@ -3410,8 +3412,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 11, - "source_blocked_count": 8, + "source_pass_count": 12, + "source_blocked_count": 7, "plan_keys": [ "human-adjudication", "native-client-telemetry", @@ -3577,8 +3579,8 @@ "`3` warnings", "`69` declared internal modules", "`86 / 86` CLI help smoke checks passing across `155` scripts", - "`689` zip entries", - "archive with `689` entries", + "`580` zip entries", + "archive with `580` entries", "`12` installer permission checks enforced", "`0` permission failures", "`25` required artifacts", diff --git a/reports/evidence_consistency.md b/reports/evidence_consistency.md index 169b99b..92322f9 100644 --- a/reports/evidence_consistency.md +++ b/reports/evidence_consistency.md @@ -1,6 +1,6 @@ # Evidence Consistency -Generated at: `2026-06-20` +Generated at: `2026-06-21` ## Summary diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 6518357..341369f 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -1,14 +1,15 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "skill_dir": ".", - "package_dir": "tests/tmp_review_studio/dist", - "install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill", - "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", + "package_dir": "dist", + "install_root": "dist/install-simulation/simulate-yao-meta-skill", + "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -26,13 +27,18 @@ { "id": "archive-present", "status": "pass", - "detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip" + "detail": "Package archive exists: dist/yao-meta-skill.zip" }, { "id": "archive-safe-paths", "status": "pass", "detail": "Archive has no absolute or parent-traversal entries" }, + { + "id": "single-skill-entrypoint", + "status": "pass", + "detail": "Installed package exposes only the root SKILL.md entrypoint" + }, { "id": "single-top-level", "status": "pass", @@ -272,9 +278,9 @@ "failures": [], "warnings": [], "artifacts": { - "archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip", - "package_manifest": "tests/tmp_review_studio/dist/manifest.json", - "json": "tests/tmp_review_studio/install_simulation.json", - "markdown": "tests/tmp_review_studio/install_simulation.md" + "archive": "dist/yao-meta-skill.zip", + "package_manifest": "dist/manifest.json", + "json": "reports/install_simulation.json", + "markdown": "reports/install_simulation.md" } } diff --git a/reports/install_simulation.md b/reports/install_simulation.md index b0d16da..77a11ed 100644 --- a/reports/install_simulation.md +++ b/reports/install_simulation.md @@ -1,8 +1,9 @@ # Install Simulation - OK: `True` -- Package directory: `tests/tmp_review_studio/dist` +- Package directory: `dist` - Archive extracted: `True` +- Nested SKILL.md entries: `0` - Entrypoint loaded: `True` - Manifest loaded: `True` - Interface loaded: `True` @@ -16,8 +17,9 @@ | Check | Status | Detail | | --- | --- | --- | -| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip | +| `archive-present` | `pass` | Package archive exists: dist/yao-meta-skill.zip | | `archive-safe-paths` | `pass` | Archive has no absolute or parent-traversal entries | +| `single-skill-entrypoint` | `pass` | Installed package exposes only the root SKILL.md entrypoint | | `single-top-level` | `pass` | Archive top-level directory is yao-meta-skill | | `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable | | `entrypoint-name` | `pass` | Installed SKILL.md name matches package directory | diff --git a/reports/package_verification.json b/reports/package_verification.json index c372b4b..60f0188 100644 --- a/reports/package_verification.json +++ b/reports/package_verification.json @@ -1,15 +1,16 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-21", "skill_dir": ".", "package_dir": "dist", "summary": { "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -614,6 +615,11 @@ "status": "pass", "detail": "Archive contains yao-meta-skill/agents/interface.yaml" }, + { + "id": "archive-single-skill-entrypoint", + "status": "pass", + "detail": "Archive exposes only the root SKILL.md entrypoint" + }, { "id": "archive-excludes-generated", "status": "pass", diff --git a/reports/package_verification.md b/reports/package_verification.md index 96668cc..70df964 100644 --- a/reports/package_verification.md +++ b/reports/package_verification.md @@ -4,7 +4,8 @@ - Package directory: `dist` - Targets: `4 / 4` adapters present - Archive present: `True` -- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2` +- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7` +- Nested SKILL.md entries: `0` - Failures: `0` - Warnings: `0` @@ -132,6 +133,7 @@ | `archive-entry-yao-meta-skill/SKILL.md` | `pass` | Archive contains yao-meta-skill/SKILL.md | | `archive-entry-yao-meta-skill/manifest.json` | `pass` | Archive contains yao-meta-skill/manifest.json | | `archive-entry-yao-meta-skill/agents/interface.yaml` | `pass` | Archive contains yao-meta-skill/agents/interface.yaml | +| `archive-single-skill-entrypoint` | `pass` | Archive exposes only the root SKILL.md entrypoint | | `archive-excludes-generated` | `pass` | Archive excludes generated dist/, .previews/, and tests/tmp* contents | | `registry-ok` | `pass` | Registry audit is OK | | `registry-name-match` | `pass` | Registry package name matches package manifest | diff --git a/reports/registry_audit.json b/reports/registry_audit.json index e370512..82b3882 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -53,16 +53,16 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "index": { "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "package_count": 1, "packages": [ { @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index 37ce931..b2b885c 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd` -- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2` +- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383` +- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index 786cfc8..23bc94b 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -772,12 +772,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 10; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

3 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

155 scripts scanned; secrets found

Py Compat0

234 files scanned for Python 3.11

Arch Debt0

719 largest lines; 0 watchlist; 6 early; 71 CLI handlers; 18 in entrypoint

Atlas5

11 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

175 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

689 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 10; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

3 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

155 scripts scanned; secrets found

Py Compat0

234 files scanned for Python 3.11

Arch Debt0

719 largest lines; 0 watchlist; 6 early; 71 CLI handlers; 18 in entrypoint

Atlas5

11 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

184 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

580 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 10; recorded 0; reviewed 0/5; review pending 5

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

232 Python files; 0 hotspots; 0 watchlist files; 6 early watch files; 0 blockers; largest 719 lines; 71 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

1 metadata events; adoption 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 12/19 pass; 7 blocked; overclaim guard true

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

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

意图画布

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

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

232 Python files; 0 hotspots; 0 watchlist files; 6 early watch files; 0 blockers; largest 719 lines; 71 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

1 metadata events; adoption 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 12/19 pass; 7 blocked; overclaim guard true

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md 证据
@@ -792,7 +792,7 @@

修复动作

-
关注

输出实验

补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。同步补足盲审声明。

没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。
修复位置
evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_kit.html + reports/output_review_adjudication.md + reports/output_review_decisions.json
验证命令
python3 scripts/adjudicate_output_review.py --write-template && python3 scripts/yao.py output-review
关注

人工批准

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

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

世界证据

补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。

世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。
修复位置
reports/world_class_operator_runbook.html + reports/world_class_evidence_ledger.md + reports/world_class_evidence_intake.md + reports/world_class_submission_review.md
验证命令
python3 scripts/yao.py world-class-runbook . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py review-studio .

证据采集

以下条目仍需真实外部或人工证据;提交文件、校验命令和阻断检查必须同时闭环。

pending · external

Provider Holdout

model-executed 10; token-observed 10

提交
evidence/world_class/submissions/provider-holdout.json
模板
evidence/world_class/templates/provider-holdout.intake.json
阻断
0 blocked / 3 pass
修复
1 repair rows; counts as completion: false
阶段
1 blocked phases; counts as completion: false
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
阻断检查

暂无阻断检查。

阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: operator with provider credentialsevidence: provider-holdoutSet one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckprovider-api-keyoperator with provider credentialsRequired env_any precheck is missing.Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key provider-holdout --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.
  2. For OpenAI Responses: python3 scripts/yao.py output-exec --provider-runner openai --provider-model ${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini} --timeout-seconds 60
  3. For DeepSeek Chat Completions: python3 scripts/yao.py output-exec --provider-runner deepseek --provider-model deepseek-v4-flash --provider-api-format chat-completions --provider-thinking disabled --api-key-env DEEPSEEK_API_KEY --timeout-seconds 120
采集契约
来源要求
  • provider-backed model run
  • observed timing
  • observed token metadata
通过条件
  • 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
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref1 / 1 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Do not commit provider credentials or environment dumps.
  • The output execution report records output hashes and aggregate run metadata, not raw provider prompts.
pending · human

Human Adjudication

0/5 decisions; pending 5

提交
evidence/world_class/submissions/human-adjudication.json
模板
evidence/world_class/templates/human-adjudication.intake.json
阻断
5 blocked / 5 pass
修复
6 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication.
阻断检查
  • No pending decisionspending_count: 5 / ==0Record a reviewer choice and reason for every pair.
  • Judgments completejudgment_count: 0 / ==pair_countEvery pair needs one valid human judgment.
  • Reviewer metadatareviewer_metadata_present: False / trueRecord reviewer and reviewed_at before adjudication can count.
  • Blind review attestedblind_review_attested: False / trueSet reviewer_attestation only after choices are completed before opening the answer key.
  • Human evidence readyready_for_human_evidence: False / trueComplete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: human reviewerevidence: human-adjudicationAssign a real reviewer identity before claiming human adjudication.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source5 / 5 blockedowners: human reviewerevidence: human-adjudicationSet reviewer_attestation only after choices are completed before opening the answer key.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckhuman-reviewerhuman reviewerRequired human precheck is human-required.Assign a real reviewer identity before claiming human adjudication.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkblind_review_attestedhuman reviewerCurrent value False does not satisfy 'true'.Set reviewer_attestation only after choices are completed before opening the answer key.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkjudgment_counthuman reviewerCurrent value 0 does not satisfy '==pair_count'.Every pair needs one valid human judgment.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkpending_counthuman reviewerCurrent value 5 does not satisfy '==0'.Record a reviewer choice and reason for every pair.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkready_for_human_evidencehuman reviewerCurrent value False does not satisfy 'true'.Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkreviewer_metadata_presenthuman reviewerCurrent value False does not satisfy 'true'.Record reviewer and reviewed_at before adjudication can count.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key human-adjudication --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/yao.py output-review-kit --write-template
  2. Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.
  3. python3 scripts/adjudicate_output_review.py --write-template
采集契约
来源要求
  • real reviewer identity
  • blind A/B decisions
  • answer key unopened until decisions exist
通过条件
  • 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/output_review_adjudication.json summary.reviewer_metadata_present is true
  • reports/output_review_adjudication.json summary.blind_review_attested is true
  • reports/output_review_adjudication.json review_integrity.blind_pack_sha256 exists and matches reports/output_review_decisions.json
  • reports/output_review_adjudication.json pairs and reviewer_checklist store prompt_sha256, not raw prompt text
  • reports/output_review_adjudication.json summary.ready_for_human_evidence is true
  • reports/skill_os2_audit.json item human-adjudication status becomes pass
证据资产
  • reports/output_blind_review_pack.md
  • reports/output_review_kit.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence8 / 8 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Reviewer decisions should not include raw user data or private customer detail.
  • Reviewer reasons must be rubric-based and must not include raw user data or private customer detail.
  • The decision importer rejects raw prompt, output, transcript, message, and answer-key fields.
  • The adjudication evidence stores prompt_sha256 instead of raw prompt text.
pending · external

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

提交
evidence/world_class/submissions/native-permission-enforcement.json
模板
evidence/world_class/templates/native-permission-enforcement.intake.json
阻断
1 blocked / 2 pass
修复
2 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Integrate a real target-client or external installer runtime guard before claiming native permission enforcement.
阻断检查
  • Native enforcementnative_enforcement_count: 0 / >0Collect real target-client or external runtime guard proof.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: target client or installer integratorevidence: native-permission-enforcementAttach a real target-client or external installer runtime guard; metadata fallback is not enough.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source1 / 1 blockedowners: target client or installer integratorevidence: native-permission-enforcementCollect real target-client or external runtime guard proof.python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · prechecknative-guardtarget client or installer integratorRequired external precheck is external-required.Attach a real target-client or external installer runtime guard; metadata fallback is not enough.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checknative_enforcement_counttarget client or installer integratorCurrent value 0 does not satisfy '>0'.Collect real target-client or external runtime guard proof.python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.
  2. Update the generated target adapter only when the guard is actually enforced by that target.
  3. python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip
采集契约
来源要求
  • real target client or external installer runtime guard
  • native enforcement flag or externally accepted guard proof
  • residual risk retained for fallback targets
通过条件
  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence
  • 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
  • reports/install_simulation.json
  • reports/install_simulation.md
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence7 / 8 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Do not mark native_enforcement true for metadata-only fallbacks.
  • Keep residual risks visible for targets that still rely on operator enforcement.
pending · external

Native Client Telemetry

external source events 0; adoption samples 1

提交
evidence/world_class/submissions/native-client-telemetry.json
模板
evidence/world_class/templates/native-client-telemetry.intake.json
阻断
1 blocked / 2 pass
修复
2 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Install a real client against the native host and import production metadata-only events.
阻断检查
  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: Browser/Chrome/IDE/provider client integratorevidence: native-client-telemetryInstall a real Browser, Chrome, IDE, or provider client that emits metadata-only events.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source1 / 1 blockedowners: Browser/Chrome/IDE/provider client integratorevidence: native-client-telemetryImport at least one metadata-only event from a real client.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckexternal-clientBrowser/Chrome/IDE/provider client integratorRequired external precheck is external-required.Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkexternal_source_eventsBrowser/Chrome/IDE/provider client integratorCurrent value 0 does not satisfy '>0'.Import at least one metadata-only event from a real client.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/
  2. Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.
  3. python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
采集契约
来源要求
  • real external client source
  • metadata-only event
  • local-first import path
通过条件
  • 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
  • evidence/world_class/intake.schema.json
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • 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.
+
关注

输出实验

补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。同步补足盲审声明。

没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。
修复位置
evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_kit.html + reports/output_review_adjudication.md + reports/output_review_decisions.json
验证命令
python3 scripts/adjudicate_output_review.py --write-template && python3 scripts/yao.py output-review
关注

人工批准

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

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

世界证据

补齐 provider、真人盲评、原生权限执行和真实客户端遥测证据,或明确本次发布不声明 world-class 完成。

世界级结论必须来自已接受的外部/人工证据;计划、metadata fallback、待评审和本地命令都不能替代完成证据。
修复位置
reports/world_class_operator_runbook.html + reports/world_class_evidence_ledger.md + reports/world_class_evidence_intake.md + reports/world_class_submission_review.md
验证命令
python3 scripts/yao.py world-class-runbook . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py review-studio .

证据采集

以下条目仍需真实外部或人工证据;提交文件、校验命令和阻断检查必须同时闭环。

pending · external

Provider Holdout

model-executed 10; token-observed 10

提交
evidence/world_class/submissions/provider-holdout.json
模板
evidence/world_class/templates/provider-holdout.intake.json
阻断
0 blocked / 3 pass
修复
1 repair rows; counts as completion: false
阶段
1 blocked phases; counts as completion: false
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
阻断检查

暂无阻断检查。

阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: operator with provider credentialsevidence: provider-holdoutSet one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckprovider-api-keyoperator with provider credentialsRequired env_any precheck is missing.Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key provider-holdout --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.
  2. For OpenAI Responses: python3 scripts/yao.py output-exec --provider-runner openai --provider-model ${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini} --timeout-seconds 60
  3. For DeepSeek Chat Completions: python3 scripts/yao.py output-exec --provider-runner deepseek --provider-model deepseek-v4-flash --provider-api-format chat-completions --provider-thinking disabled --api-key-env DEEPSEEK_API_KEY --timeout-seconds 120
采集契约
来源要求
  • provider-backed model run
  • observed timing
  • observed token metadata
通过条件
  • 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
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref1 / 1 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Do not commit provider credentials or environment dumps.
  • The output execution report records output hashes and aggregate run metadata, not raw provider prompts.
pending · human

Human Adjudication

0/5 decisions; pending 5

提交
evidence/world_class/submissions/human-adjudication.json
模板
evidence/world_class/templates/human-adjudication.intake.json
阻断
5 blocked / 5 pass
修复
6 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication.
阻断检查
  • No pending decisionspending_count: 5 / ==0Record a reviewer choice and reason for every pair.
  • Judgments completejudgment_count: 0 / ==pair_countEvery pair needs one valid human judgment.
  • Reviewer metadatareviewer_metadata_present: False / trueRecord reviewer and reviewed_at before adjudication can count.
  • Blind review attestedblind_review_attested: False / trueSet reviewer_attestation only after choices are completed before opening the answer key.
  • Human evidence readyready_for_human_evidence: False / trueComplete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: human reviewerevidence: human-adjudicationAssign a real reviewer identity before claiming human adjudication.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source5 / 5 blockedowners: human reviewerevidence: human-adjudicationSet reviewer_attestation only after choices are completed before opening the answer key.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckhuman-reviewerhuman reviewerRequired human precheck is human-required.Assign a real reviewer identity before claiming human adjudication.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkblind_review_attestedhuman reviewerCurrent value False does not satisfy 'true'.Set reviewer_attestation only after choices are completed before opening the answer key.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkjudgment_counthuman reviewerCurrent value 0 does not satisfy '==pair_count'.Every pair needs one valid human judgment.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkpending_counthuman reviewerCurrent value 5 does not satisfy '==0'.Record a reviewer choice and reason for every pair.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkready_for_human_evidencehuman reviewerCurrent value False does not satisfy 'true'.Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkreviewer_metadata_presenthuman reviewerCurrent value False does not satisfy 'true'.Record reviewer and reviewed_at before adjudication can count.python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key human-adjudication --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/yao.py output-review-kit --write-template
  2. Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.
  3. python3 scripts/adjudicate_output_review.py --write-template
采集契约
来源要求
  • real reviewer identity
  • blind A/B decisions
  • answer key unopened until decisions exist
通过条件
  • 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/output_review_adjudication.json summary.reviewer_metadata_present is true
  • reports/output_review_adjudication.json summary.blind_review_attested is true
  • reports/output_review_adjudication.json review_integrity.blind_pack_sha256 exists and matches reports/output_review_decisions.json
  • reports/output_review_adjudication.json pairs and reviewer_checklist store prompt_sha256, not raw prompt text
  • reports/output_review_adjudication.json summary.ready_for_human_evidence is true
  • reports/skill_os2_audit.json item human-adjudication status becomes pass
证据资产
  • reports/output_blind_review_pack.md
  • reports/output_review_kit.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence8 / 8 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Reviewer decisions should not include raw user data or private customer detail.
  • Reviewer reasons must be rubric-based and must not include raw user data or private customer detail.
  • The decision importer rejects raw prompt, output, transcript, message, and answer-key fields.
  • The adjudication evidence stores prompt_sha256 instead of raw prompt text.
pending · external

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

提交
evidence/world_class/submissions/native-permission-enforcement.json
模板
evidence/world_class/templates/native-permission-enforcement.intake.json
阻断
1 blocked / 2 pass
修复
2 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Integrate a real target-client or external installer runtime guard before claiming native permission enforcement.
阻断检查
  • Native enforcementnative_enforcement_count: 0 / >0Collect real target-client or external runtime guard proof.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: target client or installer integratorevidence: native-permission-enforcementAttach a real target-client or external installer runtime guard; metadata fallback is not enough.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source1 / 1 blockedowners: target client or installer integratorevidence: native-permission-enforcementCollect real target-client or external runtime guard proof.python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · prechecknative-guardtarget client or installer integratorRequired external precheck is external-required.Attach a real target-client or external installer runtime guard; metadata fallback is not enough.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checknative_enforcement_counttarget client or installer integratorCurrent value 0 does not satisfy '>0'.Collect real target-client or external runtime guard proof.python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.
  2. Update the generated target adapter only when the guard is actually enforced by that target.
  3. python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip
采集契约
来源要求
  • real target client or external installer runtime guard
  • native enforcement flag or externally accepted guard proof
  • residual risk retained for fallback targets
通过条件
  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence
  • 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
  • reports/install_simulation.json
  • reports/install_simulation.md
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence11 / 11 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Do not mark native_enforcement true for metadata-only fallbacks.
  • Keep residual risks visible for targets that still rely on operator enforcement.
pending · external

Native Client Telemetry

external source events 0; adoption samples 1

提交
evidence/world_class/submissions/native-client-telemetry.json
模板
evidence/world_class/templates/native-client-telemetry.intake.json
阻断
1 blocked / 2 pass
修复
2 repair rows; counts as completion: false
阶段
2 blocked phases; counts as completion: false
下一步
Install a real client against the native host and import production metadata-only events.
阻断检查
  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
阶段队列
  • #20 · unblock-accessUnblock access1 / 1 blockedowners: Browser/Chrome/IDE/provider client integratorevidence: native-client-telemetryInstall a real Browser, Chrome, IDE, or provider client that emits metadata-only events.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-sourceCollect source1 / 1 blockedowners: Browser/Chrome/IDE/provider client integratorevidence: native-client-telemetryImport at least one metadata-only event from a real client.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
修复清单
  • #20 · unblock-access · precheckexternal-clientBrowser/Chrome/IDE/provider client integratorRequired external precheck is external-required.Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
  • #40 · collect-source · source-checkexternal_source_eventsBrowser/Chrome/IDE/provider client integratorCurrent value 0 does not satisfy '>0'.Import at least one metadata-only event from a real client.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/
  2. Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.
  3. python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
采集契约
来源要求
  • real external client source
  • metadata-only event
  • local-first import path
通过条件
  • 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
  • evidence/world_class/intake.schema.json
资产角色

source: world-class-submission-kit; counts as evidence: false; prefill counts as evidence: false

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • 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.
@@ -808,7 +808,7 @@

证据路径

-
  • skill_overviewreports/skill-overview.html
  • review_viewerreports/review-viewer.html
  • output_evalreports/output_quality_scorecard.md
  • output_executionreports/output_execution_runs.md
  • output_blind_reviewreports/output_blind_review_pack.md
  • output_review_kitreports/output_review_kit.md
  • output_review_kit_htmlreports/output_review_kit.html
  • output_review_decisionsreports/output_review_decisions.json
  • output_review_adjudicationreports/output_review_adjudication.md
  • benchmark_reproducibilityreports/benchmark_reproducibility.md
  • skill_os2_coveragereports/skill_os2_coverage.md
  • runtime_conformancereports/conformance_matrix.md
  • trust_reportreports/security_trust_report.md
  • python_compatibilityreports/python_compatibility.md
  • architecture_maintainabilityreports/architecture_maintainability.md
  • permission_policysecurity/permission_policy.md
  • runtime_permissionsreports/runtime_permission_probes.md
  • skill_atlasreports/skill_atlas.html
  • compiled_targetsreports/compiled_targets.md
  • adoption_driftreports/adoption_drift_report.md
  • review_waiversreports/review_waivers.md
  • review_annotationsreports/review_annotations.md
  • adaptation_proposalsreports/adaptation_proposals.md
  • adaptation_approval_ledgerreports/adaptation_approval_ledger.json
  • adaptation_regressionreports/adaptation_regression_report.md
  • world_class_evidence_planreports/world_class_evidence_plan.md
  • world_class_evidence_ledgerreports/world_class_evidence_ledger.md
  • world_class_evidence_intakereports/world_class_evidence_intake.md
  • world_class_evidence_preflightreports/world_class_evidence_preflight.md
  • world_class_evidence_preflight_htmlreports/world_class_evidence_preflight.html
  • world_class_submission_reviewreports/world_class_submission_review.md
  • world_class_operator_runbookreports/world_class_operator_runbook.md
  • world_class_operator_runbook_htmlreports/world_class_operator_runbook.html
  • world_class_claim_guardreports/world_class_claim_guard.md
  • registry_auditreports/registry_audit.md
  • package_verificationreports/package_verification.md
  • install_simulationreports/install_simulation.md
  • upgrade_checkreports/upgrade_check.md
  • migrationdocs/migration-v2.md
  • skill_irskill-ir/examples/yao-meta-skill.json
  • daily_skillopsreports/skillops/daily/2026-06-20.md
  • weekly_curatorreports/skillops/weekly/2026-W25.md
+
  • skill_overviewreports/skill-overview.html
  • review_viewerreports/review-viewer.html
  • output_evalreports/output_quality_scorecard.md
  • output_executionreports/output_execution_runs.md
  • output_blind_reviewreports/output_blind_review_pack.md
  • output_review_kitreports/output_review_kit.md
  • output_review_kit_htmlreports/output_review_kit.html
  • output_review_decisionsreports/output_review_decisions.json
  • output_review_adjudicationreports/output_review_adjudication.md
  • benchmark_reproducibilityreports/benchmark_reproducibility.md
  • skill_os2_coveragereports/skill_os2_coverage.md
  • runtime_conformancereports/conformance_matrix.md
  • trust_reportreports/security_trust_report.md
  • python_compatibilityreports/python_compatibility.md
  • architecture_maintainabilityreports/architecture_maintainability.md
  • permission_policysecurity/permission_policy.md
  • runtime_permissionsreports/runtime_permission_probes.md
  • skill_atlasreports/skill_atlas.html
  • compiled_targetsreports/compiled_targets.md
  • adoption_driftreports/adoption_drift_report.md
  • review_waiversreports/review_waivers.md
  • review_annotationsreports/review_annotations.md
  • adaptation_proposalsreports/adaptation_proposals.md
  • adaptation_approval_ledgerreports/adaptation_approval_ledger.json
  • adaptation_regressionreports/adaptation_regression_report.md
  • world_class_evidence_planreports/world_class_evidence_plan.md
  • world_class_evidence_ledgerreports/world_class_evidence_ledger.md
  • world_class_evidence_intakereports/world_class_evidence_intake.md
  • world_class_evidence_preflightreports/world_class_evidence_preflight.md
  • world_class_evidence_preflight_htmlreports/world_class_evidence_preflight.html
  • world_class_submission_reviewreports/world_class_submission_review.md
  • world_class_operator_runbookreports/world_class_operator_runbook.md
  • world_class_operator_runbook_htmlreports/world_class_operator_runbook.html
  • world_class_claim_guardreports/world_class_claim_guard.md
  • registry_auditreports/registry_audit.md
  • package_verificationreports/package_verification.md
  • install_simulationreports/install_simulation.md
  • upgrade_checkreports/upgrade_check.md
  • migrationdocs/migration-v2.md
  • skill_irskill-ir/examples/yao-meta-skill.json
  • daily_skillopsreports/skillops/daily/2026-06-21.md
  • weekly_curatorreports/skillops/weekly/2026-W25.md
@@ -844,12 +844,12 @@
-

上下文

initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3

+

上下文

initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3

编译证据

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

-

信任报告

Secret
0
脚本数
155
网络脚本
3
Help 失败
0
包体哈希
e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd
+

信任报告

Secret
0
脚本数
155
网络脚本
3
Help 失败
0
包体哈希
eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383

安全边界

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

@@ -881,7 +881,7 @@

日常运维

决策
proposal-review
提案数
5
Approval Count
0
Pending Review Count
0
发布锁
世界级
Writes Source Files
Auto Patch Enabled
-

周度队列

决策
curator-review
Week Id
2026-W25
日报数
3
唯一机会
5
待批准复核
1
提案复核
4
Top Score
88
发布锁
Writes Source Files
Auto Patch Enabled
+

周度队列

决策
curator-review
Week Id
2026-W25
日报数
4
唯一机会
5
待批准复核
1
提案复核
4
Top Score
88
发布锁
Writes Source Files
Auto Patch Enabled
@@ -929,18 +929,18 @@
-

声明守卫

台账可声明
台账待补
4
声明面
175
违规数
0
Overclaim Guard Active
+

声明守卫

台账可声明
台账待补
4
声明面
184
违规数
0
Overclaim Guard Active

声明边界

claim guard 扫描 README、docs 和 reports 中的完成态表述;ledger 未 ready 时,任何英文完成断言、true 状态声明或中文完成态都会阻断发布审查。

注册审计

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

包体元数据

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

发布路线

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

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
689
失败数
0
警告数
0
归档哈希
7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
580
失败数
0
警告数
0
归档哈希
c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7
diff --git a/reports/review-studio.json b/reports/review-studio.json index 38de8d3..c880ae1 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -65,7 +65,7 @@ "key": "context-budget", "label": "上下文", "status": "pass", - "detail": "initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3", + "detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3", "evidence": "reports/context_budget.json", "link": "context_budget.md", "review_action_id": "", @@ -1194,8 +1194,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_ready_count": 2, "submission_ref_total_count": 2, - "supporting_evidence_ready_count": 7, - "supporting_evidence_total_count": 8, + "supporting_evidence_ready_count": 11, + "supporting_evidence_total_count": 11, "roles": [ { "role": "submission-ref", @@ -1208,8 +1208,8 @@ { "role": "supporting-evidence", "label": "Supporting evidence", - "ready_count": 7, - "total_count": 8, + "ready_count": 11, + "total_count": 11, "copy_to_artifact_refs": false, "description": "Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs." } @@ -1437,7 +1437,7 @@ "upgrade_check": "reports/upgrade_check.md", "migration": "docs/migration-v2.md", "skill_ir": "skill-ir/examples/yao-meta-skill.json", - "daily_skillops": "reports/skillops/daily/2026-06-20.md", + "daily_skillops": "reports/skillops/daily/2026-06-21.md", "weekly_curator": "reports/skillops/weekly/2026-W25.md" }, "data": { @@ -1964,10 +1964,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -2000,7 +2000,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -2134,7 +2134,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], "strengths": [ @@ -2458,9 +2458,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -2483,13 +2483,13 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -2595,7 +2595,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "skill_atlas": { "skill_count": 11, @@ -2633,8 +2633,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -2665,12 +2665,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "failures": [], "warnings": [] @@ -2681,8 +2681,9 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -2693,7 +2694,8 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -2760,12 +2762,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, @@ -6311,45 +6313,27 @@ "benchmark_reproducibility": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "git_status": { "available": true, "dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "generated_dirty": true, - "generated_changed_file_count": 71, + "generated_changed_file_count": 3, "source_dirty": false, "source_changed_file_count": 0, "sample": [ - " M registry/index.json", - " M registry/packages/yao-meta-skill.json", - " M reports/adaptation_proposals.json", - " M reports/adaptation_proposals.md", - " M reports/adoption_drift_report.json", - " M reports/adoption_drift_report.md", - " M reports/architecture_maintainability.json", - " M reports/architecture_maintainability.md", - " M reports/artifact-design-profile.json", - " M reports/artifact-design-profile.md", - " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md" + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json" ], "source_sample": [], "generated_sample": [ - " M registry/index.json", - " M registry/packages/yao-meta-skill.json", - " M reports/adaptation_proposals.json", - " M reports/adaptation_proposals.md", - " M reports/adoption_drift_report.json", - " M reports/adoption_drift_report.md", - " M reports/architecture_maintainability.json", - " M reports/architecture_maintainability.md", - " M reports/artifact-design-profile.json", - " M reports/artifact-design-profile.md", - " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md" + " M reports/context_budget.json", + " M reports/context_budget.md", + " M reports/context_budget_summary.json" ], "generated_dirty_prefixes": [ "dist/", @@ -6367,9 +6351,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -6392,11 +6376,11 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, "beta_test_release": { "ready": true, @@ -6439,10 +6423,10 @@ }, "release_lock": { "ready": true, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "status_scope": "generation-time status before this report is written", "source_changed_file_count": 0, - "generated_changed_file_count": 71, + "generated_changed_file_count": 3, "reason": "only generated evidence artifacts were dirty at generation time" }, "evidence_bundle": { @@ -6451,7 +6435,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4" + "sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -6560,7 +6544,7 @@ "path": "reports/security_trust_report.json", "exists": true, "bytes": 139090, - "sha256": "7ae59b7700db912ea4c72a3626d2fab5ee975e264fd067ca1ca6f94ee726c91f" + "sha256": "2ef43f009be68b1dd1a994b841d69b89723cf0b6d7725dc6ad86670d14235135" }, { "label": "python_compatibility", @@ -6574,28 +6558,28 @@ "path": "reports/registry_audit.json", "exists": true, "bytes": 3137, - "sha256": "1c9d988340746f6f00406718f3c6473b440379b8f45190ef51cc9e996e9107b8" + "sha256": "03cb951dc8ba71843602bffa1148d7a40095a7e109a024193422aaa8a94ba4c7" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, - "bytes": 19338, - "sha256": "7aa6c25e8154d246ace49f7ab9159fa85f96d1d4ebb7e2bb03c7b223260a908b" + "bytes": 19525, + "sha256": "e2ad726ce0486be0f57d88e518ef4d265479a04756419c6f8df50cf7d05b1f14" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, - "bytes": 8758, - "sha256": "247c037353fe29aa638945a2d5633228e16f30ff44c27ca1a57cb70ccc441359" + "bytes": 8793, + "sha256": "6cf79201727352e5f92f4e1fa1697a069ab325d526065f5316ee939e84475ef5" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13824, - "sha256": "80ddfb66a136a52ff9eb9aca2f6a9fe72cb923a066028f0baa9db2c0e03f0689" + "sha256": "1079221b5ac72e19e3e7a0f4970f133d828336f34bac82abf3fb867d18834cfa" }, { "label": "world_class_evidence_plan", @@ -6657,8 +6641,8 @@ "label": "world_class_claim_guard", "path": "reports/world_class_claim_guard.json", "exists": true, - "bytes": 17958, - "sha256": "47fae260e9d6d2b7c39685a1e746aa79bf79c1e6b2cd6b6c4fa706f857aa8325" + "bytes": 18759, + "sha256": "556700f05a65bda9b55d829c109d1aec54ae5b4da80ffbefe1196319df86f117" } ], "missing_artifacts": [], @@ -6799,7 +6783,7 @@ "skill_os2_coverage": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "item_count": 21, @@ -7002,7 +6986,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 689; install failures 0", + "current": "archive entries 580; 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": [ @@ -7547,11 +7531,11 @@ "exists": true }, { - "path": "reports/skillops/daily/2026-06-20.json", + "path": "reports/skillops/daily/2026-06-21.json", "exists": true }, { - "path": "reports/skillops/daily/2026-06-20.md", + "path": "reports/skillops/daily/2026-06-21.md", "exists": true } ], @@ -7610,7 +7594,7 @@ "compiled_targets": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "target_count": 5, @@ -12619,7 +12603,7 @@ "schema_version": "1.0", "ok": true, "skill_dir": ".", - "package_dir": "tests/tmp_review_studio/dist", + "package_dir": "dist", "expected_capabilities": [ "file_write", "network", @@ -12659,7 +12643,7 @@ { "target": "openai", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json", + "adapter": "dist/targets/openai/adapter.json", "permission_model": "metadata-only", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -12756,7 +12740,7 @@ { "target": "claude", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json", + "adapter": "dist/targets/claude/adapter.json", "permission_model": "neutral-source-plus-adapter", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -12838,7 +12822,7 @@ { "target": "generic", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json", + "adapter": "dist/targets/generic/adapter.json", "permission_model": "agent-skills-compatible-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -12920,7 +12904,7 @@ { "target": "vscode", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json", + "adapter": "dist/targets/vscode/adapter.json", "permission_model": "vscode-workspace-trust-plus-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -13031,7 +13015,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "failures": [], "warnings": [], @@ -18218,15 +18202,15 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 805, - "other_text_tokens": 1167829, + "other_text_tokens": 1169049, "estimated_initial_load_tokens": 998, - "estimated_total_text_tokens": 1168634, - "deferred_resource_tokens": 530464, + "estimated_total_text_tokens": 1169854, + "deferred_resource_tokens": 530871, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155 }, { @@ -18248,7 +18232,7 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155 } ], @@ -18271,14 +18255,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 469161, + "estimated_tokens": 469568, "file_count": 155, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 570, + "relevant_file_count": 571, "unused_resource_dirs": [], "quality_signal_points": 140, "quality_density": 140.3 @@ -20193,7 +20177,7 @@ "daily_skillops": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20T12:35:26Z", + "generated_at": "2026-06-21", "skill_dir": ".", "decision": "proposal-review", "source_supplied": false, @@ -20699,27 +20683,27 @@ "benchmark_reproducibility": "reports/benchmark_reproducibility.json" }, "artifacts": { - "json": "reports/skillops/daily/2026-06-20.json", - "markdown": "reports/skillops/daily/2026-06-20.md" + "json": "reports/skillops/daily/2026-06-21.json", + "markdown": "reports/skillops/daily/2026-06-21.md" }, - "source_path": "reports/skillops/daily/2026-06-20.json" + "source_path": "reports/skillops/daily/2026-06-21.json" }, "weekly_curator": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20T12:35:26Z", + "generated_at": "2026-06-21", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 3, - "opportunity_count": 15, + "daily_report_count": 4, + "opportunity_count": 20, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, "observe_more_evidence_count": 0, "report_only_count": 0, "top_score": 88, - "skill_count": 12, + "skill_count": 11, "actionable_portfolio_issue_count": 0, "release_lock_ready": true, "evidence_consistency_ok": true, @@ -20731,15 +20715,15 @@ "summary": { "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 3, - "opportunity_count": 15, + "daily_report_count": 4, + "opportunity_count": 20, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, "observe_more_evidence_count": 0, "report_only_count": 0, "top_score": 88, - "skill_count": 12, + "skill_count": 11, "actionable_portfolio_issue_count": 0, "release_lock_ready": true, "evidence_consistency_ok": true, @@ -20797,7 +20781,8 @@ "daily_reports": [ "reports/skillops/daily/2026-06-16.json", "reports/skillops/daily/2026-06-17.json", - "reports/skillops/daily/2026-06-20.json" + "reports/skillops/daily/2026-06-20.json", + "reports/skillops/daily/2026-06-21.json" ], "opportunity_summary": { "action_type_counts": { @@ -20982,13 +20967,13 @@ } ], "portfolio": { - "skill_count": 12, + "skill_count": 11, "actionable_issue_count": 0, "route_collision_count": 5, "actionable_route_collision_count": 0, - "owner_gap_count": 9, + "owner_gap_count": 8, "actionable_owner_gap_count": 0, - "stale_count": 10, + "stale_count": 9, "actionable_stale_count": 0, "drift_signal_count": 0, "actionable_drift_signal_count": 0, @@ -21173,7 +21158,7 @@ "adaptation_proposals": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20T12:35:26Z", + "generated_at": "2026-06-21", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, @@ -22571,7 +22556,7 @@ "world_class_evidence_preflight": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -23372,8 +23357,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 8, - "supporting_evidence_ready_count": 7, + "supporting_evidence_total_count": 11, + "supporting_evidence_ready_count": 11, "roles": [ { "role": "submission-ref", @@ -24516,8 +24501,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 7, "submission_ref_ready_count": 7, - "supporting_evidence_total_count": 28, - "supporting_evidence_ready_count": 27, + "supporting_evidence_total_count": 31, + "supporting_evidence_ready_count": 31, "roles": [ { "role": "submission-ref", @@ -26682,15 +26667,15 @@ "world_class_claim_guard": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "ledger_ready_to_claim_world_class": false, "ledger_pending_count": 4, - "claim_surface_count": 175, - "json_claim_surface_count": 85, - "metadata_claim_surface_count": 86, - "package_claim_surface_count": 10, + "claim_surface_count": 184, + "json_claim_surface_count": 91, + "metadata_claim_surface_count": 92, + "package_claim_surface_count": 17, "violation_count": 0, "overclaim_guard_active": true, "decision": "claim-guard-pass-evidence-pending" @@ -26735,6 +26720,34 @@ "path": "agents/interface.yaml", "violation_count": 0 }, + { + "path": "dist/manifest.json", + "violation_count": 0 + }, + { + "path": "dist/targets/claude/README.md", + "violation_count": 0 + }, + { + "path": "dist/targets/claude/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/generic/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/openai/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/vscode/README.md", + "violation_count": 0 + }, + { + "path": "dist/targets/vscode/adapter.json", + "violation_count": 0 + }, { "path": "docs/README.fr-FR.md", "violation_count": 0 @@ -27283,6 +27296,14 @@ "path": "reports/skillops/daily/2026-06-20.md", "violation_count": 0 }, + { + "path": "reports/skillops/daily/2026-06-21.json", + "violation_count": 0 + }, + { + "path": "reports/skillops/daily/2026-06-21.md", + "violation_count": 0 + }, { "path": "reports/skillops/weekly/2026-W25.json", "violation_count": 0 @@ -27457,8 +27478,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -27489,16 +27510,16 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "index": { "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "package_count": 1, "packages": [ { @@ -27514,7 +27535,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, @@ -27530,15 +27551,16 @@ "package_verification": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-21", "skill_dir": ".", "package_dir": "dist", "summary": { "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -28143,6 +28165,11 @@ "status": "pass", "detail": "Archive contains yao-meta-skill/agents/interface.yaml" }, + { + "id": "archive-single-skill-entrypoint", + "status": "pass", + "detail": "Archive exposes only the root SKILL.md entrypoint" + }, { "id": "archive-excludes-generated", "status": "pass", @@ -28196,14 +28223,15 @@ "install_simulation": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "skill_dir": ".", - "package_dir": "tests/tmp_review_studio/dist", - "install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill", - "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", + "package_dir": "dist", + "install_root": "dist/install-simulation/simulate-yao-meta-skill", + "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -28221,13 +28249,18 @@ { "id": "archive-present", "status": "pass", - "detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip" + "detail": "Package archive exists: dist/yao-meta-skill.zip" }, { "id": "archive-safe-paths", "status": "pass", "detail": "Archive has no absolute or parent-traversal entries" }, + { + "id": "single-skill-entrypoint", + "status": "pass", + "detail": "Installed package exposes only the root SKILL.md entrypoint" + }, { "id": "single-top-level", "status": "pass", @@ -28467,16 +28500,16 @@ "failures": [], "warnings": [], "artifacts": { - "archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip", - "package_manifest": "tests/tmp_review_studio/dist/manifest.json", - "json": "tests/tmp_review_studio/install_simulation.json", - "markdown": "tests/tmp_review_studio/install_simulation.md" + "archive": "dist/yao-meta-skill.zip", + "package_manifest": "dist/manifest.json", + "json": "reports/install_simulation.json", + "markdown": "reports/install_simulation.md" } }, "upgrade_check": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-13", + "generated_at": "2026-06-21", "previous": { "name": "yao-meta-skill", "version": "1.0.0", @@ -28545,12 +28578,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, @@ -28565,8 +28598,8 @@ "artifacts": { "previous_package": "registry/examples/yao-meta-skill-1.0.0.json", "current_package": "reports/registry_audit.json", - "json": "tests/tmp_review_studio/upgrade_check.json", - "markdown": "tests/tmp_review_studio/upgrade_check.md" + "json": "reports/upgrade_check.json", + "markdown": "reports/upgrade_check.md" } }, "manifest": { diff --git a/reports/review-viewer.json b/reports/review-viewer.json index 0f9e5c8..63b1b8e 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -522,10 +522,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -558,7 +558,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -692,7 +692,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], "strengths": [ @@ -1016,9 +1016,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1041,13 +1041,13 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1153,7 +1153,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "skill_atlas": { "skill_count": 11, @@ -1191,8 +1191,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -1223,12 +1223,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "failures": [], "warnings": [] @@ -1239,8 +1239,9 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -1251,7 +1252,8 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1318,12 +1320,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, diff --git a/reports/runtime_permission_probes.json b/reports/runtime_permission_probes.json index 59c9a1a..9c2ffd6 100644 --- a/reports/runtime_permission_probes.json +++ b/reports/runtime_permission_probes.json @@ -2,7 +2,7 @@ "schema_version": "1.0", "ok": true, "skill_dir": ".", - "package_dir": "tests/tmp_review_studio/dist", + "package_dir": "dist", "expected_capabilities": [ "file_write", "network", @@ -42,7 +42,7 @@ { "target": "openai", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json", + "adapter": "dist/targets/openai/adapter.json", "permission_model": "metadata-only", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -139,7 +139,7 @@ { "target": "claude", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json", + "adapter": "dist/targets/claude/adapter.json", "permission_model": "neutral-source-plus-adapter", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -221,7 +221,7 @@ { "target": "generic", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json", + "adapter": "dist/targets/generic/adapter.json", "permission_model": "agent-skills-compatible-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -303,7 +303,7 @@ { "target": "vscode", "status": "pass", - "adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json", + "adapter": "dist/targets/vscode/adapter.json", "permission_model": "vscode-workspace-trust-plus-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 51eb663..ac99d3e 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -23,7 +23,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "failures": [], "warnings": [], diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index ddb98d1..07e078c 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -16,7 +16,7 @@ - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` - Package hash files: `247` -- Package SHA256: `e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd` +- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383` ## Failures diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html index 226f06b..83867be 100644 --- a/reports/skill-interpretation.html +++ b/reports/skill-interpretation.html @@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution373项373 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution375项375 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json index 66163a4..2206d48 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -522,10 +522,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -558,7 +558,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -696,7 +696,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], "strengths": [ @@ -1020,9 +1020,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1045,13 +1045,13 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1157,7 +1157,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "skill_atlas": { "skill_count": 11, @@ -1195,8 +1195,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -1227,12 +1227,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "failures": [], "warnings": [] @@ -1243,8 +1243,9 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -1255,7 +1256,8 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1322,12 +1324,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index 43a43be..2ad915d 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -140,8 +140,8 @@ Next move: add real client or installer permission enforcement integration. | Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility | | Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility | | Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix | -| Package Verification | `4 / 4` target adapters present, archive verified, `689` zip entries, `0` failures, `0` warnings | -| Install Simulation | archive with `689` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | +| Package Verification | `4 / 4` target adapters present, archive verified, `580` zip entries, `0` nested SKILL.md entries, `0` failures, `0` warnings | +| Install Simulation | archive with `580` entries extracted into a local verification root, `0` nested SKILL.md entries, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | | Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures | | Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes | | Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages | diff --git a/reports/skill-overview.html b/reports/skill-overview.html index 20b2701..2e12b32 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution373项373 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution375项375 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
路径Path作用Role类型Type
SKILL.mdSkill 入口文件Skill entrypoint文件file
README.md人类可读使用说明Human-readable usage guide文件file
agents/interface.yaml跨平台接口元数据Neutral interface metadata文件file
manifest.json生命周期与打包元数据Lifecycle and portability metadata文件file
references扩展指导与复用资料Extended guidance and reusable notes目录folder
scripts确定性脚本或本地工具Deterministic helpers or local tooling目录folder
evals触发与质量检查Trigger and quality checks目录folder
reports生成的证据与总结报告Generated evidence and overview artifacts目录folder
diff --git a/reports/skill-overview.json b/reports/skill-overview.json index fc51d7f..4b37aa1 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -521,10 +521,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], - "file_count": 373, + "file_count": 375, "folder_count": 4, "distribution": [ { @@ -557,7 +557,7 @@ }, { "label": "reports", - "value": 150 + "value": 152 } ] }, @@ -691,7 +691,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 150 + "file_count": 152 } ], "strengths": [ @@ -1015,9 +1015,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", - "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad", + "source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1040,13 +1040,13 @@ "public_claim_ready": false, "public_claim_blocker_count": 3, "working_tree_dirty": true, - "changed_file_count": 71, + "changed_file_count": 3, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 71 + "generated_changed_file_count": 3 }, - "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1152,7 +1152,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 247, - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" }, "skill_atlas": { "skill_count": 11, @@ -1190,8 +1190,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, "compatibility": { "openai": "pass", @@ -1222,12 +1222,12 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-13" + "generated_at": "2026-06-21" }, "failures": [], "warnings": [] @@ -1238,8 +1238,9 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", - "archive_entry_count": 689, + "archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7", + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "failure_count": 0, "warning_count": 0 }, @@ -1250,7 +1251,8 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 588, + "archive_entry_count": 580, + "nested_skill_entry_count": 0, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1317,12 +1319,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index a06dd79..9210550 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-21", "skill_dir": ".", "summary": { "item_count": 15, @@ -285,7 +285,7 @@ "key": "registry-distribution", "label": "Registry Distribution", "status": "pass", - "current": "zip entries 689; install failures 0; permission failures 0", + "current": "zip entries 580; 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 d860a2a..72d20b7 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-21` ## Summary @@ -27,7 +27,7 @@ Generated at: `2026-06-13` | Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. | | Skill Atlas | pass | 11 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 689; 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 580; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. | | Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. | | Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. | | Native Client Telemetry | external-required | external source events 0; adoption samples 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. | diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 75143e3..4541299 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "item_count": 21, @@ -204,7 +204,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 689; install failures 0", + "current": "archive entries 580; 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": [ @@ -749,11 +749,11 @@ "exists": true }, { - "path": "reports/skillops/daily/2026-06-20.json", + "path": "reports/skillops/daily/2026-06-21.json", "exists": true }, { - "path": "reports/skillops/daily/2026-06-20.md", + "path": "reports/skillops/daily/2026-06-21.md", "exists": true } ], diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md index 0296423..0369dfb 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Blueprint Coverage -Generated at: `2026-06-20` +Generated at: `2026-06-21` ## Summary @@ -28,7 +28,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, | Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` | | Trust Security | `pass` | 155 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | | Skill Atlas | `pass` | 11 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` | -| Registry Distribution | `pass` | archive entries 689; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | +| Registry Distribution | `pass` | archive entries 580; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | | Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` | | Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` | @@ -235,7 +235,7 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are - objective: Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps. - status: `covered` -- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-20.json`, `reports/skillops/daily/2026-06-20.md` +- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-21.json`, `reports/skillops/daily/2026-06-21.md` - next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves. ### Weekly Curator Report diff --git a/reports/skillops/daily/2026-06-21.json b/reports/skillops/daily/2026-06-21.json new file mode 100644 index 0000000..32f40f8 --- /dev/null +++ b/reports/skillops/daily/2026-06-21.json @@ -0,0 +1,513 @@ +{ + "schema_version": "1.0", + "ok": true, + "generated_at": "2026-06-21", + "skill_dir": ".", + "decision": "proposal-review", + "source_supplied": false, + "pattern_count": 5, + "proposal_count": 5, + "approval_count": 0, + "pending_review_count": 0, + "applied_count": 0, + "rollback_count": 0, + "local_blueprint_ready": true, + "public_world_class_ready": false, + "world_class_pending_count": 4, + "release_lock_ready": true, + "evidence_consistency_ok": true, + "writes_source_files": false, + "auto_patch_enabled": false, + "failure_count": 0, + "summary": { + "decision": "proposal-review", + "source_supplied": false, + "pattern_count": 5, + "proposal_count": 5, + "approval_count": 0, + "pending_review_count": 0, + "applied_count": 0, + "rollback_count": 0, + "local_blueprint_ready": true, + "public_world_class_ready": false, + "world_class_pending_count": 4, + "release_lock_ready": true, + "evidence_consistency_ok": true, + "writes_source_files": false, + "auto_patch_enabled": false, + "failure_count": 0 + }, + "operations_contract": { + "schema_version": "1.0", + "contract": "daily-skillops-report", + "explicit_source_required_for_scan": true, + "implicit_private_log_scan": false, + "raw_content_stored": false, + "redacted_excerpts_only": true, + "proposal_only": true, + "approval_required_for_writes": true, + "writes_source_files": false, + "auto_patch_enabled": false, + "daily_report_counts_as_world_class_evidence": false + }, + "report_contract": { + "schema_version": "1.0", + "contract": "daily-skillops-report", + "top_level_mirrors_summary": true, + "summary_fields": [ + "decision", + "source_supplied", + "pattern_count", + "proposal_count", + "approval_count", + "pending_review_count", + "applied_count", + "rollback_count", + "local_blueprint_ready", + "public_world_class_ready", + "world_class_pending_count", + "release_lock_ready", + "evidence_consistency_ok", + "writes_source_files", + "auto_patch_enabled", + "failure_count" + ], + "source_of_truth": [ + "summary", + "operations_contract" + ] + }, + "source": { + "path": "evals/adaptation/user_signals.example.jsonl", + "fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf", + "record_count": 8, + "explicit_source": true, + "raw_content_stored": false, + "redacted_excerpts_only": true + }, + "patterns": [ + { + "pattern_id": "language_default", + "label": "Default language preference", + "signal_type": "report-language", + "support_count": 2, + "confidence": 0.79, + "reason": "2 redacted records matched repeated report-language signals.", + "recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.", + "evidence": [ + { + "record_id": "line-1", + "excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。" + }, + { + "record_id": "line-2", + "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。" + } + ] + }, + { + "pattern_id": "report_ui", + "label": "Report UI and visualization preference", + "signal_type": "artifact-design", + "support_count": 5, + "confidence": 0.95, + "reason": "5 redacted records matched repeated artifact-design signals.", + "recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.", + "evidence": [ + { + "record_id": "line-1", + "excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。" + }, + { + "record_id": "line-2", + "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。" + }, + { + "record_id": "line-3", + "excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。" + } + ] + }, + { + "pattern_id": "approval_safety", + "label": "Approval and privacy boundary", + "signal_type": "governance", + "support_count": 2, + "confidence": 0.79, + "reason": "2 redacted records matched repeated governance signals.", + "recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.", + "evidence": [ + { + "record_id": "line-5", + "excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。" + }, + { + "record_id": "line-6", + "excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。" + } + ] + }, + { + "pattern_id": "delivery_format", + "label": "Delivery format preference", + "signal_type": "artifact-format", + "support_count": 2, + "confidence": 0.79, + "reason": "2 redacted records matched repeated artifact-format signals.", + "recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.", + "evidence": [ + { + "record_id": "line-2", + "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。" + }, + { + "record_id": "line-6", + "excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。" + } + ] + }, + { + "pattern_id": "evidence_testing", + "label": "Evidence and testing preference", + "signal_type": "quality-gate", + "support_count": 2, + "confidence": 0.79, + "reason": "2 redacted records matched repeated quality-gate signals.", + "recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.", + "evidence": [ + { + "record_id": "line-7", + "excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。" + }, + { + "record_id": "line-8", + "excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。" + } + ] + } + ], + "proposals": [ + { + "proposal_id": "adapt-18c7517f3d", + "pattern_id": "language_default", + "title": "Keep reports Chinese-first with optional English", + "risk_level": "low", + "status": "proposal-only", + "requires_approval": true, + "target_files": [ + "scripts/render_skill_overview.py", + "references/artifact-design-doctrine.md" + ], + "verification_commands": [ + "python3 tests/verify_skill_overview.py" + ] + }, + { + "proposal_id": "adapt-fbfe921ba5", + "pattern_id": "report_ui", + "title": "Improve report layout, visual hierarchy, and chart readability", + "risk_level": "medium", + "status": "proposal-only", + "requires_approval": true, + "target_files": [ + "scripts/render_skill_overview.py", + "references/artifact-design-doctrine.md", + "tests/verify_skill_overview.py" + ], + "verification_commands": [ + "python3 tests/verify_skill_overview.py", + "python3 tests/verify_skill_report_charts.py" + ] + }, + { + "proposal_id": "adapt-59d219a1fb", + "pattern_id": "approval_safety", + "title": "Keep adaptive iteration approval-gated", + "risk_level": "low", + "status": "proposal-only", + "requires_approval": true, + "target_files": [ + "references/user-memory-policy.md", + "references/autonomous-adaptation.md", + "schemas/adaptation-proposal.schema.json" + ], + "verification_commands": [ + "python3 tests/verify_adaptation_safety.py" + ] + }, + { + "proposal_id": "adapt-457baca160", + "pattern_id": "delivery_format", + "title": "Make generated artifact paths explicit in CLI output", + "risk_level": "low", + "status": "proposal-only", + "requires_approval": true, + "target_files": [ + "scripts/yao.py", + "README.md" + ], + "verification_commands": [ + "python3 tests/verify_yao_cli.py" + ] + }, + { + "proposal_id": "adapt-abfee25d3a", + "pattern_id": "evidence_testing", + "title": "Attach tests and evidence refresh to each upgrade", + "risk_level": "medium", + "status": "proposal-only", + "requires_approval": true, + "target_files": [ + "tests/verify_adaptation_safety.py", + "scripts/render_skill_os2_coverage.py", + "reports/skill_os2_coverage.json" + ], + "verification_commands": [ + "python3 tests/verify_adaptation_safety.py", + "python3 tests/verify_skill_os2_coverage.py" + ] + } + ], + "opportunity_summary": { + "opportunity_count": 5, + "top_score": 88, + "ready_for_approval_review_count": 1, + "proposal_review_count": 4, + "observe_more_evidence_count": 0, + "report_only_count": 0, + "action_type_counts": { + "patch_existing_skill": 3, + "agents_update": 1, + "add_eval": 1 + }, + "decision_counts": { + "ready_for_approval_review": 1, + "proposal_review": 4 + } + }, + "opportunities": [ + { + "opportunity_id": "skillops-4ad91c18dd", + "proposal_id": "adapt-fbfe921ba5", + "pattern_id": "report_ui", + "title": "Improve report layout, visual hierarchy, and chart readability", + "opportunity_type": "artifact-quality", + "action_type": "patch_existing_skill", + "decision": "ready_for_approval_review", + "priority": "medium", + "score": 88, + "score_reasons": [ + "support_count=5", + "confidence=0.95", + "risk=medium", + "target_files_present", + "verification_present", + "approval_required" + ], + "policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.", + "risk_level": "medium", + "requires_approval": true, + "write_allowed_without_approval": false, + "evidence_count": 5, + "target_files": [ + "scripts/render_skill_overview.py", + "references/artifact-design-doctrine.md", + "tests/verify_skill_overview.py" + ], + "verification_commands": [ + "python3 tests/verify_skill_overview.py", + "python3 tests/verify_skill_report_charts.py" + ] + }, + { + "opportunity_id": "skillops-531e13c1c6", + "proposal_id": "adapt-59d219a1fb", + "pattern_id": "approval_safety", + "title": "Keep adaptive iteration approval-gated", + "opportunity_type": "governance", + "action_type": "agents_update", + "decision": "proposal_review", + "priority": "medium", + "score": 82, + "score_reasons": [ + "support_count=2", + "confidence=0.79", + "risk=low", + "target_files_present", + "verification_present", + "approval_required" + ], + "policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.", + "risk_level": "low", + "requires_approval": true, + "write_allowed_without_approval": false, + "evidence_count": 2, + "target_files": [ + "references/user-memory-policy.md", + "references/autonomous-adaptation.md", + "schemas/adaptation-proposal.schema.json" + ], + "verification_commands": [ + "python3 tests/verify_adaptation_safety.py" + ] + }, + { + "opportunity_id": "skillops-709ef884f3", + "proposal_id": "adapt-18c7517f3d", + "pattern_id": "language_default", + "title": "Keep reports Chinese-first with optional English", + "opportunity_type": "report-experience", + "action_type": "patch_existing_skill", + "decision": "proposal_review", + "priority": "medium", + "score": 82, + "score_reasons": [ + "support_count=2", + "confidence=0.79", + "risk=low", + "target_files_present", + "verification_present", + "approval_required" + ], + "policy_reason": "Repeated language preferences can improve existing report templates after approval.", + "risk_level": "low", + "requires_approval": true, + "write_allowed_without_approval": false, + "evidence_count": 2, + "target_files": [ + "scripts/render_skill_overview.py", + "references/artifact-design-doctrine.md" + ], + "verification_commands": [ + "python3 tests/verify_skill_overview.py" + ] + }, + { + "opportunity_id": "skillops-f9e43237aa", + "proposal_id": "adapt-457baca160", + "pattern_id": "delivery_format", + "title": "Make generated artifact paths explicit in CLI output", + "opportunity_type": "artifact-discoverability", + "action_type": "patch_existing_skill", + "decision": "proposal_review", + "priority": "medium", + "score": 82, + "score_reasons": [ + "support_count=2", + "confidence=0.79", + "risk=low", + "target_files_present", + "verification_present", + "approval_required" + ], + "policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.", + "risk_level": "low", + "requires_approval": true, + "write_allowed_without_approval": false, + "evidence_count": 2, + "target_files": [ + "scripts/yao.py", + "README.md" + ], + "verification_commands": [ + "python3 tests/verify_yao_cli.py" + ] + }, + { + "opportunity_id": "skillops-0a3a2de7c3", + "proposal_id": "adapt-abfee25d3a", + "pattern_id": "evidence_testing", + "title": "Attach tests and evidence refresh to each upgrade", + "opportunity_type": "quality-gate", + "action_type": "add_eval", + "decision": "proposal_review", + "priority": "medium", + "score": 74, + "score_reasons": [ + "support_count=2", + "confidence=0.79", + "risk=medium", + "target_files_present", + "verification_present", + "approval_required" + ], + "policy_reason": "Repeated verification and evidence requests should become focused checks.", + "risk_level": "medium", + "requires_approval": true, + "write_allowed_without_approval": false, + "evidence_count": 2, + "target_files": [ + "tests/verify_adaptation_safety.py", + "scripts/render_skill_os2_coverage.py", + "reports/skill_os2_coverage.json" + ], + "verification_commands": [ + "python3 tests/verify_adaptation_safety.py", + "python3 tests/verify_skill_os2_coverage.py" + ] + } + ], + "decision_policy": { + "schema_version": "1.0", + "contract": "skillops-opportunity-scoring", + "score_range": [ + 0, + 100 + ], + "score_bands": { + "85-100": "ready_for_approval_review", + "70-84": "proposal_review", + "50-69": "observe_more_evidence", + "0-49": "report_only_or_no_action" + }, + "action_types": [ + "add_eval", + "agents_update", + "patch_existing_skill", + "report_only" + ], + "writes_source_files": false, + "auto_patch_enabled": false, + "approval_required_for_writes": true + }, + "approval": { + "approval_count": 0, + "pending_review_count": 0, + "applied_count": 0, + "rollback_count": 0 + }, + "release_state": { + "local_blueprint_ready": true, + "public_world_class_ready": false, + "world_class_pending_count": 4, + "release_lock_ready": true, + "evidence_consistency_ok": true + }, + "actions": [ + { + "key": "review-adaptation-proposals", + "priority": "high", + "action": "Review proposal-only adaptation items before preparing any approval ledger entry." + }, + { + "key": "close-world-class-evidence", + "priority": "high", + "action": "Collect accepted external or human evidence for the pending world-class ledger entries." + } + ], + "failures": [], + "source_reports": { + "patterns": "reports/user_patterns.json", + "proposals": "reports/adaptation_proposals.json", + "approval_ledger": "reports/adaptation_approval_ledger.json", + "regression": "reports/adaptation_regression_report.json", + "skill_os2_coverage": "reports/skill_os2_coverage.json", + "world_class_ledger": "reports/world_class_evidence_ledger.json", + "evidence_consistency": "reports/evidence_consistency.json", + "benchmark_reproducibility": "reports/benchmark_reproducibility.json" + }, + "artifacts": { + "json": "reports/skillops/daily/2026-06-21.json", + "markdown": "reports/skillops/daily/2026-06-21.md" + } +} diff --git a/reports/skillops/daily/2026-06-21.md b/reports/skillops/daily/2026-06-21.md new file mode 100644 index 0000000..53bc3b2 --- /dev/null +++ b/reports/skillops/daily/2026-06-21.md @@ -0,0 +1,174 @@ +# Daily SkillOps Report + +Generated at: `2026-06-21` + +## Summary + +- decision: `proposal-review` +- source supplied: `false` +- patterns: `5` +- proposals: `5` +- pending approvals: `0` +- applied patches: `0` +- rollbacks: `0` +- local blueprint ready: `true` +- public world-class ready: `false` +- world-class pending: `4` +- release lock ready: `true` +- evidence consistency ok: `true` + +This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence. + +## Privacy Boundary + +- explicit_source_required_for_scan: `true` +- implicit_private_log_scan: `false` +- raw_content_stored: `false` +- redacted_excerpts_only: `true` +- proposal_only: `true` +- approval_required_for_writes: `true` +- writes_source_files: `false` +- auto_patch_enabled: `false` +- daily_report_counts_as_world_class_evidence: `false` + +## Actions + +- `high` Review proposal-only adaptation items before preparing any approval ledger entry. +- `high` Collect accepted external or human evidence for the pending world-class ledger entries. + +## Opportunities + +- count: `5` +- top score: `88` +- ready for approval review: `1` +### Improve report layout, visual hierarchy, and chart readability + +- ID: `skillops-4ad91c18dd` +- Action: `patch_existing_skill` +- Decision: `ready_for_approval_review` +- Score: `88` +- Risk: `medium` +- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes. +### Keep adaptive iteration approval-gated + +- ID: `skillops-531e13c1c6` +- Action: `agents_update` +- Decision: `proposal_review` +- Score: `82` +- Risk: `low` +- Policy: Repeated privacy and approval signals should tighten durable operating guidance. +### Keep reports Chinese-first with optional English + +- ID: `skillops-709ef884f3` +- Action: `patch_existing_skill` +- Decision: `proposal_review` +- Score: `82` +- Risk: `low` +- Policy: Repeated language preferences can improve existing report templates after approval. +### Make generated artifact paths explicit in CLI output + +- ID: `skillops-f9e43237aa` +- Action: `patch_existing_skill` +- Decision: `proposal_review` +- Score: `82` +- Risk: `low` +- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability. +### Attach tests and evidence refresh to each upgrade + +- ID: `skillops-0a3a2de7c3` +- Action: `add_eval` +- Decision: `proposal_review` +- Score: `74` +- Risk: `medium` +- Policy: Repeated verification and evidence requests should become focused checks. + +## Patterns + +- `language_default`: Default language preference (support `2`, confidence `0.79`) +- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`) +- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`) +- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`) +- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`) + +## Proposals + +### Keep reports Chinese-first with optional English + +- ID: `adapt-18c7517f3d` +- Pattern: `language_default` +- Status: `proposal-only` +- Risk: `low` +- Requires approval: `true` +- Target files: + - `scripts/render_skill_overview.py` + - `references/artifact-design-doctrine.md` +- Verification: + - `python3 tests/verify_skill_overview.py` + +### Improve report layout, visual hierarchy, and chart readability + +- ID: `adapt-fbfe921ba5` +- Pattern: `report_ui` +- Status: `proposal-only` +- Risk: `medium` +- Requires approval: `true` +- Target files: + - `scripts/render_skill_overview.py` + - `references/artifact-design-doctrine.md` + - `tests/verify_skill_overview.py` +- Verification: + - `python3 tests/verify_skill_overview.py` + - `python3 tests/verify_skill_report_charts.py` + +### Keep adaptive iteration approval-gated + +- ID: `adapt-59d219a1fb` +- Pattern: `approval_safety` +- Status: `proposal-only` +- Risk: `low` +- Requires approval: `true` +- Target files: + - `references/user-memory-policy.md` + - `references/autonomous-adaptation.md` + - `schemas/adaptation-proposal.schema.json` +- Verification: + - `python3 tests/verify_adaptation_safety.py` + +### Make generated artifact paths explicit in CLI output + +- ID: `adapt-457baca160` +- Pattern: `delivery_format` +- Status: `proposal-only` +- Risk: `low` +- Requires approval: `true` +- Target files: + - `scripts/yao.py` + - `README.md` +- Verification: + - `python3 tests/verify_yao_cli.py` + +### Attach tests and evidence refresh to each upgrade + +- ID: `adapt-abfee25d3a` +- Pattern: `evidence_testing` +- Status: `proposal-only` +- Risk: `medium` +- Requires approval: `true` +- Target files: + - `tests/verify_adaptation_safety.py` + - `scripts/render_skill_os2_coverage.py` + - `reports/skill_os2_coverage.json` +- Verification: + - `python3 tests/verify_adaptation_safety.py` + - `python3 tests/verify_skill_os2_coverage.py` + +## Evidence + +- patterns: `reports/user_patterns.json` +- proposals: `reports/adaptation_proposals.json` +- approval_ledger: `reports/adaptation_approval_ledger.json` +- regression: `reports/adaptation_regression_report.json` +- skill_os2_coverage: `reports/skill_os2_coverage.json` +- world_class_ledger: `reports/world_class_evidence_ledger.json` +- evidence_consistency: `reports/evidence_consistency.json` +- benchmark_reproducibility: `reports/benchmark_reproducibility.json` diff --git a/reports/skillops/weekly/2026-W25.json b/reports/skillops/weekly/2026-W25.json index 36e184f..5657681 100644 --- a/reports/skillops/weekly/2026-W25.json +++ b/reports/skillops/weekly/2026-W25.json @@ -1,19 +1,19 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20T12:35:26Z", + "generated_at": "2026-06-21", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 3, - "opportunity_count": 15, + "daily_report_count": 4, + "opportunity_count": 20, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, "observe_more_evidence_count": 0, "report_only_count": 0, "top_score": 88, - "skill_count": 12, + "skill_count": 11, "actionable_portfolio_issue_count": 0, "release_lock_ready": true, "evidence_consistency_ok": true, @@ -25,15 +25,15 @@ "summary": { "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 3, - "opportunity_count": 15, + "daily_report_count": 4, + "opportunity_count": 20, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, "observe_more_evidence_count": 0, "report_only_count": 0, "top_score": 88, - "skill_count": 12, + "skill_count": 11, "actionable_portfolio_issue_count": 0, "release_lock_ready": true, "evidence_consistency_ok": true, @@ -91,7 +91,8 @@ "daily_reports": [ "reports/skillops/daily/2026-06-16.json", "reports/skillops/daily/2026-06-17.json", - "reports/skillops/daily/2026-06-20.json" + "reports/skillops/daily/2026-06-20.json", + "reports/skillops/daily/2026-06-21.json" ], "opportunity_summary": { "action_type_counts": { @@ -276,13 +277,13 @@ } ], "portfolio": { - "skill_count": 12, + "skill_count": 11, "actionable_issue_count": 0, "route_collision_count": 5, "actionable_route_collision_count": 0, - "owner_gap_count": 9, + "owner_gap_count": 8, "actionable_owner_gap_count": 0, - "stale_count": 10, + "stale_count": 9, "actionable_stale_count": 0, "drift_signal_count": 0, "actionable_drift_signal_count": 0, diff --git a/reports/skillops/weekly/2026-W25.md b/reports/skillops/weekly/2026-W25.md index f59ee7f..7b5feab 100644 --- a/reports/skillops/weekly/2026-W25.md +++ b/reports/skillops/weekly/2026-W25.md @@ -1,17 +1,17 @@ # Weekly SkillOps Curator Report -Generated at: `2026-06-20T12:35:26Z` +Generated at: `2026-06-21` Week: `2026-W25` ## Summary - decision: `curator-review` -- daily_report_count: `3` +- daily_report_count: `4` - unique_opportunity_count: `5` - ready_for_approval_review_count: `1` - proposal_review_count: `4` - top_score: `88` -- skill_count: `12` +- skill_count: `11` - actionable_portfolio_issue_count: `0` - release_lock_ready: `True` - evidence_consistency_ok: `True` @@ -89,13 +89,13 @@ This report is a weekly curator cockpit for generated SkillOps evidence. It does ## Portfolio Signals -- skill_count: `12` +- skill_count: `11` - actionable_issue_count: `0` - route_collision_count: `5` - actionable_route_collision_count: `0` -- owner_gap_count: `9` +- owner_gap_count: `8` - actionable_owner_gap_count: `0` -- stale_count: `10` +- stale_count: `9` - actionable_stale_count: `0` - drift_signal_count: `0` - actionable_drift_signal_count: `0` diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index a0e5c8d..d955bb5 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-21", "previous": { "name": "yao-meta-skill", "version": "1.0.0", @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" + "to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" + "to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383" } ] }, @@ -90,7 +90,7 @@ "artifacts": { "previous_package": "registry/examples/yao-meta-skill-1.0.0.json", "current_package": "reports/registry_audit.json", - "json": "tests/tmp_review_studio/upgrade_check.json", - "markdown": "tests/tmp_review_studio/upgrade_check.md" + "json": "reports/upgrade_check.json", + "markdown": "reports/upgrade_check.md" } } diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json index 6d8e8ea..045e889 100644 --- a/reports/world_class_claim_guard.json +++ b/reports/world_class_claim_guard.json @@ -1,15 +1,15 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "ledger_ready_to_claim_world_class": false, "ledger_pending_count": 4, - "claim_surface_count": 175, - "json_claim_surface_count": 85, - "metadata_claim_surface_count": 86, - "package_claim_surface_count": 10, + "claim_surface_count": 184, + "json_claim_surface_count": 91, + "metadata_claim_surface_count": 92, + "package_claim_surface_count": 17, "violation_count": 0, "overclaim_guard_active": true, "decision": "claim-guard-pass-evidence-pending" @@ -54,6 +54,34 @@ "path": "agents/interface.yaml", "violation_count": 0 }, + { + "path": "dist/manifest.json", + "violation_count": 0 + }, + { + "path": "dist/targets/claude/README.md", + "violation_count": 0 + }, + { + "path": "dist/targets/claude/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/generic/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/openai/adapter.json", + "violation_count": 0 + }, + { + "path": "dist/targets/vscode/README.md", + "violation_count": 0 + }, + { + "path": "dist/targets/vscode/adapter.json", + "violation_count": 0 + }, { "path": "docs/README.fr-FR.md", "violation_count": 0 @@ -602,6 +630,14 @@ "path": "reports/skillops/daily/2026-06-20.md", "violation_count": 0 }, + { + "path": "reports/skillops/daily/2026-06-21.json", + "violation_count": 0 + }, + { + "path": "reports/skillops/daily/2026-06-21.md", + "violation_count": 0 + }, { "path": "reports/skillops/weekly/2026-W25.json", "violation_count": 0 diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md index ca4f2ad..1a7c03c 100644 --- a/reports/world_class_claim_guard.md +++ b/reports/world_class_claim_guard.md @@ -1,16 +1,16 @@ # World-Class Claim Guard -Generated at: `2026-06-20` +Generated at: `2026-06-21` ## Summary - decision: `claim-guard-pass-evidence-pending` - ledger ready to claim world-class: `false` - ledger pending evidence: `4` -- claim surfaces scanned: `175` -- JSON claim surfaces scanned: `85` -- metadata claim surfaces scanned: `86` -- package/runtime claim surfaces scanned: `10` +- claim surfaces scanned: `184` +- JSON claim surfaces scanned: `91` +- metadata claim surfaces scanned: `92` +- package/runtime claim surfaces scanned: `17` - violations: `0` - overclaim guard active: `true` diff --git a/reports/world_class_evidence_preflight.html b/reports/world_class_evidence_preflight.html index 71a5afa..3f03cb5 100644 --- a/reports/world_class_evidence_preflight.html +++ b/reports/world_class_evidence_preflight.html @@ -92,7 +92,7 @@
Supporting evidence

supporting-evidence

- 27/28 ready + 31/31 ready

Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.

copy to artifact_refs: false
@@ -667,7 +667,7 @@
Supporting evidence

supporting-evidence

- 7/8 ready + 11/11 ready

Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.

copy to artifact_refs: false
diff --git a/reports/world_class_evidence_preflight.json b/reports/world_class_evidence_preflight.json index 31a2b54..7ae6ff4 100644 --- a/reports/world_class_evidence_preflight.json +++ b/reports/world_class_evidence_preflight.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-20", + "generated_at": "2026-06-21", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -802,8 +802,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 8, - "supporting_evidence_ready_count": 7, + "supporting_evidence_total_count": 11, + "supporting_evidence_ready_count": 11, "roles": [ { "role": "submission-ref", @@ -1946,8 +1946,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 7, "submission_ref_ready_count": 7, - "supporting_evidence_total_count": 28, - "supporting_evidence_ready_count": 27, + "supporting_evidence_total_count": 31, + "supporting_evidence_ready_count": 31, "roles": [ { "role": "submission-ref", diff --git a/reports/world_class_evidence_preflight.md b/reports/world_class_evidence_preflight.md index 7f203f7..67bc6ad 100644 --- a/reports/world_class_evidence_preflight.md +++ b/reports/world_class_evidence_preflight.md @@ -1,6 +1,6 @@ # World-Class Evidence Preflight -Generated at: `2026-06-20` +Generated at: `2026-06-21` ## Summary @@ -33,14 +33,14 @@ This preflight report checks whether an operator can start collecting the remain - drafts count as evidence: `false` - artifact prefill counts as evidence: `false` - submission refs ready: `7` / `7` -- supporting evidence ready: `27` / `28` +- supporting evidence ready: `31` / `31` Generate the submission kit after the real provider, human, native-permission, or native-client work exists. The generated JSON drafts remain `template_only: true` until an operator edits them with real aggregate artifact references and matching SHA-256 digests. The prefill command only inserts local artifact SHA-256 digests; it does not make a draft count as evidence. | Role | Copy to artifact_refs | Ready | Meaning | | --- | --- | --- | --- | | `submission-ref` | `true` | `7 / 7` | Rows marked submission-ref are the aggregate paths expected in artifact_refs. | -| `supporting-evidence` | `false` | `27 / 28` | Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs. | +| `supporting-evidence` | `false` | `31 / 31` | Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs. | `submission-ref` rows are the only checklist rows expected in `artifact_refs`; `supporting-evidence` rows stay available for audit context and reviewer traceability. @@ -149,7 +149,7 @@ Repair rows convert preflight and source blockers into a prioritized operator qu - prepare draft: `python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions` - prepare draft with artifact SHA prefill: `python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions --prefill-artifacts` - submission refs ready: `2` / `2` -- supporting evidence ready: `7` / `8` +- supporting evidence ready: `11` / `11` ### Prechecks diff --git a/scripts/cross_packager.py b/scripts/cross_packager.py index f71b7e7..fe32bc5 100644 --- a/scripts/cross_packager.py +++ b/scripts/cross_packager.py @@ -258,6 +258,8 @@ def should_skip_archive_path(rel_path: Path) -> bool: parts = rel_path.parts if any(part in EXCLUDED_ARCHIVE_PARTS for part in parts): return True + if rel_path.name == "SKILL.md" and parts != ("SKILL.md",): + return True if parts == ("reports", "telemetry_events.jsonl"): return True if parts and parts[0] == "tests" and any(part.startswith("tmp") for part in parts[1:]): diff --git a/scripts/simulate_install.py b/scripts/simulate_install.py index e6f6c10..4dc0074 100644 --- a/scripts/simulate_install.py +++ b/scripts/simulate_install.py @@ -85,6 +85,11 @@ def top_level_dirs(names: list[str]) -> list[str]: return sorted(roots) +def non_root_skill_entries(names: list[str], package_root: str) -> list[str]: + root_entry = f"{package_root}/SKILL.md" + return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry) + + def add_check(checks: list[dict[str, str]], failures: list[str], check_id: str, passed: bool, detail: str) -> None: checks.append({"id": check_id, "status": "pass" if passed else "fail", "detail": detail}) if not passed: @@ -221,7 +226,15 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}") else: unsafe_entries = unsafe_zip_entries(archive_entries) + nested_skill_entries = non_root_skill_entries(archive_entries, package_root) add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries") + add_check( + checks, + failures, + "single-skill-entrypoint", + not nested_skill_entries, + "Installed package exposes only the root SKILL.md entrypoint", + ) roots = top_level_dirs(archive_entries) add_check(checks, failures, "single-top-level", roots == [package_root], f"Archive top-level directory is {package_root}") if not unsafe_entries and roots: @@ -289,6 +302,7 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No "summary": { "archive_present": archive_path.exists(), "archive_entry_count": len(archive_entries), + "nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)), "archive_extracted": bool(installed_dir and installed_dir.exists()), "entrypoint_loaded": bool(frontmatter), "manifest_loaded": bool(source_manifest), @@ -321,6 +335,7 @@ def render_markdown(report: dict[str, Any]) -> str: f"- OK: `{report['ok']}`", f"- Package directory: `{report['package_dir']}`", f"- Archive extracted: `{summary['archive_extracted']}`", + f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`", f"- Entrypoint loaded: `{summary['entrypoint_loaded']}`", f"- Manifest loaded: `{summary['manifest_loaded']}`", f"- Interface loaded: `{summary['interface_loaded']}`", diff --git a/scripts/verify_package.py b/scripts/verify_package.py index c84f078..cc17eb7 100644 --- a/scripts/verify_package.py +++ b/scripts/verify_package.py @@ -59,6 +59,11 @@ def generated_zip_entries(names: list[str]) -> list[str]: return generated +def non_root_skill_entries(names: list[str], package_root: str) -> list[str]: + root_entry = f"{package_root}/SKILL.md" + return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry) + + def required_targets(expectations: dict[str, Any], package_dir: Path) -> list[str]: targets = expectations.get("required_targets") or [] if targets: @@ -133,6 +138,7 @@ def verify_package( add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}") else: unsafe_entries = unsafe_zip_entries(archive_entries) + nested_skill_entries = non_root_skill_entries(archive_entries, package_root) required_entries = [ f"{package_root}/SKILL.md", f"{package_root}/manifest.json", @@ -141,6 +147,13 @@ def verify_package( add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries") for entry in required_entries: add_check(checks, failures, f"archive-entry-{entry}", entry in archive_entries, f"Archive contains {entry}") + add_check( + checks, + failures, + "archive-single-skill-entrypoint", + not nested_skill_entries, + "Archive exposes only the root SKILL.md entrypoint", + ) generated_entries = generated_zip_entries(archive_entries) add_check(checks, failures, "archive-excludes-generated", not generated_entries, "Archive excludes generated dist/, .previews/, and tests/tmp* contents") elif require_zip: @@ -189,6 +202,7 @@ def verify_package( "archive_present": archive_path.exists(), "archive_sha256": archive_sha, "archive_entry_count": len(archive_entries), + "nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)), "failure_count": len(failures), "warning_count": len(warnings), }, @@ -213,6 +227,7 @@ def render_markdown(report: dict[str, Any]) -> str: f"- Targets: `{summary['adapter_count']} / {summary['target_count']}` adapters present", f"- Archive present: `{summary['archive_present']}`", f"- Archive SHA256: `{summary['archive_sha256'] or 'n/a'}`", + f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`", f"- Failures: `{summary['failure_count']}`", f"- Warnings: `{summary['warning_count']}`", "", diff --git a/tests/verify_install_simulation.py b/tests/verify_install_simulation.py index f141c99..5c3b9e3 100644 --- a/tests/verify_install_simulation.py +++ b/tests/verify_install_simulation.py @@ -105,6 +105,7 @@ def main() -> None: assert payload["summary"]["entrypoint_loaded"], payload assert payload["summary"]["manifest_loaded"], payload assert payload["summary"]["interface_loaded"], payload + assert payload["summary"]["nested_skill_entry_count"] == 0, payload assert payload["summary"]["adapter_count"] == 4, payload assert payload["summary"]["installer_permission_enforced_count"] == 12, payload assert payload["summary"]["installer_permission_failure_count"] == 0, payload @@ -113,6 +114,7 @@ def main() -> None: assert not payload["failures"], payload valid_markdown = (TMP / "install_simulation.md").read_text(encoding="utf-8") assert "Install Simulation" in valid_markdown + assert "Nested SKILL.md entries" in valid_markdown assert "Installer permissions enforced" in valid_markdown with tempfile.TemporaryDirectory(prefix="renamed-install-root-") as temp_root: @@ -147,6 +149,17 @@ def main() -> None: assert policy_gap_payload["summary"]["installer_permission_failure_count"] >= 1, policy_gap_payload assert any("vscode capability network has target enforcement note" in item for item in policy_gap_payload["failures"]), policy_gap_payload + nested_skill_dir = TMP / "nested-skill-dist" + shutil.copytree(valid_dir, nested_skill_dir) + with zipfile.ZipFile(nested_skill_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive: + archive.writestr("yao-meta-skill/tests/fixtures/broken/SKILL.md", "---\nname: broken\n---\n") + nested_skill = simulate(nested_skill_dir, TMP / "nested_skill.json", TMP / "nested_skill.md") + nested_skill_payload = nested_skill["payload"] + assert nested_skill["returncode"] == 2, nested_skill + assert not nested_skill_payload["ok"], nested_skill_payload + assert nested_skill_payload["summary"]["nested_skill_entry_count"] == 1, nested_skill_payload + assert any("Installed package exposes only the root SKILL.md entrypoint" in item for item in nested_skill_payload["failures"]), nested_skill_payload + unsafe_dir = TMP / "unsafe-dist" shutil.copytree(valid_dir, unsafe_dir) with zipfile.ZipFile(unsafe_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive: diff --git a/tests/verify_package_verification.py b/tests/verify_package_verification.py index b0f8138..45eed49 100644 --- a/tests/verify_package_verification.py +++ b/tests/verify_package_verification.py @@ -91,8 +91,12 @@ def main() -> None: assert payload["summary"]["adapter_count"] == 4, payload assert payload["summary"]["archive_present"], payload assert payload["summary"]["archive_sha256"], payload + assert payload["summary"]["nested_skill_entry_count"] == 0, payload assert not payload["failures"], payload assert (TMP / "package_verification.md").exists(), TMP + with zipfile.ZipFile(valid_dir / "yao-meta-skill.zip") as archive: + skill_entries = sorted(name for name in archive.namelist() if name.endswith("/SKILL.md")) + assert skill_entries == ["yao-meta-skill/SKILL.md"], skill_entries with tempfile.TemporaryDirectory(prefix="renamed-package-root-") as temp_root: renamed_root = Path(temp_root) / "checkout-alias" @@ -108,9 +112,20 @@ def main() -> None: with zipfile.ZipFile(renamed_dir / "yao-meta-skill.zip") as archive: names = set(archive.namelist()) assert "yao-meta-skill/SKILL.md" in names, sorted(list(names))[:10] + assert not [name for name in names if name.endswith("/SKILL.md") and name != "yao-meta-skill/SKILL.md"], names renamed_valid = verify_package(renamed_dir, TMP / "renamed_package_verification.json", TMP / "renamed_package_verification.md", renamed_root) assert renamed_valid["ok"], renamed_valid + nested_skill_dir = TMP / "nested-skill-dist" + shutil.copytree(valid_dir, nested_skill_dir) + with zipfile.ZipFile(nested_skill_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive: + archive.writestr("yao-meta-skill/examples/demo/SKILL.md", "---\nname: demo\n---\n") + nested = verify_package(nested_skill_dir, TMP / "nested_skill.json", TMP / "nested_skill.md") + assert nested["returncode"] == 2, nested + nested_payload = nested["payload"] + assert nested_payload["summary"]["nested_skill_entry_count"] == 1, nested_payload + assert any("Archive exposes only the root SKILL.md entrypoint" in item for item in nested_payload["failures"]), nested_payload + unsafe_dir = TMP / "unsafe-dist" shutil.copytree(valid_dir, unsafe_dir) with zipfile.ZipFile(unsafe_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive:
路径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