Add world-class submission repair checklist

This commit is contained in:
yaojingang
2026-06-17 03:41:22 +08:00
parent 2241b0e344
commit 48a503f8f6
51 changed files with 683 additions and 401 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
{
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"package_count": 1,
"packages": [
{
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
}
+4 -4
View File
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -48,10 +48,10 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16T19:29:04Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
+1 -1
View File
@@ -1,6 +1,6 @@
# Adaptation Proposals
- Generated at: `2026-06-16T19:29:04Z`
- Generated at: `2026-06-17`
- Pattern report: `reports/user_patterns.json`
- Proposal only: `true`
- Writes repository files: `false`
+1 -1
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16T19:29:03Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
+3 -3
View File
@@ -4,10 +4,10 @@
"generated_at": "2026-06-17",
"skill_dir": ".",
"summary": {
"python_file_count": 222,
"script_file_count": 147,
"python_file_count": 223,
"script_file_count": 148,
"test_file_count": 75,
"internal_module_count": 63,
"internal_module_count": 64,
"cli_script_count": 86,
"command_handler_count": 68,
"entrypoint_command_handler_count": 18,
+3 -3
View File
@@ -5,10 +5,10 @@ Generated at: `2026-06-17`
## Summary
- decision: `pass`
- python files: `222`
- scripts: `147`
- python files: `223`
- scripts: `148`
- tests: `75`
- internal modules: `63`
- internal modules: `64`
- CLI scripts: `86`
- Yao CLI command handlers: `68`
- entrypoint command handlers: `18`
+22 -22
View File
@@ -3,24 +3,24 @@
"ok": true,
"generated_at": "2026-06-17",
"skill_dir": ".",
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"git_status": {
"available": true,
"dirty": true,
"changed_file_count": 79,
"changed_file_count": 51,
"sample": [
" M evidence/world_class/templates/human-adjudication.intake.json",
" 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/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/context_budget.json"
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
],
"scope": "generation-time status before this report is written"
},
@@ -30,9 +30,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -52,7 +52,7 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"public_claim": {
"ready": false,
@@ -68,7 +68,7 @@
},
"release_lock": {
"ready": false,
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"status_scope": "generation-time status before this report is written",
"reason": "working tree was dirty at generation time"
},
@@ -78,7 +78,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9"
"sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -151,8 +151,8 @@
"label": "output_execution",
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7965,
"sha256": "8d850b60e7fa97cf20e4eae2654b2cda34416d1e97982acaa873bdd1b96d3a0c"
"bytes": 7966,
"sha256": "baf406c10747ebb03a12f0bc74233c3e98cf1715bebfcdb450286ac1b2f5277f"
},
{
"label": "blind_review",
@@ -186,43 +186,43 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 133860,
"sha256": "cbaabbb1b82b870ead3a4ee8c51bcbbef9ef52f09a59c8a04407c20bebbadd4f"
"bytes": 134467,
"sha256": "875af23304269c89191e86f8c41e30cfbf5c9bf9603ae478c03bbc163b2a13ef"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
"bytes": 29196,
"sha256": "f8e498d295db139c49e2ea51bd2cbdd52db61fa2b0bd008ef74135601d691895"
"bytes": 29327,
"sha256": "0eeedc1c3ff1fe5e2f9483387e3c56b44dda7eb1b615840afadfb8b55d392787"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
"sha256": "43644bc84a2e950dd68b76cb0c1d2b54994edf65583bbd409bbcc19921c0dc16"
"sha256": "8707b96ff516f0e52201e9b2fa3fbbc59fdfb3046d7d5f534eae47c780563a93"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "f9c6cdf1a7e033b7d80d13f90577f7ae5a269bf2bbb9165bff16d602d01055b7"
"sha256": "d8595fc2c41a897e607eae7a843bbdc28a2941b04d1e913ac9d2dbae233b7a2a"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8758,
"sha256": "c91884a915384363d4ea0339de5c9a3e37ede4356ad1069edf0ae6f880366cc7"
"bytes": 8604,
"sha256": "6d808df453177bf76362f218c41dcd7e41d56283b987f07e1e8fe47c1e9f02f5"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 14466,
"sha256": "7fe324525008e6c55a1ae245113004de0cc0f267337bc6154fa552bf95997c62"
"sha256": "b1c82626a1611c22c4d4cf3a6caa96a80355e9ecbdaee13a683456e648702406"
},
{
"label": "world_class_evidence_plan",
+13 -13
View File
@@ -1,9 +1,9 @@
# Benchmark Reproducibility
Generated at: `2026-06-17`
Commit: `00a8265b81dc32c1716dd5f8981981b164653e53`
Commit: `2241b0e344e896e26a1b8264a797e45665613b8b`
Working tree dirty at generation: `true`
Evidence bundle SHA256: `bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9`
Evidence bundle SHA256: `53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61`
## Summary
@@ -12,8 +12,8 @@ Evidence bundle SHA256: `bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf9916
- methodology complete: `true`
- required artifacts: `25`
- missing artifacts: `0`
- source contract sha256: `275f46e4ef0c`
- archive sha256: `563d37a1085a`
- source contract sha256: `6beb1e623996`
- archive sha256: `992401b48ffe`
- output cases: `5`
- disclosed failure cases: `3`
- reproduction commands: `23`
@@ -23,7 +23,7 @@ Evidence bundle SHA256: `bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf9916
- world-class source checks: `9` pass / `19` total; `10` blocked
- public claim ready: `false`
- public claim blockers: `5`
- changed files at generation: `79`
- changed files at generation: `51`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit is generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
@@ -51,7 +51,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
- algorithm: `sha256(path,label,exists,artifact_sha256)`
- artifacts: `25` / `25`
- sha256: `bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9`
- sha256: `53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61`
## Methodology Sections
@@ -73,17 +73,17 @@ This report proves local benchmark reproducibility only. It keeps external provi
| output_cases | `evals/output/cases.jsonl` | present | `a6ae96857116` |
| output_schema | `evals/output/schema.json` | present | `8ee340c95064` |
| output_scorecard | `reports/output_quality_scorecard.json` | present | `0806258a8e08` |
| output_execution | `reports/output_execution_runs.json` | present | `8d850b60e7fa` |
| output_execution | `reports/output_execution_runs.json` | present | `baf406c10747` |
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
| review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
| trust_report | `reports/security_trust_report.json` | present | `cbaabbb1b82b` |
| python_compatibility | `reports/python_compatibility.json` | present | `f8e498d295db` |
| registry_audit | `reports/registry_audit.json` | present | `43644bc84a2e` |
| package_verification | `reports/package_verification.json` | present | `f9c6cdf1a7e0` |
| install_simulation | `reports/install_simulation.json` | present | `c91884a91538` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `7fe324525008` |
| trust_report | `reports/security_trust_report.json` | present | `875af2330426` |
| python_compatibility | `reports/python_compatibility.json` | present | `0eeedc1c3ff1` |
| registry_audit | `reports/registry_audit.json` | present | `8707b96ff516` |
| package_verification | `reports/package_verification.json` | present | `d8595fc2c41a` |
| install_simulation | `reports/install_simulation.json` | present | `6d808df45317` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `b1c82626a161` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `2beb888d7992` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `22c85613d7be` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `d3f44570e605` |
+10 -10
View File
@@ -6,16 +6,16 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 797,
"other_text_tokens": 1102555,
"other_text_tokens": 1105271,
"estimated_initial_load_tokens": 990,
"estimated_total_text_tokens": 1103352,
"deferred_resource_tokens": 501441,
"estimated_total_text_tokens": 1106068,
"deferred_resource_tokens": 503641,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147
"estimated_tokens": 442611,
"file_count": 148
},
{
"path": "references",
@@ -36,8 +36,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147
"estimated_tokens": 442611,
"file_count": 148
}
],
"deferred_resource_governance": {
@@ -59,14 +59,14 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147,
"estimated_tokens": 442611,
"file_count": 148,
"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": 698,
"relevant_file_count": 700,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 131.3
+1 -1
View File
@@ -2,7 +2,7 @@
| Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status |
| --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- |
| root | `.` | `production` | 1000 | 990 | 797 | 501441 | `governed` | scripts:440411 | 131.3 | - | ok |
| root | `.` | `production` | 1000 | 990 | 797 | 503641 | `governed` | scripts:442611 | 131.3 | - | ok |
| complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok |
| governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok |
+5 -5
View File
@@ -8,12 +8,12 @@
"budget_limit": 1000,
"initial_tokens": 990,
"skill_body_tokens": 797,
"deferred_resource_tokens": 501441,
"deferred_resource_tokens": 503641,
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147
"estimated_tokens": 442611,
"file_count": 148
}
],
"deferred_resource_governance": {
@@ -35,8 +35,8 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147,
"estimated_tokens": 442611,
"file_count": 148,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
],
+25 -25
View File
@@ -189,12 +189,12 @@
"status": "pass",
"expected": {
"status": "pass",
"detail": "initial load 990/1000; deferred 501441/120000; top deferred scripts 440411; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 503641/120000; top deferred scripts 442611; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json"
},
"actual": {
"status": "pass",
"detail": "initial load 990/1000; deferred 501441/120000; top deferred scripts 440411; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 503641/120000; top deferred scripts 442611; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json"
},
"paths": [
@@ -222,7 +222,7 @@
"actual": {
"available": true,
"clean": false,
"changed_file_count": 79
"changed_file_count": 52
},
"paths": [
"reports/benchmark_reproducibility.json"
@@ -263,8 +263,8 @@
"key": "overview-benchmark-commit",
"label": "overview embeds the benchmark commit",
"status": "pass",
"expected": "00a8265b81dc32c1716dd5f8981981b164653e53",
"actual": "00a8265b81dc32c1716dd5f8981981b164653e53",
"expected": "2241b0e344e896e26a1b8264a797e45665613b8b",
"actual": "2241b0e344e896e26a1b8264a797e45665613b8b",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-overview.json"
@@ -279,8 +279,8 @@
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 9,
@@ -292,8 +292,8 @@
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 9,
@@ -409,8 +409,8 @@
"key": "interpretation-benchmark-commit",
"label": "interpretation embeds the benchmark commit",
"status": "pass",
"expected": "00a8265b81dc32c1716dd5f8981981b164653e53",
"actual": "00a8265b81dc32c1716dd5f8981981b164653e53",
"expected": "2241b0e344e896e26a1b8264a797e45665613b8b",
"actual": "2241b0e344e896e26a1b8264a797e45665613b8b",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-interpretation.json"
@@ -425,8 +425,8 @@
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 9,
@@ -438,8 +438,8 @@
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 9,
@@ -1529,7 +1529,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1544,7 +1544,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -1569,7 +1569,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -1617,7 +1617,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1632,7 +1632,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -1657,7 +1657,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -2421,10 +2421,10 @@
"score `91`",
"`16` gates",
"`3` warnings",
"`61` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `147` scripts",
"`685` zip entries",
"archive with `685` entries",
"`62` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `148` scripts",
"`686` zip entries",
"archive with `686` entries",
"`12` installer permission checks enforced",
"`0` permission failures",
"`25` required artifacts",
+10 -10
View File
@@ -1,14 +1,14 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"skill_dir": ".",
"package_dir": "tests/tmp_review_studio/dist",
"install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill",
"installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill",
"package_dir": "dist",
"install_root": "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": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -26,7 +26,7 @@
{
"id": "archive-present",
"status": "pass",
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
"detail": "Package archive exists: dist/yao-meta-skill.zip"
},
{
"id": "archive-safe-paths",
@@ -272,9 +272,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"
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
# Install Simulation
- OK: `True`
- Package directory: `tests/tmp_review_studio/dist`
- Package directory: `dist`
- Archive extracted: `True`
- Entrypoint loaded: `True`
- Manifest loaded: `True`
@@ -16,7 +16,7 @@
| 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-top-level` | `pass` | Archive top-level directory is yao-meta-skill |
| `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable |
+10 -10
View File
@@ -34,7 +34,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.41,
"duration_ms": 26.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -62,7 +62,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.38,
"duration_ms": 25.53,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -85,7 +85,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 27.15,
"duration_ms": 25.6,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -113,7 +113,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.5,
"duration_ms": 27.48,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -136,7 +136,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.64,
"duration_ms": 28.04,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -164,7 +164,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.63,
"duration_ms": 25.52,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -187,7 +187,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.14,
"duration_ms": 25.73,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -214,7 +214,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.29,
"duration_ms": 35.71,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -237,7 +237,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.5,
"duration_ms": 29.02,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -266,7 +266,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 25.89,
"duration_ms": 27.32,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
+10 -10
View File
@@ -23,16 +23,16 @@ Command runner evidence is present. This proves the eval harness executed an ext
| Case | Variant | Mode | Model | Duration ms | Tokens | Score | Status |
| --- | --- | --- | --- | ---: | ---: | ---: | --- |
| skill-package-contract | baseline | command | local-output-eval-runner | 26.41 | 33 | 0.0 | pass |
| skill-package-contract | with_skill | command | local-output-eval-runner | 26.38 | 73 | 100.0 | pass |
| output-eval-expectation | baseline | command | local-output-eval-runner | 27.15 | 36 | 0.0 | pass |
| output-eval-expectation | with_skill | command | local-output-eval-runner | 26.5 | 80 | 100.0 | pass |
| ir-before-packaging | baseline | command | local-output-eval-runner | 26.64 | 33 | 0.0 | pass |
| ir-before-packaging | with_skill | command | local-output-eval-runner | 26.63 | 80 | 100.0 | pass |
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 26.14 | 36 | 0.0 | pass |
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 26.29 | 65 | 100.0 | pass |
| file-backed-governed-package | baseline | command | local-output-eval-runner | 26.5 | 37 | 0.0 | pass |
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.89 | 98 | 100.0 | pass |
| skill-package-contract | baseline | command | local-output-eval-runner | 26.64 | 33 | 0.0 | pass |
| skill-package-contract | with_skill | command | local-output-eval-runner | 25.53 | 73 | 100.0 | pass |
| output-eval-expectation | baseline | command | local-output-eval-runner | 25.6 | 36 | 0.0 | pass |
| output-eval-expectation | with_skill | command | local-output-eval-runner | 27.48 | 80 | 100.0 | pass |
| ir-before-packaging | baseline | command | local-output-eval-runner | 28.04 | 33 | 0.0 | pass |
| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.52 | 80 | 100.0 | pass |
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 25.73 | 36 | 0.0 | pass |
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 35.71 | 65 | 100.0 | pass |
| file-backed-governed-package | baseline | command | local-output-eval-runner | 29.02 | 37 | 0.0 | pass |
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 27.32 | 98 | 100.0 | pass |
## Next Fixes
+2 -2
View File
@@ -8,8 +8,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
+1 -1
View File
@@ -4,7 +4,7 @@
- Package directory: `dist`
- Targets: `4 / 4` adapters present
- Archive present: `True`
- Archive SHA256: `563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e`
- Archive SHA256: `992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365`
- Failures: `0`
- Warnings: `0`
+7 -1
View File
@@ -5,7 +5,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
"file_count": 225,
"file_count": 226,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -832,6 +832,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/world_class_repair_checklist.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/world_class_source_checks.py",
"ok": true,
+1 -1
View File
@@ -6,7 +6,7 @@ Generated at: `2026-06-17`
- decision: `pass`
- target python: `3.11`
- files scanned: `225`
- files scanned: `226`
- issues: `0`
- syntax errors: `0`
- f-string 3.11 violations: `0`
+6 -6
View File
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -53,16 +53,16 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"index": {
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"package_count": 1,
"packages": [
{
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
+2 -2
View File
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
- Package SHA256: `275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8`
- Archive SHA256: `563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e`
- Package SHA256: `6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e`
- Archive SHA256: `992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365`
- Install simulated: `True`
## Compatibility
+9 -9
View File
@@ -740,12 +740,12 @@
<section>
<h2>核心指标</h2>
<div class="metrics"><article class='metric'><span>Skill IR</span><strong>2.0.0</strong><p>5 targets in platform-neutral contract</p></article><article class='metric'><span>Compiler</span><strong>5/5</strong><p>target contracts compiled from Skill IR</p></article><article class='metric'><span>Output Delta</span><strong>100.0</strong><p>5 cases; 1 file-backed</p></article><article class='metric'><span>Exec Runs</span><strong>10</strong><p>command 10; model 0; recorded 0</p></article><article class='metric'><span>Blind A/B</span><strong>5</strong><p>review pairs hide baseline vs with-skill labels</p></article><article class='metric'><span>Review Kit</span><strong>0/5</strong><p>pending 5; answer key hidden</p></article><article class='metric'><span>Review A/B</span><strong>0/5</strong><p>adjudication decisions; pending 5</p></article><article class='metric'><span>Public Claim</span><strong>blocked</strong><p>5 blockers; local reproducible true</p></article><article class='metric'><span>Blueprint</span><strong>21/21</strong><p>2.0 coverage; extensions partial 0, planned 0; evidence pending 4</p></article><article class='metric'><span>Runtime</span><strong>5/5</strong><p>target conformance pass rate</p></article><article class='metric'><span>Perm Probe</span><strong>4/4</strong><p>0 native; 4 installer-enforced</p></article><article class='metric'><span>Trust</span><strong>0</strong><p>147 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>225 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>696 largest lines; 0 watchlist; 3 early; 68 CLI handlers; 18 in entrypoint</p></article><article class='metric'><span>Atlas</span><strong>5</strong><p>12 scanned skills; route collisions</p></article><article class='metric'><span>Drift</span><strong>low</strong><p>1 metadata events; 0 missed triggers</p></article><article class='metric'><span>Daily Ops</span><strong>5</strong><p>proposal-review; approval 0; release lock true</p></article><article class='metric'><span>Weekly Queue</span><strong>5</strong><p>curator-review; ready 1; top score 88</p></article><article class='metric'><span>Waivers</span><strong>0</strong><p>0 gates covered; human risk decisions</p></article><article class='metric'><span>Intake</span><strong>4/4</strong><p>0 valid submissions; 0 invalid</p></article><article class='metric'><span>Claim Guard</span><strong>0</strong><p>182 public surfaces scanned</p></article><article class='metric'><span>Notes</span><strong>0/0</strong><p>0 open blocker annotations</p></article><article class='metric'><span>Registry</span><strong>1.1.0</strong><p>5 targets; MIT license</p></article><article class='metric'><span>Archive</span><strong>pass</strong><p>685 zip entries; package verification</p></article><article class='metric'><span>Install</span><strong>pass</strong><p>4 adapters; 12 permissions enforced; 0 permission failures</p></article><article class='metric'><span>Upgrade</span><strong>minor</strong><p>declared minor; 0 breaking changes</p></article></div>
<div class="metrics"><article class='metric'><span>Skill IR</span><strong>2.0.0</strong><p>5 targets in platform-neutral contract</p></article><article class='metric'><span>Compiler</span><strong>5/5</strong><p>target contracts compiled from Skill IR</p></article><article class='metric'><span>Output Delta</span><strong>100.0</strong><p>5 cases; 1 file-backed</p></article><article class='metric'><span>Exec Runs</span><strong>10</strong><p>command 10; model 0; recorded 0</p></article><article class='metric'><span>Blind A/B</span><strong>5</strong><p>review pairs hide baseline vs with-skill labels</p></article><article class='metric'><span>Review Kit</span><strong>0/5</strong><p>pending 5; answer key hidden</p></article><article class='metric'><span>Review A/B</span><strong>0/5</strong><p>adjudication decisions; pending 5</p></article><article class='metric'><span>Public Claim</span><strong>blocked</strong><p>5 blockers; local reproducible true</p></article><article class='metric'><span>Blueprint</span><strong>21/21</strong><p>2.0 coverage; extensions partial 0, planned 0; evidence pending 4</p></article><article class='metric'><span>Runtime</span><strong>5/5</strong><p>target conformance pass rate</p></article><article class='metric'><span>Perm Probe</span><strong>4/4</strong><p>0 native; 4 installer-enforced</p></article><article class='metric'><span>Trust</span><strong>0</strong><p>148 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>226 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>696 largest lines; 0 watchlist; 2 early; 68 CLI handlers; 18 in entrypoint</p></article><article class='metric'><span>Atlas</span><strong>5</strong><p>12 scanned skills; route collisions</p></article><article class='metric'><span>Drift</span><strong>low</strong><p>1 metadata events; 0 missed triggers</p></article><article class='metric'><span>Daily Ops</span><strong>5</strong><p>proposal-review; approval 0; release lock false</p></article><article class='metric'><span>Weekly Queue</span><strong>5</strong><p>curator-review; ready 1; top score 88</p></article><article class='metric'><span>Waivers</span><strong>0</strong><p>0 gates covered; human risk decisions</p></article><article class='metric'><span>Intake</span><strong>4/4</strong><p>0 valid submissions; 0 invalid</p></article><article class='metric'><span>Claim Guard</span><strong>0</strong><p>182 public surfaces scanned</p></article><article class='metric'><span>Notes</span><strong>0/0</strong><p>0 open blocker annotations</p></article><article class='metric'><span>Registry</span><strong>1.1.0</strong><p>5 targets; MIT license</p></article><article class='metric'><span>Archive</span><strong>pass</strong><p>686 zip entries; package verification</p></article><article class='metric'><span>Install</span><strong>pass</strong><p>4 adapters; 12 permissions enforced; 0 permission failures</p></article><article class='metric'><span>Upgrade</span><strong>minor</strong><p>declared minor; 0 breaking changes</p></article></div>
</section>
<section>
<h2>审查闸门</h2>
<div class="gates"><article class='gate pass'><div><span>通过</span><h3>意图画布</h3></div><p>intent confidence 100/100; Intent is clear enough to package the first routeable version.</p><footer>reports/intent-confidence.json <a href='intent-confidence.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>触发实验</h3></div><p>13 trigger cases; 0 misroutes; 0 ambiguous</p><footer>reports/route_scorecard.json <a href='route_scorecard.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>输出实验</h3></div><p>5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5</p><footer>reports/output_quality_scorecard.json <a href='output_quality_scorecard.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>上下文</h3></div><p>initial load 990/1000; deferred 501441/120000; top deferred scripts 440411; resource governance governed; quality density 131.3</p><footer>reports/context_budget.json <a href='context_budget.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运行矩阵</h3></div><p>5 / 5 targets pass</p><footer>reports/conformance_matrix.json <a href='conformance_matrix.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>信任报告</h3></div><p>0 secrets; 147 scripts; 3 network-capable scripts; 0 help smoke failures</p><footer>reports/security_trust_report.json <a href='security_trust_report.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>Python 兼容</h3></div><p>Python 3.11; 225 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards</p><footer>reports/python_compatibility.json <a href='python_compatibility.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>架构维护</h3></div><p>222 Python files; 0 hotspots; 0 watchlist files; 3 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint</p><footer>reports/architecture_maintainability.json <a href='architecture_maintainability.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限批准</h3></div><p>3/3 permissions approved; gaps 0; required file_write, network, subprocess</p><footer>reports/security_trust_report.json + security/permission_policy.json <a href='../security/permission_policy.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限探针</h3></div><p>4/4 targets probed; native 0; metadata fallback 4; installer 4; residual risks 4</p><footer>reports/runtime_permission_probes.json <a href='runtime_permission_probes.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>组合治理</h3></div><p>12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues</p><footer>reports/skill_atlas.json <a href='skill_atlas.html'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运营回路</h3></div><p>1 metadata events; adoption 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 false</p><footer>reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly <a href='adoption_drift_report.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>人工批准</h3></div><p>0 active waivers; 1 warning gates still need reviewer decision</p><footer>reports/review_waivers.json <a href='review_waivers.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>世界证据</h3></div><p>4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 9/19 pass; 10 blocked; overclaim guard true</p><footer>reports/world_class_evidence_ledger.json <a href='world_class_evidence_ledger.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>注册审计</h3></div><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p><footer>reports/registry_audit.json + reports/install_simulation.json <a href='registry_audit.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>发布路线</h3></div><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p><footer>reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md <a href='promotion_decisions.md'>证据</a></footer></article></div>
<div class="gates"><article class='gate pass'><div><span>通过</span><h3>意图画布</h3></div><p>intent confidence 100/100; Intent is clear enough to package the first routeable version.</p><footer>reports/intent-confidence.json <a href='intent-confidence.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>触发实验</h3></div><p>13 trigger cases; 0 misroutes; 0 ambiguous</p><footer>reports/route_scorecard.json <a href='route_scorecard.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>输出实验</h3></div><p>5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 0; recorded 0; reviewed 0/5; review pending 5</p><footer>reports/output_quality_scorecard.json <a href='output_quality_scorecard.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>上下文</h3></div><p>initial load 990/1000; deferred 503641/120000; top deferred scripts 442611; resource governance governed; quality density 131.3</p><footer>reports/context_budget.json <a href='context_budget.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运行矩阵</h3></div><p>5 / 5 targets pass</p><footer>reports/conformance_matrix.json <a href='conformance_matrix.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>信任报告</h3></div><p>0 secrets; 148 scripts; 3 network-capable scripts; 0 help smoke failures</p><footer>reports/security_trust_report.json <a href='security_trust_report.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>Python 兼容</h3></div><p>Python 3.11; 226 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards</p><footer>reports/python_compatibility.json <a href='python_compatibility.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>架构维护</h3></div><p>223 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint</p><footer>reports/architecture_maintainability.json <a href='architecture_maintainability.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限批准</h3></div><p>3/3 permissions approved; gaps 0; required file_write, network, subprocess</p><footer>reports/security_trust_report.json + security/permission_policy.json <a href='../security/permission_policy.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限探针</h3></div><p>4/4 targets probed; native 0; metadata fallback 4; installer 4; residual risks 4</p><footer>reports/runtime_permission_probes.json <a href='runtime_permission_probes.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>组合治理</h3></div><p>12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues</p><footer>reports/skill_atlas.json <a href='skill_atlas.html'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运营回路</h3></div><p>1 metadata events; adoption 0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock false; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock false</p><footer>reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly <a href='adoption_drift_report.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>人工批准</h3></div><p>0 active waivers; 1 warning gates still need reviewer decision</p><footer>reports/review_waivers.json <a href='review_waivers.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>世界证据</h3></div><p>4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 9/19 pass; 10 blocked; overclaim guard true</p><footer>reports/world_class_evidence_ledger.json <a href='world_class_evidence_ledger.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>注册审计</h3></div><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p><footer>reports/registry_audit.json + reports/install_simulation.json <a href='registry_audit.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>发布路线</h3></div><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p><footer>reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md <a href='promotion_decisions.md'>证据</a></footer></article></div>
</section>
<section>
@@ -812,17 +812,17 @@
</section>
<section class="twocol">
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 501441/120000; top deferred scripts 440411; resource governance governed; quality density 131.3</p></div>
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 503641/120000; top deferred scripts 442611; resource governance governed; quality density 131.3</p></div>
<div class="panel"><h2>编译证据</h2><p>Review reports/compiled_targets.md before packaging to inspect target adapter modes, generated files, preserved semantics, warnings, and unsupported features.</p></div>
</section>
<section id="trust" class="twocol">
<div class="panel"><h2>信任报告</h2><dl class='kv-grid'><div><dt>Secret</dt><dd>0</dd></div><div><dt>脚本数</dt><dd>147</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8</code></dd></div></dl></div>
<div class="panel"><h2>信任报告</h2><dl class='kv-grid'><div><dt>Secret</dt><dd>0</dd></div><div><dt>脚本数</dt><dd>148</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e</code></dd></div></dl></div>
<div class="panel"><h2>安全边界</h2><p>高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。</p></div>
</section>
<section class="twocol">
<div class="panel"><h2>Python 兼容</h2><dl class='kv-grid'><div><dt>目标 Python</dt><dd>3.11</dd></div><div><dt>文件数</dt><dd>225</dd></div><div><dt>问题数</dt><dd>0</dd></div><div><dt>语法错误</dt><dd>0</dd></div><div><dt>F-string 3.11</dt><dd>0</dd></div></dl></div>
<div class="panel"><h2>Python 兼容</h2><dl class='kv-grid'><div><dt>目标 Python</dt><dd>3.11</dd></div><div><dt>文件数</dt><dd>226</dd></div><div><dt>问题数</dt><dd>0</dd></div><div><dt>语法错误</dt><dd>0</dd></div><div><dt>F-string 3.11</dt><dd>0</dd></div></dl></div>
<div class="panel"><h2>解释器边界</h2><p>CI 和发布审查以 Python 3.11 兼容为底线;本地更高版本允许的新语法不能绕过兼容门禁。</p></div>
</section>
@@ -842,13 +842,13 @@
</section>
<section id="telemetry" class="twocol">
<div class="panel"><h2>运营回路</h2><p>1 metadata events; adoption 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 false</p></div>
<div class="panel"><h2>运营回路</h2><p>1 metadata events; adoption 0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock false; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock false</p></div>
<div class="panel"><h2>漂移信号</h2><dl class='kv-grid'><div><dt>事件数</dt><dd>1</dd></div><div><dt>采用率</dt><dd>0</dd></div><div><dt>漏触发</dt><dd>0</dd></div><div><dt>Bad Output Count</dt><dd>0</dd></div><div><dt>风险带</dt><dd>low</dd></div></dl></div>
</section>
<section class="twocol">
<div class="panel"><h2>日常运维</h2><dl class='kv-grid'><div><dt>决策</dt><dd>proposal-review</dd></div><div><dt>提案数</dt><dd>5</dd></div><div><dt>Approval Count</dt><dd>0</dd></div><div><dt>Pending Review Count</dt><dd>0</dd></div><div><dt>发布锁</dt><dd></dd></div><div><dt>世界级</dt><dd></dd></div><div><dt>Writes Source Files</dt><dd></dd></div><div><dt>Auto Patch Enabled</dt><dd></dd></div></dl></div>
<div class="panel"><h2>日常运维</h2><dl class='kv-grid'><div><dt>决策</dt><dd>proposal-review</dd></div><div><dt>提案数</dt><dd>5</dd></div><div><dt>Approval Count</dt><dd>0</dd></div><div><dt>Pending Review Count</dt><dd>0</dd></div><div><dt>发布锁</dt><dd></dd></div><div><dt>世界级</dt><dd></dd></div><div><dt>Writes Source Files</dt><dd></dd></div><div><dt>Auto Patch Enabled</dt><dd></dd></div></dl></div>
<div class="panel"><h2>周度队列</h2><dl class='kv-grid'><div><dt>决策</dt><dd>curator-review</dd></div><div><dt>Week Id</dt><dd>2026-W25</dd></div><div><dt>日报数</dt><dd>2</dd></div><div><dt>唯一机会</dt><dd>5</dd></div><div><dt>待批准复核</dt><dd>1</dd></div><div><dt>提案复核</dt><dd>4</dd></div><div><dt>Top Score</dt><dd>88</dd></div><div><dt>发布锁</dt><dd></dd></div><div><dt>Writes Source Files</dt><dd></dd></div><div><dt>Auto Patch Enabled</dt><dd></dd></div></dl></div>
</section>
@@ -903,12 +903,12 @@
<section id="registry" class="twocol">
<div class="panel"><h2>注册审计</h2><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p></div>
<div class="panel"><h2>包体元数据</h2><dl class='kv-grid'><div><dt>名称</dt><dd>yao-meta-skill</dd></div><div><dt>版本</dt><dd>1.1.0</dd></div><div><dt>Maturity</dt><dd>governed</dd></div><div><dt>Owner</dt><dd>Yao Team</dd></div><div><dt>License</dt><dd>MIT</dd></div><div><dt>信任级别</dt><dd>local</dd></div><div><dt>目标平台</dt><dd>openai, claude, generic, agent-skills-compatible, vscode</dd></div><div><dt>兼容通过</dt><dd>6/6</dd></div><div><dt>归档哈希</dt><dd><code>563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e</code></dd></div></dl></div>
<div class="panel"><h2>包体元数据</h2><dl class='kv-grid'><div><dt>名称</dt><dd>yao-meta-skill</dd></div><div><dt>版本</dt><dd>1.1.0</dd></div><div><dt>Maturity</dt><dd>governed</dd></div><div><dt>Owner</dt><dd>Yao Team</dd></div><div><dt>License</dt><dd>MIT</dd></div><div><dt>信任级别</dt><dd>local</dd></div><div><dt>目标平台</dt><dd>openai, claude, generic, agent-skills-compatible, vscode</dd></div><div><dt>兼容通过</dt><dd>6/6</dd></div><div><dt>归档哈希</dt><dd><code>992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365</code></dd></div></dl></div>
</section>
<section id="release" class="twocol">
<div class="panel"><h2>发布路线</h2><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p></div>
<div class="panel"><h2>包体验证</h2><dl class='kv-grid'><div><dt>目标数</dt><dd>4</dd></div><div><dt>Adapter</dt><dd>4</dd></div><div><dt>归档存在</dt><dd></dd></div><div><dt>Zip 条目</dt><dd>685</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e</code></dd></div></dl></div>
<div class="panel"><h2>包体验证</h2><dl class='kv-grid'><div><dt>目标数</dt><dd>4</dd></div><div><dt>Adapter</dt><dd>4</dd></div><div><dt>归档存在</dt><dd></dd></div><div><dt>Zip 条目</dt><dd>686</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365</code></dd></div></dl></div>
</section>
<section class="twocol">
+148 -131
View File
@@ -44,7 +44,7 @@
"key": "context-budget",
"label": "上下文",
"status": "pass",
"detail": "initial load 990/1000; deferred 501441/120000; top deferred scripts 440411; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 503641/120000; top deferred scripts 442611; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json",
"link": "context_budget.md"
},
@@ -60,7 +60,7 @@
"key": "trust-report",
"label": "信任报告",
"status": "pass",
"detail": "0 secrets; 147 scripts; 3 network-capable scripts; 0 help smoke failures",
"detail": "0 secrets; 148 scripts; 3 network-capable scripts; 0 help smoke failures",
"evidence": "reports/security_trust_report.json",
"link": "security_trust_report.md"
},
@@ -68,7 +68,7 @@
"key": "python-compat",
"label": "Python 兼容",
"status": "pass",
"detail": "Python 3.11; 225 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
"detail": "Python 3.11; 226 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
"evidence": "reports/python_compatibility.json",
"link": "python_compatibility.md"
},
@@ -76,7 +76,7 @@
"key": "architecture-maintainability",
"label": "架构维护",
"status": "pass",
"detail": "222 Python files; 0 hotspots; 0 watchlist files; 3 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint",
"detail": "223 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint",
"evidence": "reports/architecture_maintainability.json",
"link": "architecture_maintainability.md"
},
@@ -108,7 +108,7 @@
"key": "operations-loop",
"label": "运营回路",
"status": "pass",
"detail": "1 metadata events; adoption 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 false",
"detail": "1 metadata events; adoption 0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock false; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock false",
"evidence": "reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly",
"link": "adoption_drift_report.md"
},
@@ -1515,7 +1515,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1530,7 +1530,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -1555,7 +1555,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -1685,7 +1685,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -2011,9 +2011,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -2033,9 +2033,9 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -2119,9 +2119,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -2139,8 +2139,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"skill_atlas": {
"skill_count": 12,
@@ -2178,8 +2178,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -2210,12 +2210,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"failures": [],
"warnings": []
@@ -2226,8 +2226,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
@@ -2238,7 +2238,7 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -2305,12 +2305,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
@@ -4824,7 +4824,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.41,
"duration_ms": 26.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4852,7 +4852,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.38,
"duration_ms": 25.53,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4875,7 +4875,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 27.15,
"duration_ms": 25.6,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4903,7 +4903,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.5,
"duration_ms": 27.48,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4926,7 +4926,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.64,
"duration_ms": 28.04,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4954,7 +4954,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.63,
"duration_ms": 25.52,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4977,7 +4977,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.14,
"duration_ms": 25.73,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5004,7 +5004,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.29,
"duration_ms": 35.71,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5027,7 +5027,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 26.5,
"duration_ms": 29.02,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5056,7 +5056,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 25.89,
"duration_ms": 27.32,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5837,24 +5837,24 @@
"ok": true,
"generated_at": "2026-06-17",
"skill_dir": ".",
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"git_status": {
"available": true,
"dirty": true,
"changed_file_count": 79,
"changed_file_count": 51,
"sample": [
" M evidence/world_class/templates/human-adjudication.intake.json",
" 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/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/context_budget.json"
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
],
"scope": "generation-time status before this report is written"
},
@@ -5864,9 +5864,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -5886,7 +5886,7 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"public_claim": {
"ready": false,
@@ -5902,7 +5902,7 @@
},
"release_lock": {
"ready": false,
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"status_scope": "generation-time status before this report is written",
"reason": "working tree was dirty at generation time"
},
@@ -5912,7 +5912,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9"
"sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -5985,8 +5985,8 @@
"label": "output_execution",
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7965,
"sha256": "8d850b60e7fa97cf20e4eae2654b2cda34416d1e97982acaa873bdd1b96d3a0c"
"bytes": 7966,
"sha256": "baf406c10747ebb03a12f0bc74233c3e98cf1715bebfcdb450286ac1b2f5277f"
},
{
"label": "blind_review",
@@ -6020,43 +6020,43 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 133860,
"sha256": "cbaabbb1b82b870ead3a4ee8c51bcbbef9ef52f09a59c8a04407c20bebbadd4f"
"bytes": 134467,
"sha256": "875af23304269c89191e86f8c41e30cfbf5c9bf9603ae478c03bbc163b2a13ef"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
"bytes": 29196,
"sha256": "f8e498d295db139c49e2ea51bd2cbdd52db61fa2b0bd008ef74135601d691895"
"bytes": 29327,
"sha256": "0eeedc1c3ff1fe5e2f9483387e3c56b44dda7eb1b615840afadfb8b55d392787"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
"sha256": "43644bc84a2e950dd68b76cb0c1d2b54994edf65583bbd409bbcc19921c0dc16"
"sha256": "8707b96ff516f0e52201e9b2fa3fbbc59fdfb3046d7d5f534eae47c780563a93"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "f9c6cdf1a7e033b7d80d13f90577f7ae5a269bf2bbb9165bff16d602d01055b7"
"sha256": "d8595fc2c41a897e607eae7a843bbdc28a2941b04d1e913ac9d2dbae233b7a2a"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8758,
"sha256": "c91884a915384363d4ea0339de5c9a3e37ede4356ad1069edf0ae6f880366cc7"
"bytes": 8604,
"sha256": "6d808df453177bf76362f218c41dcd7e41d56283b987f07e1e8fe47c1e9f02f5"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 14466,
"sha256": "7fe324525008e6c55a1ae245113004de0cc0f267337bc6154fa552bf95997c62"
"sha256": "b1c82626a1611c22c4d4cf3a6caa96a80355e9ecbdaee13a683456e648702406"
},
{
"label": "world_class_evidence_plan",
@@ -6388,7 +6388,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
"current": "147 scripts; secrets 0; help failures 0",
"current": "148 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -6462,7 +6462,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
"current": "archive entries 685; install failures 0",
"current": "archive entries 686; 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": [
@@ -12029,7 +12029,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"package_dir": "tests/tmp_review_studio/dist",
"package_dir": "dist",
"expected_capabilities": [
"file_write",
"network",
@@ -12069,7 +12069,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,
@@ -12166,7 +12166,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,
@@ -12248,7 +12248,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,
@@ -12330,7 +12330,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,
@@ -12420,9 +12420,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -12440,8 +12440,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"failures": [],
"warnings": [],
@@ -14312,6 +14312,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/world_class_repair_checklist.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Shared by submission kit generation to turn readiness blockers into actionable repair rows.",
"has_argparse": false,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": false,
"uses_subprocess": false,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/world_class_source_checks.py",
"interface": "internal-module",
@@ -14557,7 +14571,7 @@
"checked_count": 86,
"passed_count": 86,
"failed_count": 0,
"skipped_count": 61,
"skipped_count": 62,
"failed_scripts": [],
"results": [
{
@@ -15610,6 +15624,10 @@
"path": "scripts/world_class_provider_evidence.py",
"reason": "internal module"
},
{
"path": "scripts/world_class_repair_checklist.py",
"reason": "internal module"
},
{
"path": "scripts/world_class_source_checks.py",
"reason": "internal module"
@@ -15862,7 +15880,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
"file_count": 225,
"file_count": 226,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -16689,6 +16707,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/world_class_repair_checklist.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/world_class_source_checks.py",
"ok": true,
@@ -17242,10 +17266,10 @@
"generated_at": "2026-06-17",
"skill_dir": ".",
"summary": {
"python_file_count": 222,
"script_file_count": 147,
"python_file_count": 223,
"script_file_count": 148,
"test_file_count": 75,
"internal_module_count": 63,
"internal_module_count": 64,
"cli_script_count": 86,
"command_handler_count": 68,
"entrypoint_command_handler_count": 18,
@@ -17256,7 +17280,7 @@
"block_line_threshold": 1500,
"largest_file_lines": 696,
"watchlist_count": 0,
"early_watchlist_count": 3,
"early_watchlist_count": 2,
"hotspot_count": 0,
"blocker_count": 0,
"decision": "pass"
@@ -17280,10 +17304,10 @@
},
{
"path": "tests/verify_output_review_adjudication.py",
"lines": 621,
"lines": 599,
"kind": "test",
"severity": "pass",
"early_watch": true,
"early_watch": false,
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
},
{
@@ -17376,14 +17400,6 @@
"severity": "pass",
"early_watch": true,
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
},
{
"path": "tests/verify_output_review_adjudication.py",
"lines": 621,
"kind": "test",
"severity": "pass",
"early_watch": true,
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
}
],
"hotspots": [],
@@ -17401,16 +17417,16 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 797,
"other_text_tokens": 1102555,
"other_text_tokens": 1105271,
"estimated_initial_load_tokens": 990,
"estimated_total_text_tokens": 1103352,
"deferred_resource_tokens": 501441,
"estimated_total_text_tokens": 1106068,
"deferred_resource_tokens": 503641,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147
"estimated_tokens": 442611,
"file_count": 148
},
{
"path": "references",
@@ -17431,8 +17447,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147
"estimated_tokens": 442611,
"file_count": 148
}
],
"deferred_resource_governance": {
@@ -17454,14 +17470,14 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 440411,
"file_count": 147,
"estimated_tokens": 442611,
"file_count": 148,
"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": 698,
"relevant_file_count": 700,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 131.3
@@ -18305,7 +18321,7 @@
},
"catalog": {
"workspace_root": ".",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"skills": [
{
"name": "yao-meta-skill",
@@ -18457,6 +18473,7 @@
"scripts/world_class_native_telemetry_evidence.py",
"scripts/world_class_preflight_layout.py",
"scripts/world_class_provider_evidence.py",
"scripts/world_class_repair_checklist.py",
"scripts/world_class_source_checks.py",
"scripts/world_class_submission_kit_rendering.py",
"scripts/world_class_submission_matrix.py",
@@ -18542,8 +18559,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 1,
"adoption_rate": 100.0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
@@ -19206,7 +19223,7 @@
"name": "incident-command-governor",
"path": "examples/governed-incident-command/generated-skill",
"reason": "review overdue by cadence monthly",
"age_days": 74,
"age_days": 78,
"allowed_days": 31,
"actionable": false,
"scope": "example"
@@ -19374,7 +19391,7 @@
"adoption_drift": {
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16T19:29:03Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -19471,7 +19488,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
@@ -19488,7 +19505,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
@@ -19937,7 +19954,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true
},
"actions": [
@@ -19972,7 +19989,7 @@
"weekly_curator": {
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16T19:29:04Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
@@ -20437,7 +20454,7 @@
"adaptation_proposals": {
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16T19:29:04Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
@@ -24771,8 +24788,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -24803,16 +24820,16 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"index": {
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"package_count": 1,
"packages": [
{
@@ -24828,7 +24845,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
@@ -24851,8 +24868,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
@@ -25510,14 +25527,14 @@
"install_simulation": {
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"skill_dir": ".",
"package_dir": "tests/tmp_review_studio/dist",
"install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill",
"installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill",
"package_dir": "dist",
"install_root": "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": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -25535,7 +25552,7 @@
{
"id": "archive-present",
"status": "pass",
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
"detail": "Package archive exists: dist/yao-meta-skill.zip"
},
{
"id": "archive-safe-paths",
@@ -25781,16 +25798,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-17",
"previous": {
"name": "yao-meta-skill",
"version": "1.0.0",
@@ -25859,12 +25876,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
@@ -25879,8 +25896,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": {
+23 -23
View File
@@ -514,7 +514,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -529,7 +529,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -554,7 +554,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -684,7 +684,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1010,9 +1010,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1032,9 +1032,9 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1118,9 +1118,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1138,8 +1138,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"skill_atlas": {
"skill_count": 12,
@@ -1177,8 +1177,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -1209,12 +1209,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"failures": [],
"warnings": []
@@ -1225,8 +1225,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
@@ -1237,7 +1237,7 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1304,12 +1304,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
+5 -5
View File
@@ -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,
+24 -6
View File
@@ -2,9 +2,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -22,8 +22,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"failures": [],
"warnings": [],
@@ -1894,6 +1894,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/world_class_repair_checklist.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Shared by submission kit generation to turn readiness blockers into actionable repair rows.",
"has_argparse": false,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": false,
"uses_subprocess": false,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/world_class_source_checks.py",
"interface": "internal-module",
@@ -2139,7 +2153,7 @@
"checked_count": 86,
"passed_count": 86,
"failed_count": 0,
"skipped_count": 61,
"skipped_count": 62,
"failed_scripts": [],
"results": [
{
@@ -3192,6 +3206,10 @@
"path": "scripts/world_class_provider_evidence.py",
"reason": "internal module"
},
{
"path": "scripts/world_class_repair_checklist.py",
"reason": "internal module"
},
{
"path": "scripts/world_class_source_checks.py",
"reason": "internal module"
+6 -5
View File
@@ -1,9 +1,9 @@
# Security Trust Report
- OK: `True`
- Scanned files: `239`
- Scripts: `147`
- Internal script modules: `61`
- Scanned files: `240`
- Scripts: `148`
- Internal script modules: `62`
- Secret findings: `0`
- Network-capable scripts: `3`
- Network policy covered scripts: `3`
@@ -15,8 +15,8 @@
- CLI help smoke failures: `0`
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
- Package hash files: `239`
- Package SHA256: `275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8`
- Package hash files: `240`
- Package SHA256: `6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e`
## Failures
@@ -194,6 +194,7 @@
| scripts/world_class_native_telemetry_evidence.py | internal-module | True | False | False | False | False | False | False | Imported by world_class_evidence_contract.py to validate native client telemetry evidence from metadata event rows. |
| scripts/world_class_preflight_layout.py | internal-module | True | False | False | False | False | False | False | Imported by render_world_class_preflight.py to keep preflight HTML layout out of data assembly. |
| scripts/world_class_provider_evidence.py | internal-module | True | False | False | False | False | False | False | Imported by world_class_evidence_contract.py to validate provider-backed holdout execution evidence from run rows. |
| scripts/world_class_repair_checklist.py | internal-module | True | False | False | False | False | False | False | Shared by submission kit generation to turn readiness blockers into actionable repair rows. |
| scripts/world_class_source_checks.py | internal-module | True | False | False | False | False | False | False | Imported by world-class evidence reports to keep source-evidence readiness checks consistent. |
| scripts/world_class_submission_kit_rendering.py | internal-module | True | False | False | False | False | False | False | Shared renderer for world-class submission kit Markdown and HTML artifacts. |
| scripts/world_class_submission_matrix.py | internal-module | True | False | False | False | False | False | False | Shared by submission kit rendering to summarize draft, artifact, and source-check readiness. |
+1 -1
View File
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.8 81.2" stroke-dashoffset="-2.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.0 21.0" stroke-dashoffset="-21.0" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">450</text><text data-lang="en" x="130" y="136" text-anchor="middle">450 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.7 81.3" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.1 20.9" stroke-dashoffset="-20.9" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">451</text><text data-lang="en" x="130" y="136" text-anchor="middle">451 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<table>
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
+23 -23
View File
@@ -514,7 +514,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -529,7 +529,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -554,7 +554,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -688,7 +688,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1014,9 +1014,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1036,9 +1036,9 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1122,9 +1122,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1142,8 +1142,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"skill_atlas": {
"skill_count": 12,
@@ -1181,8 +1181,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -1213,12 +1213,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"failures": [],
"warnings": []
@@ -1229,8 +1229,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
@@ -1241,7 +1241,7 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1308,12 +1308,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
+6 -5
View File
@@ -28,6 +28,7 @@ Yao Meta Skill is no longer only a Meta Skill factory. The current working tree
- World-Class Native Permission Evidence Guard v0 so native-permission submissions must reconcile runtime probe summary counts with target rows, require at least one native-enforced target row, and keep installer permission checks failure-free.
- World-Class Native Telemetry Evidence Guard v0 so native-client-telemetry submissions must reconcile adoption summary counts with external metadata event rows and keep hook recipes metadata-only without claiming native auto-capture.
- World-Class Submission Matrix v0 so the submission kit exposes a single operator-facing matrix for draft status, artifact readiness, source-check blockers, and the next action without counting matrix rows as completion evidence.
- World-Class Repair Checklist v0 so the submission kit turns every draft, artifact, and source-check blocker into machine-readable repair rows without counting repair guidance as completion evidence.
- World-Class Submission Artifact Roles v0 so submission kits distinguish `submission-ref` rows that belong in `artifact_refs` from supporting audit assets, reducing operator ambiguity without accepting evidence.
- World-Class Submission Kit Rendering v0 so Markdown and HTML kit presentation lives in a dedicated internal renderer, keeping the CLI focused on evidence assembly and file emission.
- Benchmark Reproducibility v0 that turns public benchmark methodology, required artifacts, failure disclosure, and reproduction commands into machine-checkable release evidence.
@@ -58,7 +59,7 @@ Yao Meta Skill is no longer only a Meta Skill factory. The current working tree
- Provider Output Eval Runner v0 so `python3 scripts/yao.py output-exec --provider-runner openai` can collect real provider-backed model evidence through a reviewed OpenAI Responses API compatible runner instead of ad hoc shell glue.
- Weekly SkillOps Curator v0 so daily SkillOps opportunities, Skill Atlas portfolio signals, release-lock state, and world-class evidence gaps roll up into a proposal-only weekly maintenance queue without source-file writes.
This is still not the final world-class state. Target-native behavior contracts are now explicit, VS Code / Copilot package metadata is auditable, local output-eval command execution is wired, blind-review answers remain hidden until valid decisions exist, a provider-backed output runner exists, installer-level permission coverage is now locally enforced during install simulation and local install sync, opt-in `yao.py` CLI telemetry can capture metadata-only real run signals, external clients can now emit one validated metadata-only event into a local spool, hook recipes now make Browser/Chrome/VS Code/wrapper/provider-adapter integration commands auditable, a Browser/Chrome Native Messaging host can receive length-prefixed metadata events and generate a local launcher plus manifest, validated external JSONL imports can bring those non-CLI client signals into the same drift loop, and Skill Atlas now consumes aggregate drift reports. World-class intake now rejects non-canonical submission filenames and nested raw content or credential-like fields before ledger review. The submission kit now gives operators a matrix that ties each pending world-class evidence key to its draft, artifact readiness, source blockers, and next action. Review Studio keeps pending human adjudication and pending world-class evidence visible as warnings instead of treating them as a clean pass. Deeper provider-native execution transforms, installed platform-native client telemetry implementations, provider-native installer integration, real provider holdout runs, real human adjudication decisions, accepted external evidence, and native runtime permission enforcement remain open.
This is still not the final world-class state. Target-native behavior contracts are now explicit, VS Code / Copilot package metadata is auditable, local output-eval command execution is wired, blind-review answers remain hidden until valid decisions exist, a provider-backed output runner exists, installer-level permission coverage is now locally enforced during install simulation and local install sync, opt-in `yao.py` CLI telemetry can capture metadata-only real run signals, external clients can now emit one validated metadata-only event into a local spool, hook recipes now make Browser/Chrome/VS Code/wrapper/provider-adapter integration commands auditable, a Browser/Chrome Native Messaging host can receive length-prefixed metadata events and generate a local launcher plus manifest, validated external JSONL imports can bring those non-CLI client signals into the same drift loop, and Skill Atlas now consumes aggregate drift reports. World-class intake now rejects non-canonical submission filenames and nested raw content or credential-like fields before ledger review. The submission kit now gives operators a matrix and repair checklist that tie each pending world-class evidence key to its draft, artifact readiness, source blockers, and next action. Review Studio keeps pending human adjudication and pending world-class evidence visible as warnings instead of treating them as a clean pass. Deeper provider-native execution transforms, installed platform-native client telemetry implementations, provider-native installer integration, real provider holdout runs, real human adjudication decisions, accepted external evidence, and native runtime permission enforcement remain open.
## Coverage Matrix
@@ -73,7 +74,7 @@ This is still not the final world-class state. Target-native behavior contracts
| World-Class Evidence Plan | `scripts/render_world_class_evidence_plan.py`, `reports/world_class_evidence_plan.md`, `tests/verify_world_class_evidence_plan.py` | v0 landed |
| World-Class Evidence Ledger | `scripts/render_world_class_evidence_ledger.py`, `reports/world_class_evidence_ledger.md`, `tests/verify_world_class_evidence_ledger.py` | v0 landed |
| World-Class Evidence Intake | `scripts/world_class_evidence_contract.py`, `scripts/world_class_human_evidence.py`, `scripts/output_review_privacy.py`, `scripts/world_class_provider_evidence.py`, `scripts/world_class_native_permission_evidence.py`, `scripts/world_class_native_telemetry_evidence.py`, `scripts/render_world_class_evidence_intake.py`, `evidence/world_class/intake.schema.json`, `tests/verify_world_class_evidence_intake.py` with canonical filename, source-artifact validation, recursive human decision privacy and answer-key validation, provider run-row validation, native permission target-row validation, native telemetry event-row validation, nested raw-field rejection, and real-submission answer-key leakage rejection | v0 landed |
| World-Class Submission Kit | `scripts/prepare_world_class_submission_kit.py`, `scripts/world_class_submission_matrix.py`, `scripts/world_class_submission_kit_rendering.py`, `tests/verify_world_class_submission_kit.py` with draft, artifact, source-check, next-action matrix evidence, and separated Markdown/HTML rendering | v0 landed |
| World-Class Submission Kit | `scripts/prepare_world_class_submission_kit.py`, `scripts/world_class_submission_matrix.py`, `scripts/world_class_repair_checklist.py`, `scripts/world_class_submission_kit_rendering.py`, `tests/verify_world_class_submission_kit.py` with draft, artifact, source-check, next-action matrix evidence, machine-readable repair rows, and separated Markdown/HTML rendering | v0 landed |
| Runtime Conformance | `scripts/run_conformance_suite.py`, `reports/conformance_matrix.md` | v0 landed |
| Trust & Security | `scripts/trust_check.py`, `reports/security_trust_report.md`, `security/*.md` | v0 landed |
| Review Studio 2.0 | `scripts/render_review_studio.py`, `reports/review-studio.html`, `reports/review-studio.json` with per-warning `review_actions` | v0 landed |
@@ -133,13 +134,13 @@ Next move: add real client or installer permission enforcement integration.
| Output Eval | `5` cases, with-skill pass rate `100`, baseline pass rate `0`, with file-backed, near-neighbor, boundary coverage, `10` local command-runner execution runs, `0` recorded fixture runs, `0` provider model-executed runs in root release evidence, `10` estimated token counts, provider runner v0 available, `5` blind A/B review pairs, a generated `reports/output_review_decisions.json` template, `0 / 5` reviewer decisions pending, `0` answer keys revealed, and `5` pending answers hidden |
| Runtime Conformance | `5 / 5` targets passing |
| Target Compiler | `5 / 5` compiled target contracts generated for OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot outputs, including target permission contracts and target-native behavior contracts |
| Trust | `0` secret findings, `1` pinned dependency file, `61` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `147` scripts, source-contract hash scope explicit |
| Trust | `0` secret findings, `1` pinned dependency file, `62` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `148` scripts, source-contract hash scope explicit |
| Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired |
| Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility |
| Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility |
| Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix |
| Package Verification | `4 / 4` target adapters present, archive verified, `685` zip entries, `0` failures, `0` warnings |
| Install Simulation | archive with `685` 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, `686` zip entries, `0` failures, `0` warnings |
| Install Simulation | archive with `686` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
+1 -1
View File
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.8 81.2" stroke-dashoffset="-2.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.0 21.0" stroke-dashoffset="-21.0" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">450</text><text data-lang="en" x="130" y="136" text-anchor="middle">450 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.7 81.3" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.1 20.9" stroke-dashoffset="-20.9" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">451</text><text data-lang="en" x="130" y="136" text-anchor="middle">451 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<table>
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
+23 -23
View File
@@ -513,7 +513,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -528,7 +528,7 @@
"file_count": 235
}
],
"file_count": 450,
"file_count": 451,
"folder_count": 4,
"distribution": [
{
@@ -553,7 +553,7 @@
},
{
"label": "scripts",
"value": 147
"value": 148
},
{
"label": "evals",
@@ -683,7 +683,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 147
"file_count": 148
},
{
"path": "evals",
@@ -1009,9 +1009,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "bea191dfcbc87bd2a3c51e8538c3f47732e14d9e0e0f3849fdf99167cd219fe9",
"source_contract_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"evidence_bundle_sha256": "53b40cc3b316af766a9b69286dd55f46ce1dfb41f2d3e2af811d34a3f57c5f61",
"source_contract_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1031,9 +1031,9 @@
"public_claim_ready": false,
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 79
"changed_file_count": 51
},
"commit": "00a8265b81dc32c1716dd5f8981981b164653e53",
"commit": "2241b0e344e896e26a1b8264a797e45665613b8b",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1117,9 +1117,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 239,
"script_count": 147,
"internal_module_count": 61,
"scanned_files": 240,
"script_count": 148,
"internal_module_count": 62,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1137,8 +1137,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 239,
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"package_hash_file_count": 240,
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
},
"skill_atlas": {
"skill_count": 12,
@@ -1176,8 +1176,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8",
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"package_sha256": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
"compatibility": {
"openai": "pass",
@@ -1208,12 +1208,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-17"
},
"failures": [],
"warnings": []
@@ -1224,8 +1224,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e",
"archive_entry_count": 685,
"archive_sha256": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365",
"archive_entry_count": 686,
"failure_count": 0,
"warning_count": 0
},
@@ -1236,7 +1236,7 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 685,
"archive_entry_count": 686,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1303,12 +1303,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
+5 -4
View File
@@ -44,7 +44,7 @@
},
"catalog": {
"workspace_root": ".",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"skills": [
{
"name": "yao-meta-skill",
@@ -196,6 +196,7 @@
"scripts/world_class_native_telemetry_evidence.py",
"scripts/world_class_preflight_layout.py",
"scripts/world_class_provider_evidence.py",
"scripts/world_class_repair_checklist.py",
"scripts/world_class_source_checks.py",
"scripts/world_class_submission_kit_rendering.py",
"scripts/world_class_submission_matrix.py",
@@ -281,8 +282,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 1,
"adoption_rate": 100.0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
@@ -945,7 +946,7 @@
"name": "incident-command-governor",
"path": "examples/governed-incident-command/generated-skill",
"reason": "review overdue by cadence monthly",
"age_days": 74,
"age_days": 78,
"allowed_days": 31,
"actionable": false,
"scope": "example"
+3 -3
View File
@@ -197,7 +197,7 @@
"key": "trust-security",
"label": "Trust Security",
"status": "pass",
"current": "secrets 0; scripts 147; help failures 0",
"current": "secrets 0; scripts 148; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
@@ -285,7 +285,7 @@
"key": "registry-distribution",
"label": "Registry Distribution",
"status": "pass",
"current": "zip entries 685; install failures 0; permission failures 0",
"current": "zip entries 686; install failures 0; permission failures 0",
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
"evidence": [
{
@@ -307,7 +307,7 @@
"key": "review-studio",
"label": "Review Studio",
"status": "pass",
"current": "decision review; warnings 3; score 91",
"current": "decision review; warnings 4; score 89",
"target": "One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations",
"evidence": [
{
+3 -3
View File
@@ -23,12 +23,12 @@ Generated at: `2026-06-17`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions, blind-review attestation, and integrity fingerprints recorded before claiming output review completion | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
| Trust Security | pass | secrets 0; scripts 147; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
| Trust Security | pass | secrets 0; scripts 148; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. |
| Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
| Registry Distribution | pass | zip entries 685; 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. |
| Registry Distribution | pass | zip entries 686; 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 4; score 89 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
+2 -2
View File
@@ -130,7 +130,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
"current": "147 scripts; secrets 0; help failures 0",
"current": "148 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -204,7 +204,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
"current": "archive entries 685; install failures 0",
"current": "archive entries 686; 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": [
+2 -2
View File
@@ -26,9 +26,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
| Trust Security | `pass` | 147 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Trust Security | `pass` | 148 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
| Registry Distribution | `pass` | archive entries 685; 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 686; 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` |
+3 -3
View File
@@ -14,7 +14,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
@@ -31,7 +31,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
@@ -480,7 +480,7 @@
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true
},
"actions": [
+1 -1
View File
@@ -14,7 +14,7 @@ Generated at: `2026-06-17`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `true`
- release lock ready: `false`
- 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.
+1 -1
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16T19:29:04Z",
"generated_at": "2026-06-17",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
+1 -1
View File
@@ -1,6 +1,6 @@
# Weekly SkillOps Curator Report
Generated at: `2026-06-16T19:29:04Z`
Generated at: `2026-06-17`
Week: `2026-W25`
## Summary
+5 -5
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"previous": {
"name": "yao-meta-skill",
"version": "1.0.0",
@@ -70,12 +70,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "563d37a1085a9b598bca7b132da6c50c1233864855591085b260d4d4bb312a3e"
"to": "992401b48ffe5354fc67d493a44a5f6a2e93adf22d26b28d3ad291f5db813365"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "275f46e4ef0c891b835b3d54dc5579f0abe9597877bd253b3b71b8608dd1f0b8"
"to": "6beb1e623996dc21a8b040d894e12a81fc4c70cc82641887f71c19933e34617e"
}
]
},
@@ -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"
}
}
@@ -9,6 +9,7 @@ from typing import Any
from render_world_class_evidence_intake import build_intake
from world_class_evidence_contract import DISALLOWED_REAL_ARTIFACTS
from world_class_repair_checklist import build_repair_checklist, summarize_repair_checklist
from world_class_source_checks import build_source_checklist, summarize_source_checklist
from world_class_submission_matrix import build_evidence_matrix, summarize_evidence_matrix
from world_class_submission_kit_rendering import render_html, render_readme
@@ -408,6 +409,7 @@ def build_submission_kit(
]
source_checklist = build_source_checklist(items)
evidence_matrix = build_evidence_matrix(items, files, artifact_checklist, source_checklist)
repair_checklist = build_repair_checklist(items, files, artifact_checklist, source_checklist, unknown_keys)
manifest_path = output_dir / "submission_manifest.json"
readme_path = output_dir / "README.md"
output_html = output_html or (output_dir / "index.html")
@@ -425,6 +427,7 @@ def build_submission_kit(
supporting_artifact_ready_count = sum(1 for item in supporting_rows if item.get("artifact_ref_ready"))
source_summary = summarize_source_checklist(source_checklist)
matrix_summary = summarize_evidence_matrix(evidence_matrix)
repair_summary = summarize_repair_checklist(repair_checklist)
ok = not unknown_keys and skipped_count == 0
output_dir_arg = shell_path(output_dir, skill_dir)
requested_key_args = " ".join(f"--evidence-key {shlex.quote(key)}" for key in (evidence_keys or []))
@@ -474,6 +477,7 @@ def build_submission_kit(
"artifact_ref_unfilled_count": unfilled_artifact_ref_count,
**source_summary,
**matrix_summary,
**repair_summary,
"handoff_step_count": len(handoff_steps),
"handoff_blocked_count": sum(1 for item in handoff_steps if item["status"] == "blocked"),
"handoff_fix_required_count": sum(1 for item in handoff_steps if item["status"] == "fix-required"),
@@ -487,6 +491,7 @@ def build_submission_kit(
"artifact_checklist": artifact_checklist,
"source_checklist": source_checklist,
"evidence_matrix": evidence_matrix,
"repair_checklist": repair_checklist,
"operator_handoff": handoff_steps,
"evidence_items": items,
"commands": commands,
+154
View File
@@ -0,0 +1,154 @@
#!/usr/bin/env python3
"""Build machine-readable repair checklists for world-class submission kits."""
from collections import defaultdict
from typing import Any
SCRIPT_INTERFACE = "internal-module"
SCRIPT_INTERFACE_REASON = "Shared by submission kit generation to turn readiness blockers into actionable repair rows."
def _by_key(rows: list[dict[str, Any]], key_name: str = "evidence_key") -> dict[str, list[dict[str, Any]]]:
grouped: dict[str, list[dict[str, Any]]] = defaultdict(list)
for row in rows:
key = str(row.get(key_name, "")).strip()
if key:
grouped[key].append(row)
return dict(grouped)
def _repair_row(
*,
evidence_key: str,
repair_type: str,
target: str,
status: str,
blocking_reason: str,
next_action: str,
source: str,
) -> dict[str, Any]:
return {
"evidence_key": evidence_key,
"repair_type": repair_type,
"target": target,
"status": status,
"blocking_reason": blocking_reason,
"next_action": next_action,
"source": source,
"counts_as_completion": False,
}
def build_repair_checklist(
evidence_items: list[dict[str, Any]],
files: list[dict[str, Any]],
artifact_checklist: list[dict[str, Any]],
source_checklist: list[dict[str, Any]],
unknown_keys: list[str],
) -> list[dict[str, Any]]:
"""Return concrete repair rows for every draft, artifact, and source blocker."""
files_by_key = _by_key(files)
artifacts_by_key = _by_key(artifact_checklist)
sources_by_key = _by_key(source_checklist)
rows: list[dict[str, Any]] = []
known_keys = [str(item.get("evidence_key", "")).strip() for item in evidence_items]
for key in known_keys:
if not key:
continue
draft_rows = files_by_key.get(key, [])
if not draft_rows:
rows.append(
_repair_row(
evidence_key=key,
repair_type="draft",
target=key,
status="blocked",
blocking_reason="Submission draft was not generated.",
next_action="Run the submission kit command again for this evidence key.",
source="files",
)
)
for draft in draft_rows:
draft_status = str(draft.get("status", "")).strip()
if draft_status not in {"written", "exists"}:
target = str(draft.get("output_path") or draft.get("template_path") or key)
errors = draft.get("errors", [])
error_text = "; ".join(str(error) for error in errors) if isinstance(errors, list) else ""
rows.append(
_repair_row(
evidence_key=key,
repair_type="draft",
target=target,
status="blocked",
blocking_reason=error_text or f"Draft status is {draft_status or 'unknown'}.",
next_action="Fix template generation before asking for ledger review.",
source="files",
)
)
for artifact in artifacts_by_key.get(key, []):
if artifact.get("artifact_ref_ready"):
continue
target = str(artifact.get("path") or artifact.get("source_pattern") or key)
artifact_status = str(artifact.get("status", "missing"))
role = str(artifact.get("artifact_role", "supporting-evidence"))
if artifact.get("concrete_reference_required"):
action = "Replace the glob with concrete files, then reference the generated SHA-256 digests."
elif artifact.get("submission_ref_required"):
action = "Create the required submission artifact or update artifact_refs to a concrete existing aggregate file."
else:
action = "Add the supporting artifact if it is needed for reviewer audit."
rows.append(
_repair_row(
evidence_key=key,
repair_type="artifact",
target=target,
status="blocked",
blocking_reason=f"{role} artifact is {artifact_status}.",
next_action=action,
source="artifact_checklist",
)
)
for source in sources_by_key.get(key, []):
if source.get("status") == "pass":
continue
field = str(source.get("field") or source.get("label") or key)
rows.append(
_repair_row(
evidence_key=key,
repair_type="source-check",
target=field,
status="blocked",
blocking_reason=f"Current value {source.get('actual')!r} does not satisfy {source.get('expected')!r}.",
next_action=str(source.get("next_action") or "Collect the required source evidence."),
source="source_checklist",
)
)
for key in unknown_keys:
rows.append(
_repair_row(
evidence_key=key,
repair_type="unknown-key",
target=key,
status="blocked",
blocking_reason="Requested evidence key is not present in the operator checklist.",
next_action="Use one of the evidence keys listed by world-class-intake.",
source="unknown_evidence_keys",
)
)
return rows
def summarize_repair_checklist(rows: list[dict[str, Any]]) -> dict[str, Any]:
blocked_count = sum(1 for row in rows if row.get("status") != "ready")
return {
"repair_checklist_count": len(rows),
"repair_blocked_count": blocked_count,
"repair_ready_count": len(rows) - blocked_count,
"repair_counts_as_completion": False,
}
@@ -78,6 +78,26 @@ def render_readme(report: dict[str, Any]) -> str:
f"`{item.get('supporting_artifact_ready_count', 0)}/{item.get('supporting_artifact_total_count', 0)}` | "
f"`{item['source_pass_count']}/{item['source_check_count']}` | {item['next_action']} |"
)
lines.extend(
[
"",
"## Repair Checklist",
"",
"This checklist turns every draft, artifact, and source blocker into a concrete repair row. Repair rows are procedural guidance and do not count as completion evidence.",
"",
"| Evidence | Type | Target | Status | Next action |",
"| --- | --- | --- | --- | --- |",
]
)
repair_rows = report.get("repair_checklist", [])
if repair_rows:
for item in repair_rows:
lines.append(
f"| `{item['evidence_key']}` | `{item['repair_type']}` | `{item['target']}` | "
f"`{item['status']}` | {item['next_action']} |"
)
else:
lines.append("| `all` | `none` | `n/a` | `ready` | No repair rows were generated. |")
lines.extend(["", "## Execution Runbook", ""])
for item in report.get("evidence_items", []):
must_collect = item.get("must_collect", {}) if isinstance(item.get("must_collect", {}), dict) else {}
@@ -276,6 +296,35 @@ def render_html_matrix(items: list[dict[str, Any]]) -> str:
)
def render_html_repair_checklist(items: list[dict[str, Any]]) -> str:
if not items:
return '<p class="muted">No repair rows were generated.</p>'
return "".join(
"""
<article class="repair-card {status}">
<header>
<span>{key} · {repair_type}</span>
<h3>{target}</h3>
</header>
<dl>
<dt>Status</dt><dd>{status}</dd>
<dt>Reason</dt><dd>{reason}</dd>
<dt>Action</dt><dd>{action}</dd>
<dt>Evidence</dt><dd>does not count as completion</dd>
</dl>
</article>
""".format(
status=html_text(item.get("status", "")),
key=html_text(item.get("evidence_key", "")),
repair_type=html_text(item.get("repair_type", "")),
target=html_text(item.get("target", "")),
reason=html_text(item.get("blocking_reason", "")),
action=html_text(item.get("next_action", "")),
)
for item in items
)
def render_html_handoff(items: list[dict[str, Any]]) -> str:
if not items:
return '<p class="muted">No operator handoff steps were generated.</p>'
@@ -365,6 +414,7 @@ def render_html(report: dict[str, Any]) -> str:
)
evidence_html = "".join(render_html_item(item) for item in report.get("evidence_items", []))
matrix_html = render_html_matrix(report.get("evidence_matrix", []))
repair_html = render_html_repair_checklist(report.get("repair_checklist", []))
handoff_html = render_html_handoff(report.get("operator_handoff", []))
artifact_html = render_html_artifact_checklist(report.get("artifact_checklist", []))
source_html = render_html_source_checklist(report.get("source_checklist", []))
@@ -400,12 +450,14 @@ def render_html(report: dict[str, Any]) -> str:
.section {{ padding:32px 0; border-bottom:1px solid var(--line); }}
.panel {{ padding:20px; }}
.two-col {{ display:grid; grid-template-columns:minmax(0, .45fr) minmax(0, 1fr); gap:18px; align-items:start; }}
.draft-grid, .evidence-grid, .artifact-grid, .source-grid, .matrix-grid, .handoff-grid {{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }}
.draft-card, .evidence-card, .artifact-card, .source-card, .matrix-card, .handoff-card {{ padding:18px; min-width:0; border:1px solid var(--line); border-radius:8px; background:#fff; }}
.draft-grid, .evidence-grid, .artifact-grid, .source-grid, .matrix-grid, .repair-grid, .handoff-grid {{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }}
.draft-card, .evidence-card, .artifact-card, .source-card, .matrix-card, .repair-card, .handoff-card {{ padding:18px; min-width:0; border:1px solid var(--line); border-radius:8px; background:#fff; }}
.draft-card.written, .draft-card.exists {{ border-left:4px solid var(--pass); }}
.draft-card.skipped {{ border-left:4px solid var(--warn); }}
.matrix-card.collect-source, .matrix-card.prepare-draft, .matrix-card.fix-artifacts, .matrix-card.fix-draft {{ border-left:4px solid var(--warn); }}
.matrix-card.validate-packet {{ border-left:4px solid var(--pass); }}
.repair-card.blocked {{ border-left:4px solid var(--warn); }}
.repair-card.ready {{ border-left:4px solid var(--pass); }}
.handoff-card.blocked, .handoff-card.fix-required {{ border-left:4px solid var(--warn); }}
.handoff-card.ready {{ border-left:4px solid var(--pass); }}
.evidence-card.awaiting-submission, .evidence-card.fix-submission, .evidence-card.fix-template, .artifact-card.missing, .artifact-card.glob-no-match, .artifact-card.unsafe-path, .artifact-card.raw-content-disallowed {{ border-left:4px solid var(--warn); }}
@@ -425,11 +477,11 @@ def render_html(report: dict[str, Any]) -> str:
.mini-grid li, .runbook-panel li, .notice li {{ overflow-wrap:anywhere; }}
.notice {{ background:var(--soft); border-left:4px solid var(--ink); padding:16px; border-radius:8px; }}
.errors {{ color:var(--warn); }}
@media (max-width:820px) {{ .stats, .two-col, .draft-grid, .evidence-grid, .artifact-grid, .source-grid, .matrix-grid, .handoff-grid, .mini-grid {{ grid-template-columns:1fr; }} h1 {{ font-size:38px; }} .topbar-inner {{ align-items:flex-start; flex-direction:column; }} }}
@media (max-width:820px) {{ .stats, .two-col, .draft-grid, .evidence-grid, .artifact-grid, .source-grid, .matrix-grid, .repair-grid, .handoff-grid, .mini-grid {{ grid-template-columns:1fr; }} h1 {{ font-size:38px; }} .topbar-inner {{ align-items:flex-start; flex-direction:column; }} }}
</style>
</head>
<body>
<nav class="topbar"><div class="topbar-inner"><span class="brand">World-Class Kit</span><div class="links"><a href="#workflow">Workflow</a><a href="#handoff">Handoff</a><a href="#matrix">Matrix</a><a href="#drafts">Drafts</a><a href="#artifacts">Artifacts</a><a href="#source">Source</a><a href="#evidence">Evidence</a><a href="#safety">Safety</a></div></div></nav>
<nav class="topbar"><div class="topbar-inner"><span class="brand">World-Class Kit</span><div class="links"><a href="#workflow">Workflow</a><a href="#handoff">Handoff</a><a href="#matrix">Matrix</a><a href="#repair">Repair</a><a href="#drafts">Drafts</a><a href="#artifacts">Artifacts</a><a href="#source">Source</a><a href="#evidence">Evidence</a><a href="#safety">Safety</a></div></div></nav>
<main class="shell">
<section class="hero">
<span class="eyebrow">Evidence Intake</span>
@@ -443,6 +495,7 @@ def render_html(report: dict[str, Any]) -> str:
</section>
<section class="section" id="handoff"><h2>Operator Handoff</h2><p class="muted">These ordered steps make the operator-to-reviewer handoff auditable. They are procedural guardrails and never count as world-class evidence.</p><div class="handoff-grid">{handoff_html}</div></section>
<section class="section" id="matrix"><h2>Evidence Matrix</h2><p class="muted">The matrix separates submission artifact_refs from supporting assets, then combines draft status, source checks, and the next operator action. It is guidance only and never counts as accepted evidence.</p><div class="matrix-grid">{matrix_html}</div></section>
<section class="section" id="repair"><h2>Repair Checklist</h2><p class="muted">Each row names one concrete blocker and the next action required before ledger review. This checklist does not count as completion evidence.</p><div class="repair-grid">{repair_html}</div></section>
<section class="section" id="drafts"><h2>Drafts</h2><div class="draft-grid">{render_html_files(report['files'])}</div></section>
<section class="section" id="artifacts"><h2>Artifact Checklist</h2><p class="muted">Rows marked submission-ref are the paths expected in artifact_refs. Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into the submission. Glob patterns are expanded for operator convenience only.</p><div class="artifact-grid">{artifact_html}</div></section>
<section class="section" id="source"><h2>Source Evidence Snapshot</h2><p class="muted">This section shows current aggregate source checks. It explains remaining blockers without changing the ledger.</p><div class="source-grid">{source_html}</div></section>
+4 -3
View File
@@ -1,6 +1,6 @@
{
"workspace_root": ".",
"generated_at": "2026-06-13",
"generated_at": "2026-06-17",
"skills": [
{
"name": "yao-meta-skill",
@@ -152,6 +152,7 @@
"scripts/world_class_native_telemetry_evidence.py",
"scripts/world_class_preflight_layout.py",
"scripts/world_class_provider_evidence.py",
"scripts/world_class_repair_checklist.py",
"scripts/world_class_source_checks.py",
"scripts/world_class_submission_kit_rendering.py",
"scripts/world_class_submission_matrix.py",
@@ -237,8 +238,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 1,
"adoption_rate": 100.0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
+1 -1
View File
@@ -24,7 +24,7 @@
"name": "incident-command-governor",
"path": "examples/governed-incident-command/generated-skill",
"reason": "review overdue by cadence monthly",
"age_days": 74,
"age_days": 78,
"allowed_days": 31,
"actionable": false,
"scope": "example"
@@ -97,6 +97,10 @@ def main() -> None:
assert kit_payload["summary"]["evidence_matrix_supporting_artifact_count"] >= 1, kit_payload["summary"]
assert kit_payload["summary"]["evidence_matrix_supporting_artifact_ready_count"] >= 1, kit_payload["summary"]
assert kit_payload["summary"]["evidence_matrix_counts_as_completion"] == 0, kit_payload["summary"]
assert kit_payload["summary"]["repair_checklist_count"] == 2, kit_payload["summary"]
assert kit_payload["summary"]["repair_blocked_count"] == 2, kit_payload["summary"]
assert kit_payload["summary"]["repair_ready_count"] == 0, kit_payload["summary"]
assert kit_payload["summary"]["repair_counts_as_completion"] is False, kit_payload["summary"]
assert kit_payload["summary"]["handoff_step_count"] == 7, kit_payload["summary"]
assert kit_payload["summary"]["handoff_blocked_count"] == 1, kit_payload["summary"]
assert kit_payload["summary"]["handoff_fix_required_count"] == 0, kit_payload["summary"]
@@ -127,6 +131,14 @@ def main() -> None:
assert matrix_row["counts_as_completion"] is False, matrix_row
assert "real credentials" in matrix_row["next_action"], matrix_row
repair_rows = {item["target"]: item for item in kit_payload["repair_checklist"]}
assert set(repair_rows) == {"model_executed_count", "token_observed_count"}, repair_rows
assert repair_rows["model_executed_count"]["repair_type"] == "source-check", repair_rows
assert repair_rows["model_executed_count"]["status"] == "blocked", repair_rows
assert repair_rows["model_executed_count"]["counts_as_completion"] is False, repair_rows
assert "real credentials" in repair_rows["model_executed_count"]["next_action"], repair_rows
assert "does not satisfy" in repair_rows["token_observed_count"]["blocking_reason"], repair_rows
handoff_steps = {item["step_id"]: item for item in kit_payload["operator_handoff"]}
assert list(handoff_steps) == [
"prepare-drafts",
@@ -179,6 +191,7 @@ def main() -> None:
assert kit_manifest["summary"]["artifact_ref_prefill_count"] == 0, kit_manifest["summary"]
assert kit_manifest["artifact_checklist"] == kit_payload["artifact_checklist"], kit_manifest["artifact_checklist"]
assert kit_manifest["source_checklist"] == kit_payload["source_checklist"], kit_manifest["source_checklist"]
assert kit_manifest["repair_checklist"] == kit_payload["repair_checklist"], kit_manifest["repair_checklist"]
assert kit_manifest["artifacts"]["html"].endswith(
f"tests/{TMP.name}/submission_kit/index.html"
), kit_manifest["artifacts"]
@@ -191,6 +204,7 @@ def main() -> None:
assert "validate intake" in kit_readme, kit_readme
assert "Artifact Checklist" in kit_readme, kit_readme
assert "Evidence Matrix" in kit_readme, kit_readme
assert "Repair Checklist" in kit_readme, kit_readme
assert "Operator Handoff" in kit_readme, kit_readme
assert "Handoff rows are procedural" in kit_readme, kit_readme
assert "ledger_reviewed_at" in kit_readme, kit_readme
@@ -201,7 +215,9 @@ def main() -> None:
assert "`supporting-evidence`" in kit_readme, kit_readme
assert "`collect-source`" in kit_readme, kit_readme
assert "Matrix rows are guidance only" in kit_readme, kit_readme
assert "Repair rows are procedural guidance and do not count as completion evidence." in kit_readme, kit_readme
assert "Source Evidence Snapshot" in kit_readme, kit_readme
assert "model_executed_count" in kit_readme, kit_readme
assert "reports/output_execution_runs.json" in kit_readme, kit_readme
assert "Provider model run" in kit_readme, kit_readme
@@ -211,10 +227,12 @@ def main() -> None:
assert "provider-holdout" in kit_html, kit_html
assert "Artifact Checklist" in kit_html, kit_html
assert "Evidence Matrix" in kit_html, kit_html
assert "Repair Checklist" in kit_html, kit_html
assert "Operator Handoff" in kit_html, kit_html
assert "handoff-card blocked" in kit_html, kit_html
assert "does not count as completion" in kit_html, kit_html
assert "matrix-card collect-source" in kit_html, kit_html
assert "repair-card blocked" in kit_html, kit_html
assert (
f"<dt>Submission refs</dt><dd>{matrix_row['submission_ref_ready_count']}/{matrix_row['submission_ref_total_count']} ready</dd>"
in kit_html
@@ -226,6 +244,7 @@ def main() -> None:
assert "<dt>Source</dt><dd>1/3 pass</dd>" in kit_html, kit_html
assert "Source Evidence Snapshot" in kit_html, kit_html
assert "<dt>Field</dt><dd><code>model_executed_count</code></dd>" in kit_html, kit_html
assert "<h3>model_executed_count</h3>" in kit_html, kit_html
assert "<dt>Current</dt><dd><code>0</code></dd>" in kit_html, kit_html
assert "<dt>Expected</dt><dd><code>&gt;0</code></dd>" in kit_html, kit_html
assert "World-Class Evidence Submission Kit" in kit_html, kit_html
+6
View File
@@ -111,6 +111,12 @@ def main() -> None:
assert kit_payload["summary"]["decision"] == "submission-kit-ready", world_class_submission_kit_result
assert kit_payload["summary"]["written_count"] == 1, world_class_submission_kit_result
assert kit_payload["summary"]["drafts_count_as_evidence"] is False, world_class_submission_kit_result
assert kit_payload["summary"]["repair_checklist_count"] == 2, world_class_submission_kit_result
assert kit_payload["summary"]["repair_counts_as_completion"] is False, world_class_submission_kit_result
assert {item["target"] for item in kit_payload["repair_checklist"]} == {
"model_executed_count",
"token_observed_count",
}, world_class_submission_kit_result
assert kit_payload["artifacts"]["html"].endswith("tests/tmp_yao_cli_world_class/world_class_submission_kit.html"), world_class_submission_kit_result
assert (TMP / "world_class_submission_kit" / "provider-holdout.json").exists(), world_class_submission_kit_result
assert (TMP / "world_class_submission_kit" / "submission_manifest.json").exists(), world_class_submission_kit_result