Tighten report layout and gate contract evidence

This commit is contained in:
yaojingang
2026-06-16 15:12:32 +08:00
parent 538d7ed401
commit e23f3ffdcf
45 changed files with 499 additions and 351 deletions
+4 -4
View File
@@ -351,7 +351,7 @@
}
.metrics-primary {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
grid-template-columns: minmax(0, 1fr);
gap: 22px;
align-items: start;
}
@@ -419,7 +419,7 @@
margin-top: 2px;
}
.metric-detail-grid {
grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
}
.list, .compact-list, .step-list {
@@ -690,9 +690,9 @@
.section-head > .world-readiness { grid-column: auto; }
.hero-grid { gap: 24px; }
.score-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metrics-primary, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.metrics-primary, .metric-detail-grid, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.evidence-list { grid-template-columns: 1fr; }
.metric-card { grid-template-columns: 86px minmax(0, 1fr); }
.metric-card { grid-template-columns: 1fr; }
h1 { font-size: 2.75rem; }
}
@media (max-width: 540px) {
+2 -2
View File
@@ -1,6 +1,6 @@
{
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"package_count": 1,
"packages": [
{
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
}
+4 -4
View File
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -48,10 +48,10 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"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-16`
- Generated at: `2026-06-16T07:12:11Z`
- 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-16",
"generated_at": "2026-06-16T07:12:10Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
+10 -10
View File
@@ -15,7 +15,7 @@
"warn_line_threshold": 900,
"watch_line_threshold": 720,
"block_line_threshold": 1500,
"largest_file_lines": 837,
"largest_file_lines": 852,
"watchlist_count": 8,
"hotspot_count": 0,
"blocker_count": 0,
@@ -24,7 +24,7 @@
"largest_files": [
{
"path": "tests/verify_review_studio.py",
"lines": 837,
"lines": 852,
"kind": "test",
"severity": "pass",
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
@@ -85,6 +85,13 @@
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/review_studio_gates.py",
"lines": 707,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/apply_adaptation.py",
"lines": 706,
@@ -98,19 +105,12 @@
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/render_review_viewer.py",
"lines": 685,
"kind": "cli-script",
"severity": "pass",
"recommendation": "Split viewer data assembly from HTML section rendering."
}
],
"watchlist": [
{
"path": "tests/verify_review_studio.py",
"lines": 837,
"lines": 852,
"kind": "test",
"severity": "pass",
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
+4 -4
View File
@@ -13,7 +13,7 @@ Generated at: `2026-06-16`
- Yao CLI command handlers: `68`
- entrypoint command handlers: `18`
- command modules: `6`
- largest file lines: `837`
- largest file lines: `852`
- watch threshold lines: `720`
- watchlist: `8`
- hotspots: `0`
@@ -29,7 +29,7 @@ No file-size hotspots found.
| File | Lines | Kind | Recommended next split |
| --- | ---: | --- | --- |
| `tests/verify_review_studio.py` | `837` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. |
| `tests/verify_review_studio.py` | `852` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. |
| `scripts/skill_report_model.py` | `800` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
| `tests/verify_yao_cli.py` | `785` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. |
| `scripts/render_evidence_consistency.py` | `766` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
@@ -42,7 +42,7 @@ No file-size hotspots found.
| File | Lines | Kind | Severity |
| --- | ---: | --- | --- |
| `tests/verify_review_studio.py` | `837` | `test` | `pass` |
| `tests/verify_review_studio.py` | `852` | `test` | `pass` |
| `scripts/skill_report_model.py` | `800` | `internal-module` | `pass` |
| `tests/verify_yao_cli.py` | `785` | `test` | `pass` |
| `scripts/render_evidence_consistency.py` | `766` | `cli-script` | `pass` |
@@ -51,9 +51,9 @@ No file-size hotspots found.
| `scripts/compile_skill.py` | `723` | `cli-script` | `pass` |
| `scripts/optimize_description.py` | `723` | `cli-script` | `pass` |
| `scripts/trust_check.py` | `714` | `internal-module` | `pass` |
| `scripts/review_studio_gates.py` | `707` | `internal-module` | `pass` |
| `scripts/apply_adaptation.py` | `706` | `cli-script` | `pass` |
| `scripts/world_class_evidence_contract.py` | `686` | `internal-module` | `pass` |
| `scripts/render_review_viewer.py` | `685` | `cli-script` | `pass` |
## Release Rule
+35 -21
View File
@@ -3,23 +3,36 @@
"ok": true,
"generated_at": "2026-06-16",
"skill_dir": ".",
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"git_status": {
"available": true,
"dirty": false,
"changed_file_count": 0,
"sample": [],
"dirty": true,
"changed_file_count": 45,
"sample": [
" M assets/skill-overview.css",
" 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/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.md"
],
"scope": "generation-time status before this report is written"
},
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -37,14 +50,15 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"public_claim": {
"ready": false,
"scope": "public benchmark or world-class readiness claim",
"blockers": [
"release lock is not clean or commit is unavailable",
"provider-backed model holdout evidence is incomplete",
"human blind-review adjudication is incomplete",
"world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)",
@@ -53,10 +67,10 @@
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks."
},
"release_lock": {
"ready": true,
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"ready": false,
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"status_scope": "generation-time status before this report is written",
"reason": "clean generation-time HEAD"
"reason": "working tree was dirty at generation time"
},
"evidence_bundle": {
"algorithm": "sha256(path,label,exists,artifact_sha256)",
@@ -64,7 +78,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a"
"sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -138,7 +152,7 @@
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7966,
"sha256": "93a5679326b29eb9d79c3ada70679f0070be6a8aed6e50d0452c854b48efa475"
"sha256": "93beb4bf94e08e6b75f35ff6f1a2029a9b9092717d691f42cf507b09bc590572"
},
{
"label": "blind_review",
@@ -173,7 +187,7 @@
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 120363,
"sha256": "bea31eb462ca6e8021e68181ce3c4d34eaa0122dd34476b697ba59d38391cf36"
"sha256": "034e530e2efdd5c28f7e6ff97b2c7621aa88f8d6899df4d2b7f73048277f5541"
},
{
"label": "python_compatibility",
@@ -187,21 +201,21 @@
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
"sha256": "c6d5cf3c3ec415480b7cc72623b1977c5a98e64707a7dbd13ba239dfd44159fe"
"sha256": "eede973e03cdf2193a94efffbff49edaba48a65c86821fa78e0538eeb4c3d4b5"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "dd90aae6ad68c21bd0db241b033aa00038278fd6396e75fc42f86064911ce51b"
"sha256": "892a8e8364a25b1035518bfe69cf3a381e5755235b83f54f4942fa2cee31ccd9"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8604,
"sha256": "1c3fdea61d50ae05224bc7ebeffcf4ec205de213ab0755f6c6593ef76ad59726"
"bytes": 8758,
"sha256": "50c23ac052b288665d10c81e80f79c7b1c3437c815012816815715d07cc0d0fc"
},
{
"label": "skill_os2_audit",
+17 -16
View File
@@ -1,19 +1,19 @@
# Benchmark Reproducibility
Generated at: `2026-06-16`
Commit: `0ee209e7fdbb78f51659d6f92e135d7239ac1bc5`
Working tree dirty at generation: `false`
Evidence bundle SHA256: `813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a`
Commit: `538d7ed4017fec0e152a5fd87590dbe4cf75f273`
Working tree dirty at generation: `true`
Evidence bundle SHA256: `7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961`
## Summary
- reproducibility ready: `true`
- release lock ready: `true`
- release lock ready: `false`
- methodology complete: `true`
- required artifacts: `25`
- missing artifacts: `0`
- source contract sha256: `363354808bdd`
- archive sha256: `a5a62aeb079b`
- source contract sha256: `8fcd68d90682`
- archive sha256: `11c535377813`
- output cases: `5`
- disclosed failure cases: `3`
- reproduction commands: `23`
@@ -22,8 +22,8 @@ Evidence bundle SHA256: `813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33
- world-class ready: `false`
- world-class source checks: `6` pass / `13` total; `7` blocked
- public claim ready: `false`
- public claim blockers: `4`
- changed files at generation: `0`
- public claim blockers: `5`
- changed files at generation: `45`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit is generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
@@ -35,6 +35,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
| Blocker |
| --- |
| release lock is not clean or commit is unavailable |
| provider-backed model holdout evidence is incomplete |
| human blind-review adjudication is incomplete |
| world-class evidence is not accepted yet (4 open gaps, 4 ledger pending) |
@@ -42,15 +43,15 @@ This report proves local benchmark reproducibility only. It keeps external provi
## Release Lock
- ready: `true`
- reason: clean generation-time HEAD
- ready: `false`
- reason: working tree was dirty at generation time
- status scope: generation-time status before this report is written
## Evidence Bundle
- algorithm: `sha256(path,label,exists,artifact_sha256)`
- artifacts: `25` / `25`
- sha256: `813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a`
- sha256: `7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961`
## Methodology Sections
@@ -72,16 +73,16 @@ 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 | `93a5679326b2` |
| output_execution | `reports/output_execution_runs.json` | present | `93beb4bf94e0` |
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
| review_adjudication | `reports/output_review_adjudication.json` | present | `bb8c72a9291e` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
| trust_report | `reports/security_trust_report.json` | present | `bea31eb462ca` |
| trust_report | `reports/security_trust_report.json` | present | `034e530e2efd` |
| python_compatibility | `reports/python_compatibility.json` | present | `6843f5283fd7` |
| registry_audit | `reports/registry_audit.json` | present | `c6d5cf3c3ec4` |
| package_verification | `reports/package_verification.json` | present | `dd90aae6ad68` |
| install_simulation | `reports/install_simulation.json` | present | `1c3fdea61d50` |
| registry_audit | `reports/registry_audit.json` | present | `eede973e03cd` |
| package_verification | `reports/package_verification.json` | present | `892a8e8364a2` |
| install_simulation | `reports/install_simulation.json` | present | `50c23ac052b2` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `c0e499f9f051` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `130161495dc4` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `b8976c340da4` |
+7 -7
View File
@@ -6,15 +6,15 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 797,
"other_text_tokens": 1050110,
"other_text_tokens": 1051049,
"estimated_initial_load_tokens": 990,
"estimated_total_text_tokens": 1050907,
"deferred_resource_tokens": 486227,
"estimated_total_text_tokens": 1051846,
"deferred_resource_tokens": 486718,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125
},
{
@@ -29,14 +29,14 @@
},
{
"path": "assets",
"estimated_tokens": 10044,
"estimated_tokens": 10034,
"file_count": 3
}
],
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125
}
],
@@ -59,7 +59,7 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
+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 | 486227 | `governed` | scripts:426100 | 131.3 | - | ok |
| root | `.` | `production` | 1000 | 990 | 797 | 486718 | `governed` | scripts:426601 | 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 |
+4 -4
View File
@@ -1,5 +1,5 @@
{
"generated_at": "2026-06-16",
"generated_at": "2026-03-31",
"targets": [
{
"label": "root",
@@ -8,11 +8,11 @@
"budget_limit": 1000,
"initial_tokens": 990,
"skill_body_tokens": 797,
"deferred_resource_tokens": 486227,
"deferred_resource_tokens": 486718,
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125
}
],
@@ -35,7 +35,7 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
+24 -24
View File
@@ -189,12 +189,12 @@
"status": "pass",
"expected": {
"status": "pass",
"detail": "initial load 990/1000; deferred 486227/120000; top deferred scripts 426100; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 486718/120000; top deferred scripts 426601; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json"
},
"actual": {
"status": "pass",
"detail": "initial load 990/1000; deferred 486227/120000; top deferred scripts 426100; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 486718/120000; top deferred scripts 426601; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json"
},
"paths": [
@@ -207,8 +207,8 @@
"key": "benchmark-release-lock-self-consistency",
"label": "Benchmark release lock matches git dirty state",
"status": "pass",
"expected": true,
"actual": true,
"expected": false,
"actual": false,
"paths": [
"reports/benchmark_reproducibility.json"
],
@@ -248,8 +248,8 @@
"key": "overview-benchmark-commit",
"label": "overview embeds the benchmark commit",
"status": "pass",
"expected": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"actual": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"expected": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"actual": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-overview.json"
@@ -261,30 +261,30 @@
"label": "overview embeds benchmark summary fields",
"status": "pass",
"expected": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4
"public_claim_blocker_count": 5
},
"actual": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4
"public_claim_blocker_count": 5
},
"paths": [
"reports/benchmark_reproducibility.json",
@@ -394,8 +394,8 @@
"key": "interpretation-benchmark-commit",
"label": "interpretation embeds the benchmark commit",
"status": "pass",
"expected": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"actual": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"expected": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"actual": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-interpretation.json"
@@ -407,30 +407,30 @@
"label": "interpretation embeds benchmark summary fields",
"status": "pass",
"expected": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4
"public_claim_blocker_count": 5
},
"actual": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4
"public_claim_blocker_count": 5
},
"paths": [
"reports/benchmark_reproducibility.json",
+9 -9
View File
@@ -1,11 +1,11 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"skill_dir": ".",
"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",
"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",
"summary": {
"archive_present": true,
"archive_entry_count": 652,
@@ -26,7 +26,7 @@
{
"id": "archive-present",
"status": "pass",
"detail": "Package archive exists: dist/yao-meta-skill.zip"
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
},
{
"id": "archive-safe-paths",
@@ -272,9 +272,9 @@
"failures": [],
"warnings": [],
"artifacts": {
"archive": "dist/yao-meta-skill.zip",
"package_manifest": "dist/manifest.json",
"json": "reports/install_simulation.json",
"markdown": "reports/install_simulation.md"
"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"
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
# Install Simulation
- OK: `True`
- Package directory: `dist`
- Package directory: `tests/tmp_review_studio/dist`
- Archive extracted: `True`
- Entrypoint loaded: `True`
- Manifest loaded: `True`
@@ -16,7 +16,7 @@
| Check | Status | Detail |
| --- | --- | --- |
| `archive-present` | `pass` | Package archive exists: dist/yao-meta-skill.zip |
| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/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": 31.35,
"duration_ms": 36.18,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -62,7 +62,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.06,
"duration_ms": 37.3,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -85,7 +85,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.69,
"duration_ms": 42.52,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -113,7 +113,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 33.39,
"duration_ms": 52.72,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -136,7 +136,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.94,
"duration_ms": 40.07,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -164,7 +164,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 32.09,
"duration_ms": 60.34,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -187,7 +187,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.3,
"duration_ms": 50.43,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -214,7 +214,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.15,
"duration_ms": 54.34,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -237,7 +237,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.77,
"duration_ms": 45.83,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -266,7 +266,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 33.75,
"duration_ms": 45.93,
"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 | 31.35 | 33 | 0.0 | pass |
| skill-package-contract | with_skill | command | local-output-eval-runner | 31.06 | 73 | 100.0 | pass |
| output-eval-expectation | baseline | command | local-output-eval-runner | 31.69 | 36 | 0.0 | pass |
| output-eval-expectation | with_skill | command | local-output-eval-runner | 33.39 | 80 | 100.0 | pass |
| ir-before-packaging | baseline | command | local-output-eval-runner | 31.94 | 33 | 0.0 | pass |
| ir-before-packaging | with_skill | command | local-output-eval-runner | 32.09 | 80 | 100.0 | pass |
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 31.3 | 36 | 0.0 | pass |
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 31.15 | 65 | 100.0 | pass |
| file-backed-governed-package | baseline | command | local-output-eval-runner | 31.77 | 37 | 0.0 | pass |
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 33.75 | 98 | 100.0 | pass |
| skill-package-contract | baseline | command | local-output-eval-runner | 36.18 | 33 | 0.0 | pass |
| skill-package-contract | with_skill | command | local-output-eval-runner | 37.3 | 73 | 100.0 | pass |
| output-eval-expectation | baseline | command | local-output-eval-runner | 42.52 | 36 | 0.0 | pass |
| output-eval-expectation | with_skill | command | local-output-eval-runner | 52.72 | 80 | 100.0 | pass |
| ir-before-packaging | baseline | command | local-output-eval-runner | 40.07 | 33 | 0.0 | pass |
| ir-before-packaging | with_skill | command | local-output-eval-runner | 60.34 | 80 | 100.0 | pass |
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 50.43 | 36 | 0.0 | pass |
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 54.34 | 65 | 100.0 | pass |
| file-backed-governed-package | baseline | command | local-output-eval-runner | 45.83 | 37 | 0.0 | pass |
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 45.93 | 98 | 100.0 | pass |
## Next Fixes
+1 -1
View File
@@ -8,7 +8,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"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: `a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482`
- Archive SHA256: `11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e`
- Failures: `0`
- Warnings: `0`
+6 -6
View File
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -53,16 +53,16 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"index": {
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"package_count": 1,
"packages": [
{
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
+2 -2
View File
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
- Package SHA256: `363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453`
- Archive SHA256: `a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482`
- Package SHA256: `8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b`
- Archive SHA256: `11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e`
- Install simulated: `True`
## Compatibility
+16 -11
View File
@@ -740,12 +740,17 @@
<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>4 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>125 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>199 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>837 largest lines; 8 watchlist; 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>180 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>652 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>125 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>199 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>852 largest lines; 8 watchlist; 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>180 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>652 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 486227/120000; top deferred scripts 426100; 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; 125 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; 199 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>196 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 837 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 true</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 6/13 pass; 7 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 486718/120000; top deferred scripts 426601; 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; 125 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; 199 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>196 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 852 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 6/13 pass; 7 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>
<h2>闸门契约</h2>
<div class="panel"><dl class='kv-grid'><div><dt>Ok</dt><dd></dd></div><div><dt>期望 Gate</dt><dd>16</dd></div><div><dt>实际 Gate</dt><dd>16</dd></div><div><dt>缺失 Gate</dt><dd></dd></div><div><dt>未知 Gate</dt><dd></dd></div><div><dt>重复 Gate</dt><dd></dd></div><div><dt>未加权 Gate</dt><dd></dd></div></dl></div>
</section>
<div class="twocol">
@@ -807,12 +812,12 @@
</section>
<section class="twocol">
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 486227/120000; top deferred scripts 426100; resource governance governed; quality density 131.3</p></div>
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 486718/120000; top deferred scripts 426601; 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>125</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453</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>125</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b</code></dd></div></dl></div>
<div class="panel"><h2>安全边界</h2><p>高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。</p></div>
</section>
@@ -837,14 +842,14 @@
</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 true</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>curator-review</dd></div><div><dt>Week Id</dt><dd>2026-W25</dd></div><div><dt>日报数</dt><dd>1</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>
<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>1</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>
@@ -877,8 +882,8 @@
</section>
<section class="twocol">
<div class="panel"><h2>公开声明</h2><dl class='kv-grid'><div><dt>本地复现</dt><dd></dd></div><div><dt>发布锁</dt><dd></dd></div><div><dt>可公开声明</dt><dd></dd></div><div><dt>声明阻断</dt><dd>4</dd></div><div><dt>Provider 证据</dt><dd></dd></div><div><dt>人审完成</dt><dd></dd></div><div><dt>世界级就绪</dt><dd></dd></div></dl></div>
<div class="panel"><h2>声明阻断</h2><ul class='issues'><li><strong>阻断</strong><span>provider-backed model holdout evidence is incomplete</span></li><li><strong>阻断</strong><span>human blind-review adjudication is incomplete</span></li><li><strong>阻断</strong><span>world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)</span></li><li><strong>阻断</strong><span>world-class source checks are not all accepted (6/13 pass, 7 blocked)</span></li></ul></div>
<div class="panel"><h2>公开声明</h2><dl class='kv-grid'><div><dt>本地复现</dt><dd></dd></div><div><dt>发布锁</dt><dd></dd></div><div><dt>可公开声明</dt><dd></dd></div><div><dt>声明阻断</dt><dd>5</dd></div><div><dt>Provider 证据</dt><dd></dd></div><div><dt>人审完成</dt><dd></dd></div><div><dt>世界级就绪</dt><dd></dd></div></dl></div>
<div class="panel"><h2>声明阻断</h2><ul class='issues'><li><strong>阻断</strong><span>release lock is not clean or commit is unavailable</span></li><li><strong>阻断</strong><span>provider-backed model holdout evidence is incomplete</span></li><li><strong>阻断</strong><span>human blind-review adjudication is incomplete</span></li><li><strong>阻断</strong><span>world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)</span></li><li><strong>阻断</strong><span>world-class source checks are not all accepted (6/13 pass, 7 blocked)</span></li></ul></div>
</section>
<section class="twocol">
@@ -898,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>a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482</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>11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e</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>652</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482</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>652</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e</code></dd></div></dl></div>
</section>
<section class="twocol">
+168 -108
View File
@@ -6,6 +6,7 @@
"decision": "review",
"world_class_score": 91,
"gate_count": 16,
"gate_contract_ok": true,
"blocker_count": 0,
"warning_count": 3,
"action_count": 3,
@@ -43,7 +44,7 @@
"key": "context-budget",
"label": "上下文",
"status": "pass",
"detail": "initial load 990/1000; deferred 486227/120000; top deferred scripts 426100; resource governance governed; quality density 131.3",
"detail": "initial load 990/1000; deferred 486718/120000; top deferred scripts 426601; resource governance governed; quality density 131.3",
"evidence": "reports/context_budget.json",
"link": "context_budget.md"
},
@@ -75,7 +76,7 @@
"key": "architecture-maintainability",
"label": "架构维护",
"status": "pass",
"detail": "196 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 837 lines; 68 CLI handlers; 18 in entrypoint",
"detail": "196 Python files; 0 hotspots; 8 watchlist files; 0 blockers; largest 852 lines; 68 CLI handlers; 18 in entrypoint",
"evidence": "reports/architecture_maintainability.json",
"link": "architecture_maintainability.md"
},
@@ -107,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 true",
"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"
},
@@ -144,6 +145,51 @@
"link": "promotion_decisions.md"
}
],
"gate_contract": {
"ok": true,
"expected_gate_count": 16,
"actual_gate_count": 16,
"expected_gate_keys": [
"architecture-maintainability",
"context-budget",
"intent-canvas",
"operations-loop",
"output-lab",
"permission-gates",
"permission-runtime",
"python-compat",
"registry-audit",
"release-notes",
"review-waivers",
"runtime-matrix",
"skill-atlas",
"trigger-lab",
"trust-report",
"world-class-evidence"
],
"rendered_gate_keys": [
"intent-canvas",
"trigger-lab",
"output-lab",
"context-budget",
"runtime-matrix",
"trust-report",
"python-compat",
"architecture-maintainability",
"permission-gates",
"permission-runtime",
"skill-atlas",
"operations-loop",
"review-waivers",
"world-class-evidence",
"registry-audit",
"release-notes"
],
"missing_gate_keys": [],
"unknown_gate_keys": [],
"duplicate_gate_keys": [],
"unweighted_gate_keys": []
},
"blockers": [],
"warnings": [
{
@@ -1922,13 +1968,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1946,11 +1992,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"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.",
@@ -2055,7 +2101,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"skill_atlas": {
"skill_count": 12,
@@ -2093,8 +2139,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -2125,12 +2171,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"failures": [],
"warnings": []
@@ -2141,7 +2187,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"failure_count": 0,
"warning_count": 0
@@ -2220,12 +2266,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
@@ -4642,7 +4688,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.35,
"duration_ms": 36.18,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4670,7 +4716,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.06,
"duration_ms": 37.3,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4693,7 +4739,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.69,
"duration_ms": 42.52,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4721,7 +4767,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 33.39,
"duration_ms": 52.72,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4744,7 +4790,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.94,
"duration_ms": 40.07,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4772,7 +4818,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 32.09,
"duration_ms": 60.34,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4795,7 +4841,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.3,
"duration_ms": 50.43,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4822,7 +4868,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.15,
"duration_ms": 54.34,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4845,7 +4891,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 31.77,
"duration_ms": 45.83,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4874,7 +4920,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
"duration_ms": 33.75,
"duration_ms": 45.93,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5600,23 +5646,36 @@
"ok": true,
"generated_at": "2026-06-16",
"skill_dir": ".",
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"git_status": {
"available": true,
"dirty": false,
"changed_file_count": 0,
"sample": [],
"dirty": true,
"changed_file_count": 45,
"sample": [
" M assets/skill-overview.css",
" 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/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.md"
],
"scope": "generation-time status before this report is written"
},
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -5634,14 +5693,15 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"public_claim": {
"ready": false,
"scope": "public benchmark or world-class readiness claim",
"blockers": [
"release lock is not clean or commit is unavailable",
"provider-backed model holdout evidence is incomplete",
"human blind-review adjudication is incomplete",
"world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)",
@@ -5650,10 +5710,10 @@
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks."
},
"release_lock": {
"ready": true,
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"ready": false,
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"status_scope": "generation-time status before this report is written",
"reason": "clean generation-time HEAD"
"reason": "working tree was dirty at generation time"
},
"evidence_bundle": {
"algorithm": "sha256(path,label,exists,artifact_sha256)",
@@ -5661,7 +5721,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a"
"sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -5735,7 +5795,7 @@
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7966,
"sha256": "93a5679326b29eb9d79c3ada70679f0070be6a8aed6e50d0452c854b48efa475"
"sha256": "93beb4bf94e08e6b75f35ff6f1a2029a9b9092717d691f42cf507b09bc590572"
},
{
"label": "blind_review",
@@ -5770,7 +5830,7 @@
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 120363,
"sha256": "bea31eb462ca6e8021e68181ce3c4d34eaa0122dd34476b697ba59d38391cf36"
"sha256": "034e530e2efdd5c28f7e6ff97b2c7621aa88f8d6899df4d2b7f73048277f5541"
},
{
"label": "python_compatibility",
@@ -5784,21 +5844,21 @@
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
"sha256": "c6d5cf3c3ec415480b7cc72623b1977c5a98e64707a7dbd13ba239dfd44159fe"
"sha256": "eede973e03cdf2193a94efffbff49edaba48a65c86821fa78e0538eeb4c3d4b5"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "dd90aae6ad68c21bd0db241b033aa00038278fd6396e75fc42f86064911ce51b"
"sha256": "892a8e8364a25b1035518bfe69cf3a381e5755235b83f54f4942fa2cee31ccd9"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8604,
"sha256": "1c3fdea61d50ae05224bc7ebeffcf4ec205de213ab0755f6c6593ef76ad59726"
"bytes": 8758,
"sha256": "50c23ac052b288665d10c81e80f79c7b1c3437c815012816815715d07cc0d0fc"
},
{
"label": "skill_os2_audit",
@@ -11633,7 +11693,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"package_dir": "dist",
"package_dir": "tests/tmp_review_studio/dist",
"expected_capabilities": [
"file_write",
"network",
@@ -11673,7 +11733,7 @@
{
"target": "openai",
"status": "pass",
"adapter": "dist/targets/openai/adapter.json",
"adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json",
"permission_model": "metadata-only",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -11770,7 +11830,7 @@
{
"target": "claude",
"status": "pass",
"adapter": "dist/targets/claude/adapter.json",
"adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json",
"permission_model": "neutral-source-plus-adapter",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -11852,7 +11912,7 @@
{
"target": "generic",
"status": "pass",
"adapter": "dist/targets/generic/adapter.json",
"adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json",
"permission_model": "agent-skills-compatible-metadata",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -11934,7 +11994,7 @@
{
"target": "vscode",
"status": "pass",
"adapter": "dist/targets/vscode/adapter.json",
"adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json",
"permission_model": "vscode-workspace-trust-plus-metadata",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -12045,7 +12105,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"failures": [],
"warnings": [],
@@ -16304,7 +16364,7 @@
"warn_line_threshold": 900,
"watch_line_threshold": 720,
"block_line_threshold": 1500,
"largest_file_lines": 837,
"largest_file_lines": 852,
"watchlist_count": 8,
"hotspot_count": 0,
"blocker_count": 0,
@@ -16313,7 +16373,7 @@
"largest_files": [
{
"path": "tests/verify_review_studio.py",
"lines": 837,
"lines": 852,
"kind": "test",
"severity": "pass",
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
@@ -16374,6 +16434,13 @@
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/review_studio_gates.py",
"lines": 707,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/apply_adaptation.py",
"lines": 706,
@@ -16387,19 +16454,12 @@
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
},
{
"path": "scripts/render_review_viewer.py",
"lines": 685,
"kind": "cli-script",
"severity": "pass",
"recommendation": "Split viewer data assembly from HTML section rendering."
}
],
"watchlist": [
{
"path": "tests/verify_review_studio.py",
"lines": 837,
"lines": 852,
"kind": "test",
"severity": "pass",
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
@@ -16469,15 +16529,15 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 797,
"other_text_tokens": 1050110,
"other_text_tokens": 1051049,
"estimated_initial_load_tokens": 990,
"estimated_total_text_tokens": 1050907,
"deferred_resource_tokens": 486227,
"estimated_total_text_tokens": 1051846,
"deferred_resource_tokens": 486718,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125
},
{
@@ -16492,14 +16552,14 @@
},
{
"path": "assets",
"estimated_tokens": 10044,
"estimated_tokens": 10034,
"file_count": 3
}
],
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125
}
],
@@ -16522,7 +16582,7 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 426100,
"estimated_tokens": 426601,
"file_count": 125,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
@@ -17373,7 +17433,7 @@
},
"catalog": {
"workspace_root": ".",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"skills": [
{
"name": "yao-meta-skill",
@@ -17587,8 +17647,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"adoption_rate": 100.0,
"candidate_count": 0
}
},
@@ -18251,7 +18311,7 @@
"name": "incident-command-governor",
"path": "examples/governed-incident-command/generated-skill",
"reason": "review overdue by cadence monthly",
"age_days": 77,
"age_days": 74,
"allowed_days": 31,
"actionable": false,
"scope": "example"
@@ -18419,7 +18479,7 @@
"adoption_drift": {
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:10Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -18503,7 +18563,7 @@
"daily_skillops": {
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
@@ -18516,7 +18576,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,
@@ -18533,7 +18593,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,
@@ -18982,7 +19042,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": [
@@ -19017,7 +19077,7 @@
"weekly_curator": {
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
@@ -19031,7 +19091,7 @@
"top_score": 88,
"skill_count": 12,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -19051,7 +19111,7 @@
"top_score": 88,
"skill_count": 12,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -19303,7 +19363,7 @@
"no_route_opportunity_count": 0
},
"release_state": {
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4
@@ -19481,7 +19541,7 @@
"adaptation_proposals": {
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
@@ -23413,8 +23473,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -23445,16 +23505,16 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"index": {
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"package_count": 1,
"packages": [
{
@@ -23470,7 +23530,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
@@ -23493,7 +23553,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"failure_count": 0,
"warning_count": 0
@@ -24152,11 +24212,11 @@
"install_simulation": {
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"skill_dir": ".",
"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",
"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",
"summary": {
"archive_present": true,
"archive_entry_count": 652,
@@ -24177,7 +24237,7 @@
{
"id": "archive-present",
"status": "pass",
"detail": "Package archive exists: dist/yao-meta-skill.zip"
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
},
{
"id": "archive-safe-paths",
@@ -24423,16 +24483,16 @@
"failures": [],
"warnings": [],
"artifacts": {
"archive": "dist/yao-meta-skill.zip",
"package_manifest": "dist/manifest.json",
"json": "reports/install_simulation.json",
"markdown": "reports/install_simulation.md"
"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"
}
},
"upgrade_check": {
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"previous": {
"name": "yao-meta-skill",
"version": "1.0.0",
@@ -24501,12 +24561,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
@@ -24521,8 +24581,8 @@
"artifacts": {
"previous_package": "registry/examples/yao-meta-skill-1.0.0.json",
"current_package": "reports/registry_audit.json",
"json": "reports/upgrade_check.json",
"markdown": "reports/upgrade_check.md"
"json": "tests/tmp_review_studio/upgrade_check.json",
"markdown": "tests/tmp_review_studio/upgrade_check.md"
}
},
"manifest": {
+16 -16
View File
@@ -997,13 +997,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1021,11 +1021,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"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.",
@@ -1130,7 +1130,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"skill_atlas": {
"skill_count": 12,
@@ -1168,8 +1168,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -1200,12 +1200,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"failures": [],
"warnings": []
@@ -1216,7 +1216,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"failure_count": 0,
"warning_count": 0
@@ -1295,12 +1295,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
+5 -5
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"package_dir": "dist",
"package_dir": "tests/tmp_review_studio/dist",
"expected_capabilities": [
"file_write",
"network",
@@ -42,7 +42,7 @@
{
"target": "openai",
"status": "pass",
"adapter": "dist/targets/openai/adapter.json",
"adapter": "tests/tmp_review_studio/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": "dist/targets/claude/adapter.json",
"adapter": "tests/tmp_review_studio/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": "dist/targets/generic/adapter.json",
"adapter": "tests/tmp_review_studio/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": "dist/targets/vscode/adapter.json",
"adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json",
"permission_model": "vscode-workspace-trust-plus-metadata",
"native_enforcement": false,
"metadata_fallback_explicit": true,
+1 -1
View File
@@ -23,7 +23,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"failures": [],
"warnings": [],
+1 -1
View File
@@ -16,7 +16,7 @@
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
- Package hash files: `216`
- Package SHA256: `363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453`
- Package SHA256: `8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b`
## Failures
+4 -4
View File
@@ -358,7 +358,7 @@
}
.metrics-primary {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
grid-template-columns: minmax(0, 1fr);
gap: 22px;
align-items: start;
}
@@ -426,7 +426,7 @@
margin-top: 2px;
}
.metric-detail-grid {
grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
}
.list, .compact-list, .step-list {
@@ -697,9 +697,9 @@
.section-head > .world-readiness { grid-column: auto; }
.hero-grid { gap: 24px; }
.score-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metrics-primary, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.metrics-primary, .metric-detail-grid, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.evidence-list { grid-template-columns: 1fr; }
.metric-card { grid-template-columns: 86px minmax(0, 1fr); }
.metric-card { grid-template-columns: 1fr; }
h1 { font-size: 2.75rem; }
}
@media (max-width: 540px) {
+16 -16
View File
@@ -1001,13 +1001,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1025,11 +1025,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"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.",
@@ -1134,7 +1134,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"skill_atlas": {
"skill_count": 12,
@@ -1172,8 +1172,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -1204,12 +1204,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"failures": [],
"warnings": []
@@ -1220,7 +1220,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"failure_count": 0,
"warning_count": 0
@@ -1299,12 +1299,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
+4 -4
View File
@@ -358,7 +358,7 @@
}
.metrics-primary {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
grid-template-columns: minmax(0, 1fr);
gap: 22px;
align-items: start;
}
@@ -426,7 +426,7 @@
margin-top: 2px;
}
.metric-detail-grid {
grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
}
.list, .compact-list, .step-list {
@@ -697,9 +697,9 @@
.section-head > .world-readiness { grid-column: auto; }
.hero-grid { gap: 24px; }
.score-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metrics-primary, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.metrics-primary, .metric-detail-grid, .two-col, .metric-grid, .chart-grid, .roadmap { grid-template-columns: 1fr; }
.evidence-list { grid-template-columns: 1fr; }
.metric-card { grid-template-columns: 86px minmax(0, 1fr); }
.metric-card { grid-template-columns: 1fr; }
h1 { font-size: 2.75rem; }
}
@media (max-width: 540px) {
+16 -16
View File
@@ -996,13 +996,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "813517ab4bc2b504a720544f29c80e1bf7b09bbd1938ffdbb840b33aa5abb76a",
"source_contract_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"evidence_bundle_sha256": "7d33c2082209f18d4e9530e53fc574eae34fe148316947b166407426922c9961",
"source_contract_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1020,11 +1020,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
"public_claim_blocker_count": 4,
"working_tree_dirty": false,
"changed_file_count": 0
"public_claim_blocker_count": 5,
"working_tree_dirty": true,
"changed_file_count": 45
},
"commit": "0ee209e7fdbb78f51659d6f92e135d7239ac1bc5",
"commit": "538d7ed4017fec0e152a5fd87590dbe4cf75f273",
"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.",
@@ -1129,7 +1129,7 @@
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 216,
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
},
"skill_atlas": {
"skill_count": 12,
@@ -1167,8 +1167,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453",
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"package_sha256": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
"compatibility": {
"openai": "pass",
@@ -1199,12 +1199,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-16"
"generated_at": "2026-06-13"
},
"failures": [],
"warnings": []
@@ -1215,7 +1215,7 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482",
"archive_sha256": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e",
"archive_entry_count": 652,
"failure_count": 0,
"warning_count": 0
@@ -1294,12 +1294,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
+4 -4
View File
@@ -44,7 +44,7 @@
},
"catalog": {
"workspace_root": ".",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"skills": [
{
"name": "yao-meta-skill",
@@ -258,8 +258,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"adoption_rate": 100.0,
"candidate_count": 0
}
},
@@ -922,7 +922,7 @@
"name": "incident-command-governor",
"path": "examples/governed-incident-command/generated-skill",
"reason": "review overdue by cadence monthly",
"age_days": 77,
"age_days": 74,
"allowed_days": 31,
"actionable": false,
"scope": "example"
+4 -4
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
@@ -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": [
+2 -2
View File
@@ -1,6 +1,6 @@
# Daily SkillOps Report
Generated at: `2026-06-16`
Generated at: `2026-06-16T07:12:11Z`
## Summary
@@ -14,7 +14,7 @@ Generated at: `2026-06-16`
- 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.
+4 -4
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-16",
"generated_at": "2026-06-16T07:12:11Z",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
@@ -15,7 +15,7 @@
"top_score": 88,
"skill_count": 12,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -35,7 +35,7 @@
"top_score": 88,
"skill_count": 12,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -287,7 +287,7 @@
"no_route_opportunity_count": 0
},
"release_state": {
"release_lock_ready": true,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4
+2 -2
View File
@@ -1,6 +1,6 @@
# Weekly SkillOps Curator Report
Generated at: `2026-06-16`
Generated at: `2026-06-16T07:12:11Z`
Week: `2026-W25`
## Summary
@@ -13,7 +13,7 @@ Week: `2026-W25`
- top_score: `88`
- skill_count: `12`
- actionable_portfolio_issue_count: `0`
- release_lock_ready: `True`
- release_lock_ready: `False`
- evidence_consistency_ok: `True`
- public_world_class_ready: `False`
- world_class_pending_count: `4`
+5 -5
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"previous": {
"name": "yao-meta-skill",
"version": "1.0.0",
@@ -70,12 +70,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "a5a62aeb079b925fe3e52446a607508209ab40a9fa9b2be2335dee35b182c482"
"to": "11c535377813c5424308dbb30a57bbedde6b9acefffbfe0456364b00f130b89e"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "363354808bdd7c9517352e7a709ea13cd2a3878e526fb1f7121f71de5e746453"
"to": "8fcd68d906823c7bcd96d21c765555ab7d53183876b34806a6b5bc29e817154b"
}
]
},
@@ -90,7 +90,7 @@
"artifacts": {
"previous_package": "registry/examples/yao-meta-skill-1.0.0.json",
"current_package": "reports/registry_audit.json",
"json": "reports/upgrade_check.json",
"markdown": "reports/upgrade_check.md"
"json": "tests/tmp_review_studio/upgrade_check.json",
"markdown": "tests/tmp_review_studio/upgrade_check.md"
}
}
+23 -2
View File
@@ -8,7 +8,7 @@ from typing import Any
from review_studio_actions import build_review_actions, render_review_actions
from review_studio_data import evidence_paths, insight_cards, load_review_data
from review_studio_formatting import registry_package_summary, render_kv_grid
from review_studio_gates import add_blockers_from_gate, build_gates, status_label, weighted_score
from review_studio_gates import add_blockers_from_gate, build_gates, gate_contract, status_label, weighted_score
from review_studio_layout import render_review_nav, review_studio_css
from review_studio_output_review import render_output_review_section
from review_studio_skillops import render_skillops_section
@@ -123,6 +123,19 @@ def render_html(report: dict[str, Any]) -> str:
description = overview.get("description") or frontmatter.get("description", "")
nav_html = render_review_nav()
gates_html = render_gate_list(gates)
gate_contract_panel = render_kv_grid(
report.get("gate_contract", {}),
[
"ok",
"expected_gate_count",
"actual_gate_count",
"missing_gate_keys",
"unknown_gate_keys",
"duplicate_gate_keys",
"unweighted_gate_keys",
],
"gate contract missing",
)
metrics_html = render_insights(insights)
blockers_html = render_issue_list("阻断事项", blockers)
warnings_html = render_issue_list("关注事项", warnings)
@@ -413,6 +426,11 @@ def render_html(report: dict[str, Any]) -> str:
<div class="gates">{gates_html}</div>
</section>
<section>
<h2>闸门契约</h2>
<div class="panel">{gate_contract_panel}</div>
</section>
<div class="twocol">
{blockers_html}
{warnings_html}
@@ -584,6 +602,7 @@ def render_review_studio(skill_dir: Path, output_html: Path | None = None, outpu
output_json = output_json or reports_dir / "review-studio.json"
data = load_review_data(skill_dir)
gates = build_gates(skill_dir, output_html, data)
contract = gate_contract(gates)
blockers, warnings = add_blockers_from_gate(gates)
review_actions = build_review_actions(gates, skill_dir, output_html, data)
score = weighted_score(gates)
@@ -593,12 +612,13 @@ def render_review_studio(skill_dir: Path, output_html: Path | None = None, outpu
decision = "blocked" if blockers or open_annotation_blockers else ("review" if warnings or open_annotation_warnings else "ready")
report = {
"schema_version": "2.0",
"ok": True,
"ok": contract["ok"],
"skill_dir": display_path(skill_dir, skill_dir),
"summary": {
"decision": decision,
"world_class_score": score,
"gate_count": len(gates),
"gate_contract_ok": contract["ok"],
"blocker_count": len(blockers),
"warning_count": len(warnings),
"action_count": len(review_actions),
@@ -608,6 +628,7 @@ def render_review_studio(skill_dir: Path, output_html: Path | None = None, outpu
"open_annotation_warning_count": open_annotation_warnings,
},
"gates": gates,
"gate_contract": contract,
"blockers": blockers,
"warnings": warnings,
"review_actions": review_actions,
+7
View File
@@ -19,6 +19,7 @@ LABELS = {
"archive_entry_count": "Zip 条目",
"archive_present": "归档存在",
"archive_sha256": "归档哈希",
"actual_gate_count": "实际 Gate",
"answer_revealed_count": "答案揭示",
"baseline_pass_rate": "Baseline",
"breaking_change_count": "破坏变更",
@@ -31,7 +32,9 @@ LABELS = {
"declared_bump": "声明版本",
"decision": "决策",
"delta": "增益",
"duplicate_gate_keys": "重复 Gate",
"event_count": "事件数",
"expected_gate_count": "期望 Gate",
"failure_count": "失败数",
"file_count": "文件数",
"fstring_311_violation_count": "F-string 3.11",
@@ -56,6 +59,7 @@ LABELS = {
"metadata_fallback_count": "Metadata fallback",
"missed_trigger_count": "漏触发",
"missing_count": "缺失数",
"missing_gate_keys": "缺失 Gate",
"module_count": "模块数",
"model_executed_count": "模型执行",
"name": "名称",
@@ -85,6 +89,7 @@ LABELS = {
"recommended_pr_count": "建议 PR",
"recommended_bump": "建议版本",
"release_lock_ready": "发布锁",
"rendered_gate_keys": "渲染 Gate",
"residual_risk_count": "残余风险",
"risk_band": "风险带",
"route_collision_count": "路由冲突",
@@ -103,6 +108,8 @@ LABELS = {
"token_estimated_count": "估算 Token",
"token_observed_count": "真实 Token",
"trust_level": "信任级别",
"unknown_gate_keys": "未知 Gate",
"unweighted_gate_keys": "未加权 Gate",
"unique_opportunity_count": "唯一机会",
"variant_run_count": "运行数",
"valid_submission_count": "有效提交",
+22
View File
@@ -3,6 +3,7 @@
import json
import os
from collections import Counter
from pathlib import Path
from typing import Any
@@ -80,6 +81,27 @@ def add_blockers_from_gate(gates: list[dict[str, str]]) -> tuple[list[dict[str,
return blockers, warnings
def gate_contract(gates: list[dict[str, str]]) -> dict[str, Any]:
rendered_gate_keys = [str(item.get("key", "")) for item in gates]
rendered_gate_set = set(rendered_gate_keys)
expected_gate_set = set(REVIEW_STUDIO_GATE_KEYS)
duplicate_gate_keys = sorted(key for key, count in Counter(rendered_gate_keys).items() if count > 1)
missing_gate_keys = sorted(expected_gate_set - rendered_gate_set)
unknown_gate_keys = sorted(rendered_gate_set - expected_gate_set)
unweighted_gate_keys = sorted(rendered_gate_set - set(GATE_WEIGHTS))
return {
"ok": not (missing_gate_keys or unknown_gate_keys or duplicate_gate_keys or unweighted_gate_keys),
"expected_gate_count": len(expected_gate_set),
"actual_gate_count": len(rendered_gate_keys),
"expected_gate_keys": sorted(expected_gate_set),
"rendered_gate_keys": rendered_gate_keys,
"missing_gate_keys": missing_gate_keys,
"unknown_gate_keys": unknown_gate_keys,
"duplicate_gate_keys": duplicate_gate_keys,
"unweighted_gate_keys": unweighted_gate_keys,
}
def target_maturity(skill_dir: Path, overview: dict[str, Any]) -> str:
manifest = _load_json(skill_dir / "manifest.json")
if manifest.get("maturity_tier"):
+3 -3
View File
@@ -1,6 +1,6 @@
{
"workspace_root": ".",
"generated_at": "2026-06-16",
"generated_at": "2026-06-13",
"skills": [
{
"name": "yao-meta-skill",
@@ -214,8 +214,8 @@
"report": "reports/adoption_drift_report.json",
"risk_band": "low",
"event_count": 1,
"adoption_sample_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"adoption_rate": 100.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": 77,
"age_days": 74,
"allowed_days": 31,
"actionable": false,
"scope": "example"
+15
View File
@@ -295,6 +295,7 @@ def main() -> None:
assert payload["schema_version"] == "2.0", payload
assert payload["summary"]["decision"] == "review", payload
assert payload["summary"]["gate_count"] == 16, payload
assert payload["summary"]["gate_contract_ok"] is True, payload
assert payload["summary"]["world_class_score"] == 91, payload
assert payload["summary"]["warning_count"] == 3, payload
assert payload["summary"]["blocker_count"] == 0, payload
@@ -310,6 +311,16 @@ def main() -> None:
gate_keys = {item["key"] for item in payload["gates"]}
assert gate_keys == review_gates.REVIEW_STUDIO_GATE_KEYS, payload
assert set(review_gates.GATE_WEIGHTS) == review_gates.REVIEW_STUDIO_GATE_KEYS, review_gates.GATE_WEIGHTS
gate_contract = payload["gate_contract"]
assert gate_contract["ok"] is True, gate_contract
assert gate_contract["expected_gate_count"] == 16, gate_contract
assert gate_contract["actual_gate_count"] == 16, gate_contract
assert set(gate_contract["expected_gate_keys"]) == review_gates.REVIEW_STUDIO_GATE_KEYS, gate_contract
assert set(gate_contract["rendered_gate_keys"]) == review_gates.REVIEW_STUDIO_GATE_KEYS, gate_contract
assert gate_contract["missing_gate_keys"] == [], gate_contract
assert gate_contract["unknown_gate_keys"] == [], gate_contract
assert gate_contract["duplicate_gate_keys"] == [], gate_contract
assert gate_contract["unweighted_gate_keys"] == [], gate_contract
output_gate = next(item for item in payload["gates"] if item["key"] == "output-lab")
assert output_gate["status"] == "warn", output_gate
assert "5/5 cases" in output_gate["detail"], output_gate
@@ -821,6 +832,7 @@ def main() -> None:
assert review_gates.status_label("warn") == "关注"
assert review_gates.weighted_score([{"key": "output-lab", "status": "pass"}]) == 100
assert review_gates.weighted_score([{"key": "output-lab", "status": "warn"}]) == 60
assert not review_gates.gate_contract([{"key": "output-lab", "status": "pass"}])["ok"]
assert len(review_layout.REVIEW_STUDIO_NAV) == 16, review_layout.REVIEW_STUDIO_NAV
assert ("#world-class", "世界证据") in review_layout.REVIEW_STUDIO_NAV, review_layout.REVIEW_STUDIO_NAV
assert "position: sticky" in review_layout.review_studio_css(), review_layout.review_studio_css()[:400]
@@ -829,6 +841,9 @@ def main() -> None:
).strip()
assert "#overview" in review_layout.render_review_nav(), review_layout.render_review_nav()
assert "审查总览" in review_layout.render_review_nav(), review_layout.render_review_nav()
assert "闸门契约" in html, html[:9000]
assert "期望 Gate" in html, html[:9000]
assert "实际 Gate" in html, html[:9000]
assert review_layout.render_review_nav([]) == ""
print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
+4 -1
View File
@@ -52,9 +52,12 @@ def main() -> None:
assert ".metrics-primary" in css_contract, css_contract[:7000]
assert ".metrics-flow" in css_contract, css_contract[:9000]
assert ".metric-detail-grid" in css_contract, css_contract[:9000]
assert "repeat(auto-fit, minmax(min(100%, 340px), 1fr))" in css_contract, css_contract[:9000]
assert ".metrics-primary {\n display: grid;\n grid-template-columns: minmax(0, 1fr);" in css_contract, css_contract[:9000]
assert ".metric-detail-grid {\n grid-template-columns: repeat(2, minmax(0, 1fr));" in css_contract, css_contract[:9000]
assert "repeat(auto-fit, minmax(min(100%, 340px), 1fr))" not in css_contract, css_contract[:9000]
assert "grid-template-columns: minmax(420px, 1fr)" not in css_contract, css_contract[:9000]
assert "overflow-wrap: break-word" in css_contract, css_contract[:9000]
assert ".metrics-primary, .metric-detail-grid, .two-col" in css_contract, css_contract[-2600:]
assert "@media (max-width: 980px)" in css_contract, css_contract[-2200:]
script_contract = skill_overview_script()