Extract skill overview source helpers
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -48,7 +48,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
"generated_at": "2026-06-16",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"python_file_count": 197,
|
||||
"script_file_count": 126,
|
||||
"python_file_count": 198,
|
||||
"script_file_count": 127,
|
||||
"test_file_count": 71,
|
||||
"internal_module_count": 43,
|
||||
"internal_module_count": 44,
|
||||
"cli_script_count": 85,
|
||||
"command_handler_count": 68,
|
||||
"entrypoint_command_handler_count": 18,
|
||||
@@ -16,7 +16,7 @@
|
||||
"watch_line_threshold": 720,
|
||||
"block_line_threshold": 1500,
|
||||
"largest_file_lines": 852,
|
||||
"watchlist_count": 7,
|
||||
"watchlist_count": 6,
|
||||
"hotspot_count": 0,
|
||||
"blocker_count": 0,
|
||||
"decision": "pass"
|
||||
@@ -29,13 +29,6 @@
|
||||
"severity": "pass",
|
||||
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 800,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_yao_cli.py",
|
||||
"lines": 785,
|
||||
@@ -105,6 +98,13 @@
|
||||
"kind": "cli-script",
|
||||
"severity": "pass",
|
||||
"recommendation": "Split viewer data assembly from HTML section rendering."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 665,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
}
|
||||
],
|
||||
"watchlist": [
|
||||
@@ -115,13 +115,6 @@
|
||||
"severity": "pass",
|
||||
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 800,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_yao_cli.py",
|
||||
"lines": 785,
|
||||
|
||||
@@ -5,17 +5,17 @@ Generated at: `2026-06-16`
|
||||
## Summary
|
||||
|
||||
- decision: `pass`
|
||||
- python files: `197`
|
||||
- scripts: `126`
|
||||
- python files: `198`
|
||||
- scripts: `127`
|
||||
- tests: `71`
|
||||
- internal modules: `43`
|
||||
- internal modules: `44`
|
||||
- CLI scripts: `85`
|
||||
- Yao CLI command handlers: `68`
|
||||
- entrypoint command handlers: `18`
|
||||
- command modules: `6`
|
||||
- largest file lines: `852`
|
||||
- watch threshold lines: `720`
|
||||
- watchlist: `7`
|
||||
- watchlist: `6`
|
||||
- hotspots: `0`
|
||||
- blockers: `0`
|
||||
|
||||
@@ -30,7 +30,6 @@ No file-size hotspots found.
|
||||
| File | Lines | Kind | Recommended next split |
|
||||
| --- | ---: | --- | --- |
|
||||
| `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/yao_cli_parser.py` | `759` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
|
||||
| `scripts/build_skill_atlas.py` | `730` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
|
||||
@@ -42,7 +41,6 @@ No file-size hotspots found.
|
||||
| File | Lines | Kind | Severity |
|
||||
| --- | ---: | --- | --- |
|
||||
| `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/yao_cli_parser.py` | `759` | `internal-module` | `pass` |
|
||||
| `scripts/build_skill_atlas.py` | `730` | `cli-script` | `pass` |
|
||||
@@ -53,6 +51,7 @@ No file-size hotspots found.
|
||||
| `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` |
|
||||
| `scripts/skill_report_model.py` | `665` | `internal-module` | `pass` |
|
||||
|
||||
## Release Rule
|
||||
|
||||
|
||||
@@ -3,23 +3,36 @@
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-16",
|
||||
"skill_dir": ".",
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"git_status": {
|
||||
"available": true,
|
||||
"dirty": false,
|
||||
"changed_file_count": 0,
|
||||
"sample": [],
|
||||
"dirty": true,
|
||||
"changed_file_count": 28,
|
||||
"sample": [
|
||||
" M registry/index.json",
|
||||
" M registry/packages/yao-meta-skill.json",
|
||||
" M reports/architecture_maintainability.json",
|
||||
" M reports/architecture_maintainability.md",
|
||||
" M reports/context_budget.json",
|
||||
" M reports/context_budget.md",
|
||||
" M reports/context_budget_summary.json",
|
||||
" M reports/install_simulation.json",
|
||||
" M reports/output_execution_runs.json",
|
||||
" M reports/output_execution_runs.md",
|
||||
" M reports/package_verification.json",
|
||||
" M reports/package_verification.md"
|
||||
],
|
||||
"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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": 28
|
||||
},
|
||||
"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": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"ready": false,
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe"
|
||||
"sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20"
|
||||
},
|
||||
"methodology": {
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
@@ -137,8 +151,8 @@
|
||||
"label": "output_execution",
|
||||
"path": "reports/output_execution_runs.json",
|
||||
"exists": true,
|
||||
"bytes": 7964,
|
||||
"sha256": "cb8750e1d9a0a9a7449675361863028cd965fe9c526f8d27fa90770c5365e10d"
|
||||
"bytes": 7966,
|
||||
"sha256": "94c48235d1433294630fc7c64633de10c68a9d44f4c5578a6c92683de236a710"
|
||||
},
|
||||
{
|
||||
"label": "blind_review",
|
||||
@@ -172,43 +186,43 @@
|
||||
"label": "trust_report",
|
||||
"path": "reports/security_trust_report.json",
|
||||
"exists": true,
|
||||
"bytes": 120986,
|
||||
"sha256": "74b73bf1a151b2150cada99294c25caee88006185a7eda7f71f60c0d75e11bd1"
|
||||
"bytes": 121574,
|
||||
"sha256": "95cc632fc30a98cc489f1b3474e4826f80eabc49f67176c8fab0acb24dc31cc9"
|
||||
},
|
||||
{
|
||||
"label": "python_compatibility",
|
||||
"path": "reports/python_compatibility.json",
|
||||
"exists": true,
|
||||
"bytes": 25985,
|
||||
"sha256": "53b0c9ac44fc7bddef1398d78262ad1939e8680d966e2cf1bac8620d1e0d6db4"
|
||||
"bytes": 26108,
|
||||
"sha256": "f083d3685d0ad4de037d68b728ca23788837fcb15792666c844471aad6c41e71"
|
||||
},
|
||||
{
|
||||
"label": "registry_audit",
|
||||
"path": "reports/registry_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 3183,
|
||||
"sha256": "ff1bcd5c212d6f7a480ce6ed1f5367b78bd23489ef45ee04e766bdca495869f6"
|
||||
"sha256": "d1cb15689c415b7bb1148c680aaab0e1d085abb1743fd53ec2a70840a0aef98d"
|
||||
},
|
||||
{
|
||||
"label": "package_verification",
|
||||
"path": "reports/package_verification.json",
|
||||
"exists": true,
|
||||
"bytes": 19338,
|
||||
"sha256": "d113c6b715c828a376b87f0372d4bd7938dc2d2bde68725b59eeee303d739bff"
|
||||
"sha256": "07804bd70d081caaf7b63ab6f0afcbe809c98dca09322caa6bcfcff5bfa423ca"
|
||||
},
|
||||
{
|
||||
"label": "install_simulation",
|
||||
"path": "reports/install_simulation.json",
|
||||
"exists": true,
|
||||
"bytes": 8604,
|
||||
"sha256": "1593d15833d815c1e9bd3962d0e6979f2975cfd58f0e868d28e7592fb12c8c7d"
|
||||
"sha256": "32ecd9128594f95309eeb7dfb2702a86d54a1769f67fe632a72383821246a192"
|
||||
},
|
||||
{
|
||||
"label": "skill_os2_audit",
|
||||
"path": "reports/skill_os2_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 14310,
|
||||
"sha256": "9d894d84d0e0c52e8f9a336b9c1fe5685535dfac7a6b4f141075bf0e5bd1edf6"
|
||||
"sha256": "b813e444d6b4a2a99f17514b1c12070b1f71434fa739da726f1bc94bbdfbe106"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_plan",
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# Benchmark Reproducibility
|
||||
|
||||
Generated at: `2026-06-16`
|
||||
Commit: `f16f783c7c12a450a00e3a91c402044e73713fcb`
|
||||
Working tree dirty at generation: `false`
|
||||
Evidence bundle SHA256: `c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe`
|
||||
Commit: `1ad559bf228cd786316d10f3abc019dc23d3b8d9`
|
||||
Working tree dirty at generation: `true`
|
||||
Evidence bundle SHA256: `7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20`
|
||||
|
||||
## Summary
|
||||
|
||||
- reproducibility ready: `true`
|
||||
- release lock ready: `true`
|
||||
- release lock ready: `false`
|
||||
- methodology complete: `true`
|
||||
- required artifacts: `25`
|
||||
- missing artifacts: `0`
|
||||
- source contract sha256: `cadca277f4c7`
|
||||
- archive sha256: `5c589cf0348a`
|
||||
- source contract sha256: `df05fea8b6a2`
|
||||
- archive sha256: `eb831be7c14d`
|
||||
- output cases: `5`
|
||||
- disclosed failure cases: `3`
|
||||
- reproduction commands: `23`
|
||||
@@ -22,8 +22,8 @@ Evidence bundle SHA256: `c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d
|
||||
- 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: `28`
|
||||
|
||||
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: `c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe`
|
||||
- sha256: `7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20`
|
||||
|
||||
## Methodology Sections
|
||||
|
||||
@@ -72,17 +73,17 @@ This report proves local benchmark reproducibility only. It keeps external provi
|
||||
| output_cases | `evals/output/cases.jsonl` | present | `a6ae96857116` |
|
||||
| output_schema | `evals/output/schema.json` | present | `8ee340c95064` |
|
||||
| output_scorecard | `reports/output_quality_scorecard.json` | present | `0806258a8e08` |
|
||||
| output_execution | `reports/output_execution_runs.json` | present | `cb8750e1d9a0` |
|
||||
| output_execution | `reports/output_execution_runs.json` | present | `94c48235d143` |
|
||||
| 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 | `74b73bf1a151` |
|
||||
| python_compatibility | `reports/python_compatibility.json` | present | `53b0c9ac44fc` |
|
||||
| registry_audit | `reports/registry_audit.json` | present | `ff1bcd5c212d` |
|
||||
| package_verification | `reports/package_verification.json` | present | `d113c6b715c8` |
|
||||
| install_simulation | `reports/install_simulation.json` | present | `1593d15833d8` |
|
||||
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `9d894d84d0e0` |
|
||||
| trust_report | `reports/security_trust_report.json` | present | `95cc632fc30a` |
|
||||
| python_compatibility | `reports/python_compatibility.json` | present | `f083d3685d0a` |
|
||||
| registry_audit | `reports/registry_audit.json` | present | `d1cb15689c41` |
|
||||
| package_verification | `reports/package_verification.json` | present | `07804bd70d08` |
|
||||
| install_simulation | `reports/install_simulation.json` | present | `32ecd9128594` |
|
||||
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `b813e444d6b4` |
|
||||
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `130161495dc4` |
|
||||
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `b8976c340da4` |
|
||||
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `7f502f722ff1` |
|
||||
|
||||
+10
-10
@@ -6,16 +6,16 @@
|
||||
"context_budget_tier": "production",
|
||||
"context_budget_limit": 1000,
|
||||
"skill_body_tokens": 797,
|
||||
"other_text_tokens": 1051370,
|
||||
"other_text_tokens": 1051647,
|
||||
"estimated_initial_load_tokens": 990,
|
||||
"estimated_total_text_tokens": 1052167,
|
||||
"deferred_resource_tokens": 486920,
|
||||
"estimated_total_text_tokens": 1052444,
|
||||
"deferred_resource_tokens": 487039,
|
||||
"deferred_resource_warn_threshold": 120000,
|
||||
"deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "references",
|
||||
@@ -36,8 +36,8 @@
|
||||
"large_deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127
|
||||
}
|
||||
],
|
||||
"deferred_resource_governance": {
|
||||
@@ -59,14 +59,14 @@
|
||||
],
|
||||
"missing": [],
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126,
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127,
|
||||
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
|
||||
}
|
||||
],
|
||||
"summary": "Large deferred resources are indexed and backed by evidence."
|
||||
},
|
||||
"relevant_file_count": 640,
|
||||
"relevant_file_count": 642,
|
||||
"unused_resource_dirs": [],
|
||||
"quality_signal_points": 130,
|
||||
"quality_density": 131.3
|
||||
|
||||
@@ -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 | 486920 | `governed` | scripts:426822 | 131.3 | - | ok |
|
||||
| root | `.` | `production` | 1000 | 990 | 797 | 487039 | `governed` | scripts:426941 | 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 |
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
"budget_limit": 1000,
|
||||
"initial_tokens": 990,
|
||||
"skill_body_tokens": 797,
|
||||
"deferred_resource_tokens": 486920,
|
||||
"deferred_resource_tokens": 487039,
|
||||
"large_deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127
|
||||
}
|
||||
],
|
||||
"deferred_resource_governance": {
|
||||
@@ -35,8 +35,8 @@
|
||||
],
|
||||
"missing": [],
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126,
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127,
|
||||
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
|
||||
}
|
||||
],
|
||||
|
||||
@@ -189,12 +189,12 @@
|
||||
"status": "pass",
|
||||
"expected": {
|
||||
"status": "pass",
|
||||
"detail": "initial load 990/1000; deferred 486920/120000; top deferred scripts 426822; resource governance governed; quality density 131.3",
|
||||
"detail": "initial load 990/1000; deferred 487039/120000; top deferred scripts 426941; resource governance governed; quality density 131.3",
|
||||
"evidence": "reports/context_budget.json"
|
||||
},
|
||||
"actual": {
|
||||
"status": "pass",
|
||||
"detail": "initial load 990/1000; deferred 486920/120000; top deferred scripts 426822; resource governance governed; quality density 131.3",
|
||||
"detail": "initial load 990/1000; deferred 487039/120000; top deferred scripts 426941; 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": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"actual": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"expected": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"actual": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"actual": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"expected": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"actual": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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",
|
||||
@@ -1512,7 +1512,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1527,7 +1527,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -1552,7 +1552,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -1600,7 +1600,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1615,7 +1615,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -1640,7 +1640,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -2404,10 +2404,10 @@
|
||||
"score `91`",
|
||||
"`16` gates",
|
||||
"`3` warnings",
|
||||
"`40` declared internal modules",
|
||||
"`86 / 86` CLI help smoke checks passing across `126` scripts",
|
||||
"`653` zip entries",
|
||||
"archive with `653` entries",
|
||||
"`41` declared internal modules",
|
||||
"`86 / 86` CLI help smoke checks passing across `127` scripts",
|
||||
"`654` zip entries",
|
||||
"archive with `654` entries",
|
||||
"`12` installer permission checks enforced",
|
||||
"`0` permission failures",
|
||||
"`25` required artifacts",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.2,
|
||||
"duration_ms": 31.76,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -62,7 +62,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.3,
|
||||
"duration_ms": 31.35,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -113,7 +113,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 33.23,
|
||||
"duration_ms": 35.51,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -136,7 +136,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.98,
|
||||
"duration_ms": 31.48,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -164,7 +164,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.71,
|
||||
"duration_ms": 31.74,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -187,7 +187,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.19,
|
||||
"duration_ms": 31.75,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -214,7 +214,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.94,
|
||||
"duration_ms": 32.86,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -237,7 +237,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.73,
|
||||
"duration_ms": 35.93,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -266,7 +266,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.32,
|
||||
"duration_ms": 34.33,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
|
||||
@@ -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.2 | 33 | 0.0 | pass |
|
||||
| skill-package-contract | with_skill | command | local-output-eval-runner | 31.3 | 73 | 100.0 | pass |
|
||||
| skill-package-contract | baseline | command | local-output-eval-runner | 31.76 | 33 | 0.0 | pass |
|
||||
| skill-package-contract | with_skill | command | local-output-eval-runner | 31.35 | 73 | 100.0 | pass |
|
||||
| output-eval-expectation | baseline | command | local-output-eval-runner | 32.8 | 36 | 0.0 | pass |
|
||||
| output-eval-expectation | with_skill | command | local-output-eval-runner | 33.23 | 80 | 100.0 | pass |
|
||||
| ir-before-packaging | baseline | command | local-output-eval-runner | 30.98 | 33 | 0.0 | pass |
|
||||
| ir-before-packaging | with_skill | command | local-output-eval-runner | 30.71 | 80 | 100.0 | pass |
|
||||
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 31.19 | 36 | 0.0 | pass |
|
||||
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 30.94 | 65 | 100.0 | pass |
|
||||
| file-backed-governed-package | baseline | command | local-output-eval-runner | 30.73 | 37 | 0.0 | pass |
|
||||
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 30.32 | 98 | 100.0 | pass |
|
||||
| output-eval-expectation | with_skill | command | local-output-eval-runner | 35.51 | 80 | 100.0 | pass |
|
||||
| ir-before-packaging | baseline | command | local-output-eval-runner | 31.48 | 33 | 0.0 | pass |
|
||||
| ir-before-packaging | with_skill | command | local-output-eval-runner | 31.74 | 80 | 100.0 | pass |
|
||||
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 31.75 | 36 | 0.0 | pass |
|
||||
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 32.86 | 65 | 100.0 | pass |
|
||||
| file-backed-governed-package | baseline | command | local-output-eval-runner | 35.93 | 37 | 0.0 | pass |
|
||||
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 34.33 | 98 | 100.0 | pass |
|
||||
|
||||
## Next Fixes
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
- Package directory: `dist`
|
||||
- Targets: `4 / 4` adapters present
|
||||
- Archive present: `True`
|
||||
- Archive SHA256: `5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180`
|
||||
- Archive SHA256: `eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975`
|
||||
- Failures: `0`
|
||||
- Warnings: `0`
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"root": ".",
|
||||
"summary": {
|
||||
"target_python": "3.11",
|
||||
"file_count": 200,
|
||||
"file_count": 201,
|
||||
"issue_count": 0,
|
||||
"syntax_error_count": 0,
|
||||
"fstring_311_violation_count": 0,
|
||||
@@ -640,6 +640,12 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"ok": true,
|
||||
|
||||
@@ -6,7 +6,7 @@ Generated at: `2026-06-16`
|
||||
|
||||
- decision: `pass`
|
||||
- target python: `3.11`
|
||||
- files scanned: `200`
|
||||
- files scanned: `201`
|
||||
- issues: `0`
|
||||
- syntax errors: `0`
|
||||
- f-string 3.11 violations: `0`
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -53,7 +53,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -78,7 +78,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
- Maturity: `governed`
|
||||
- Owner: `Yao Team`
|
||||
- License: `MIT`
|
||||
- Package SHA256: `cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5`
|
||||
- Archive SHA256: `5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180`
|
||||
- Package SHA256: `df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a`
|
||||
- Archive SHA256: `eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975`
|
||||
- Install simulated: `True`
|
||||
|
||||
## Compatibility
|
||||
|
||||
@@ -740,12 +740,12 @@
|
||||
|
||||
<section>
|
||||
<h2>核心指标</h2>
|
||||
<div class="metrics"><article class='metric'><span>Skill IR</span><strong>2.0.0</strong><p>5 targets in platform-neutral contract</p></article><article class='metric'><span>Compiler</span><strong>5/5</strong><p>target contracts compiled from Skill IR</p></article><article class='metric'><span>Output Delta</span><strong>100.0</strong><p>5 cases; 1 file-backed</p></article><article class='metric'><span>Exec Runs</span><strong>10</strong><p>command 10; model 0; recorded 0</p></article><article class='metric'><span>Blind A/B</span><strong>5</strong><p>review pairs hide baseline vs with-skill labels</p></article><article class='metric'><span>Review Kit</span><strong>0/5</strong><p>pending 5; answer key hidden</p></article><article class='metric'><span>Review A/B</span><strong>0/5</strong><p>adjudication decisions; pending 5</p></article><article class='metric'><span>Public Claim</span><strong>blocked</strong><p>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>126 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>200 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>852 largest lines; 7 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>653 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>127 scripts scanned; secrets found</p></article><article class='metric'><span>Py Compat</span><strong>0</strong><p>201 files scanned for Python 3.11</p></article><article class='metric'><span>Arch Debt</span><strong>0</strong><p>852 largest lines; 6 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>654 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 486920/120000; top deferred scripts 426822; 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; 126 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; 200 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>197 Python files; 0 hotspots; 7 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 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 487039/120000; top deferred scripts 426941; 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; 127 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; 201 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>198 Python files; 0 hotspots; 6 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 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>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
@@ -812,17 +812,17 @@
|
||||
</section>
|
||||
|
||||
<section class="twocol">
|
||||
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 486920/120000; top deferred scripts 426822; resource governance governed; quality density 131.3</p></div>
|
||||
<div class="panel"><h2>上下文</h2><p>initial load 990/1000; deferred 487039/120000; top deferred scripts 426941; 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>126</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5</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>127</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a</code></dd></div></dl></div>
|
||||
<div class="panel"><h2>安全边界</h2><p>高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。</p></div>
|
||||
</section>
|
||||
|
||||
<section class="twocol">
|
||||
<div class="panel"><h2>Python 兼容</h2><dl class='kv-grid'><div><dt>目标 Python</dt><dd>3.11</dd></div><div><dt>文件数</dt><dd>200</dd></div><div><dt>问题数</dt><dd>0</dd></div><div><dt>语法错误</dt><dd>0</dd></div><div><dt>F-string 3.11</dt><dd>0</dd></div></dl></div>
|
||||
<div class="panel"><h2>Python 兼容</h2><dl class='kv-grid'><div><dt>目标 Python</dt><dd>3.11</dd></div><div><dt>文件数</dt><dd>201</dd></div><div><dt>问题数</dt><dd>0</dd></div><div><dt>语法错误</dt><dd>0</dd></div><div><dt>F-string 3.11</dt><dd>0</dd></div></dl></div>
|
||||
<div class="panel"><h2>解释器边界</h2><p>CI 和发布审查以 Python 3.11 兼容为底线;本地更高版本允许的新语法不能绕过兼容门禁。</p></div>
|
||||
</section>
|
||||
|
||||
@@ -882,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">
|
||||
@@ -903,12 +903,12 @@
|
||||
|
||||
<section id="registry" class="twocol">
|
||||
<div class="panel"><h2>注册审计</h2><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p></div>
|
||||
<div class="panel"><h2>包体元数据</h2><dl class='kv-grid'><div><dt>名称</dt><dd>yao-meta-skill</dd></div><div><dt>版本</dt><dd>1.1.0</dd></div><div><dt>Maturity</dt><dd>governed</dd></div><div><dt>Owner</dt><dd>Yao Team</dd></div><div><dt>License</dt><dd>MIT</dd></div><div><dt>信任级别</dt><dd>local</dd></div><div><dt>目标平台</dt><dd>openai, claude, generic, agent-skills-compatible, vscode</dd></div><div><dt>兼容通过</dt><dd>6/6</dd></div><div><dt>归档哈希</dt><dd><code>5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180</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>eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975</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>653</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180</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>654</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975</code></dd></div></dl></div>
|
||||
</section>
|
||||
|
||||
<section class="twocol">
|
||||
|
||||
+141
-109
@@ -44,7 +44,7 @@
|
||||
"key": "context-budget",
|
||||
"label": "上下文",
|
||||
"status": "pass",
|
||||
"detail": "initial load 990/1000; deferred 486920/120000; top deferred scripts 426822; resource governance governed; quality density 131.3",
|
||||
"detail": "initial load 990/1000; deferred 487039/120000; top deferred scripts 426941; resource governance governed; quality density 131.3",
|
||||
"evidence": "reports/context_budget.json",
|
||||
"link": "context_budget.md"
|
||||
},
|
||||
@@ -60,7 +60,7 @@
|
||||
"key": "trust-report",
|
||||
"label": "信任报告",
|
||||
"status": "pass",
|
||||
"detail": "0 secrets; 126 scripts; 3 network-capable scripts; 0 help smoke failures",
|
||||
"detail": "0 secrets; 127 scripts; 3 network-capable scripts; 0 help smoke failures",
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
"link": "security_trust_report.md"
|
||||
},
|
||||
@@ -68,7 +68,7 @@
|
||||
"key": "python-compat",
|
||||
"label": "Python 兼容",
|
||||
"status": "pass",
|
||||
"detail": "Python 3.11; 200 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
|
||||
"detail": "Python 3.11; 201 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
|
||||
"evidence": "reports/python_compatibility.json",
|
||||
"link": "python_compatibility.md"
|
||||
},
|
||||
@@ -76,7 +76,7 @@
|
||||
"key": "architecture-maintainability",
|
||||
"label": "架构维护",
|
||||
"status": "pass",
|
||||
"detail": "197 Python files; 0 hotspots; 7 watchlist files; 0 blockers; largest 852 lines; 68 CLI handlers; 18 in entrypoint",
|
||||
"detail": "198 Python files; 0 hotspots; 6 watchlist files; 0 blockers; largest 852 lines; 68 CLI handlers; 18 in entrypoint",
|
||||
"evidence": "reports/architecture_maintainability.json",
|
||||
"link": "architecture_maintainability.md"
|
||||
},
|
||||
@@ -1484,7 +1484,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1499,7 +1499,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -1524,7 +1524,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -1654,7 +1654,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1968,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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -1992,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": 28
|
||||
},
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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.",
|
||||
@@ -2080,9 +2080,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -2100,8 +2100,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
@@ -2139,8 +2139,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -2171,7 +2171,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -2187,8 +2187,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -2199,7 +2199,7 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -2266,12 +2266,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -4688,7 +4688,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.2,
|
||||
"duration_ms": 31.76,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4716,7 +4716,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.3,
|
||||
"duration_ms": 31.35,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4767,7 +4767,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 33.23,
|
||||
"duration_ms": 35.51,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4790,7 +4790,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.98,
|
||||
"duration_ms": 31.48,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4818,7 +4818,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.71,
|
||||
"duration_ms": 31.74,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4841,7 +4841,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 31.19,
|
||||
"duration_ms": 31.75,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4868,7 +4868,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.94,
|
||||
"duration_ms": 32.86,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4891,7 +4891,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.73,
|
||||
"duration_ms": 35.93,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -4920,7 +4920,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 30.32,
|
||||
"duration_ms": 34.33,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -5646,23 +5646,36 @@
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-16",
|
||||
"skill_dir": ".",
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"git_status": {
|
||||
"available": true,
|
||||
"dirty": false,
|
||||
"changed_file_count": 0,
|
||||
"sample": [],
|
||||
"dirty": true,
|
||||
"changed_file_count": 28,
|
||||
"sample": [
|
||||
" M registry/index.json",
|
||||
" M registry/packages/yao-meta-skill.json",
|
||||
" M reports/architecture_maintainability.json",
|
||||
" M reports/architecture_maintainability.md",
|
||||
" M reports/context_budget.json",
|
||||
" M reports/context_budget.md",
|
||||
" M reports/context_budget_summary.json",
|
||||
" M reports/install_simulation.json",
|
||||
" M reports/output_execution_runs.json",
|
||||
" M reports/output_execution_runs.md",
|
||||
" M reports/package_verification.json",
|
||||
" M reports/package_verification.md"
|
||||
],
|
||||
"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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -5680,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": 28
|
||||
},
|
||||
"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)",
|
||||
@@ -5696,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": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"ready": false,
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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)",
|
||||
@@ -5707,7 +5721,7 @@
|
||||
"existing_count": 25,
|
||||
"missing_count": 0,
|
||||
"missing_paths": [],
|
||||
"sha256": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe"
|
||||
"sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20"
|
||||
},
|
||||
"methodology": {
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
@@ -5780,8 +5794,8 @@
|
||||
"label": "output_execution",
|
||||
"path": "reports/output_execution_runs.json",
|
||||
"exists": true,
|
||||
"bytes": 7964,
|
||||
"sha256": "cb8750e1d9a0a9a7449675361863028cd965fe9c526f8d27fa90770c5365e10d"
|
||||
"bytes": 7966,
|
||||
"sha256": "94c48235d1433294630fc7c64633de10c68a9d44f4c5578a6c92683de236a710"
|
||||
},
|
||||
{
|
||||
"label": "blind_review",
|
||||
@@ -5815,43 +5829,43 @@
|
||||
"label": "trust_report",
|
||||
"path": "reports/security_trust_report.json",
|
||||
"exists": true,
|
||||
"bytes": 120986,
|
||||
"sha256": "74b73bf1a151b2150cada99294c25caee88006185a7eda7f71f60c0d75e11bd1"
|
||||
"bytes": 121574,
|
||||
"sha256": "95cc632fc30a98cc489f1b3474e4826f80eabc49f67176c8fab0acb24dc31cc9"
|
||||
},
|
||||
{
|
||||
"label": "python_compatibility",
|
||||
"path": "reports/python_compatibility.json",
|
||||
"exists": true,
|
||||
"bytes": 25985,
|
||||
"sha256": "53b0c9ac44fc7bddef1398d78262ad1939e8680d966e2cf1bac8620d1e0d6db4"
|
||||
"bytes": 26108,
|
||||
"sha256": "f083d3685d0ad4de037d68b728ca23788837fcb15792666c844471aad6c41e71"
|
||||
},
|
||||
{
|
||||
"label": "registry_audit",
|
||||
"path": "reports/registry_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 3183,
|
||||
"sha256": "ff1bcd5c212d6f7a480ce6ed1f5367b78bd23489ef45ee04e766bdca495869f6"
|
||||
"sha256": "d1cb15689c415b7bb1148c680aaab0e1d085abb1743fd53ec2a70840a0aef98d"
|
||||
},
|
||||
{
|
||||
"label": "package_verification",
|
||||
"path": "reports/package_verification.json",
|
||||
"exists": true,
|
||||
"bytes": 19338,
|
||||
"sha256": "d113c6b715c828a376b87f0372d4bd7938dc2d2bde68725b59eeee303d739bff"
|
||||
"sha256": "07804bd70d081caaf7b63ab6f0afcbe809c98dca09322caa6bcfcff5bfa423ca"
|
||||
},
|
||||
{
|
||||
"label": "install_simulation",
|
||||
"path": "reports/install_simulation.json",
|
||||
"exists": true,
|
||||
"bytes": 8604,
|
||||
"sha256": "1593d15833d815c1e9bd3962d0e6979f2975cfd58f0e868d28e7592fb12c8c7d"
|
||||
"sha256": "32ecd9128594f95309eeb7dfb2702a86d54a1769f67fe632a72383821246a192"
|
||||
},
|
||||
{
|
||||
"label": "skill_os2_audit",
|
||||
"path": "reports/skill_os2_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 14310,
|
||||
"sha256": "9d894d84d0e0c52e8f9a336b9c1fe5685535dfac7a6b4f141075bf0e5bd1edf6"
|
||||
"sha256": "b813e444d6b4a2a99f17514b1c12070b1f71434fa739da726f1bc94bbdfbe106"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_plan",
|
||||
@@ -6183,7 +6197,7 @@
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
|
||||
"current": "126 scripts; secrets 0; help failures 0",
|
||||
"current": "127 scripts; secrets 0; help failures 0",
|
||||
"command": "python3 scripts/yao.py trust .",
|
||||
"test": "python3 tests/verify_trust_check.py",
|
||||
"evidence": [
|
||||
@@ -6257,7 +6271,7 @@
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
|
||||
"current": "archive entries 653; install failures 0",
|
||||
"current": "archive entries 654; install failures 0",
|
||||
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
|
||||
"test": "python3 tests/verify_registry_audit.py",
|
||||
"evidence": [
|
||||
@@ -12070,9 +12084,9 @@
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -12090,8 +12104,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": [],
|
||||
@@ -13514,6 +13528,20 @@
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"interface": "internal-module",
|
||||
"interface_declared": true,
|
||||
"interface_reason": "Imported by skill_report_model.py to load source files and scan overview package assets.",
|
||||
"has_argparse": false,
|
||||
"has_main_guard": false,
|
||||
"uses_input": false,
|
||||
"uses_network": false,
|
||||
"uses_file_write": false,
|
||||
"uses_subprocess": false,
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"interface": "internal-module",
|
||||
@@ -13913,7 +13941,7 @@
|
||||
"checked_count": 86,
|
||||
"passed_count": 86,
|
||||
"failed_count": 0,
|
||||
"skipped_count": 40,
|
||||
"skipped_count": 41,
|
||||
"failed_scripts": [],
|
||||
"results": [
|
||||
{
|
||||
@@ -14870,6 +14898,10 @@
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"reason": "internal module"
|
||||
@@ -15133,7 +15165,7 @@
|
||||
"root": ".",
|
||||
"summary": {
|
||||
"target_python": "3.11",
|
||||
"file_count": 200,
|
||||
"file_count": 201,
|
||||
"issue_count": 0,
|
||||
"syntax_error_count": 0,
|
||||
"fstring_311_violation_count": 0,
|
||||
@@ -15768,6 +15800,12 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"ok": true,
|
||||
@@ -16363,10 +16401,10 @@
|
||||
"generated_at": "2026-06-16",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"python_file_count": 197,
|
||||
"script_file_count": 126,
|
||||
"python_file_count": 198,
|
||||
"script_file_count": 127,
|
||||
"test_file_count": 71,
|
||||
"internal_module_count": 43,
|
||||
"internal_module_count": 44,
|
||||
"cli_script_count": 85,
|
||||
"command_handler_count": 68,
|
||||
"entrypoint_command_handler_count": 18,
|
||||
@@ -16375,7 +16413,7 @@
|
||||
"watch_line_threshold": 720,
|
||||
"block_line_threshold": 1500,
|
||||
"largest_file_lines": 852,
|
||||
"watchlist_count": 7,
|
||||
"watchlist_count": 6,
|
||||
"hotspot_count": 0,
|
||||
"blocker_count": 0,
|
||||
"decision": "pass"
|
||||
@@ -16388,13 +16426,6 @@
|
||||
"severity": "pass",
|
||||
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 800,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_yao_cli.py",
|
||||
"lines": 785,
|
||||
@@ -16464,6 +16495,13 @@
|
||||
"kind": "cli-script",
|
||||
"severity": "pass",
|
||||
"recommendation": "Split viewer data assembly from HTML section rendering."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 665,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
}
|
||||
],
|
||||
"watchlist": [
|
||||
@@ -16474,13 +16512,6 @@
|
||||
"severity": "pass",
|
||||
"recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands."
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"lines": 800,
|
||||
"kind": "internal-module",
|
||||
"severity": "pass",
|
||||
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_yao_cli.py",
|
||||
"lines": 785,
|
||||
@@ -16532,16 +16563,16 @@
|
||||
"context_budget_tier": "production",
|
||||
"context_budget_limit": 1000,
|
||||
"skill_body_tokens": 797,
|
||||
"other_text_tokens": 1051370,
|
||||
"other_text_tokens": 1051647,
|
||||
"estimated_initial_load_tokens": 990,
|
||||
"estimated_total_text_tokens": 1052167,
|
||||
"deferred_resource_tokens": 486920,
|
||||
"estimated_total_text_tokens": 1052444,
|
||||
"deferred_resource_tokens": 487039,
|
||||
"deferred_resource_warn_threshold": 120000,
|
||||
"deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "references",
|
||||
@@ -16562,8 +16593,8 @@
|
||||
"large_deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127
|
||||
}
|
||||
],
|
||||
"deferred_resource_governance": {
|
||||
@@ -16585,14 +16616,14 @@
|
||||
],
|
||||
"missing": [],
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 426822,
|
||||
"file_count": 126,
|
||||
"estimated_tokens": 426941,
|
||||
"file_count": 127,
|
||||
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
|
||||
}
|
||||
],
|
||||
"summary": "Large deferred resources are indexed and backed by evidence."
|
||||
},
|
||||
"relevant_file_count": 640,
|
||||
"relevant_file_count": 642,
|
||||
"unused_resource_dirs": [],
|
||||
"quality_signal_points": 130,
|
||||
"quality_density": 131.3
|
||||
@@ -17556,6 +17587,7 @@
|
||||
"scripts/skill_report_layout.py",
|
||||
"scripts/skill_report_metrics.py",
|
||||
"scripts/skill_report_model.py",
|
||||
"scripts/skill_report_sources.py",
|
||||
"scripts/skill_report_world_class.py",
|
||||
"scripts/skillops_opportunity.py",
|
||||
"scripts/summarize_user_signals.py",
|
||||
@@ -23477,8 +23509,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -23509,7 +23541,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -23534,7 +23566,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -23557,8 +23589,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -24223,7 +24255,7 @@
|
||||
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -24565,12 +24597,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+25
-25
@@ -513,7 +513,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -528,7 +528,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -553,7 +553,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -683,7 +683,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": 28
|
||||
},
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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.",
|
||||
@@ -1109,9 +1109,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1129,8 +1129,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
@@ -1168,8 +1168,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1200,7 +1200,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -1216,8 +1216,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1228,7 +1228,7 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1295,12 +1295,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -22,8 +22,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": [],
|
||||
@@ -1446,6 +1446,20 @@
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"interface": "internal-module",
|
||||
"interface_declared": true,
|
||||
"interface_reason": "Imported by skill_report_model.py to load source files and scan overview package assets.",
|
||||
"has_argparse": false,
|
||||
"has_main_guard": false,
|
||||
"uses_input": false,
|
||||
"uses_network": false,
|
||||
"uses_file_write": false,
|
||||
"uses_subprocess": false,
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"interface": "internal-module",
|
||||
@@ -1845,7 +1859,7 @@
|
||||
"checked_count": 86,
|
||||
"passed_count": 86,
|
||||
"failed_count": 0,
|
||||
"skipped_count": 40,
|
||||
"skipped_count": 41,
|
||||
"failed_scripts": [],
|
||||
"results": [
|
||||
{
|
||||
@@ -2802,6 +2816,10 @@
|
||||
"path": "scripts/skill_report_model.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_sources.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/skill_report_world_class.py",
|
||||
"reason": "internal module"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Security Trust Report
|
||||
|
||||
- OK: `True`
|
||||
- Scanned files: `217`
|
||||
- Scripts: `126`
|
||||
- Internal script modules: `40`
|
||||
- Scanned files: `218`
|
||||
- Scripts: `127`
|
||||
- Internal script modules: `41`
|
||||
- Secret findings: `0`
|
||||
- Network-capable scripts: `3`
|
||||
- Network policy covered scripts: `3`
|
||||
@@ -15,8 +15,8 @@
|
||||
- CLI help smoke failures: `0`
|
||||
- Interactive scripts: `0`
|
||||
- Package hash scope: `source-contract-without-generated-reports`
|
||||
- Package hash files: `217`
|
||||
- Package SHA256: `cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5`
|
||||
- Package hash files: `218`
|
||||
- Package SHA256: `df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a`
|
||||
|
||||
## Failures
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
| scripts/skill_report_layout.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_overview.py to keep overview report layout and CSS out of data rendering. |
|
||||
| scripts/skill_report_metrics.py | internal-module | True | False | False | False | False | False | False | Imported by skill_report_model.py to calculate overview report metrics. |
|
||||
| scripts/skill_report_model.py | internal-module | True | False | False | False | False | False | False | Imported by render_skill_overview.py to build the v2 report data model. |
|
||||
| scripts/skill_report_sources.py | internal-module | True | False | False | False | False | False | False | Imported by skill_report_model.py to load source files and scan overview package assets. |
|
||||
| scripts/skill_report_world_class.py | internal-module | True | False | False | False | False | False | False | Imported by skill_report_model.py to summarize world-class evidence readiness and roadmap actions. |
|
||||
| scripts/skillops_opportunity.py | internal-module | True | False | False | False | False | False | False | Imported by render_daily_skillops_report.py to score SkillOps opportunities without writing files. |
|
||||
| scripts/summarize_user_signals.py | cli | True | True | True | False | False | True | False | Scans an explicit local source file and summarizes redacted repeated user preference signals. |
|
||||
|
||||
@@ -921,7 +921,7 @@
|
||||
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
|
||||
</div>
|
||||
<div class="two-col">
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-0.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="21.2 78.8" stroke-dashoffset="-2.4" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="76.4 23.6" stroke-dashoffset="-23.6" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">423项</text><text data-lang="en" x="130" y="136" text-anchor="middle">423 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-0.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="21.1 78.9" stroke-dashoffset="-2.4" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="76.5 23.5" stroke-dashoffset="-23.5" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">424项</text><text data-lang="en" x="130" y="136" text-anchor="middle">424 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<table>
|
||||
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
|
||||
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
|
||||
|
||||
@@ -513,7 +513,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -528,7 +528,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -553,7 +553,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -687,7 +687,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -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": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": 28
|
||||
},
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"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.",
|
||||
@@ -1113,9 +1113,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1133,8 +1133,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
@@ -1172,8 +1172,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1204,7 +1204,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -1220,8 +1220,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1232,7 +1232,7 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1299,12 +1299,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -127,13 +127,13 @@ Next move: add real client or installer permission enforcement integration.
|
||||
| Output Eval | `5` cases, with-skill pass rate `100`, baseline pass rate `0`, with file-backed, near-neighbor, boundary coverage, `10` local command-runner execution runs, `0` recorded fixture runs, `0` provider model-executed runs in root release evidence, `10` estimated token counts, provider runner v0 available, `5` blind A/B review pairs, a generated `reports/output_review_decisions.json` template, `0 / 5` reviewer decisions pending, `0` answer keys revealed, and `5` pending answers hidden |
|
||||
| Runtime Conformance | `5 / 5` targets passing |
|
||||
| Target Compiler | `5 / 5` compiled target contracts generated for OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot outputs, including target permission contracts and target-native behavior contracts |
|
||||
| Trust | `0` secret findings, `1` pinned dependency file, `40` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `126` scripts, source-contract hash scope explicit |
|
||||
| Trust | `0` secret findings, `1` pinned dependency file, `41` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `127` scripts, source-contract hash scope explicit |
|
||||
| Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired |
|
||||
| Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility |
|
||||
| Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility |
|
||||
| Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix |
|
||||
| Package Verification | `4 / 4` target adapters present, archive verified, `653` zip entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `653` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
|
||||
| Package Verification | `4 / 4` target adapters present, archive verified, `654` zip entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `654` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
|
||||
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
|
||||
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
|
||||
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
|
||||
|
||||
@@ -921,7 +921,7 @@
|
||||
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
|
||||
</div>
|
||||
<div class="two-col">
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-0.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="21.2 78.8" stroke-dashoffset="-2.4" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="76.4 23.6" stroke-dashoffset="-23.6" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">423项</text><text data-lang="en" x="130" y="136" text-anchor="middle">423 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-0.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.2" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.6 99.4" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="21.1 78.9" stroke-dashoffset="-2.4" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="76.5 23.5" stroke-dashoffset="-23.5" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">424项</text><text data-lang="en" x="130" y="136" text-anchor="middle">424 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<table>
|
||||
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
|
||||
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
|
||||
|
||||
+25
-25
@@ -512,7 +512,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -527,7 +527,7 @@
|
||||
"file_count": 229
|
||||
}
|
||||
],
|
||||
"file_count": 423,
|
||||
"file_count": 424,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -552,7 +552,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 126
|
||||
"value": 127
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -682,7 +682,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 126
|
||||
"file_count": 127
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -996,13 +996,13 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"reproducibility_ready": true,
|
||||
"release_lock_ready": true,
|
||||
"release_lock_ready": false,
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"evidence_bundle_sha256": "c151a66b458f7770e38b4a52a254f171dc4c3ffca5b051cf491648d92e7422fe",
|
||||
"source_contract_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"evidence_bundle_sha256": "7c362acd2ef7ab3865c480b1134dde887df56e050536873a8025aaf873f5cc20",
|
||||
"source_contract_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"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": 28
|
||||
},
|
||||
"commit": "f16f783c7c12a450a00e3a91c402044e73713fcb",
|
||||
"commit": "1ad559bf228cd786316d10f3abc019dc23d3b8d9",
|
||||
"missing_artifacts": [],
|
||||
"limitations": [
|
||||
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
|
||||
@@ -1108,9 +1108,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 217,
|
||||
"script_count": 126,
|
||||
"internal_module_count": 40,
|
||||
"scanned_files": 218,
|
||||
"script_count": 127,
|
||||
"internal_module_count": 41,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1128,8 +1128,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 217,
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"package_hash_file_count": 218,
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
@@ -1167,8 +1167,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5",
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"package_sha256": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1199,7 +1199,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -1215,8 +1215,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180",
|
||||
"archive_entry_count": 653,
|
||||
"archive_sha256": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975",
|
||||
"archive_entry_count": 654,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1227,7 +1227,7 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 653,
|
||||
"archive_entry_count": 654,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1294,12 +1294,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -164,6 +164,7 @@
|
||||
"scripts/skill_report_layout.py",
|
||||
"scripts/skill_report_metrics.py",
|
||||
"scripts/skill_report_model.py",
|
||||
"scripts/skill_report_sources.py",
|
||||
"scripts/skill_report_world_class.py",
|
||||
"scripts/skillops_opportunity.py",
|
||||
"scripts/summarize_user_signals.py",
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
"key": "trust-security",
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"current": "secrets 0; scripts 126; help failures 0",
|
||||
"current": "secrets 0; scripts 127; help failures 0",
|
||||
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -285,7 +285,7 @@
|
||||
"key": "registry-distribution",
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"current": "zip entries 653; install failures 0; permission failures 0",
|
||||
"current": "zip entries 654; install failures 0; permission failures 0",
|
||||
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
|
||||
"evidence": [
|
||||
{
|
||||
|
||||
@@ -23,11 +23,11 @@ Generated at: `2026-06-16`
|
||||
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. |
|
||||
| Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
|
||||
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
|
||||
| Trust Security | pass | secrets 0; scripts 126; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
|
||||
| Trust Security | pass | secrets 0; scripts 127; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
|
||||
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. |
|
||||
| Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
|
||||
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
|
||||
| Registry Distribution | pass | zip entries 653; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
|
||||
| Registry Distribution | pass | zip entries 654; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
|
||||
| Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
|
||||
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
|
||||
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
|
||||
"current": "126 scripts; secrets 0; help failures 0",
|
||||
"current": "127 scripts; secrets 0; help failures 0",
|
||||
"command": "python3 scripts/yao.py trust .",
|
||||
"test": "python3 tests/verify_trust_check.py",
|
||||
"evidence": [
|
||||
@@ -204,7 +204,7 @@
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
|
||||
"current": "archive entries 653; install failures 0",
|
||||
"current": "archive entries 654; install failures 0",
|
||||
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
|
||||
"test": "python3 tests/verify_registry_audit.py",
|
||||
"evidence": [
|
||||
|
||||
@@ -26,9 +26,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
|
||||
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
|
||||
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
|
||||
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
|
||||
| Trust Security | `pass` | 126 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
|
||||
| Trust Security | `pass` | 127 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
|
||||
| Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
|
||||
| Registry Distribution | `pass` | archive entries 653; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
|
||||
| Registry Distribution | `pass` | archive entries 654; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
|
||||
| Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
|
||||
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
|
||||
|
||||
|
||||
@@ -70,12 +70,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "5c589cf0348a5abc171781e16d218259b9c4b4b362a348647b98a41c0887d180"
|
||||
"to": "eb831be7c14dc0caf742b1287c617b8800c44d98b35d83b03d9f762f6c789975"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "cadca277f4c73d1f726e2f791549ed61e8ab2673fc12ed401b664941eba578b5"
|
||||
"to": "df05fea8b6a28254d298ab59d3f3858713196e88d582232c93c500b1fa94da8a"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+10
-145
@@ -1,35 +1,25 @@
|
||||
#!/usr/bin/env python3
|
||||
import json
|
||||
import re
|
||||
from datetime import date
|
||||
from pathlib import Path
|
||||
|
||||
from skill_ir_paths import find_skill_ir
|
||||
from skill_report_metrics import calculate_scorecard
|
||||
from skill_report_sources import (
|
||||
extract_title,
|
||||
load_json,
|
||||
load_yaml,
|
||||
package_entries,
|
||||
parse_frontmatter,
|
||||
parse_sections,
|
||||
summarize_logic,
|
||||
summarize_usage,
|
||||
)
|
||||
from skill_report_world_class import world_class_readiness, world_class_roadmap_item
|
||||
|
||||
try:
|
||||
import yaml
|
||||
except ImportError: # pragma: no cover
|
||||
yaml = None
|
||||
|
||||
|
||||
SCRIPT_INTERFACE = "internal-module"
|
||||
SCRIPT_INTERFACE_REASON = "Imported by render_skill_overview.py to build the v2 report data model."
|
||||
|
||||
KNOWN_ENTRIES = [
|
||||
("SKILL.md", "Skill entrypoint"),
|
||||
("README.md", "Human-readable usage guide"),
|
||||
("agents/interface.yaml", "Neutral interface metadata"),
|
||||
("manifest.json", "Lifecycle and portability metadata"),
|
||||
("references", "Extended guidance and reusable notes"),
|
||||
("scripts", "Deterministic helpers or local tooling"),
|
||||
("evals", "Trigger and quality checks"),
|
||||
("reports", "Generated evidence and overview artifacts"),
|
||||
]
|
||||
|
||||
IGNORED_PACKAGE_PARTS = {".git", "__pycache__", ".venv", "venv", "node_modules", "dist"}
|
||||
|
||||
REPORT_NAV_V2 = [
|
||||
{"label": "技能概述", "label_en": "Overview", "href": "overview"},
|
||||
{"label": "总览指标", "label_en": "Metrics", "href": "metrics"},
|
||||
@@ -43,131 +33,6 @@ REPORT_NAV_V2 = [
|
||||
]
|
||||
|
||||
|
||||
def parse_frontmatter(text: str) -> tuple[dict, str]:
|
||||
lines = text.splitlines()
|
||||
if not lines or lines[0].strip() != "---":
|
||||
return {}, text
|
||||
try:
|
||||
end_index = lines[1:].index("---") + 1
|
||||
except ValueError:
|
||||
return {}, text
|
||||
frontmatter_text = "\n".join(lines[1:end_index])
|
||||
body = "\n".join(lines[end_index + 1 :]).lstrip()
|
||||
if yaml is not None:
|
||||
data = yaml.safe_load(frontmatter_text) or {}
|
||||
return data if isinstance(data, dict) else {}, body
|
||||
data = {}
|
||||
for line in frontmatter_text.splitlines():
|
||||
if ":" not in line:
|
||||
continue
|
||||
key, value = line.split(":", 1)
|
||||
data[key.strip()] = value.strip().strip('"')
|
||||
return data, body
|
||||
|
||||
|
||||
def load_yaml(path: Path) -> dict:
|
||||
if not path.exists():
|
||||
return {}
|
||||
text = path.read_text(encoding="utf-8")
|
||||
if yaml is not None:
|
||||
payload = yaml.safe_load(text) or {}
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
return {}
|
||||
|
||||
|
||||
def load_json(path: Path) -> dict:
|
||||
if not path.exists():
|
||||
return {}
|
||||
try:
|
||||
payload = json.loads(path.read_text(encoding="utf-8"))
|
||||
except json.JSONDecodeError:
|
||||
return {}
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
|
||||
|
||||
def extract_title(body: str, fallback: str) -> str:
|
||||
for line in body.splitlines():
|
||||
if line.startswith("# "):
|
||||
return line[2:].strip()
|
||||
return fallback
|
||||
|
||||
|
||||
def parse_sections(body: str) -> dict[str, str]:
|
||||
sections: dict[str, list[str]] = {}
|
||||
current = "_preamble"
|
||||
sections[current] = []
|
||||
for line in body.splitlines():
|
||||
if line.startswith("## "):
|
||||
current = line[3:].strip()
|
||||
sections[current] = []
|
||||
continue
|
||||
sections[current].append(line)
|
||||
return {name: "\n".join(lines).strip() for name, lines in sections.items()}
|
||||
|
||||
|
||||
def extract_list_items(text: str) -> list[str]:
|
||||
items = []
|
||||
for line in text.splitlines():
|
||||
stripped = line.strip()
|
||||
if not stripped:
|
||||
continue
|
||||
ordered = re.match(r"^\d+\.\s+(.*)$", stripped)
|
||||
bullet = re.match(r"^[-*]\s+(.*)$", stripped)
|
||||
match = ordered or bullet
|
||||
if match:
|
||||
items.append(match.group(1).strip())
|
||||
return items
|
||||
|
||||
|
||||
def summarize_logic(sections: dict[str, str]) -> list[str]:
|
||||
for key in ("Compact Workflow", "Workflow", "How It Works", "Logic", "Quick Start"):
|
||||
if key in sections:
|
||||
items = extract_list_items(sections[key])
|
||||
if items:
|
||||
return items[:5]
|
||||
return extract_list_items(sections.get("_preamble", ""))[:5] or [
|
||||
"Understand the request",
|
||||
"Execute the main task",
|
||||
"Validate the result",
|
||||
]
|
||||
|
||||
|
||||
def summarize_usage(sections: dict[str, str], default_prompt: str, description: str) -> list[str]:
|
||||
for key in ("How To Use", "Quick Start", "Usage", "Runbook"):
|
||||
if key in sections:
|
||||
items = extract_list_items(sections[key])
|
||||
if items:
|
||||
return items[:5]
|
||||
usage = []
|
||||
if default_prompt:
|
||||
usage.append(default_prompt)
|
||||
usage.append(f"Use this skill when the request matches: {description}")
|
||||
return usage[:5]
|
||||
|
||||
|
||||
def package_entries(skill_dir: Path) -> list[dict]:
|
||||
items = []
|
||||
for rel_path, label in KNOWN_ENTRIES:
|
||||
target = skill_dir / rel_path
|
||||
if target.exists():
|
||||
kind = "folder" if target.is_dir() else "file"
|
||||
if target.is_dir():
|
||||
count = len(
|
||||
[
|
||||
path
|
||||
for path in target.rglob("*")
|
||||
if path.is_file()
|
||||
and not path.is_symlink()
|
||||
and not any(part in IGNORED_PACKAGE_PARTS for part in path.relative_to(target).parts)
|
||||
and path.suffix not in {".pyc", ".pyo"}
|
||||
]
|
||||
)
|
||||
else:
|
||||
count = 1
|
||||
items.append({"path": rel_path, "label": label, "kind": kind, "file_count": count})
|
||||
return items
|
||||
|
||||
|
||||
def context_payload(intent: dict) -> dict:
|
||||
context = intent.get("context", {}) if isinstance(intent, dict) else {}
|
||||
return context if isinstance(context, dict) else {}
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Source loading and package scanning helpers for skill overview reports."""
|
||||
|
||||
import json
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
try:
|
||||
import yaml
|
||||
except ImportError: # pragma: no cover
|
||||
yaml = None
|
||||
|
||||
|
||||
SCRIPT_INTERFACE = "internal-module"
|
||||
SCRIPT_INTERFACE_REASON = "Imported by skill_report_model.py to load source files and scan overview package assets."
|
||||
|
||||
|
||||
KNOWN_ENTRIES = [
|
||||
("SKILL.md", "Skill entrypoint"),
|
||||
("README.md", "Human-readable usage guide"),
|
||||
("agents/interface.yaml", "Neutral interface metadata"),
|
||||
("manifest.json", "Lifecycle and portability metadata"),
|
||||
("references", "Extended guidance and reusable notes"),
|
||||
("scripts", "Deterministic helpers or local tooling"),
|
||||
("evals", "Trigger and quality checks"),
|
||||
("reports", "Generated evidence and overview artifacts"),
|
||||
]
|
||||
|
||||
IGNORED_PACKAGE_PARTS = {".git", "__pycache__", ".venv", "venv", "node_modules", "dist"}
|
||||
|
||||
|
||||
def parse_frontmatter(text: str) -> tuple[dict, str]:
|
||||
lines = text.splitlines()
|
||||
if not lines or lines[0].strip() != "---":
|
||||
return {}, text
|
||||
try:
|
||||
end_index = lines[1:].index("---") + 1
|
||||
except ValueError:
|
||||
return {}, text
|
||||
frontmatter_text = "\n".join(lines[1:end_index])
|
||||
body = "\n".join(lines[end_index + 1 :]).lstrip()
|
||||
if yaml is not None:
|
||||
data = yaml.safe_load(frontmatter_text) or {}
|
||||
return data if isinstance(data, dict) else {}, body
|
||||
data = {}
|
||||
for line in frontmatter_text.splitlines():
|
||||
if ":" not in line:
|
||||
continue
|
||||
key, value = line.split(":", 1)
|
||||
data[key.strip()] = value.strip().strip('"')
|
||||
return data, body
|
||||
|
||||
|
||||
def load_yaml(path: Path) -> dict:
|
||||
if not path.exists():
|
||||
return {}
|
||||
text = path.read_text(encoding="utf-8")
|
||||
if yaml is not None:
|
||||
payload = yaml.safe_load(text) or {}
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
return {}
|
||||
|
||||
|
||||
def load_json(path: Path) -> dict:
|
||||
if not path.exists():
|
||||
return {}
|
||||
try:
|
||||
payload = json.loads(path.read_text(encoding="utf-8"))
|
||||
except json.JSONDecodeError:
|
||||
return {}
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
|
||||
|
||||
def extract_title(body: str, fallback: str) -> str:
|
||||
for line in body.splitlines():
|
||||
if line.startswith("# "):
|
||||
return line[2:].strip()
|
||||
return fallback
|
||||
|
||||
|
||||
def parse_sections(body: str) -> dict[str, str]:
|
||||
sections: dict[str, list[str]] = {}
|
||||
current = "_preamble"
|
||||
sections[current] = []
|
||||
for line in body.splitlines():
|
||||
if line.startswith("## "):
|
||||
current = line[3:].strip()
|
||||
sections[current] = []
|
||||
continue
|
||||
sections[current].append(line)
|
||||
return {name: "\n".join(lines).strip() for name, lines in sections.items()}
|
||||
|
||||
|
||||
def extract_list_items(text: str) -> list[str]:
|
||||
items = []
|
||||
for line in text.splitlines():
|
||||
stripped = line.strip()
|
||||
if not stripped:
|
||||
continue
|
||||
ordered = re.match(r"^\d+\.\s+(.*)$", stripped)
|
||||
bullet = re.match(r"^[-*]\s+(.*)$", stripped)
|
||||
match = ordered or bullet
|
||||
if match:
|
||||
items.append(match.group(1).strip())
|
||||
return items
|
||||
|
||||
|
||||
def summarize_logic(sections: dict[str, str]) -> list[str]:
|
||||
for key in ("Compact Workflow", "Workflow", "How It Works", "Logic", "Quick Start"):
|
||||
if key in sections:
|
||||
items = extract_list_items(sections[key])
|
||||
if items:
|
||||
return items[:5]
|
||||
return extract_list_items(sections.get("_preamble", ""))[:5] or [
|
||||
"Understand the request",
|
||||
"Execute the main task",
|
||||
"Validate the result",
|
||||
]
|
||||
|
||||
|
||||
def summarize_usage(sections: dict[str, str], default_prompt: str, description: str) -> list[str]:
|
||||
for key in ("How To Use", "Quick Start", "Usage", "Runbook"):
|
||||
if key in sections:
|
||||
items = extract_list_items(sections[key])
|
||||
if items:
|
||||
return items[:5]
|
||||
usage = []
|
||||
if default_prompt:
|
||||
usage.append(default_prompt)
|
||||
usage.append(f"Use this skill when the request matches: {description}")
|
||||
return usage[:5]
|
||||
|
||||
|
||||
def package_entries(skill_dir: Path) -> list[dict]:
|
||||
items = []
|
||||
for rel_path, label in KNOWN_ENTRIES:
|
||||
target = skill_dir / rel_path
|
||||
if target.exists():
|
||||
kind = "folder" if target.is_dir() else "file"
|
||||
if target.is_dir():
|
||||
count = len(
|
||||
[
|
||||
path
|
||||
for path in target.rglob("*")
|
||||
if path.is_file()
|
||||
and not path.is_symlink()
|
||||
and not any(part in IGNORED_PACKAGE_PARTS for part in path.relative_to(target).parts)
|
||||
and path.suffix not in {".pyc", ".pyo"}
|
||||
]
|
||||
)
|
||||
else:
|
||||
count = 1
|
||||
items.append({"path": rel_path, "label": label, "kind": kind, "file_count": count})
|
||||
return items
|
||||
@@ -120,6 +120,7 @@
|
||||
"scripts/skill_report_layout.py",
|
||||
"scripts/skill_report_metrics.py",
|
||||
"scripts/skill_report_model.py",
|
||||
"scripts/skill_report_sources.py",
|
||||
"scripts/skill_report_world_class.py",
|
||||
"scripts/skillops_opportunity.py",
|
||||
"scripts/summarize_user_signals.py",
|
||||
|
||||
@@ -108,6 +108,7 @@ def main() -> None:
|
||||
"scripts/skill_report_layout.py",
|
||||
"scripts/skill_report_metrics.py",
|
||||
"scripts/skill_report_model.py",
|
||||
"scripts/skill_report_sources.py",
|
||||
"scripts/skill_report_world_class.py",
|
||||
"scripts/world_class_preflight_layout.py",
|
||||
"scripts/world_class_evidence_contract.py",
|
||||
@@ -137,6 +138,7 @@ def main() -> None:
|
||||
assert "skill_report_layout.py" not in warning_text, payload["warnings"]
|
||||
assert "skill_report_metrics.py" not in warning_text, payload["warnings"]
|
||||
assert "skill_report_model.py" not in warning_text, payload["warnings"]
|
||||
assert "skill_report_sources.py" not in warning_text, payload["warnings"]
|
||||
assert "skill_report_world_class.py" not in warning_text, payload["warnings"]
|
||||
assert "world_class_preflight_layout.py" not in warning_text, payload["warnings"]
|
||||
assert "world_class_evidence_contract.py" not in warning_text, payload["warnings"]
|
||||
|
||||
Reference in New Issue
Block a user