9 Commits

Author SHA1 Message Date
yaojingang 9f793d59cf Fix package skill entrypoint surface 2026-06-21 16:34:13 +08:00
YAO 5fbed1d273 Merge pull request #5 from yaojingang/codex/operator-ux-v1
Add operator UX diagnostics
2026-06-20 20:52:35 +08:00
yaojingang 6ccb9c86ba Refresh operator UX evidence 2026-06-20 20:37:23 +08:00
yaojingang f37e78def3 Add operator UX diagnostics 2026-06-20 20:34:30 +08:00
YAO 00a0a1f0c6 Merge Python 3.11 local development docs
Merge PR #4, which documents Python 3.11 local development and adds a Makefile interpreter version check for test targets.
2026-06-19 15:19:48 +08:00
CooperSheroy ff7381948e docs: clarify Python 3.11 local development 2026-06-19 09:05:01 +05:30
YAO 21b243e0f5 Merge Chinese Skill OS 2.0 homepage update
Merge the Chinese README homepage update for Skill OS 2.0 positioning and usage documentation.
2026-06-18 15:20:00 +08:00
yaojingang a30bb845d9 Update Chinese homepage for Skill OS 2.0 2026-06-18 15:17:13 +08:00
YAO 715fc750e0 Merge Skill OS 2.0 comparison report
Merge the Skill OS 2.0 comparison preview and README homepage positioning updates.
2026-06-18 15:04:52 +08:00
94 changed files with 3653 additions and 1788 deletions
+3
View File
@@ -23,6 +23,7 @@ Use `make ci-test` as the default full verification command before calling a cha
Common focused checks:
- CLI changes: `python3 tests/verify_yao_cli.py`
- Operator UX changes: `python3 tests/verify_operator_ux.py`
- Skill overview report changes: `python3 tests/verify_skill_overview.py`
- Review Studio changes: `python3 tests/verify_review_studio.py`
- Trust or script inventory changes: `python3 tests/verify_trust_check.py`
@@ -119,6 +120,8 @@ Clean test-only scratch directories after verification with `find tests -maxdept
- `scripts/skill_report_model.py`, `scripts/skill_report_metrics.py`, `scripts/skill_report_charts.py`: skill overview data model, scoring, and inline SVG chart generation.
- `scripts/yao_cli_config.py`: CLI target maps, archetype heuristics, diagnosis copy, and side-effect-free shaping helpers.
- `scripts/yao_cli_parser.py`: CLI argparse command surface, flags, choices, and command handler binding.
- `scripts/yao_cli_operator_commands.py`: read-only operator diagnostics for active install status, localized homepage sync, and PR review reports. Keep install checks non-mutating, docs sync explicit, and PR review free of merge/write actions.
- `scripts/yao_cli_parser_operator.py`: argparse surface for operator UX commands. Keep command names stable and route all behavior into `yao_cli_operator_commands.py`.
- `scripts/yao_cli_telemetry.py`: opt-in metadata-only CLI run telemetry. Keep it free of prompt, argument, output, transcript, note, or message capture.
- `scripts/import_telemetry_events.py`: external telemetry importer. Validate the whole input before appending events, and keep raw prompt/output/transcript/message/note fields blocked.
- `scripts/emit_telemetry_event.py`: external client telemetry emitter. It may append one normalized metadata event to a local spool, but must never accept or write raw prompt, output, transcript, message, note, argument, or private content.
+11 -4
View File
@@ -1,8 +1,12 @@
PYTHON ?= python3
REQUIRED_PYTHON_VERSION ?= 3.11
LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill
ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill
.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
.PHONY: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
python-version-check:
@$(PYTHON) -c 'import sys; required=tuple(map(int, "$(REQUIRED_PYTHON_VERSION)".split("."))); actual=sys.version_info[:2]; raise SystemExit(0 if actual >= required else "Python {}.{}+ is required; {}.{} is active. Set PYTHON=/path/to/python{} or create a Python {} virtualenv.".format(*required, *actual, "$(REQUIRED_PYTHON_VERSION)", "$(REQUIRED_PYTHON_VERSION)"))'
eval:
$(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt
@@ -40,6 +44,9 @@ yao-cli-check:
yao-cli-world-class-check:
$(PYTHON) tests/verify_yao_cli_world_class.py
operator-ux-check:
$(PYTHON) tests/verify_operator_ux.py
skill-overview-check:
$(PYTHON) tests/verify_skill_overview.py
@@ -266,11 +273,11 @@ sync-local-install: package-check
sync-active-install: package-check
$(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)"
test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
test: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
ci-test:
ci-test: python-version-check
$(PYTHON) scripts/ci_test.py
clean:
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_operator_ux tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
find . -type d -name __pycache__ -prune -exec rm -rf {} +
+31 -1
View File
@@ -12,7 +12,7 @@
`yao-meta-skill` creates, evaluates, packages, and governs reusable agent skills. The 1.0 line focused on turning repeated workflows into installable, readable, cross-platform skill packages. The 2.0 line expands that factory into a Skill OS: a governed system for modeling a skill once, compiling it for multiple targets, testing its behavior, reviewing its release evidence, and tracking the next iteration.
[Quick Start](#quick-start) · [Skill OS 2.0](#skill-os-20-upgrade) · [1.0 vs 2.0](#from-10-to-20) · [Benchmark](#weighted-quality-benchmark) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
[Quick Start](#quick-start) · [Skill OS 2.0](#skill-os-20-upgrade) · [1.0 vs 2.0](#from-10-to-20) · [Operator UX](#operator-ux-commands) · [Benchmark](#weighted-quality-benchmark) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
## Skill OS 2.0 Upgrade
@@ -53,6 +53,20 @@ See the companion artifacts:
- **Keep a skill useful after release**: use metadata-only telemetry, adoption drift, feedback logs, SkillOps reports, and adaptive proposals to decide whether the next move should be documentation, an eval, a skill patch, or a governance update.
- **Compare with other meta-skill approaches**: keep Anthropic/OpenAI-style conversational creation and lean instruction writing where they fit, then use `yao-meta-skill` when the package needs evidence, portability, release gates, and repeatable maintenance.
## Operator UX Commands
These read-only helper commands turn common maintainer questions into repeatable diagnostics:
```bash
python3 scripts/yao.py install-status --expected-source .
python3 scripts/yao.py localized-doc-sync-check
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
```
- `install-status` explains whether the active skill is coming from `.codex/skills`, `.agents/skills`, or the disabled mirror, and flags duplicate active installs.
- `localized-doc-sync-check` verifies that the Chinese README carries the public homepage sections that were added to the English README.
- `pr-review-report` reads GitHub PR metadata, changed files, status checks, and suggested local commands without merging or mutating the PR.
## Capability Surface
It turns rough workflows, transcripts, prompts, notes, and runbooks into reusable skill packages with:
@@ -221,6 +235,22 @@ python3 scripts/yao.py evidence-consistency .
Development source: this repository is the source of truth for authoring and review.
Use Python 3.11 or newer for local development. GitHub Actions runs the test suite on Python 3.11, and the Makefile checks the active interpreter before running `make test` or `make ci-test`.
```bash
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --requirement requirements-ci.txt
make ci-test
```
If `python3` points to an older system interpreter, pass the interpreter explicitly:
```bash
make PYTHON=python3.11 ci-test
```
Disabled mirror: `~/.agents/skills.disabled/yao-meta-skill` is the local backup mirror for this source. Keeping the mirror outside `~/.agents/skills` prevents Codex from showing a duplicate `Yao Meta Skill` while this repository is also visible in the active workspace.
Sync the current source into the disabled mirror:
+99 -23
View File
@@ -2,7 +2,64 @@
`YAO = Yielding AI Outcomes`,中文可理解为:产出 AI 结果,交付真实成果。它强调的不是生成更多 prompt 文本,而是沉淀可复用的 AI 资产与可落地的实际结果。
`yao-meta-skill` 是一套轻量但严谨的系统,用来创建、评估、打包和治理可复用的 agent skill。
`yao-meta-skill` 用来创建、评估、打包和治理可复用的 agent skill。1.0 的重点是把重复工作流整理成可安装、可阅读、可跨平台的 skill 包;2.0 进一步升级为 Skill OS,把建模、跨端编译、输出评测、评审工作台、证据账本、包体验证、发布门禁和后续迭代串成一套完整流程。
[快速开始](#快速开始) · [Skill OS 2.0 升级](#skill-os-20-升级) · [从 1.0 到 2.0](#从-10-到-20) · [Operator UX 命令](#operator-ux-命令) · [加权质量评测](#加权质量评测) · [与其他元 Skill 的适用差异](#与其他元-skill-的适用差异)
## Skill OS 2.0 升级
Skill OS 2.0 保留 `yao-meta-skill` 原来的轻量入口,但把 skill 的生命周期说得更清楚。它不止生成 `SKILL.md`,还会围绕这个 skill 生成结构化契约、目标平台适配、评测证据、发布门禁和运营报告。
- **Skill IR(技能中间表示)**:用平台无关的结构记录意图、触发方式、输入输出、边界、参考资料和交付产物。
- **目标编译与适配器**:把同一份 skill 语义编译到 OpenAI、Claude、通用 agent skill、Agent Skills 兼容包和 VS Code 使用场景。
- **输出评测实验室**:覆盖触发评测、输出断言、执行证据、耗时与 token 证据、基准复现、盲评材料包、答案钥匙和评审裁决报告。
- **Review Studio 2.0(评审工作台)**:把意图、触发、输出评测、上下文成本、运行时检查、信任扫描、Skill Atlas、采用漂移、豁免、批注、发布证据、警告、阻塞项和修复动作放在同一个 HTML 页面。
- **证据与发布治理**:提供证据一致性、包体验证、安装模拟、运行时权限探测、世界级证据接收、证据账本、操作运行手册和公开宣传守卫。
- **SkillOps 闭环**:通过元数据级采用漂移、遥测 hook、自适应建议、日报/周报和组合级漂移信号,把发布后的反馈带回下一轮迭代。
当前发布口径:仓库已经适合进入测试版和外部试用,但更强的“世界级”公开宣传仍然受证据门禁约束。真实生产模型证据、真人盲评证据、原生权限执行和真实客户端遥测会继续作为独立证据任务推进,不会被包装成已经完成。
相关产物:
- [1.0 vs 2.0 可视化对比报告](../.previews/yao-meta-skill-2-comparison/index.html)
- [中文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2.png)
- [英文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2-en.png)
## 从 1.0 到 2.0
| 维度 | 1.0 重点 | 2.0 升级 |
| --- | --- | --- |
| 产品定位 | 创建、重构、评估和打包可复用 skill。 | 治理 skill 的完整生命周期:创建、编译、评测、评审、发布、遥测和迭代。 |
| 架构模型 | 以 `SKILL.md``agents/interface.yaml`、manifest 和报告文件为主。 | 引入 Skill IR、目标编译器、适配器、门禁契约、证据账本、发布锁和行动型评审页面。 |
| 跨端交付 | 主要覆盖 OpenAI、Claude 和通用包体。 | 扩展到 Agent Skills 兼容包和 VS Code 使用场景,并把兼容结果写入 registry 可读记录。 |
| 质量模型 | 触发、结构和报告式评审。 | 输出评测、基准复现、执行证据、失败披露、盲评材料包和证据一致性检查。 |
| 报告体验 | 概览 HTML 和首次评审页面。 | 双语 Skill Overview v2、Review Studio 2.0、评审批注、行动卡片、图表和审计型报告契约。 |
| 发布边界 | 能生成包体并做基础校验。 | 包体验证、安装模拟、运行时权限探测、发布锁、公开宣传守卫和操作运行手册。 |
| 运营闭环 | 更多依赖手动反馈和本地迭代。 | 采用漂移、元数据遥测、SkillOps 报告、自适应建议和组合级漂移检测。 |
## 2.0 使用场景
- **从重复工作创建新 skill**:从 workflow 笔记、prompt 集合、转录、runbook 或文档模式出发,生成精简入口、明确输入输出、参考资料、报告和最轻量的必要门禁。
- **把个人 skill 升级成团队资产**:补齐接口契约、manifest、目标适配器、信任检查、输出评测、评审豁免、发布说明和 Review Studio 证据,再交给多人复用。
- **准备测试版发布**:运行包体验证、安装模拟、兼容检查、运行时权限探测和证据一致性检查,把测试版就绪和更强公开声明分开处理。
- **发布后继续迭代**:用元数据级遥测、采用漂移、feedback log、SkillOps 报告和自适应建议判断下一步是补文档、补 eval、改 skill,还是调整治理规则。
- **与其他元 skill 搭配使用**:保留 Anthropic/OpenAI 式对话创建和精简写作方法的优势,在需要证据、可移植性、发布门禁和长期维护时用 `yao-meta-skill` 加固。
## Operator UX 命令
这组只读辅助命令把维护者最常见的判断变成可复验诊断:
```bash
python3 scripts/yao.py install-status --expected-source .
python3 scripts/yao.py localized-doc-sync-check
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
```
- `install-status` 会说明当前 skill 是从 `.codex/skills``.agents/skills` 还是 disabled mirror(禁用镜像)被发现,并提示是否存在重复激活。
- `localized-doc-sync-check` 会检查中文 README 是否同步包含英文 README 首页新增的公开说明模块。
- `pr-review-report` 会只读获取 GitHub PR 元数据、变更文件、状态检查和建议本地命令,不会合并或修改 PR。
## 能力面
它把粗糙的 workflow、transcript、prompt、notes 和 runbook 转成可复用的 skill 包,并具备:
@@ -12,35 +69,53 @@
- 深度起草前先做一轮更有人味的意图对话,并通过 intent confidence gate 判断理解是否足够清楚;如果不够清楚,会继续补 1 到 2 个高杠杆问题
- 深度起草前会静默执行 GitHub benchmark scan 和 reference synthesis,优先学习高质量公开项目与世界级模式;只有遇到真实冲突或不确定性时才显式抬给用户
- 会主动询问用户是否有希望借鉴的参考对象,只学习其中的模式抽象、结构和标准,不复制原文或私密内容
- 新建 skill 时自动生成一份极简白底 HTML 可视化说明
- 新建 skill 时自动生成一份默认中文、可切换英文的 HTML 可视化说明报告
- 提供 Review Studio 2.0,把意图、触发、输出评测、上下文、运行时、信任、采用漂移、豁免、批注、发布证据和修复动作汇总到一个页面
- 提供 Skill OS 2.0 审计,把世界级要求拆成本地证据、人类证据缺口和外部证据缺口
- 提供证据计划、证据账本、证据接收契约、提交审查队列、操作运行手册和公开宣传守卫,避免把计划中的工作写成已经完成
- 提供基准复现 manifest、证据一致性检查、输出评测实验室、盲评包和评审裁决报告
- 提供运行时权限探测、Python 兼容性门禁、包体验证和安装模拟
- 提供 prompt quality profile,把需求模型、RTF 映射、复杂度和提示词质量检查沉淀成 reviewer 可见证据,而不是塞进 `SKILL.md`
- 提供 artifact design profile,约束报告、教程、仪表盘、截图和评审页的视觉与质量标准
- 提供系统思考模型,记录边界、反馈环、漂移风险、复发失败模式和高杠杆改进点
- 首次建包后会自动给出 3 个最有价值的下一步迭代方向
- 提供一个紧凑的 HTML review viewer,方便第一次人工理解和评审
- 提供一个轻量 feedback log,不必每次都走完整 promotion 流程
- 提供本地优先、只记录元数据的 adoption drift 报告、CLI 运行捕获、外部客户端事件 hook、hook recipe 和 JSONL 导入
- 提供显式来源的 adaptive proposal loop,从脱敏重复偏好里生成需要人工批准的改进建议
- 提供 SkillOps 机会评分、决策策略、日报、周报和组合级漂移信号
- 提供一个 with-skill vs baseline 的对比报告,便于快速看增量收益
- 提供一个更像对话发现流程的 archetype-aware quickstart,引导新 skill 落到 scaffold、production、library 或 governed 的合适形态
- 中性的源元数据以及面向不同客户端适配层
- Skill IR 作为平台无关语义契约,并提供编译报告和客户端适配层
- registry audit 元数据,包含 package version、owner、license、checksum 和 compatibility matrix
- 内建的治理、晋升和 portability 检查
## 架构图
Hero 版可以压缩成一条主线:把零散输入变成一个可治理、可复用的 skill 包。
Hero 版可以压缩成一条主线:Skill OS 2.0 把零散输入变成一个可治理、可评测、可发布、可持续迭代的 skill 包。
```mermaid
flowchart LR
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["路由<br/>SKILL.md"]
B --> C["设计<br/>方法 + 质量门"]
C --> D["执行<br/>create / validate / eval / promote"]
D --> E["产出<br/>skill 包 + 报告 + 适配层"]
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["意图建模<br/>任务 / 输出 / 排除项 / 标准"]
B --> C["Skill IR<br/>触发 / 契约 / 资源 / 证据"]
C --> D["Skill 包<br/>SKILL.md / references / scripts / reports"]
C --> E["目标编译<br/>OpenAI / Claude / generic / Agent Skills / VS Code"]
D --> F["评测实验<br/>触发 / 输出 / 基准 / 运行时"]
E --> F
F --> G["Review Studio<br/>门禁 / 警告 / 动作 / 豁免"]
G --> H["发布边界<br/>包体验证 / 安装模拟 / 宣传守卫"]
H --> I["SkillOps 闭环<br/>反馈 / 采用漂移 / 下一轮迭代"]
I --> B
```
10 秒理解这张图:
- **输入**:从零散 workflow、prompt、文档和笔记出发。
- **路由**:先用精简的 `SKILL.md` 定义边界和触发
- **设计**:选择合适的 archetype、gates 和资源拆分方式
- **执行**:通过统一 CLI 完成创建、校验、优化和晋升
- **产出**:最终得到 skill 包,以及评测、治理和 portability 证据。
- **输入**:从零散 workflow、prompt、文档和笔记出发,不要求一开始就有完整规格
- **意图建模**:先把任务、输出物、排除项、约束和质量标准说清楚,再生成文件
- **Skill IR**:把语义契约和具体平台格式拆开,避免被某一个客户端锁死
- **打包与编译**:从同一份源模型生成精简 skill 包和目标平台适配产物
- **评测与评审**:把触发行为、输出质量、运行时检查和信任信号变成可复查证据。
- **发布与运营**:只在当前证据边界内发布,再把采用漂移和评审反馈带回下一轮迭代。
## 加权质量评测
@@ -60,7 +135,7 @@ flowchart LR
| 2 | Anthropic Skill Creator | 67.5 | 方法论和迭代闭环强,但本地执行可靠性和治理覆盖较弱。 |
| 3 | OpenAI Skill Creator | 50.5 | 更适合作为精简 skill 写作方法论教材,而不是完整工程系统。 |
## 适用场景
## 与其他元 Skill 的适用差异
- 如果你要的是**团队复用、显式边界、质量门、治理、可移植性和长期维护**,更适合 `Yao Meta Skill`
- 如果你要的是**对话优先的创作循环和人工引导式迭代**,更适合 `Anthropic Skill Creator`
@@ -73,30 +148,31 @@ flowchart LR
2. 先做一轮简短但更有人味的意图对话,把真实任务、输出物、边界、约束和你在意的质量标准说清楚。
3. 先让 `quickstart` 澄清意图,再静默跑 benchmark scan 和 reference synthesis;只有当意图还不清楚,或者设计路线真的冲突时,才会显式继续追问或让你拍板。
4. 使用 archetype-aware 的 `quickstart` 或完整作者流,在 scaffold、production、library 或 governed 模式下生成或改进 skill 包。
5. 新建 skill 后,会默认附带 `reports/intent-dialogue.md``reports/intent-confidence.md``reports/reference-synthesis.md``reports/artifact-design-profile.md``reports/prompt-quality-profile.md``reports/skill-overview.html``reports/review-viewer.html``reports/iteration-directions.md`;后续还可以通过 feedback log 和 baseline compare 快速收集意见、查看增量收益,而不必每次都走完整 promotion 流程
5. 新建 skill 后,先看 `reports/skill-interpretation.html` 理解双语解释报告,再打开 `reports/skill-overview.html` 查看概述、指标、原理、边界、质量、风险、资产和路线,最后用 `reports/review-studio.html` 检查发布阻塞、权限批准和证据路径
## 当前结果
- 当前 `make test` 可通过
- 当前 `make test` 和 GitHub Actions `test` 可通过
- 当前回归集下 trigger eval 为 `0` 误触发、`0` 漏触发
- train / dev / holdout 三层评测均通过
- 中文真实表达已经纳入触发评测,覆盖“做一个 skill”“沉淀成可复用能力”“优化已有 skill”“补 trigger 评测”等常见说法
- `openai``claude``generic` 三个目标的 packaging contract 校验通过
- registry 记录的目标平台从 OpenAI、Claude、Generic 扩展到 Agent Skills 和 VS Code 相关适配
- Review Studio 当前汇总 16 个门禁,包体验证、安装模拟、证据一致性和发布声明边界已经进入报告链路
## 当前优势
最新加权评测中,Yao 的总分是 `91.5/100`最强的部分集中在团队级 skill 资产真正需要的能力上:
最新加权评测中,Yao 的总分是 `91.5/100`2.0 的强项集中在团队级 skill 资产真正需要的能力上:
- **方法论深度 `9.5`**:已经形成正式的 skill engineering doctrine,覆盖 archetype、gate selection、non-skill decision、governance 和 resource boundary。
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history 和 promotion gate。
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decisionregression history。
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、Skill IR、目标编译、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history、output eval 和 promotion gate。
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decisionregression history、release lock 和 evidence ledger
- **本地可执行可靠性 `9.5`**:可以通过 `make test``make ci-test` 和统一 CLI 在本地复验。
- **可移植 / 分发能力 `9.0`**:源码保持中性,adapter、degradation rule、packaging contract 和 portability score 负责保留跨环境可复用语义。
- **上下文纪律 / 精简度 `8.0`**:入口仍保持在预算内,但因为系统承载了更多报告、案例、benchmark 和证据资产,这一项被持续作为约束跟踪。
- **上手 / 评审体验 `6.5`**quickstart、HTML overview、side-by-side review viewer 和 feedback log 已经改善首次体验,但仍是下一阶段最值得优化的 UX 维度。
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化,同时继续降低首次创建和人工评审的摩擦
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化;测试版可以开放试用,但公开宣传会继续受证据账本约束
## 为什么是 Yao
@@ -107,7 +183,7 @@ flowchart LR
## 它能做什么
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包的长期能力包。
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包、可审计、可发布、可持续迭代的长期能力包。
它的设计逻辑很简单:
+2 -2
View File
@@ -1,6 +1,6 @@
{
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-21",
"package_count": 1,
"packages": [
{
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
}
+4 -4
View File
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -48,10 +48,10 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-21"
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17T08:58:54Z",
"generated_at": "2026-06-21",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
+1 -1
View File
@@ -1,6 +1,6 @@
# Adaptation Proposals
- Generated at: `2026-06-17T08:58:54Z`
- Generated at: `2026-06-21`
- Pattern report: `reports/user_patterns.json`
- Proposal only: `true`
- Writes repository files: `false`
+14 -14
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-17T08:58:53Z",
"generated_at": "2026-06-20T12:35:58Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -25,14 +25,14 @@
},
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -41,7 +41,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -53,31 +53,31 @@
{
"skill": "yao-meta-skill",
"events": 1,
"adoption_events": 0,
"accepted": 0,
"adoption_events": 1,
"accepted": 1,
"edited": 0,
"rejected": 0,
"missed": 0,
"adoption_rate": 0
"adoption_rate": 100.0
}
],
"next_iteration_candidates": [],
"recent_events": [
{
"command": "unknown",
"event": "review_event",
"event": "skill_activation",
"skill": "yao-meta-skill",
"source": "manual",
"version": "1.1.0",
"activation_type": "manual",
"outcome": "reviewed",
"activation_type": "explicit",
"outcome": "accepted",
"failure_type": "none",
"timestamp": "2026-06-13T12:00:00Z"
"timestamp": "2026-06-13T10:00:00Z"
}
],
"failures": [],
"artifacts": {
"events_jsonl": "reports/telemetry_events.jsonl",
"events_jsonl": "tests/tmp_review_studio/telemetry_events.jsonl",
"json": "reports/adoption_drift_report.json",
"markdown": "reports/adoption_drift_report.md"
}
+5 -5
View File
@@ -5,9 +5,9 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
## Summary
- Events: `1`
- Adoption samples: `0`
- Activation events: `0`
- Adoption rate: `0`
- Adoption samples: `1`
- Activation events: `1`
- Adoption rate: `100.0`
- Missed trigger signals: `0`
- Bad output signals: `0`
- Script error signals: `0`
@@ -25,7 +25,7 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
| Skill | Events | Adoption Samples | Accepted | Edited | Rejected | Missed | Adoption Rate |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| `yao-meta-skill` | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| `yao-meta-skill` | 1 | 1 | 1 | 0 | 0 | 0 | 100.0 |
## Next Iteration Candidates
@@ -33,4 +33,4 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
## Recent Metadata Events
- `2026-06-13T12:00:00Z` `yao-meta-skill` event=`review_event` source=`manual` command=`unknown` activation=`manual` outcome=`reviewed` failure=`none`
- `2026-06-13T10:00:00Z` `yao-meta-skill` event=`skill_activation` source=`manual` command=`unknown` activation=`explicit` outcome=`accepted` failure=`none`
+7 -7
View File
@@ -1,17 +1,17 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"skill_dir": ".",
"summary": {
"python_file_count": 229,
"script_file_count": 153,
"test_file_count": 76,
"internal_module_count": 69,
"python_file_count": 232,
"script_file_count": 155,
"test_file_count": 77,
"internal_module_count": 71,
"cli_script_count": 86,
"command_handler_count": 68,
"command_handler_count": 71,
"entrypoint_command_handler_count": 18,
"command_module_count": 6,
"command_module_count": 7,
"warn_line_threshold": 900,
"watch_line_threshold": 720,
"early_watch_line_threshold": 600,
+7 -7
View File
@@ -1,18 +1,18 @@
# Architecture Maintainability
Generated at: `2026-06-17`
Generated at: `2026-06-13`
## Summary
- decision: `pass`
- python files: `229`
- scripts: `153`
- tests: `76`
- internal modules: `69`
- python files: `232`
- scripts: `155`
- tests: `77`
- internal modules: `71`
- CLI scripts: `86`
- Yao CLI command handlers: `68`
- Yao CLI command handlers: `71`
- entrypoint command handlers: `18`
- command modules: `6`
- command modules: `7`
- largest file lines: `719`
- early watch threshold lines: `600`
- early watchlist: `6`
+1 -1
View File
@@ -1,5 +1,5 @@
{
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-operator-ux-worktree",
"design_system": "metric editorial",
"primary_artifact": {
"key": "dashboard",
+1 -1
View File
@@ -1,6 +1,6 @@
# Artifact Design Profile
Skill: `yao-meta-skill`
Skill: `yao-meta-skill-operator-ux-worktree`
Design system: `metric editorial`
## Primary Artifact Direction
+41 -59
View File
@@ -1,42 +1,24 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"git_status": {
"available": true,
"dirty": true,
"changed_file_count": 29,
"changed_file_count": 3,
"generated_dirty": true,
"generated_changed_file_count": 29,
"generated_changed_file_count": 3,
"source_dirty": false,
"source_changed_file_count": 0,
"sample": [
" M registry/index.json",
" M registry/packages/yao-meta-skill.json",
" M reports/adaptation_proposals.json",
" M reports/adaptation_proposals.md",
" M reports/adoption_drift_report.json",
" M reports/architecture_maintainability.json",
" M reports/architecture_maintainability.md",
" M reports/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
],
"source_sample": [],
"generated_sample": [
" M registry/index.json",
" M registry/packages/yao-meta-skill.json",
" M reports/adaptation_proposals.json",
" M reports/adaptation_proposals.md",
" M reports/adoption_drift_report.json",
" M reports/architecture_maintainability.json",
" M reports/architecture_maintainability.md",
" M reports/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
@@ -57,9 +39,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -74,19 +56,19 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"working_tree_dirty": true,
"changed_file_count": 29,
"changed_file_count": 3,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 3
},
"beta_test_release": {
"ready": true,
@@ -123,16 +105,16 @@
"blockers": [
"human blind-review adjudication is incomplete",
"world-class evidence is not accepted yet (3 open gaps, 4 ledger pending)",
"world-class source checks are not all accepted (11/19 pass, 8 blocked)"
"world-class source checks are not all accepted (12/19 pass, 7 blocked)"
],
"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": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"status_scope": "generation-time status before this report is written",
"source_changed_file_count": 0,
"generated_changed_file_count": 29,
"generated_changed_file_count": 3,
"reason": "only generated evidence artifacts were dirty at generation time"
},
"evidence_bundle": {
@@ -141,7 +123,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0"
"sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -249,106 +231,106 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 137787,
"sha256": "bbff1f1bee0ce6f7014efcd4622ba11c70aacfc81f2e69e225411df7004dd616"
"bytes": 139090,
"sha256": "2ef43f009be68b1dd1a994b841d69b89723cf0b6d7725dc6ad86670d14235135"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
"bytes": 30127,
"sha256": "d31dc03c74f17242f4163b8cb3f23120fe3d0712edd08fa183cb94f8120d491c"
"bytes": 30351,
"sha256": "7f3fc8e785bf7007755c0b7f277967fd478ea17a5800ab14b9c23de395576cda"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3137,
"sha256": "1feb80c7cdc833a655cc0e44150f39f9f6d0633465abaa1ae29ebe7cb0649065"
"sha256": "03cb951dc8ba71843602bffa1148d7a40095a7e109a024193422aaa8a94ba4c7"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "7aa6c25e8154d246ace49f7ab9159fa85f96d1d4ebb7e2bb03c7b223260a908b"
"bytes": 19525,
"sha256": "e2ad726ce0486be0f57d88e518ef4d265479a04756419c6f8df50cf7d05b1f14"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8758,
"sha256": "c1f1122264b868c4998482c580ef94333575c6ff7c5c9c297188b225f69a131d"
"bytes": 8793,
"sha256": "6cf79201727352e5f92f4e1fa1697a069ab325d526065f5316ee939e84475ef5"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 13824,
"sha256": "6362e79a8cfd3ff54b1a7ca32f37de8ed1cda500b953fdf1074928c6d2d62379"
"sha256": "1079221b5ac72e19e3e7a0f4970f133d828336f34bac82abf3fb867d18834cfa"
},
{
"label": "world_class_evidence_plan",
"path": "reports/world_class_evidence_plan.json",
"exists": true,
"bytes": 23314,
"sha256": "8eb5e1fbaa7580f107fd9920d13a13b239edb72d50b6959fc8f6dd43150f07d7"
"sha256": "374ee899a0ba5b84a95337de993439d78e5708be4fdf40dee4292766d0d2bf99"
},
{
"label": "world_class_evidence_ledger",
"path": "reports/world_class_evidence_ledger.json",
"exists": true,
"bytes": 26277,
"sha256": "6038b6cd6e0667f25cfd69a5e40afa314d9efc3a93753a2a3a0509ae9b516a15"
"bytes": 26274,
"sha256": "565ae80a82286e912df134c88a269566ecf635f39e55618df4ed4eac69d7c7ea"
},
{
"label": "world_class_evidence_intake",
"path": "reports/world_class_evidence_intake.json",
"exists": true,
"bytes": 20922,
"sha256": "aa262da0ecee7232974ce061a51c8966c310de0b0be9f91eb82bb28bf1c7c0a8"
"sha256": "e36a7e753f4176e7ddd7a74fcc5b064769191baf73b5faa58752f80457ec58ff"
},
{
"label": "world_class_evidence_preflight",
"path": "reports/world_class_evidence_preflight.json",
"exists": true,
"bytes": 94341,
"sha256": "95cb56581224aab06be84d0b338d6ba9aa4aef0b1ebd480801f1e2226b873b0d"
"bytes": 90852,
"sha256": "9e4f0bc489ca958b5a9e2854f17b847de8ee1f081de40e8c8b86cec138afe633"
},
{
"label": "world_class_submission_review",
"path": "reports/world_class_submission_review.json",
"exists": true,
"bytes": 17295,
"sha256": "12fbb84926294c4bd05af526fcbe0983db26e449d2c305006094baf27332a0ba"
"bytes": 17292,
"sha256": "3c944b4bd27f61483e8e02aa3f3b6c8cdb4aba8dc986241e8cbe60ba64489123"
},
{
"label": "world_class_operator_runbook",
"path": "reports/world_class_operator_runbook.json",
"exists": true,
"bytes": 87257,
"sha256": "f321dc118ee931a1e1510559e5e64774168a58b0446ae62d232009eb42e3b384"
"bytes": 83712,
"sha256": "d8678010fcfd5fb8f28d95925478496749f5498ce13a171c80f79372b874351d"
},
{
"label": "world_class_operator_runbook_markdown",
"path": "reports/world_class_operator_runbook.md",
"exists": true,
"bytes": 25549,
"sha256": "858ee11bbacb143f648e9c00735bc248a0b9f3c9303dc9e0ad5c0a65d9d6e07f"
"bytes": 25504,
"sha256": "fe3a73bf2eb9a018ec03881c95d23d30abcbf8bc36cbb264f68daa08238d8e5f"
},
{
"label": "world_class_operator_runbook_html",
"path": "reports/world_class_operator_runbook.html",
"exists": true,
"bytes": 34702,
"sha256": "31b24658c59ee1dee25aec378e72033b042af88dfdf40c325d361d0c9bec2ca7"
"bytes": 34651,
"sha256": "022594013b2469a0e5776e3f5f6a99fa069917c5ba5cb90256b7841b1f5fd1e3"
},
{
"label": "world_class_claim_guard",
"path": "reports/world_class_claim_guard.json",
"exists": true,
"bytes": 18596,
"sha256": "abe7f7d60c0025e140373fadaefbed4063f285c140c74b9c7cfb464e354bb526"
"bytes": 18759,
"sha256": "556700f05a65bda9b55d829c109d1aec54ae5b4da80ffbefe1196319df86f117"
}
],
"missing_artifacts": [],
+25 -25
View File
@@ -1,11 +1,11 @@
# Benchmark Reproducibility
Generated at: `2026-06-17`
Commit: `e79050ed12d057811d7d13ab7d8bcc5a06af76d4`
Generated at: `2026-06-21`
Commit: `139d0fd15ce995757d6d75fb45fb417d0b1b4e7d`
Working tree dirty at generation: `true`
Source tree dirty at generation: `false`
Generated evidence dirty at generation: `true`
Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
Evidence bundle SHA256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad`
## Summary
@@ -14,23 +14,23 @@ Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c7
- methodology complete: `true`
- required artifacts: `25`
- missing artifacts: `0`
- source contract sha256: `5a99ef3133b0`
- archive sha256: `7db44f059844`
- source contract sha256: `eddeea80a657`
- archive sha256: `c56a8519244c`
- output cases: `5`
- disclosed failure cases: `3`
- reproduction commands: `23`
- provider evidence complete: `true`
- human review complete: `false`
- world-class ready: `false`
- world-class source checks: `11` pass / `19` total; `8` blocked
- world-class source checks: `12` pass / `19` total; `7` blocked
- beta test ready: `true`
- beta test blockers: `0`
- beta deferred evidence: `4`
- public claim ready: `false`
- public claim blockers: `3`
- changed files at generation: `29`
- changed files at generation: `3`
- source changed files at generation: `0`
- generated changed files at generation: `29`
- generated changed files at generation: `3`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit and dirty samples are generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
@@ -62,7 +62,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
| --- |
| human blind-review adjudication is incomplete |
| world-class evidence is not accepted yet (3 open gaps, 4 ledger pending) |
| world-class source checks are not all accepted (11/19 pass, 8 blocked) |
| world-class source checks are not all accepted (12/19 pass, 7 blocked) |
## Release Lock
@@ -74,7 +74,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
- algorithm: `sha256(path,label,exists,artifact_sha256)`
- artifacts: `25` / `25`
- sha256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
- sha256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad`
## Methodology Sections
@@ -101,21 +101,21 @@ This report proves local benchmark reproducibility only. It keeps external provi
| review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `a649547a7d3d` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
| trust_report | `reports/security_trust_report.json` | present | `bbff1f1bee0c` |
| python_compatibility | `reports/python_compatibility.json` | present | `d31dc03c74f1` |
| registry_audit | `reports/registry_audit.json` | present | `1feb80c7cdc8` |
| package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` |
| install_simulation | `reports/install_simulation.json` | present | `c1f1122264b8` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `6362e79a8cfd` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `8eb5e1fbaa75` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `6038b6cd6e06` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `aa262da0ecee` |
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `95cb56581224` |
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `12fbb8492629` |
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `f321dc118ee9` |
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `858ee11bbacb` |
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `31b24658c59e` |
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `abe7f7d60c00` |
| trust_report | `reports/security_trust_report.json` | present | `2ef43f009be6` |
| python_compatibility | `reports/python_compatibility.json` | present | `7f3fc8e785bf` |
| registry_audit | `reports/registry_audit.json` | present | `03cb951dc8ba` |
| package_verification | `reports/package_verification.json` | present | `e2ad726ce048` |
| install_simulation | `reports/install_simulation.json` | present | `6cf792017273` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `1079221b5ac7` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `374ee899a0ba` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `565ae80a8228` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `e36a7e753f41` |
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `9e4f0bc489ca` |
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `3c944b4bd27f` |
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `d8678010fcfd` |
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `fe3a73bf2eb9` |
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `022594013b24` |
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `556700f05a65` |
## Reproduction Commands
+126 -96
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"target_count": 5,
@@ -291,10 +291,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
@@ -354,7 +356,7 @@
],
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
}
@@ -461,7 +463,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -535,13 +537,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -554,6 +557,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -584,8 +588,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -606,8 +610,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -627,7 +631,7 @@
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -638,7 +642,7 @@
},
"scripts": {
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -719,7 +723,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -793,13 +797,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -812,6 +817,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -842,8 +848,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -862,8 +868,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -883,7 +889,7 @@
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -894,7 +900,7 @@
},
"scripts": {
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -1242,10 +1248,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
@@ -1305,7 +1313,7 @@
],
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
}
@@ -1412,7 +1420,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -1486,13 +1494,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -1505,6 +1514,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -1535,8 +1545,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -1557,8 +1567,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -1578,7 +1588,7 @@
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -1589,7 +1599,7 @@
},
"scripts": {
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -1670,7 +1680,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -1744,13 +1754,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -1763,6 +1774,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -1793,8 +1805,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -1813,8 +1825,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -1834,7 +1846,7 @@
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -1845,7 +1857,7 @@
},
"scripts": {
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -2193,10 +2205,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
@@ -2256,7 +2270,7 @@
],
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
}
@@ -2363,7 +2377,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -2437,13 +2451,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -2456,6 +2471,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -2486,8 +2502,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -2508,8 +2524,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -2529,7 +2545,7 @@
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -2539,7 +2555,7 @@
},
"scripts": {
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -2614,7 +2630,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -2688,13 +2704,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -2707,6 +2724,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -2737,8 +2755,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -2757,8 +2775,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -2778,7 +2796,7 @@
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -2788,7 +2806,7 @@
},
"scripts": {
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -3128,10 +3146,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
@@ -3191,7 +3211,7 @@
],
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
}
@@ -3298,7 +3318,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -3372,13 +3392,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -3391,6 +3412,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -3421,8 +3443,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -3443,8 +3465,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -3464,7 +3486,7 @@
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -3475,7 +3497,7 @@
},
"scripts": {
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -3549,7 +3571,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -3623,13 +3645,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -3642,6 +3665,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -3672,8 +3696,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -3692,8 +3716,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -3713,7 +3737,7 @@
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -3724,7 +3748,7 @@
},
"scripts": {
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -4063,10 +4087,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
@@ -4126,7 +4152,7 @@
],
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
}
@@ -4233,7 +4259,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -4307,13 +4333,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -4326,6 +4353,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -4356,8 +4384,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -4378,8 +4406,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -4399,7 +4427,7 @@
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -4410,7 +4438,7 @@
},
"scripts": {
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
@@ -4488,7 +4516,7 @@
},
"file_write": {
"required": true,
"script_count": 73,
"script_count": 74,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -4562,13 +4590,14 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"review_reason": "Scripts write local files or generated artifacts."
},
"subprocess": {
"required": true,
"script_count": 12,
"script_count": 13,
"scripts": [
"scripts/apply_adaptation.py",
"scripts/benchmark_release_lock.py",
@@ -4581,6 +4610,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"review_reason": "Scripts spawn local commands and need operator review."
@@ -4611,8 +4641,8 @@
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
"file_write_script_count": 73,
"subprocess_script_count": 12,
"file_write_script_count": 74,
"subprocess_script_count": 13,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
}
@@ -4631,8 +4661,8 @@
],
"capability_counts": {
"network": 3,
"file_write": 73,
"subprocess": 12,
"file_write": 74,
"subprocess": 13,
"interactive": 0
},
"evidence": "reports/security_trust_report.json",
@@ -4652,7 +4682,7 @@
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
"counts": {
"references": 35,
"scripts": 153,
"scripts": 155,
"assets": 6,
"reports": 43
},
@@ -4663,7 +4693,7 @@
},
"scripts": {
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
"script_count": 153,
"script_count": 155,
"help_smoke_failed_count": 0
},
"permissions": {
+10 -10
View File
@@ -6,16 +6,16 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 805,
"other_text_tokens": 1156781,
"other_text_tokens": 1169049,
"estimated_initial_load_tokens": 998,
"estimated_total_text_tokens": 1157586,
"deferred_resource_tokens": 525864,
"estimated_total_text_tokens": 1169854,
"deferred_resource_tokens": 530871,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
},
{
"path": "references",
@@ -36,8 +36,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
}
],
"deferred_resource_governance": {
@@ -59,14 +59,14 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153,
"estimated_tokens": 469568,
"file_count": 155,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
],
"summary": "Large deferred resources are indexed and backed by evidence."
},
"relevant_file_count": 712,
"relevant_file_count": 571,
"unused_resource_dirs": [],
"quality_signal_points": 140,
"quality_density": 140.3
+1 -1
View File
@@ -2,7 +2,7 @@
| Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status |
| --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- |
| root | `.` | `production` | 1000 | 998 | 805 | 525864 | `governed` | scripts:464561 | 140.3 | - | ok |
| root | `.` | `production` | 1000 | 998 | 805 | 530871 | `governed` | scripts:469568 | 140.3 | - | ok |
| complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok |
| governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok |
+6 -6
View File
@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-31",
"generated_at": "2026-06-21",
"targets": [
{
"label": "root",
@@ -8,12 +8,12 @@
"budget_limit": 1000,
"initial_tokens": 998,
"skill_body_tokens": 805,
"deferred_resource_tokens": 525864,
"deferred_resource_tokens": 530871,
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
}
],
"deferred_resource_governance": {
@@ -35,8 +35,8 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153,
"estimated_tokens": 469568,
"file_count": 155,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
],
+117 -119
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"check_count": 39,
@@ -324,12 +324,12 @@
"status": "pass",
"expected": {
"status": "pass",
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
"detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3",
"evidence": "reports/context_budget.json"
},
"actual": {
"status": "pass",
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
"detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3",
"evidence": "reports/context_budget.json"
},
"paths": [
@@ -357,7 +357,7 @@
"actual": {
"available": true,
"clean": false,
"changed_file_count": 27
"changed_file_count": 21
},
"paths": [
"reports/benchmark_reproducibility.json"
@@ -398,8 +398,8 @@
"key": "overview-benchmark-commit",
"label": "overview embeds the benchmark commit",
"status": "pass",
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-overview.json"
@@ -414,12 +414,12 @@
"release_lock_ready": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
@@ -430,12 +430,12 @@
"release_lock_ready": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
@@ -454,13 +454,13 @@
"status": "pass",
"expected": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -468,13 +468,13 @@
},
"actual": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -497,8 +497,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -509,8 +509,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -530,7 +530,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"actual": {
"ready": false,
@@ -538,7 +538,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"paths": [
"reports/world_class_evidence_ledger.json",
@@ -550,8 +550,8 @@
"key": "interpretation-benchmark-commit",
"label": "interpretation embeds the benchmark commit",
"status": "pass",
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-interpretation.json"
@@ -566,12 +566,12 @@
"release_lock_ready": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
@@ -582,12 +582,12 @@
"release_lock_ready": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
@@ -606,13 +606,13 @@
"status": "pass",
"expected": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -620,13 +620,13 @@
},
"actual": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -649,8 +649,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -661,8 +661,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -682,7 +682,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"actual": {
"ready": false,
@@ -690,7 +690,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"paths": [
"reports/world_class_evidence_ledger.json",
@@ -1489,7 +1489,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -1546,8 +1546,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -1561,7 +1560,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -1618,8 +1617,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -1670,7 +1668,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -1682,10 +1680,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"file_count": 456,
"file_count": 375,
"folder_count": 4,
"distribution": [
{
@@ -1710,7 +1708,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -1718,7 +1716,7 @@
},
{
"label": "reports",
"value": 235
"value": 152
}
]
},
@@ -1758,7 +1756,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -1770,10 +1768,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"file_count": 456,
"file_count": 375,
"folder_count": 4,
"distribution": [
{
@@ -1798,7 +1796,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -1806,7 +1804,7 @@
},
{
"label": "reports",
"value": 235
"value": 152
}
]
},
@@ -1969,15 +1967,15 @@
"expected": {
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"public_claim_ready": false
},
"actual": {
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"public_claim_ready": false
},
"paths": [
@@ -2031,8 +2029,8 @@
"expected": {
"pending_count": 4,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"preflight_counts_as_evidence": false,
"credential_value_exposed": false
@@ -2040,8 +2038,8 @@
"actual": {
"pending_count": 4,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"preflight_counts_as_evidence": false,
"credential_value_exposed": false
@@ -2218,7 +2216,7 @@
"summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2251,8 +2249,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2376,15 +2374,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2394,7 +2392,7 @@
"operator_runbook_summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2427,8 +2425,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2552,15 +2550,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2674,15 +2672,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2693,7 +2691,7 @@
"summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2726,8 +2724,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2746,7 +2744,7 @@
"operator_runbook_summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2779,8 +2777,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2904,15 +2902,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3026,15 +3024,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3148,15 +3146,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3256,8 +3254,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"plan_keys": [
"human-adjudication",
"native-client-telemetry",
@@ -3414,8 +3412,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"plan_keys": [
"human-adjudication",
"native-client-telemetry",
@@ -3579,16 +3577,16 @@
"score `91`",
"`16` gates",
"`3` warnings",
"`67` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `153` scripts",
"`689` zip entries",
"archive with `689` entries",
"`69` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `155` scripts",
"`580` zip entries",
"archive with `580` entries",
"`12` installer permission checks enforced",
"`0` permission failures",
"`25` required artifacts",
"`23` reproduction commands",
"initial load `998/1000`",
"target count is `82`"
"target count is `83`"
],
"actual": "all present",
"paths": [
+1 -1
View File
@@ -1,6 +1,6 @@
# Evidence Consistency
Generated at: `2026-06-17`
Generated at: `2026-06-21`
## Summary
+16 -10
View File
@@ -1,14 +1,15 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-21",
"skill_dir": ".",
"package_dir": "tests/tmp_review_studio/dist",
"install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill",
"installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill",
"package_dir": "dist",
"install_root": "dist/install-simulation/simulate-yao-meta-skill",
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -26,13 +27,18 @@
{
"id": "archive-present",
"status": "pass",
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
"detail": "Package archive exists: dist/yao-meta-skill.zip"
},
{
"id": "archive-safe-paths",
"status": "pass",
"detail": "Archive has no absolute or parent-traversal entries"
},
{
"id": "single-skill-entrypoint",
"status": "pass",
"detail": "Installed package exposes only the root SKILL.md entrypoint"
},
{
"id": "single-top-level",
"status": "pass",
@@ -272,9 +278,9 @@
"failures": [],
"warnings": [],
"artifacts": {
"archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip",
"package_manifest": "tests/tmp_review_studio/dist/manifest.json",
"json": "tests/tmp_review_studio/install_simulation.json",
"markdown": "tests/tmp_review_studio/install_simulation.md"
"archive": "dist/yao-meta-skill.zip",
"package_manifest": "dist/manifest.json",
"json": "reports/install_simulation.json",
"markdown": "reports/install_simulation.md"
}
}
+4 -2
View File
@@ -1,8 +1,9 @@
# Install Simulation
- OK: `True`
- Package directory: `tests/tmp_review_studio/dist`
- Package directory: `dist`
- Archive extracted: `True`
- Nested SKILL.md entries: `0`
- Entrypoint loaded: `True`
- Manifest loaded: `True`
- Interface loaded: `True`
@@ -16,8 +17,9 @@
| Check | Status | Detail |
| --- | --- | --- |
| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip |
| `archive-present` | `pass` | Package archive exists: dist/yao-meta-skill.zip |
| `archive-safe-paths` | `pass` | Archive has no absolute or parent-traversal entries |
| `single-skill-entrypoint` | `pass` | Installed package exposes only the root SKILL.md entrypoint |
| `single-top-level` | `pass` | Archive top-level directory is yao-meta-skill |
| `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable |
| `entrypoint-name` | `pass` | Installed SKILL.md name matches package directory |
+9 -3
View File
@@ -1,15 +1,16 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"package_dir": "dist",
"summary": {
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -614,6 +615,11 @@
"status": "pass",
"detail": "Archive contains yao-meta-skill/agents/interface.yaml"
},
{
"id": "archive-single-skill-entrypoint",
"status": "pass",
"detail": "Archive exposes only the root SKILL.md entrypoint"
},
{
"id": "archive-excludes-generated",
"status": "pass",
+3 -1
View File
@@ -4,7 +4,8 @@
- Package directory: `dist`
- Targets: `4 / 4` adapters present
- Archive present: `True`
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
- Nested SKILL.md entries: `0`
- Failures: `0`
- Warnings: `0`
@@ -132,6 +133,7 @@
| `archive-entry-yao-meta-skill/SKILL.md` | `pass` | Archive contains yao-meta-skill/SKILL.md |
| `archive-entry-yao-meta-skill/manifest.json` | `pass` | Archive contains yao-meta-skill/manifest.json |
| `archive-entry-yao-meta-skill/agents/interface.yaml` | `pass` | Archive contains yao-meta-skill/agents/interface.yaml |
| `archive-single-skill-entrypoint` | `pass` | Archive exposes only the root SKILL.md entrypoint |
| `archive-excludes-generated` | `pass` | Archive excludes generated dist/, .previews/, and tests/tmp* contents |
| `registry-ok` | `pass` | Registry audit is OK |
| `registry-name-match` | `pass` | Registry package name matches package manifest |
+1 -1
View File
@@ -1,5 +1,5 @@
{
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-operator-ux-worktree",
"relevance": "prompt-aware",
"primary_task_family": {
"key": "execution_operation",
+1 -1
View File
@@ -1,6 +1,6 @@
# Prompt Quality Profile
Skill: `yao-meta-skill`
Skill: `yao-meta-skill-operator-ux-worktree`
Relevance: `prompt-aware`
Overall quality score: `89.0/100`
+20 -8
View File
@@ -1,11 +1,11 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"root": ".",
"summary": {
"target_python": "3.11",
"file_count": 232,
"file_count": 234,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -34,12 +34,6 @@
"issue_count": 0,
"issues": []
},
{
"path": "geo-ranking-article-generator/scripts/build_html_index.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/adaptation_patch_safety.py",
"ok": true,
@@ -916,6 +910,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_operator_commands.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_output_commands.py",
"ok": true,
@@ -940,6 +940,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_parser_operator.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_report_commands.py",
"ok": true,
@@ -1090,6 +1096,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "tests/verify_operator_ux.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "tests/verify_output_eval_lab.py",
"ok": true,
+2 -2
View File
@@ -1,12 +1,12 @@
# Python Compatibility
Generated at: `2026-06-17`
Generated at: `2026-06-13`
## Summary
- decision: `pass`
- target python: `3.11`
- files scanned: `232`
- files scanned: `234`
- issues: `0`
- syntax errors: `0`
- f-string 3.11 violations: `0`
+6 -6
View File
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -53,16 +53,16 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-21"
},
"index": {
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-21",
"package_count": 1,
"packages": [
{
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
},
+2 -2
View File
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383`
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
- Install simulated: `True`
## Compatibility
File diff suppressed because one or more lines are too long
+497 -643
View File
File diff suppressed because it is too large Load Diff
+54 -53
View File
@@ -412,7 +412,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -469,8 +469,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -511,7 +510,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -523,10 +522,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"file_count": 456,
"file_count": 375,
"folder_count": 4,
"distribution": [
{
@@ -551,7 +550,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -559,7 +558,7 @@
},
{
"label": "reports",
"value": 235
"value": 152
}
]
},
@@ -681,7 +680,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -693,7 +692,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"strengths": [
@@ -1017,9 +1016,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1034,21 +1033,21 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"working_tree_dirty": true,
"changed_file_count": 29,
"changed_file_count": 3,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 3
},
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
@@ -1133,9 +1132,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1143,7 +1142,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -1153,24 +1152,24 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
},
"skill_atlas": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
},
"registry_distribution": {
"ok": true,
@@ -1192,8 +1191,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -1224,12 +1223,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-21"
},
"failures": [],
"warnings": []
@@ -1240,8 +1239,9 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -1252,7 +1252,8 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1319,12 +1320,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
},
@@ -1341,14 +1342,14 @@
"ok": true,
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1357,7 +1358,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -1632,7 +1633,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -1685,8 +1686,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -2112,7 +2113,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -2149,7 +2150,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -2170,8 +2171,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2187,8 +2188,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
@@ -14290,7 +14291,7 @@
"reviewer_note": "Use this report before deepening the package and again before approving example outputs."
},
"artifact_design": {
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-operator-ux-worktree",
"design_system": "metric editorial",
"primary_artifact": {
"key": "dashboard",
@@ -14410,7 +14411,7 @@
"reviewer_note": "Use this profile to judge whether the generated artifacts feel designed for their job, not merely rendered."
},
"prompt_quality": {
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-operator-ux-worktree",
"relevance": "prompt-aware",
"primary_task_family": {
"key": "execution_operation",
+1 -1
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"source": "reports/review_annotations_input.json",
"source": "tests/tmp_review_studio/empty_review_annotations_input.json",
"summary": {
"annotation_count": 0,
"open_count": 0,
+2 -2
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"summary": {
"waiver_count": 0,
"active_count": 0,
@@ -92,7 +92,7 @@
"Reviewer links output_review_adjudication or output_execution evidence."
],
"suggested_evidence": "reports/output_review_adjudication.md",
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md",
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md",
"world_class_boundary": "Does not count as provider, human, or public world-class completion evidence."
},
{
+1 -1
View File
@@ -38,7 +38,7 @@
- waiver allowed: `true`
- risk: review pending 5; model-executed 10; output failures 0
- evidence: `reports/output_review_adjudication.md`
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md`
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md`
- world-class boundary: Does not count as provider, human, or public world-class completion evidence.
#### Required Review
+5 -5
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"package_dir": "tests/tmp_review_studio/dist",
"package_dir": "dist",
"expected_capabilities": [
"file_write",
"network",
@@ -42,7 +42,7 @@
{
"target": "openai",
"status": "pass",
"adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json",
"adapter": "dist/targets/openai/adapter.json",
"permission_model": "metadata-only",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -139,7 +139,7 @@
{
"target": "claude",
"status": "pass",
"adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json",
"adapter": "dist/targets/claude/adapter.json",
"permission_model": "neutral-source-plus-adapter",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -221,7 +221,7 @@
{
"target": "generic",
"status": "pass",
"adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json",
"adapter": "dist/targets/generic/adapter.json",
"permission_model": "agent-skills-compatible-metadata",
"native_enforcement": false,
"metadata_fallback_explicit": true,
@@ -303,7 +303,7 @@
{
"target": "vscode",
"status": "pass",
"adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json",
"adapter": "dist/targets/vscode/adapter.json",
"permission_model": "vscode-workspace-trust-plus-metadata",
"native_enforcement": false,
"metadata_fallback_explicit": true,
+46 -8
View File
@@ -2,9 +2,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -12,7 +12,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -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": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
},
"failures": [],
"warnings": [],
@@ -2092,6 +2092,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_operator_commands.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics.",
"has_argparse": true,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": true,
"uses_subprocess": true,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_output_commands.py",
"interface": "internal-module",
@@ -2148,6 +2162,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_parser_operator.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module.",
"has_argparse": true,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": false,
"uses_subprocess": false,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_report_commands.py",
"interface": "internal-module",
@@ -2225,7 +2253,7 @@
"checked_count": 86,
"passed_count": 86,
"failed_count": 0,
"skipped_count": 67,
"skipped_count": 69,
"failed_scripts": [],
"results": [
{
@@ -3330,6 +3358,10 @@
"path": "scripts/yao_cli_distribution_commands.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_operator_commands.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_output_commands.py",
"reason": "internal module"
@@ -3346,6 +3378,10 @@
"path": "scripts/yao_cli_parser_operations.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_parser_operator.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_report_commands.py",
"reason": "internal module"
@@ -3484,7 +3520,8 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"reviewer": "Yao Team",
"scope": "Local generated reports, registry metadata, temporary test outputs, and package artifacts under the skill workspace.",
@@ -3518,6 +3555,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"reviewer": "Yao Team",
+8 -6
View File
@@ -1,22 +1,22 @@
# Security Trust Report
- OK: `True`
- Scanned files: `245`
- Scripts: `153`
- Internal script modules: `67`
- Scanned files: `247`
- Scripts: `155`
- Internal script modules: `69`
- Secret findings: `0`
- Network-capable scripts: `3`
- Network policy covered scripts: `3`
- Network policy missing scripts: `0`
- File-write scripts: `73`
- File-write scripts: `74`
- Permission approvals: `3 / 3`
- Permission approval gaps: `0`
- CLI help smoke checked: `86`
- CLI help smoke failures: `0`
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
- Package hash files: `245`
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
- Package hash files: `247`
- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383`
## Failures
@@ -208,10 +208,12 @@
| scripts/yao_cli_config.py | internal-module | True | False | False | False | False | False | False | Imported by yao.py for CLI target maps and side-effect-free shaping helpers. |
| scripts/yao_cli_create_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep skill creation and quickstart command handlers out of the CLI orchestrator. |
| scripts/yao_cli_distribution_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep distribution and runtime gate handlers outside the thin CLI orchestrator. |
| scripts/yao_cli_operator_commands.py | internal-module | True | True | False | False | False | True | True | Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics. |
| scripts/yao_cli_output_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep output evaluation and review handlers outside the thin CLI orchestrator. |
| scripts/yao_cli_parser.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep CLI parser declarations separate from command orchestration. |
| scripts/yao_cli_parser_evidence.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep evidence command declarations out of the main parser module. |
| scripts/yao_cli_parser_operations.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep SkillOps, telemetry, and review-loop command declarations out of the main parser module. |
| scripts/yao_cli_parser_operator.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module. |
| scripts/yao_cli_report_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep report and evidence command handlers out of the CLI orchestrator. |
| scripts/yao_cli_runtime.py | internal-module | True | False | False | False | False | False | True | Imported by yao.py and command modules for shared subprocess execution and JSON payload parsing. |
| scripts/yao_cli_telemetry.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to record opt-in metadata-only CLI run telemetry. |
+2 -2
View File
@@ -929,7 +929,7 @@
</table>
</div>
</div>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
</div>
</section>
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">375</text><text data-lang="en" x="130" y="136" text-anchor="middle">375 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>
+52 -51
View File
@@ -412,7 +412,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -469,8 +469,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -511,7 +510,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -523,10 +522,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"file_count": 456,
"file_count": 375,
"folder_count": 4,
"distribution": [
{
@@ -551,7 +550,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -559,7 +558,7 @@
},
{
"label": "reports",
"value": 235
"value": 152
}
]
},
@@ -685,7 +684,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -697,7 +696,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"strengths": [
@@ -1021,9 +1020,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1038,21 +1037,21 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"working_tree_dirty": true,
"changed_file_count": 29,
"changed_file_count": 3,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 3
},
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
@@ -1137,9 +1136,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1147,7 +1146,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -1157,24 +1156,24 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
},
"skill_atlas": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
},
"registry_distribution": {
"ok": true,
@@ -1196,8 +1195,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -1228,12 +1227,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-21"
},
"failures": [],
"warnings": []
@@ -1244,8 +1243,9 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -1256,7 +1256,8 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1323,12 +1324,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
},
@@ -1345,14 +1346,14 @@
"ok": true,
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1361,7 +1362,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -1636,7 +1637,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -1689,8 +1690,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -2116,7 +2117,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -2153,7 +2154,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -2174,8 +2175,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2191,8 +2192,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
+5 -5
View File
@@ -135,13 +135,13 @@ Next move: add real client or installer permission enforcement integration.
| Output Eval | `5` cases, DeepSeek provider-backed execution for `10 / 10` variants, with-skill pass rate `43.67`, baseline pass rate `23.67`, delta `20.0`, with file-backed, near-neighbor, boundary coverage, `10` command execution runs, `0` recorded fixture runs, `10` provider model-executed runs in root release evidence, `10` observed token rows, `0` estimated token rows, 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, `67` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `153` scripts, source-contract hash scope explicit |
| Trust | `0` secret findings, `1` pinned dependency file, `69` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `155` 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, `689` zip entries, `0` failures, `0` warnings |
| Install Simulation | archive with `689` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Package Verification | `4 / 4` target adapters present, archive verified, `580` zip entries, `0` nested SKILL.md entries, `0` failures, `0` warnings |
| Install Simulation | archive with `580` entries extracted into a local verification root, `0` nested SKILL.md entries, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
@@ -153,8 +153,8 @@ Next move: add real client or installer permission enforcement integration.
| World-Class Evidence Ledger | `4` evidence entries remain pending: `1` human-required and `3` external-required; anti-overclaim guards block planned work, metadata fallbacks, pending review, and local command runners from counting as completion |
| Benchmark Reproducibility | local reproducibility ready with `25` required artifacts, `0` missing artifacts, `23` reproduction commands, and `3` disclosed failure cases; human review, native permission enforcement, native telemetry, and provider ledger approval remain explicit limitations |
| IR-first Packaging | `openai`, `claude`, `generic`, and `vscode` adapters include compiler contracts, permission contracts, target-native behavior contracts, IR provenance, semantic parity checks, and install-scope notes where applicable |
| Context Budget | initial load `998/1000`; deferred `512782/120000`; resource governance governed |
| CI | `make ci-test` target count is `82` after the dedicated CLI world-class verifier split |
| Context Budget | initial load `998/1000`; deferred `530167/120000`; resource governance governed |
| CI | `make ci-test` target count is `83` after adding the dedicated Operator UX verifier |
## Next Highest-Leverage Moves
+2 -2
View File
@@ -929,7 +929,7 @@
</table>
</div>
</div>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
</div>
</section>
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">375</text><text data-lang="en" x="130" y="136" text-anchor="middle">375 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>
+52 -51
View File
@@ -411,7 +411,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -468,8 +468,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -510,7 +509,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -522,10 +521,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"file_count": 456,
"file_count": 375,
"folder_count": 4,
"distribution": [
{
@@ -550,7 +549,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -558,7 +557,7 @@
},
{
"label": "reports",
"value": 235
"value": 152
}
]
},
@@ -680,7 +679,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -692,7 +691,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 152
}
],
"strengths": [
@@ -1016,9 +1015,9 @@
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1033,21 +1032,21 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"working_tree_dirty": true,
"changed_file_count": 29,
"changed_file_count": 3,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 3
},
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
@@ -1132,9 +1131,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1142,7 +1141,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -1152,24 +1151,24 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
},
"skill_atlas": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
},
"registry_distribution": {
"ok": true,
@@ -1191,8 +1190,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -1223,12 +1222,12 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
},
"generated_at": "2026-06-13"
"generated_at": "2026-06-21"
},
"failures": [],
"warnings": []
@@ -1239,8 +1238,9 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -1251,7 +1251,8 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1318,12 +1319,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
},
@@ -1340,14 +1341,14 @@
"ok": true,
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1356,7 +1357,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -1631,7 +1632,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -1684,8 +1685,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -2111,7 +2112,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -2148,7 +2149,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -2169,8 +2170,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2186,8 +2187,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
+3 -3
View File
@@ -24,7 +24,7 @@
<h1>Skill Atlas</h1>
<p>Portfolio-level review for route overlap, stale ownership, shared resources, telemetry drift, and no-route opportunities.</p>
<section class="grid">
<div class="card"><span>Skills</span><strong>12</strong></div>
<div class="card"><span>Skills</span><strong>11</strong></div>
<div class="card"><span>Actionable</span><strong>1</strong></div>
<div class="card"><span>Route Collisions</span><strong>0</strong></div>
<div class="card"><span>Owner Gaps</span><strong>0</strong></div>
@@ -43,13 +43,13 @@
</section>
<section>
<h2>Full Portfolio Counts</h2>
<p>All scanned skills remain visible: 5 total route collisions, 9 total owner gaps, 10 total stale signals, and 0 telemetry drift signals.</p>
<p>All scanned skills remain visible: 5 total route collisions, 8 total owner gaps, 9 total stale signals, and 0 telemetry drift signals.</p>
</section>
<section>
<h2>Catalog</h2>
<table>
<thead><tr><th>Name</th><th>Path</th><th>Owner</th><th>Maturity</th><th>Review</th><th>Scope</th></tr></thead>
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>geo-ranking-article-generator</td><td>geo-ranking-article-generator</td><td>missing</td><td>unknown</td><td>missing</td><td>embedded-generated-skill</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
</table>
</section>
</main>
+10 -99
View File
@@ -2,20 +2,20 @@
"ok": true,
"workspace_root": ".",
"summary": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
},
"scope_policy": {
"present": true,
@@ -210,10 +210,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py",
@@ -629,75 +631,6 @@
"candidate_count": 0
}
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"description": "Create GEO ranking-article packs from brand briefs. Use when asked to research a brand, find GEO or 生成式引擎优化 keywords and five competitors, generate timely titles, write five ~2000-character articles, and save them to a fixed knowledge-base folder with an HTML index. Do not use for generic SEO advice, one-off copy, or writing without competitor research.",
"owner": "",
"version": "",
"status": "",
"maturity": "",
"updated_at": "",
"review_cadence": "",
"targets": [],
"resources": [
"scripts/build_html_index.py",
"references/article-blueprint.md",
"references/feishu-benchmark-patterns.md",
"references/geo-research-playbook.md",
"templates/brand-brief-template.md"
],
"token_set": [
"2000-character",
"advice",
"articles",
"asked",
"brand",
"briefs",
"competitor",
"competitors",
"copy",
"do",
"find",
"five",
"fixed",
"folder",
"generate",
"generic",
"geo",
"html",
"index",
"keywords",
"knowledge-base",
"not",
"one-off",
"or",
"packs",
"ranking-article",
"research",
"save",
"seo",
"them",
"timely",
"titles",
"without",
"write",
"writing",
"生成式引擎优化"
],
"atlas_scope": "embedded-generated-skill",
"actionable": false,
"scope_reason": "This nested generated skill is retained as local evidence and should not gate the root Meta Skill release.",
"telemetry": {
"report_present": false,
"report": "geo-ranking-article-generator/reports/adoption_drift_report.json",
"risk_band": "missing",
"event_count": 0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
@@ -796,20 +729,20 @@
}
],
"summary": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
}
},
"route_collisions": [
@@ -904,10 +837,6 @@
"name": "frontend-review",
"path": "examples/team-frontend-review/generated-skill"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest"
@@ -968,13 +897,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"reason": "missing updated_at",
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
@@ -1054,17 +976,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"missing": [
"owner",
"review_cadence",
"maturity"
],
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
+6 -6
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"item_count": 15,
@@ -197,7 +197,7 @@
"key": "trust-security",
"label": "Trust Security",
"status": "pass",
"current": "secrets 0; scripts 153; help failures 0",
"current": "secrets 0; scripts 155; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
@@ -259,7 +259,7 @@
"key": "skill-atlas",
"label": "Skill Atlas",
"status": "pass",
"current": "12 skills; actionable collisions 0",
"current": "11 skills; actionable collisions 0",
"target": "Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities",
"evidence": [
{
@@ -285,7 +285,7 @@
"key": "registry-distribution",
"label": "Registry Distribution",
"status": "pass",
"current": "zip entries 689; install failures 0; permission failures 0",
"current": "zip entries 580; install failures 0; permission failures 0",
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
"evidence": [
{
@@ -351,7 +351,7 @@
"key": "native-client-telemetry",
"label": "Native Client Telemetry",
"status": "external_required",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"target": "A real Browser/Chrome/provider client sends production metadata events",
"evidence": [
{
@@ -415,7 +415,7 @@
"key": "native-client-telemetry",
"label": "Native Client Telemetry",
"status": "external_required",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"target": "A real Browser/Chrome/provider client sends production metadata events",
"evidence": [
{
+5 -5
View File
@@ -1,6 +1,6 @@
# Skill OS 2.0 Audit
Generated at: `2026-06-17`
Generated at: `2026-06-21`
## Summary
@@ -23,14 +23,14 @@ Generated at: `2026-06-17`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions, blind-review attestation, and integrity fingerprints recorded before claiming output review completion | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
| Trust Security | pass | secrets 0; scripts 153; 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 155; 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 689; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Skill Atlas | pass | 11 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
| Registry Distribution | pass | zip entries 580; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 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. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
## Open Highest-Leverage Gaps
+7 -7
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"item_count": 21,
@@ -130,7 +130,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
"current": "153 scripts; secrets 0; help failures 0",
"current": "155 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -167,7 +167,7 @@
"label": "Skill Atlas",
"status": "pass",
"objective": "Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.",
"current": "12 scanned skills; actionable collisions 0",
"current": "11 scanned skills; actionable collisions 0",
"command": "python3 scripts/yao.py skill-atlas --workspace-root .",
"test": "python3 tests/verify_skill_atlas.py",
"evidence": [
@@ -204,7 +204,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
"current": "archive entries 689; install failures 0",
"current": "archive entries 580; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
@@ -513,7 +513,7 @@
"label": "Skill Atlas Generator",
"status": "pass",
"objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.",
"current": "12 scanned skills",
"current": "11 scanned skills",
"command": "make ci-test",
"test": "tests/verify_skill_atlas.py",
"evidence": [
@@ -749,11 +749,11 @@
"exists": true
},
{
"path": "reports/skillops/daily/2026-06-17.json",
"path": "reports/skillops/daily/2026-06-21.json",
"exists": true
},
{
"path": "reports/skillops/daily/2026-06-17.md",
"path": "reports/skillops/daily/2026-06-21.md",
"exists": true
}
],
+6 -6
View File
@@ -1,6 +1,6 @@
# Skill OS 2.0 Blueprint Coverage
Generated at: `2026-06-17`
Generated at: `2026-06-21`
## Summary
@@ -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` | 153 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 689; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
| Trust Security | `pass` | 155 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Skill Atlas | `pass` | 11 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
| Registry Distribution | `pass` | archive entries 580; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
| Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
@@ -44,7 +44,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Compiler Refactor | `pass` | 5/5 compiled targets | `make ci-test` | `tests/verify_compile_skill.py` |
| Agent Skills Conformance | `pass` | agent-skills target present | `make ci-test` | `tests/verify_conformance_suite.py` |
| Trust Check | `pass` | secret findings 0 | `make ci-test` | `tests/verify_trust_check.py` |
| Skill Atlas Generator | `pass` | 12 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
| Skill Atlas Generator | `pass` | 11 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
| Registry Package Format | `pass` | registry ok True | `make ci-test` | `tests/verify_registry_audit.py` |
| Review Studio 2.0 | `pass` | 16 review gates | `make ci-test` | `tests/verify_review_studio.py` |
| Migration V2 Docs | `pass` | migration guide present | `make ci-test` | `docs review` |
@@ -235,7 +235,7 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
- objective: Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.
- status: `covered`
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-17.json`, `reports/skillops/daily/2026-06-17.md`
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-21.json`, `reports/skillops/daily/2026-06-21.md`
- next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves.
### Weekly Curator Report
+513
View File
@@ -0,0 +1,513 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-20T12:35:26Z",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"operations_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"explicit_source_required_for_scan": true,
"implicit_private_log_scan": false,
"raw_content_stored": false,
"redacted_excerpts_only": true,
"proposal_only": true,
"approval_required_for_writes": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"daily_report_counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"source_supplied",
"pattern_count",
"proposal_count",
"approval_count",
"pending_review_count",
"applied_count",
"rollback_count",
"local_blueprint_ready",
"public_world_class_ready",
"world_class_pending_count",
"release_lock_ready",
"evidence_consistency_ok",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
],
"source_of_truth": [
"summary",
"operations_contract"
]
},
"source": {
"path": "evals/adaptation/user_signals.example.jsonl",
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
"record_count": 8,
"explicit_source": true,
"raw_content_stored": false,
"redacted_excerpts_only": true
},
"patterns": [
{
"pattern_id": "language_default",
"label": "Default language preference",
"signal_type": "report-language",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated report-language signals.",
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
}
]
},
{
"pattern_id": "report_ui",
"label": "Report UI and visualization preference",
"signal_type": "artifact-design",
"support_count": 5,
"confidence": 0.95,
"reason": "5 redacted records matched repeated artifact-design signals.",
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-3",
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
}
]
},
{
"pattern_id": "approval_safety",
"label": "Approval and privacy boundary",
"signal_type": "governance",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated governance signals.",
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
"evidence": [
{
"record_id": "line-5",
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "delivery_format",
"label": "Delivery format preference",
"signal_type": "artifact-format",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated artifact-format signals.",
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
"evidence": [
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "evidence_testing",
"label": "Evidence and testing preference",
"signal_type": "quality-gate",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated quality-gate signals.",
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
"evidence": [
{
"record_id": "line-7",
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
},
{
"record_id": "line-8",
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
}
]
}
],
"proposals": [
{
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"opportunity_summary": {
"opportunity_count": 5,
"top_score": 88,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"action_type_counts": {
"patch_existing_skill": 3,
"agents_update": 1,
"add_eval": 1
},
"decision_counts": {
"ready_for_approval_review": 1,
"proposal_review": 4
}
},
"opportunities": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"decision_policy": {
"schema_version": "1.0",
"contract": "skillops-opportunity-scoring",
"score_range": [
0,
100
],
"score_bands": {
"85-100": "ready_for_approval_review",
"70-84": "proposal_review",
"50-69": "observe_more_evidence",
"0-49": "report_only_or_no_action"
},
"action_types": [
"add_eval",
"agents_update",
"patch_existing_skill",
"report_only"
],
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true
},
"approval": {
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0
},
"release_state": {
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true
},
"actions": [
{
"key": "review-adaptation-proposals",
"priority": "high",
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
}
],
"failures": [],
"source_reports": {
"patterns": "reports/user_patterns.json",
"proposals": "reports/adaptation_proposals.json",
"approval_ledger": "reports/adaptation_approval_ledger.json",
"regression": "reports/adaptation_regression_report.json",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json",
"evidence_consistency": "reports/evidence_consistency.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
},
"artifacts": {
"json": "reports/skillops/daily/2026-06-20.json",
"markdown": "reports/skillops/daily/2026-06-20.md"
}
}
+174
View File
@@ -0,0 +1,174 @@
# Daily SkillOps Report
Generated at: `2026-06-20T12:35:26Z`
## Summary
- decision: `proposal-review`
- source supplied: `false`
- patterns: `5`
- proposals: `5`
- pending approvals: `0`
- applied patches: `0`
- rollbacks: `0`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `true`
- evidence consistency ok: `true`
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
## Privacy Boundary
- explicit_source_required_for_scan: `true`
- implicit_private_log_scan: `false`
- raw_content_stored: `false`
- redacted_excerpts_only: `true`
- proposal_only: `true`
- approval_required_for_writes: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- daily_report_counts_as_world_class_evidence: `false`
## Actions
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
## Opportunities
- count: `5`
- top score: `88`
- ready for approval review: `1`
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Policy: Repeated verification and evidence requests should become focused checks.
## Patterns
- `language_default`: Default language preference (support `2`, confidence `0.79`)
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
## Proposals
### Keep reports Chinese-first with optional English
- ID: `adapt-18c7517f3d`
- Pattern: `language_default`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- Verification:
- `python3 tests/verify_skill_overview.py`
### Improve report layout, visual hierarchy, and chart readability
- ID: `adapt-fbfe921ba5`
- Pattern: `report_ui`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- `tests/verify_skill_overview.py`
- Verification:
- `python3 tests/verify_skill_overview.py`
- `python3 tests/verify_skill_report_charts.py`
### Keep adaptive iteration approval-gated
- ID: `adapt-59d219a1fb`
- Pattern: `approval_safety`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `references/user-memory-policy.md`
- `references/autonomous-adaptation.md`
- `schemas/adaptation-proposal.schema.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
### Make generated artifact paths explicit in CLI output
- ID: `adapt-457baca160`
- Pattern: `delivery_format`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/yao.py`
- `README.md`
- Verification:
- `python3 tests/verify_yao_cli.py`
### Attach tests and evidence refresh to each upgrade
- ID: `adapt-abfee25d3a`
- Pattern: `evidence_testing`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `tests/verify_adaptation_safety.py`
- `scripts/render_skill_os2_coverage.py`
- `reports/skill_os2_coverage.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
- `python3 tests/verify_skill_os2_coverage.py`
## Evidence
- patterns: `reports/user_patterns.json`
- proposals: `reports/adaptation_proposals.json`
- approval_ledger: `reports/adaptation_approval_ledger.json`
- regression: `reports/adaptation_regression_report.json`
- skill_os2_coverage: `reports/skill_os2_coverage.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`
- evidence_consistency: `reports/evidence_consistency.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
+513
View File
@@ -0,0 +1,513 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-21",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"operations_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"explicit_source_required_for_scan": true,
"implicit_private_log_scan": false,
"raw_content_stored": false,
"redacted_excerpts_only": true,
"proposal_only": true,
"approval_required_for_writes": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"daily_report_counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"source_supplied",
"pattern_count",
"proposal_count",
"approval_count",
"pending_review_count",
"applied_count",
"rollback_count",
"local_blueprint_ready",
"public_world_class_ready",
"world_class_pending_count",
"release_lock_ready",
"evidence_consistency_ok",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
],
"source_of_truth": [
"summary",
"operations_contract"
]
},
"source": {
"path": "evals/adaptation/user_signals.example.jsonl",
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
"record_count": 8,
"explicit_source": true,
"raw_content_stored": false,
"redacted_excerpts_only": true
},
"patterns": [
{
"pattern_id": "language_default",
"label": "Default language preference",
"signal_type": "report-language",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated report-language signals.",
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
}
]
},
{
"pattern_id": "report_ui",
"label": "Report UI and visualization preference",
"signal_type": "artifact-design",
"support_count": 5,
"confidence": 0.95,
"reason": "5 redacted records matched repeated artifact-design signals.",
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-3",
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
}
]
},
{
"pattern_id": "approval_safety",
"label": "Approval and privacy boundary",
"signal_type": "governance",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated governance signals.",
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
"evidence": [
{
"record_id": "line-5",
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "delivery_format",
"label": "Delivery format preference",
"signal_type": "artifact-format",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated artifact-format signals.",
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
"evidence": [
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "evidence_testing",
"label": "Evidence and testing preference",
"signal_type": "quality-gate",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated quality-gate signals.",
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
"evidence": [
{
"record_id": "line-7",
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
},
{
"record_id": "line-8",
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
}
]
}
],
"proposals": [
{
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"opportunity_summary": {
"opportunity_count": 5,
"top_score": 88,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"action_type_counts": {
"patch_existing_skill": 3,
"agents_update": 1,
"add_eval": 1
},
"decision_counts": {
"ready_for_approval_review": 1,
"proposal_review": 4
}
},
"opportunities": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"decision_policy": {
"schema_version": "1.0",
"contract": "skillops-opportunity-scoring",
"score_range": [
0,
100
],
"score_bands": {
"85-100": "ready_for_approval_review",
"70-84": "proposal_review",
"50-69": "observe_more_evidence",
"0-49": "report_only_or_no_action"
},
"action_types": [
"add_eval",
"agents_update",
"patch_existing_skill",
"report_only"
],
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true
},
"approval": {
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0
},
"release_state": {
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true
},
"actions": [
{
"key": "review-adaptation-proposals",
"priority": "high",
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
}
],
"failures": [],
"source_reports": {
"patterns": "reports/user_patterns.json",
"proposals": "reports/adaptation_proposals.json",
"approval_ledger": "reports/adaptation_approval_ledger.json",
"regression": "reports/adaptation_regression_report.json",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json",
"evidence_consistency": "reports/evidence_consistency.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
},
"artifacts": {
"json": "reports/skillops/daily/2026-06-21.json",
"markdown": "reports/skillops/daily/2026-06-21.md"
}
}
+174
View File
@@ -0,0 +1,174 @@
# Daily SkillOps Report
Generated at: `2026-06-21`
## Summary
- decision: `proposal-review`
- source supplied: `false`
- patterns: `5`
- proposals: `5`
- pending approvals: `0`
- applied patches: `0`
- rollbacks: `0`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `true`
- evidence consistency ok: `true`
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
## Privacy Boundary
- explicit_source_required_for_scan: `true`
- implicit_private_log_scan: `false`
- raw_content_stored: `false`
- redacted_excerpts_only: `true`
- proposal_only: `true`
- approval_required_for_writes: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- daily_report_counts_as_world_class_evidence: `false`
## Actions
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
## Opportunities
- count: `5`
- top score: `88`
- ready for approval review: `1`
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Policy: Repeated verification and evidence requests should become focused checks.
## Patterns
- `language_default`: Default language preference (support `2`, confidence `0.79`)
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
## Proposals
### Keep reports Chinese-first with optional English
- ID: `adapt-18c7517f3d`
- Pattern: `language_default`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- Verification:
- `python3 tests/verify_skill_overview.py`
### Improve report layout, visual hierarchy, and chart readability
- ID: `adapt-fbfe921ba5`
- Pattern: `report_ui`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- `tests/verify_skill_overview.py`
- Verification:
- `python3 tests/verify_skill_overview.py`
- `python3 tests/verify_skill_report_charts.py`
### Keep adaptive iteration approval-gated
- ID: `adapt-59d219a1fb`
- Pattern: `approval_safety`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `references/user-memory-policy.md`
- `references/autonomous-adaptation.md`
- `schemas/adaptation-proposal.schema.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
### Make generated artifact paths explicit in CLI output
- ID: `adapt-457baca160`
- Pattern: `delivery_format`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/yao.py`
- `README.md`
- Verification:
- `python3 tests/verify_yao_cli.py`
### Attach tests and evidence refresh to each upgrade
- ID: `adapt-abfee25d3a`
- Pattern: `evidence_testing`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `tests/verify_adaptation_safety.py`
- `scripts/render_skill_os2_coverage.py`
- `reports/skill_os2_coverage.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
- `python3 tests/verify_skill_os2_coverage.py`
## Evidence
- patterns: `reports/user_patterns.json`
- proposals: `reports/adaptation_proposals.json`
- approval_ledger: `reports/adaptation_approval_ledger.json`
- regression: `reports/adaptation_regression_report.json`
- skill_os2_coverage: `reports/skill_os2_coverage.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`
- evidence_consistency: `reports/evidence_consistency.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
+16 -14
View File
@@ -1,21 +1,21 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17T08:58:54Z",
"generated_at": "2026-06-21",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
"daily_report_count": 2,
"opportunity_count": 10,
"daily_report_count": 4,
"opportunity_count": 20,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 12,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -25,17 +25,17 @@
"summary": {
"decision": "curator-review",
"week_id": "2026-W25",
"daily_report_count": 2,
"opportunity_count": 10,
"daily_report_count": 4,
"opportunity_count": 20,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 12,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -90,7 +90,9 @@
},
"daily_reports": [
"reports/skillops/daily/2026-06-16.json",
"reports/skillops/daily/2026-06-17.json"
"reports/skillops/daily/2026-06-17.json",
"reports/skillops/daily/2026-06-20.json",
"reports/skillops/daily/2026-06-21.json"
],
"opportunity_summary": {
"action_type_counts": {
@@ -275,20 +277,20 @@
}
],
"portfolio": {
"skill_count": 12,
"skill_count": 11,
"actionable_issue_count": 0,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"no_route_opportunity_count": 0
},
"release_state": {
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4
+7 -7
View File
@@ -1,19 +1,19 @@
# Weekly SkillOps Curator Report
Generated at: `2026-06-17T08:58:54Z`
Generated at: `2026-06-21`
Week: `2026-W25`
## Summary
- decision: `curator-review`
- daily_report_count: `2`
- daily_report_count: `4`
- unique_opportunity_count: `5`
- ready_for_approval_review_count: `1`
- proposal_review_count: `4`
- top_score: `88`
- skill_count: `12`
- skill_count: `11`
- actionable_portfolio_issue_count: `0`
- release_lock_ready: `False`
- release_lock_ready: `True`
- evidence_consistency_ok: `True`
- public_world_class_ready: `False`
- world_class_pending_count: `4`
@@ -89,13 +89,13 @@ This report is a weekly curator cockpit for generated SkillOps evidence. It does
## Portfolio Signals
- skill_count: `12`
- skill_count: `11`
- actionable_issue_count: `0`
- route_collision_count: `5`
- actionable_route_collision_count: `0`
- owner_gap_count: `9`
- owner_gap_count: `8`
- actionable_owner_gap_count: `0`
- stale_count: `10`
- stale_count: `9`
- actionable_stale_count: `0`
- drift_signal_count: `0`
- actionable_drift_signal_count: `0`
+5 -5
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-13",
"generated_at": "2026-06-21",
"previous": {
"name": "yao-meta-skill",
"version": "1.0.0",
@@ -70,12 +70,12 @@
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
}
]
},
@@ -90,7 +90,7 @@
"artifacts": {
"previous_package": "registry/examples/yao-meta-skill-1.0.0.json",
"current_package": "reports/registry_audit.json",
"json": "tests/tmp_review_studio/upgrade_check.json",
"markdown": "tests/tmp_review_studio/upgrade_check.md"
"json": "reports/upgrade_check.json",
"markdown": "reports/upgrade_check.md"
}
}
+20 -12
View File
@@ -1,14 +1,14 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"ledger_ready_to_claim_world_class": false,
"ledger_pending_count": 4,
"claim_surface_count": 182,
"json_claim_surface_count": 89,
"metadata_claim_surface_count": 90,
"claim_surface_count": 184,
"json_claim_surface_count": 91,
"metadata_claim_surface_count": 92,
"package_claim_surface_count": 17,
"violation_count": 0,
"overclaim_guard_active": true,
@@ -286,10 +286,6 @@
"path": "reports/family_summary.md",
"violation_count": 0
},
{
"path": "reports/feishu-ranking-pattern-analysis-2026-04-01.md",
"violation_count": 0
},
{
"path": "reports/github-benchmark-scan.json",
"violation_count": 0
@@ -626,6 +622,22 @@
"path": "reports/skillops/daily/2026-06-17.md",
"violation_count": 0
},
{
"path": "reports/skillops/daily/2026-06-20.json",
"violation_count": 0
},
{
"path": "reports/skillops/daily/2026-06-20.md",
"violation_count": 0
},
{
"path": "reports/skillops/daily/2026-06-21.json",
"violation_count": 0
},
{
"path": "reports/skillops/daily/2026-06-21.md",
"violation_count": 0
},
{
"path": "reports/skillops/weekly/2026-W25.json",
"violation_count": 0
@@ -726,10 +738,6 @@
"path": "reports/world_class_submission_review.md",
"violation_count": 0
},
{
"path": "reports/yao-deploy-bridge-skill-research-plan.md",
"violation_count": 0
},
{
"path": "security/dependency_policy.md",
"violation_count": 0
+4 -4
View File
@@ -1,15 +1,15 @@
# World-Class Claim Guard
Generated at: `2026-06-17`
Generated at: `2026-06-21`
## Summary
- decision: `claim-guard-pass-evidence-pending`
- ledger ready to claim world-class: `false`
- ledger pending evidence: `4`
- claim surfaces scanned: `182`
- JSON claim surfaces scanned: `89`
- metadata claim surfaces scanned: `90`
- claim surfaces scanned: `184`
- JSON claim surfaces scanned: `91`
- metadata claim surfaces scanned: `92`
- package/runtime claim surfaces scanned: `17`
- violations: `0`
- overclaim guard active: `true`
+2 -2
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-20",
"skill_dir": ".",
"summary": {
"schema_present": true,
@@ -328,7 +328,7 @@
"source_accepted": false,
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
+1 -1
View File
@@ -1,6 +1,6 @@
# World-Class Evidence Intake
Generated at: `2026-06-17`
Generated at: `2026-06-20`
## Summary
+11 -11
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-20",
"skill_dir": ".",
"decision": "evidence-pending",
"ready_to_claim_world_class": false,
@@ -16,8 +16,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -33,8 +33,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -486,7 +486,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -523,7 +523,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -544,8 +544,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -561,8 +561,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
+7 -7
View File
@@ -1,6 +1,6 @@
# World-Class Evidence Ledger
Generated at: `2026-06-17`
Generated at: `2026-06-20`
## Summary
@@ -8,8 +8,8 @@ Generated at: `2026-06-17`
- ready to claim world-class: `false`
- entries: `4`
- source accepted: `1`
- source checks: `11` pass / `19` total
- source blocked: `8`
- source checks: `12` pass / `19` total
- source blocked: `7`
- accepted: `0`
- pending: `4`
- human pending: `1`
@@ -30,7 +30,7 @@ This ledger records the current evidence state. It requires both passing source
| `provider-holdout` | `pending` | `missing` | `external` | model-executed 10; token-observed 10 | Run provider-backed holdout cases with real credentials and commit only aggregate evidence. |
| `human-adjudication` | `pending` | `missing` | `human` | 0/5 decisions; pending 5 | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
| `native-permission-enforcement` | `pending` | `missing` | `external` | native-enforced targets 0; installer-enforced targets 4 | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 0 | Install a real client against the native host and import production metadata-only events. |
| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 1 | Install a real client against the native host and import production metadata-only events. |
## Provider Holdout
@@ -186,8 +186,8 @@ This ledger records the current evidence state. It requires both passing source
- objective: Import production metadata-only events from a real external client into the local drift loop.
- source status: `external_required`
- observed state: `{"external_source_events": 0, "adoption_sample_count": 0, "raw_content_allowed": false, "risk_band": "low", "accepted": false}`
- source checks: `1` pass / `3` total
- observed state: `{"external_source_events": 0, "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false}`
- source checks: `2` pass / `3` total
- submission state: `{"status": "missing", "path": "evidence/world_class/submissions/native-client-telemetry.json", "artifact_ref_count": 0, "attested_real_evidence": false, "privacy_contract_satisfied": false, "ledger_reviewer_approved": false, "ledger_reviewer": "", "ledger_reviewed_at": "", "ledger_counts_as_completion": false}`
### Provenance Requirements
@@ -211,7 +211,7 @@ This ledger records the current evidence state. It requires both passing source
| Check | Current | Expected | Status |
| --- | --- | --- | --- |
| External events | `0` | `>0` | `blocked` |
| Adoption sample | `0` | `>0` | `blocked` |
| Adoption sample | `1` | `>0` | `pass` |
| Raw content blocked | `False` | `false` | `pass` |
### Completion Assertions
+3 -3
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-20",
"skill_dir": ".",
"summary": {
"audit_decision": "continue-iteration",
@@ -154,7 +154,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
@@ -325,7 +325,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
+2 -2
View File
@@ -1,6 +1,6 @@
# World-Class Evidence Plan
Generated at: `2026-06-17`
Generated at: `2026-06-20`
## Summary
@@ -22,7 +22,7 @@ This report is an execution plan for the remaining world-class evidence gaps. It
| `provider-holdout` | `pass` | `external` | operator with provider credentials | model-executed 10; token-observed 10 |
| `human-adjudication` | `human_required` | `human` | human reviewer | 0/5 decisions; pending 5 |
| `native-permission-enforcement` | `external_required` | `external` | target client or installer integrator | native-enforced targets 0; installer-enforced targets 4 |
| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 0 |
| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 1 |
## Provider Holdout
+5 -22
View File
@@ -68,7 +68,7 @@
<span class="eyebrow">Evidence Collection</span>
<h1>World-Class Evidence Preflight</h1>
<p class="lede">This operator view shows which external and human evidence is still blocked, which commands prepare editable submission drafts, and why preflight never counts as accepted evidence.</p>
<div class="stats"><article><span>Decision</span><strong>collection-preflight-blocked</strong></article><article><span>Pending</span><strong>4</strong></article><article><span>Ready</span><strong>1</strong></article><article><span>Blocked</span><strong>3</strong></article><article><span>Source</span><strong>11/19</strong></article><article><span>Repairs</span><strong>12/12</strong></article><article><span>Phases</span><strong>2/2</strong></article></div>
<div class="stats"><article><span>Decision</span><strong>collection-preflight-blocked</strong></article><article><span>Pending</span><strong>4</strong></article><article><span>Ready</span><strong>1</strong></article><article><span>Blocked</span><strong>3</strong></article><article><span>Source</span><strong>12/19</strong></article><article><span>Repairs</span><strong>11/11</strong></article><article><span>Phases</span><strong>2/2</strong></article></div>
</section>
<section class="section two-col" id="handoff">
<article class="panel">
@@ -128,7 +128,7 @@
</header>
<dl>
<dt>Phase</dt><dd><code>collect-source</code></dd>
<dt>Rows</dt><dd>8 / 8 blocked</dd>
<dt>Rows</dt><dd>7 / 7 blocked</dd>
<dt>Owners</dt><dd>Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator</dd>
<dt>Evidence</dt><dd>human-adjudication, native-client-telemetry, native-permission-enforcement</dd>
<dt>Next</dt><dd>Set reviewer_attestation only after choices are completed before opening the answer key.</dd>
@@ -894,15 +894,15 @@
</dl>
</article>
<article class="check-row blocked">
<article class="check-row pass">
<div>
<span>adoption_sample_count</span>
<strong>Adoption sample</strong>
</div>
<dl>
<dt>Current</dt><dd><code>0</code></dd>
<dt>Current</dt><dd><code>1</code></dd>
<dt>Expected</dt><dd><code>&gt;0</code></dd>
<dt>Status</dt><dd>blocked</dd>
<dt>Status</dt><dd>pass</dd>
<dt>Action</dt><dd>Telemetry must include adoption outcome evidence.</dd>
</dl>
</article>
@@ -941,23 +941,6 @@
</dl>
</article>
<article class="repair-row blocked">
<div>
<span>source-check</span>
<strong>adoption_sample_count</strong>
</div>
<dl>
<dt>Priority</dt><dd>40</dd>
<dt>Phase</dt><dd>collect-source</dd>
<dt>Owner</dt><dd>Browser/Chrome/IDE/provider client integrator</dd>
<dt>Status</dt><dd>blocked</dd>
<dt>Reason</dt><dd>Current value 0 does not satisfy &#x27;&gt;0&#x27;.</dd>
<dt>Action</dt><dd>Telemetry must include adoption outcome evidence.</dd>
<dt>Verify</dt><dd><code>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl &amp;&amp; python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions</code></dd>
<dt>Evidence</dt><dd>does not count as completion</dd>
</dl>
</article>
<article class="repair-row blocked">
<div>
<span>source-check</span>
+17 -77
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"summary": {
"evidence_item_count": 4,
@@ -14,14 +14,14 @@
"collection_ready_count": 1,
"collection_blocked_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"repair_checklist_count": 12,
"repair_blocked_count": 12,
"source_pass_count": 12,
"source_blocked_count": 7,
"repair_checklist_count": 11,
"repair_blocked_count": 11,
"repair_ready_count": 0,
"repair_phase_counts": {
"unblock-access": 4,
"collect-source": 8
"collect-source": 7
},
"next_repair_action_id": "human-adjudication-precheck-human-reviewer",
"next_repair_phase": "unblock-access",
@@ -30,7 +30,7 @@
"repair_counts_as_completion": false,
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -1000,8 +1000,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -1085,21 +1085,6 @@
"source": "prechecks",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1157,34 +1142,19 @@
"label": "Collect source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action": "Telemetry must include adoption outcome evidence.",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"next_action": "Import at least one metadata-only event from a real client.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false,
"rows": [
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1554,8 +1524,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -1706,21 +1676,6 @@
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1844,8 +1799,8 @@
"label": "Collect source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -1936,21 +1891,6 @@
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
+6 -7
View File
@@ -1,6 +1,6 @@
# World-Class Evidence Preflight
Generated at: `2026-06-17`
Generated at: `2026-06-21`
## Summary
@@ -10,10 +10,10 @@ Generated at: `2026-06-17`
- credential value exposed: `false`
- collection ready: `1`
- collection blocked: `3`
- source checks: `11` pass / `19` total
- repair rows: `12` blocked / `12` total
- source checks: `12` pass / `19` total
- repair rows: `11` blocked / `11` total
- phase queue: `2` blocked / `2` phases
- phase queue rows: `12`
- phase queue rows: `11`
- next repair action: `human-adjudication-precheck-human-reviewer`
- next repair owner: `human reviewer`
- next phase: `unblock-access`
@@ -51,7 +51,7 @@ Phase queue rows group the same repair checklist into operator execution phases.
| Priority | Phase | Status | Rows | Owners | Evidence | Verify | Next action |
| --- | --- | --- | --- | --- | --- | --- | --- |
| `20` | `unblock-access` | `blocked` | 4 / 4 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, operator with provider credentials, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement, provider-holdout | `python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Assign a real reviewer identity before claiming human adjudication. |
| `40` | `collect-source` | `blocked` | 8 / 8 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Set reviewer_attestation only after choices are completed before opening the answer key. |
| `40` | `collect-source` | `blocked` | 7 / 7 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Set reviewer_attestation only after choices are completed before opening the answer key. |
## Evidence Items
@@ -77,7 +77,6 @@ Repair rows convert preflight and source blockers into a prioritized operator qu
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `pending_count` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Record a reviewer choice and reason for every pair. |
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `ready_for_human_evidence` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints. |
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `reviewer_metadata_present` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Record reviewer and reviewed_at before adjudication can count. |
| `40` | `collect-source` | Browser/Chrome/IDE/provider client integrator | `native-client-telemetry` | `source-check` | `adoption_sample_count` | `blocked` | `python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Telemetry must include adoption outcome evidence. |
| `40` | `collect-source` | Browser/Chrome/IDE/provider client integrator | `native-client-telemetry` | `source-check` | `external_source_events` | `blocked` | `python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Import at least one metadata-only event from a real client. |
| `40` | `collect-source` | target client or installer integrator | `native-permission-enforcement` | `source-check` | `native_enforcement_count` | `blocked` | `python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Collect real target-client or external runtime guard proof. |
@@ -191,7 +190,7 @@ Repair rows convert preflight and source blockers into a prioritized operator qu
| Check | Current | Expected | Status | Next action |
| --- | --- | --- | --- | --- |
| External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. |
| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. |
| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. |
| Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. |
## Boundary
+6 -6
View File
@@ -68,11 +68,11 @@
<span class="eyebrow">Evidence Operations</span>
<h1>World-Class Operator Runbook</h1>
<p class="lede">A single operating page for collecting the remaining human and external evidence. It coordinates action, but does not accept evidence or change the ledger.</p>
<div class="stats"><article><span>Pending</span><strong>4</strong></article><article><span>Awaiting</span><strong>4</strong></article><article><span>Ready</span><strong>0</strong></article><article><span>Source</span><strong>11/19</strong></article><article><span>Queue</span><strong>2/2</strong></article><article><span>Steps</span><strong>6/6</strong></article><article><span>Gate</span><strong>4/5</strong></article><article><span>Blocked</span><strong>8</strong></article><article><span>Invalid</span><strong>0</strong></article></div>
<div class="stats"><article><span>Pending</span><strong>4</strong></article><article><span>Awaiting</span><strong>4</strong></article><article><span>Ready</span><strong>0</strong></article><article><span>Source</span><strong>12/19</strong></article><article><span>Queue</span><strong>2/2</strong></article><article><span>Steps</span><strong>6/6</strong></article><article><span>Gate</span><strong>4/5</strong></article><article><span>Blocked</span><strong>7</strong></article><article><span>Invalid</span><strong>0</strong></article></div>
</section>
<section class="section panel" id="fast-path"><h2>Fast Path</h2><ol><li>Run the real external or human work for one evidence item.</li><li>Generate and fill the matching submission draft.</li><li>Validate intake and inspect the submission review queue.</li><li>Refresh the ledger and run the claim guard before making any completion claim.</li></ol></section>
<section class="section panel" id="coordination"><h2>Coordination Plan</h2><p class="muted">These steps tell the assistant what to run and where the user must supply real provider, reviewer, client, or telemetry input. Every row is operational guidance only and keeps counts_as_completion false.</p><div class='table-wrap'><table><thead><tr><th>Step</th><th>Evidence</th><th>Owner</th><th>User</th><th>User action</th><th>Assistant action</th><th>Command</th><th>Pass condition</th></tr></thead><tbody><tr><td><code>prepare-evidence-session</code></td><td><code>all</code></td><td>assistant + user</td><td><code>true</code></td><td>Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.</td><td>Run preflight and prepare submission drafts without accepting them as evidence.</td><td><code>python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions &amp;&amp; python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts</code></td><td>Preflight lists the same pending evidence keys and no credential values are printed.</td></tr><tr><td><code>collect-provider-holdout</code></td><td><code>provider-holdout</code></td><td>assistant + operator with provider credentials</td><td><code>true</code></td><td>Provide the selected provider API key through an environment variable and confirm the provider, model, endpoint, and API format to use.</td><td>Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.</td><td><code>python3 scripts/yao.py output-exec . --provider-runner &lt;openai|deepseek&gt; --provider-model &lt;model&gt; --timeout-seconds 60</code></td><td>reports/output_execution_runs.json has model_executed_count &gt; 0 and token_observed_count &gt; 0.</td></tr><tr><td><code>collect-human-adjudication</code></td><td><code>human-adjudication</code></td><td>human reviewer + assistant</td><td><code>true</code></td><td>Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.</td><td>Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.</td><td><code>python3 scripts/yao.py output-review-kit . &amp;&amp; python3 scripts/yao.py output-review .</code></td><td>reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.</td></tr><tr><td><code>collect-native-permission-enforcement</code></td><td><code>native-permission-enforcement</code></td><td>target client or installer integrator + assistant</td><td><code>true</code></td><td>Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.</td><td>Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.</td><td><code>python3 scripts/yao.py runtime-permissions . --package-dir dist</code></td><td>reports/runtime_permission_probes.json has native_enforcement_count &gt; 0 and failure_count == 0.</td></tr><tr><td><code>collect-native-client-telemetry</code></td><td><code>native-client-telemetry</code></td><td>real client integrator + assistant</td><td><code>true</code></td><td>Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.</td><td>Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.</td><td><code>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external</code></td><td>reports/adoption_drift_report.json has source_types.external &gt; 0 and adoption_sample_count &gt; 0.</td></tr><tr><td><code>review-and-release-gate</code></td><td><code>all</code></td><td>assistant + ledger reviewer</td><td><code>true</code></td><td>Approve only validated evidence packets and confirm the release wording after the claim guard passes.</td><td>Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.</td><td><code>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions &amp;&amp; python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions &amp;&amp; python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions &amp;&amp; python3 scripts/yao.py world-class-claim-guard . &amp;&amp; make ci-test</code></td><td>Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.</td></tr></tbody></table></div></section>
<section class="section panel" id="phase-queue"><h2>Phase Queue</h2><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 4 / 4</code><small>Assign a real reviewer identity before claiming human adjudication.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 8 / 8</code><small>Set reviewer_attestation only after choices are completed before opening the answer key.</small></li></ul></section>
<section class="section panel" id="phase-queue"><h2>Phase Queue</h2><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 4 / 4</code><small>Assign a real reviewer identity before claiming human adjudication.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 7 / 7</code><small>Set reviewer_attestation only after choices are completed before opening the answer key.</small></li></ul></section>
<section class="section" id="items"><h2>Evidence Items</h2><div class="item-grid"><article class="item-card awaiting-submission">
<header><span>external · awaiting-submission</span><h3>Provider Holdout</h3></header>
<p>No evidence packet has been submitted for review.</p>
@@ -139,11 +139,11 @@
<dl>
<dt>Owner</dt><dd>Browser/Chrome/IDE/provider client integrator</dd>
<dt>Ledger</dt><dd><code>pending</code></dd>
<dt>Blocked</dt><dd><code>2</code></dd>
<dt>Blocked</dt><dd><code>1</code></dd>
<dt>Queue</dt><dd><code>2</code></dd>
<dt>Submission</dt><dd><code>evidence/world_class/submissions/native-client-telemetry.json</code></dd>
</dl>
<section class="source-panel"><h4>Phase Queue</h4><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 1 / 1</code><small>Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 2 / 2</code><small>Telemetry must include adoption outcome evidence.</small></li></ul></section>
<section class="source-panel"><h4>Phase Queue</h4><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 1 / 1</code><small>Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 1 / 1</code><small>Import at least one metadata-only event from a real client.</small></li></ul></section>
<section class="source-panel"><h4>Source Runbook</h4><ul><li>python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://&lt;extension-id&gt;/</li><li>Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.</li><li>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl</li><li>python3 scripts/yao.py skill-atlas --workspace-root .</li><li>python3 scripts/yao.py skill-os2-audit . --generated-at &lt;YYYY-MM-DD&gt;</li><li>Copy evidence/world_class/templates/native-client-telemetry.intake.json to evidence/world_class/submissions/native-client-telemetry.json and fill only real evidence fields.</li><li>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions</li></ul></section>
<section><h4>Commands</h4><ul class="commands"><li><span>prepare submission</span><code>python3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions</code></li><li><span>validate intake</span><code>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions</code></li><li><span>review queue</span><code>python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions</code></li><li><span>refresh ledger</span><code>python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions</code></li><li><span>guard claim</span><code>python3 scripts/yao.py world-class-claim-guard .</code></li></ul></section>
<div class="mini-grid">
@@ -151,8 +151,8 @@
<section><h4>Success Checks</h4><ul><li>reports/adoption_drift_report.json summary.source_types.external &gt; 0</li><li>reports/adoption_drift_report.json summary.adoption_sample_count &gt; 0</li><li>reports/skill_os2_audit.json item native-client-telemetry status becomes pass</li></ul></section>
<section><h4>Privacy</h4><ul><li>Telemetry must remain metadata-only and local-first.</li><li>Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.</li></ul></section>
</div>
<section class="source-panel"><h4>Next Source Actions</h4><ul><li>Import at least one metadata-only event from a real client.</li><li>Telemetry must include adoption outcome evidence.</li></ul></section>
<section class="source-panel"><h4>Source Evidence Snapshot</h4><ul class='source-checks'><li class='source-check blocked'><span>External events</span><code>external_source_events: 0 / &gt;0</code><small>Import at least one metadata-only event from a real client.</small></li><li class='source-check blocked'><span>Adoption sample</span><code>adoption_sample_count: 0 / &gt;0</code><small>Telemetry must include adoption outcome evidence.</small></li><li class='source-check pass'><span>Raw content blocked</span><code>raw_content_allowed: False / false</code><small>Telemetry must stay metadata-only.</small></li></ul></section>
<section class="source-panel"><h4>Next Source Actions</h4><ul><li>Import at least one metadata-only event from a real client.</li></ul></section>
<section class="source-panel"><h4>Source Evidence Snapshot</h4><ul class='source-checks'><li class='source-check blocked'><span>External events</span><code>external_source_events: 0 / &gt;0</code><small>Import at least one metadata-only event from a real client.</small></li><li class='source-check pass'><span>Adoption sample</span><code>adoption_sample_count: 1 / &gt;0</code><small>Telemetry must include adoption outcome evidence.</small></li><li class='source-check pass'><span>Raw content blocked</span><code>raw_content_allowed: False / false</code><small>Telemetry must stay metadata-only.</small></li></ul></section>
</article></div></section>
<section class="section panel" id="release-gate"><h2>Release Gate</h2><div class="gate-summary">
<article><span>Decision</span><strong>blocked-until-evidence-accepted</strong></article>
+19 -80
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-20",
"skill_dir": ".",
"summary": {
"evidence_item_count": 4,
@@ -12,13 +12,13 @@
"valid_packet_source_incomplete_count": 0,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"repair_checklist_count": 12,
"repair_blocked_count": 12,
"source_pass_count": 12,
"source_blocked_count": 7,
"repair_checklist_count": 11,
"repair_blocked_count": 11,
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -900,7 +900,7 @@
"review_state": "awaiting-submission",
"source_accepted": false,
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"execution_runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
"Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.",
@@ -948,7 +948,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -969,8 +969,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -985,10 +985,9 @@
"next_action": "Telemetry must stay metadata-only."
}
],
"blocked_source_check_count": 2,
"blocked_source_check_count": 1,
"next_source_actions": [
"Import at least one metadata-only event from a real client.",
"Telemetry must include adoption outcome evidence."
"Import at least one metadata-only event from a real client."
],
"repair_checklist": [
{
@@ -1006,21 +1005,6 @@
"source": "prechecks",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1037,7 +1021,7 @@
"counts_as_completion": false
}
],
"repair_blocked_count": 3,
"repair_blocked_count": 2,
"repair_counts_as_completion": false,
"phase_queue": [
{
@@ -1080,34 +1064,19 @@
"label": "Collect source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action": "Telemetry must include adoption outcome evidence.",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"next_action": "Import at least one metadata-only event from a real client.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false,
"rows": [
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1459,21 +1428,6 @@
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
@@ -1597,8 +1551,8 @@
"label": "Collect source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -1689,21 +1643,6 @@
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
"evidence_key": "native-client-telemetry",
"repair_type": "source-check",
"target": "adoption_sample_count",
"phase": "collect-source",
"priority": 40,
"owner": "Browser/Chrome/IDE/provider client integrator",
"status": "blocked",
"blocking_reason": "Current value 0 does not satisfy '>0'.",
"next_action": "Telemetry must include adoption outcome evidence.",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"source": "source_checklist",
"counts_as_completion": false
},
{
"action_id": "native-client-telemetry-source-check-external_source_events",
"evidence_key": "native-client-telemetry",
+8 -9
View File
@@ -1,6 +1,6 @@
# World-Class Operator Runbook
Generated at: `2026-06-17`
Generated at: `2026-06-20`
## Summary
@@ -12,7 +12,7 @@ Generated at: `2026-06-17`
- awaiting submission: `4`
- ready for ledger review: `0`
- phase queue: `2` blocked / `2` phases
- phase queue rows: `12`
- phase queue rows: `11`
- phase queue counts as completion: `false`
- coordination steps: `6` user-required / `6` total
- coordination pending keys: `human-adjudication, native-client-telemetry, native-permission-enforcement, provider-holdout`
@@ -46,7 +46,7 @@ This runbook coordinates evidence collection only. It does not accept submission
| Phase | Status | Rows | Blocked | Owners | Next action | Verify |
| --- | --- | ---: | ---: | --- | --- | --- |
| `unblock-access` | `blocked` | `4` | `4` | Browser/Chrome/IDE/provider client integrator, human reviewer, operator with provider credentials, target client or installer integrator | Assign a real reviewer identity before claiming human adjudication. | `python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
| `collect-source` | `blocked` | `8` | `8` | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | Set reviewer_attestation only after choices are completed before opening the answer key. | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
| `collect-source` | `blocked` | `7` | `7` | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | Set reviewer_attestation only after choices are completed before opening the answer key. | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
## Evidence Items
@@ -55,7 +55,7 @@ This runbook coordinates evidence collection only. It does not accept submission
| `provider-holdout` | `pending` | `awaiting-submission` | `awaiting-submission` | `0` | none | operator with provider credentials |
| `human-adjudication` | `pending` | `awaiting-submission` | `awaiting-submission` | `5` | Record a reviewer choice and reason for every pair. | human reviewer |
| `native-permission-enforcement` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Collect real target-client or external runtime guard proof. | target client or installer integrator |
| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `2` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator |
| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator |
## Provider Holdout
@@ -313,8 +313,8 @@ This runbook coordinates evidence collection only. It does not accept submission
- objective: Import production metadata-only events from a real external client into the local drift loop.
- blocking reason: No evidence packet has been submitted for review.
- blocked source checks: `2`
- repair rows: `3` blocked
- blocked source checks: `1`
- repair rows: `2` blocked
- phase queue: `2` blocked phases
- submission: `evidence/world_class/submissions/native-client-telemetry.json`
- template: `evidence/world_class/templates/native-client-telemetry.intake.json`
@@ -324,7 +324,7 @@ This runbook coordinates evidence collection only. It does not accept submission
| Phase | Status | Rows | Blocked | Next action |
| --- | --- | ---: | ---: | --- |
| `unblock-access` | `blocked` | `1` | `1` | Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events. |
| `collect-source` | `blocked` | `2` | `2` | Telemetry must include adoption outcome evidence. |
| `collect-source` | `blocked` | `1` | `1` | Import at least one metadata-only event from a real client. |
### Source Runbook
@@ -375,14 +375,13 @@ This runbook coordinates evidence collection only. It does not accept submission
### Next Source Actions
- Import at least one metadata-only event from a real client.
- Telemetry must include adoption outcome evidence.
### Source Evidence Snapshot
| Check | Current | Expected | Status | Next action |
| --- | --- | --- | --- | --- |
| External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. |
| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. |
| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. |
| Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. |
## Release Gate
+10 -10
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-20",
"skill_dir": ".",
"decision": "awaiting-submissions",
"ready_to_claim_world_class": false,
@@ -14,8 +14,8 @@
"unmatched_submission_count": 0,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"review_counts_submission_as_completion": false,
"summary": {
"review_item_count": 4,
@@ -27,8 +27,8 @@
"unmatched_submission_count": 0,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"review_counts_submission_as_completion": false,
"decision": "awaiting-submissions"
@@ -378,7 +378,7 @@
"intake_errors": [],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -399,8 +399,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -416,8 +416,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"success_checks": [
"reports/adoption_drift_report.json summary.source_types.external > 0",
"reports/adoption_drift_report.json summary.adoption_sample_count > 0",
+2 -2
View File
@@ -1,6 +1,6 @@
# World-Class Submission Review
Generated at: `2026-06-17`
Generated at: `2026-06-20`
## Summary
@@ -153,7 +153,7 @@ This report is a read-only reviewer queue. It does not accept evidence or make w
#### Source Checks
- External events: 0 / >0 => blocked
- Adoption sample: 0 / >0 => blocked
- Adoption sample: 1 / >0 => pass
- Raw content blocked: False / false => pass
#### Completion Assertions
+1
View File
@@ -34,6 +34,7 @@ DEFAULT_TARGETS = [
"architecture-maintainability-check",
"yao-cli-check",
"yao-cli-world-class-check",
"operator-ux-check",
"skill-overview-check",
"skill-interpretation-check",
"skill-report-metrics-check",
+2
View File
@@ -258,6 +258,8 @@ def should_skip_archive_path(rel_path: Path) -> bool:
parts = rel_path.parts
if any(part in EXCLUDED_ARCHIVE_PARTS for part in parts):
return True
if rel_path.name == "SKILL.md" and parts != ("SKILL.md",):
return True
if parts == ("reports", "telemetry_events.jsonl"):
return True
if parts and parts[0] == "tests" and any(part.startswith("tmp") for part in parts[1:]):
+15
View File
@@ -85,6 +85,11 @@ def top_level_dirs(names: list[str]) -> list[str]:
return sorted(roots)
def non_root_skill_entries(names: list[str], package_root: str) -> list[str]:
root_entry = f"{package_root}/SKILL.md"
return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry)
def add_check(checks: list[dict[str, str]], failures: list[str], check_id: str, passed: bool, detail: str) -> None:
checks.append({"id": check_id, "status": "pass" if passed else "fail", "detail": detail})
if not passed:
@@ -221,7 +226,15 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No
add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}")
else:
unsafe_entries = unsafe_zip_entries(archive_entries)
nested_skill_entries = non_root_skill_entries(archive_entries, package_root)
add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries")
add_check(
checks,
failures,
"single-skill-entrypoint",
not nested_skill_entries,
"Installed package exposes only the root SKILL.md entrypoint",
)
roots = top_level_dirs(archive_entries)
add_check(checks, failures, "single-top-level", roots == [package_root], f"Archive top-level directory is {package_root}")
if not unsafe_entries and roots:
@@ -289,6 +302,7 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No
"summary": {
"archive_present": archive_path.exists(),
"archive_entry_count": len(archive_entries),
"nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)),
"archive_extracted": bool(installed_dir and installed_dir.exists()),
"entrypoint_loaded": bool(frontmatter),
"manifest_loaded": bool(source_manifest),
@@ -321,6 +335,7 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- OK: `{report['ok']}`",
f"- Package directory: `{report['package_dir']}`",
f"- Archive extracted: `{summary['archive_extracted']}`",
f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`",
f"- Entrypoint loaded: `{summary['entrypoint_loaded']}`",
f"- Manifest loaded: `{summary['manifest_loaded']}`",
f"- Interface loaded: `{summary['interface_loaded']}`",
+15
View File
@@ -59,6 +59,11 @@ def generated_zip_entries(names: list[str]) -> list[str]:
return generated
def non_root_skill_entries(names: list[str], package_root: str) -> list[str]:
root_entry = f"{package_root}/SKILL.md"
return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry)
def required_targets(expectations: dict[str, Any], package_dir: Path) -> list[str]:
targets = expectations.get("required_targets") or []
if targets:
@@ -133,6 +138,7 @@ def verify_package(
add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}")
else:
unsafe_entries = unsafe_zip_entries(archive_entries)
nested_skill_entries = non_root_skill_entries(archive_entries, package_root)
required_entries = [
f"{package_root}/SKILL.md",
f"{package_root}/manifest.json",
@@ -141,6 +147,13 @@ def verify_package(
add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries")
for entry in required_entries:
add_check(checks, failures, f"archive-entry-{entry}", entry in archive_entries, f"Archive contains {entry}")
add_check(
checks,
failures,
"archive-single-skill-entrypoint",
not nested_skill_entries,
"Archive exposes only the root SKILL.md entrypoint",
)
generated_entries = generated_zip_entries(archive_entries)
add_check(checks, failures, "archive-excludes-generated", not generated_entries, "Archive excludes generated dist/, .previews/, and tests/tmp* contents")
elif require_zip:
@@ -189,6 +202,7 @@ def verify_package(
"archive_present": archive_path.exists(),
"archive_sha256": archive_sha,
"archive_entry_count": len(archive_entries),
"nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)),
"failure_count": len(failures),
"warning_count": len(warnings),
},
@@ -213,6 +227,7 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- Targets: `{summary['adapter_count']} / {summary['target_count']}` adapters present",
f"- Archive present: `{summary['archive_present']}`",
f"- Archive SHA256: `{summary['archive_sha256'] or 'n/a'}`",
f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`",
f"- Failures: `{summary['failure_count']}`",
f"- Warnings: `{summary['warning_count']}`",
"",
+5
View File
@@ -38,6 +38,11 @@ from yao_cli_output_commands import (
command_output_review_import,
command_output_review_kit,
)
from yao_cli_operator_commands import (
command_install_status,
command_localized_doc_sync_check,
command_pr_review_report,
)
from yao_cli_parser import build_parser as build_cli_parser
from yao_cli_report_commands import (
command_artifact_design_profile,
+424
View File
@@ -0,0 +1,424 @@
"""Operator UX commands for installation, docs sync, and PR review evidence."""
import argparse
import json
import shutil
import subprocess
from pathlib import Path
from typing import Any
from yao_cli_runtime import ROOT
SCRIPT_INTERFACE = "internal-module"
SCRIPT_INTERFACE_REASON = "Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics."
DEFAULT_DOC_PAIRS = [
{
"key": "skill-os-2-upgrade",
"source": "## Skill OS 2.0 Upgrade",
"localized": "## Skill OS 2.0 升级",
},
{
"key": "from-1-to-2",
"source": "## From 1.0 to 2.0",
"localized": "## 从 1.0 到 2.0",
},
{
"key": "use-cases",
"source": "## 2.0 Use Cases",
"localized": "## 2.0 使用场景",
},
{
"key": "operator-ux",
"source": "## Operator UX Commands",
"localized": "## Operator UX 命令",
},
{
"key": "architecture",
"source": "## Architecture",
"localized": "## 架构图",
},
{
"key": "benchmark",
"source": "## Weighted Quality Benchmark",
"localized": "## 加权质量评测",
},
{
"key": "claim-boundary",
"source": 'Current posture: the repository is ready for beta and external testing',
"localized": "当前发布口径:仓库已经适合进入测试版和外部试用",
},
]
def _expand(path: str) -> Path:
return Path(path).expanduser().resolve()
def _display(path: Path) -> str:
try:
return str(path.relative_to(Path.home()))
except ValueError:
return str(path)
def _skill_path_status(root: Path, skill_name: str, expected_source: Path) -> dict[str, Any]:
path = root / skill_name
exists = path.exists()
resolved = path.resolve() if exists or path.is_symlink() else path
has_skill_md = (path / "SKILL.md").exists()
return {
"root": str(root),
"path": str(path),
"exists": exists,
"is_symlink": path.is_symlink(),
"resolved": str(resolved),
"has_skill_md": has_skill_md,
"points_to_expected_source": resolved == expected_source,
}
def _recommend_install_status(codex: dict[str, Any], agents: dict[str, Any], disabled: dict[str, Any]) -> list[str]:
recommendations = []
if codex["has_skill_md"]:
recommendations.append("Codex/Cortex can discover this skill through .codex/skills; restart the app if the list looks stale.")
if agents["has_skill_md"]:
recommendations.append("The skill is also active under .agents/skills; expect a duplicate entry when this repo is open.")
if not codex["has_skill_md"] and not agents["has_skill_md"] and disabled["has_skill_md"]:
recommendations.append("Only the disabled mirror exists; run make sync-active-install or add a .codex/skills symlink to activate it.")
if not codex["has_skill_md"] and not agents["has_skill_md"] and not disabled["has_skill_md"]:
recommendations.append("No active or disabled install was found for this skill name.")
if codex["has_skill_md"] and not codex["points_to_expected_source"]:
recommendations.append("The .codex/skills entry points somewhere else; inspect the symlink before editing or syncing.")
if not recommendations:
recommendations.append("No action required.")
return recommendations
def command_install_status(args: argparse.Namespace) -> int:
skill_name = args.skill_name
expected_source = _expand(args.expected_source)
codex_root = _expand(args.codex_root)
agents_root = _expand(args.agents_root)
disabled_root = _expand(args.disabled_root)
codex = _skill_path_status(codex_root, skill_name, expected_source)
agents = _skill_path_status(agents_root, skill_name, expected_source)
disabled = _skill_path_status(disabled_root, skill_name, expected_source)
active_locations = [name for name, item in (("codex", codex), ("agents", agents)) if item["has_skill_md"]]
report = {
"ok": True,
"skill_name": skill_name,
"expected_source": str(expected_source),
"summary": {
"codex_active": codex["has_skill_md"],
"agents_active": agents["has_skill_md"],
"disabled_mirror": disabled["has_skill_md"],
"active_location_count": len(active_locations),
"duplicate_active": len(active_locations) > 1,
"active_locations": active_locations,
},
"locations": {
"codex": codex,
"agents": agents,
"disabled": disabled,
},
"recommendations": _recommend_install_status(codex, agents, disabled),
}
print(json.dumps(report, ensure_ascii=False, indent=2))
return 0
def _load_pairs(raw_pairs: list[str]) -> list[dict[str, str]]:
if not raw_pairs:
return DEFAULT_DOC_PAIRS
pairs = []
for raw in raw_pairs:
parts = raw.split("::")
if len(parts) != 3:
raise ValueError("--pair must use key::source-marker::localized-marker")
pairs.append({"key": parts[0], "source": parts[1], "localized": parts[2]})
return pairs
def _write_json(path: str | None, payload: dict[str, Any]) -> None:
if not path:
return
target = _expand(path)
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
def _write_docs_sync_md(path: str | None, payload: dict[str, Any]) -> None:
if not path:
return
target = _expand(path)
target.parent.mkdir(parents=True, exist_ok=True)
lines = [
"# Localized Docs Sync Check",
"",
f"- ok: `{str(payload['ok']).lower()}`",
f"- source: `{payload['source']}`",
f"- localized: `{payload['localized']}`",
f"- checked: `{payload['summary']['checked_count']}`",
f"- missing: `{payload['summary']['missing_count']}`",
f"- skipped: `{payload['summary']['skipped_count']}`",
"",
"## Pairs",
"",
]
for item in payload["pairs"]:
lines.append(f"- `{item['key']}`: `{item['status']}`")
target.write_text("\n".join(lines) + "\n", encoding="utf-8")
def command_localized_doc_sync_check(args: argparse.Namespace) -> int:
source_path = _expand(args.source)
localized_path = _expand(args.localized)
try:
pairs = _load_pairs(args.pair)
except ValueError as exc:
report = {
"ok": False,
"source": str(source_path),
"localized": str(localized_path),
"summary": {"checked_count": 0, "missing_count": 0, "skipped_count": 0},
"pairs": [],
"missing": [],
"failures": [str(exc)],
}
_write_json(args.output_json, report)
_write_docs_sync_md(args.output_md, report)
print(json.dumps(report, ensure_ascii=False, indent=2))
return 2
missing_paths = [str(path) for path in (source_path, localized_path) if not path.exists()]
if missing_paths:
report = {
"ok": False,
"source": str(source_path),
"localized": str(localized_path),
"summary": {"checked_count": 0, "missing_count": 0, "skipped_count": 0},
"pairs": [],
"missing": [],
"failures": [f"Missing docs file: {path}" for path in missing_paths],
}
_write_json(args.output_json, report)
_write_docs_sync_md(args.output_md, report)
print(json.dumps(report, ensure_ascii=False, indent=2))
return 2
source_text = source_path.read_text(encoding="utf-8")
localized_text = localized_path.read_text(encoding="utf-8")
results = []
for pair in pairs:
source_present = pair["source"] in source_text
localized_present = pair["localized"] in localized_text
if not source_present:
status = "skipped-source-missing"
elif localized_present:
status = "pass"
else:
status = "missing-localized-marker"
results.append(
{
**pair,
"source_present": source_present,
"localized_present": localized_present,
"status": status,
}
)
missing = [item for item in results if item["status"] == "missing-localized-marker"]
checked = [item for item in results if item["source_present"]]
report = {
"ok": not missing,
"source": str(source_path),
"localized": str(localized_path),
"summary": {
"checked_count": len(checked),
"missing_count": len(missing),
"skipped_count": len(results) - len(checked),
},
"pairs": results,
"missing": missing,
}
_write_json(args.output_json, report)
_write_docs_sync_md(args.output_md, report)
print(json.dumps(report, ensure_ascii=False, indent=2))
return 0 if report["ok"] else 2
def _run_gh(args: list[str]) -> subprocess.CompletedProcess[str]:
return subprocess.run(["gh", *args], capture_output=True, text=True)
def _gh_available() -> bool:
return shutil.which("gh") is not None
def _review_depth(changed_files: int, changed_lines: int) -> str:
if changed_files <= 5 and changed_lines < 100:
return "quick"
if changed_files <= 10 and changed_lines < 500:
return "standard"
return "deep"
def _check_summary(checks: list[dict[str, Any]]) -> dict[str, Any]:
pending = []
failed = []
passed = []
for item in checks:
name = str(item.get("name") or item.get("workflowName") or "check")
status = str(item.get("status") or "").upper()
conclusion = str(item.get("conclusion") or "").upper()
if status and status != "COMPLETED":
pending.append(name)
elif conclusion in {"SUCCESS", "SKIPPED", "NEUTRAL"}:
passed.append(name)
else:
failed.append(name)
return {
"present": bool(checks),
"passed_count": len(passed),
"pending_count": len(pending),
"failed_count": len(failed),
"passed": passed,
"pending": pending,
"failed": failed,
}
def _pr_decision(view: dict[str, Any], checks: dict[str, Any], require_checks: bool) -> str:
if view.get("state") != "OPEN":
return "not-open"
if view.get("isDraft"):
return "draft"
if view.get("mergeable") not in {"MERGEABLE", "UNKNOWN"}:
return "not-mergeable"
if checks["failed_count"]:
return "fix-failing-checks"
if checks["pending_count"]:
return "wait-for-checks"
if require_checks and not checks["present"]:
return "checks-required"
if not checks["present"]:
return "local-verification-required"
return "mergeable-after-review"
def _write_pr_review_md(path: str | None, payload: dict[str, Any]) -> None:
if not path:
return
target = _expand(path)
target.parent.mkdir(parents=True, exist_ok=True)
lines = [
"# PR Review Report",
"",
f"- ok: `{str(payload['ok']).lower()}`",
f"- PR: `{payload['pr']}`",
f"- repo: `{payload.get('repo') or 'current'}`",
f"- decision: `{payload['decision']}`",
f"- review depth: `{payload['review_depth']}`",
f"- changed files: `{payload['summary']['changed_files']}`",
f"- additions: `{payload['summary']['additions']}`",
f"- deletions: `{payload['summary']['deletions']}`",
f"- checks present: `{str(payload['checks']['present']).lower()}`",
"",
"## Files",
"",
]
for path_item in payload["files"]:
lines.append(f"- `{path_item}`")
lines.extend(["", "## Suggested Commands", ""])
for command in payload["suggested_commands"]:
lines.append(f"- `{command}`")
target.write_text("\n".join(lines) + "\n", encoding="utf-8")
def command_pr_review_report(args: argparse.Namespace) -> int:
if not _gh_available():
report = {
"ok": False,
"pr": args.pr,
"repo": args.repo,
"decision": "missing-gh-cli",
"failures": ["GitHub CLI `gh` is not available on PATH."],
}
print(json.dumps(report, ensure_ascii=False, indent=2))
return 2
fields = ",".join(
[
"number",
"title",
"state",
"isDraft",
"mergeable",
"author",
"baseRefName",
"headRefName",
"url",
"additions",
"deletions",
"changedFiles",
"commits",
"statusCheckRollup",
"reviewDecision",
"maintainerCanModify",
]
)
view_args = ["pr", "view", args.pr, "--json", fields]
diff_args = ["pr", "diff", args.pr, "--name-only"]
if args.repo:
view_args.extend(["--repo", args.repo])
diff_args.extend(["--repo", args.repo])
view_proc = _run_gh(view_args)
if view_proc.returncode != 0:
report = {
"ok": False,
"pr": args.pr,
"repo": args.repo,
"decision": "gh-pr-view-failed",
"returncode": view_proc.returncode,
"stderr": view_proc.stderr.strip(),
}
print(json.dumps(report, ensure_ascii=False, indent=2))
return 2
view = json.loads(view_proc.stdout)
diff_proc = _run_gh(diff_args)
files = [line.strip() for line in diff_proc.stdout.splitlines() if line.strip()] if diff_proc.returncode == 0 else []
checks = _check_summary(view.get("statusCheckRollup") or [])
changed_lines = int(view.get("additions") or 0) + int(view.get("deletions") or 0)
depth = _review_depth(int(view.get("changedFiles") or len(files)), changed_lines)
decision = _pr_decision(view, checks, args.require_checks)
report = {
"ok": decision not in {"missing-gh-cli", "gh-pr-view-failed", "checks-required", "fix-failing-checks", "not-mergeable", "draft", "not-open"},
"pr": str(view.get("number", args.pr)),
"repo": args.repo,
"url": view.get("url", ""),
"title": view.get("title", ""),
"state": view.get("state", ""),
"mergeable": view.get("mergeable", ""),
"decision": decision,
"review_depth": depth,
"summary": {
"changed_files": int(view.get("changedFiles") or len(files)),
"additions": int(view.get("additions") or 0),
"deletions": int(view.get("deletions") or 0),
"commit_count": len(view.get("commits") or []),
"maintainer_can_modify": bool(view.get("maintainerCanModify")),
},
"checks": checks,
"files": files,
"suggested_commands": [
f"gh pr view {args.pr}{' --repo ' + args.repo if args.repo else ''} --json number,title,state,mergeable,statusCheckRollup",
f"gh pr diff {args.pr}{' --repo ' + args.repo if args.repo else ''} --name-only",
f"git fetch origin pull/{args.pr}/head:refs/tmp/pr-{args.pr}",
f"git diff --check origin/main...refs/tmp/pr-{args.pr}",
],
}
_write_json(args.output_json, report)
_write_pr_review_md(args.output_md, report)
print(json.dumps(report, ensure_ascii=False, indent=2))
return 0 if report["ok"] else 2
+2
View File
@@ -5,6 +5,7 @@ import argparse
from collections.abc import Callable
from yao_cli_parser_evidence import add_evidence_commands
from yao_cli_parser_operator import add_operator_commands
from yao_cli_parser_operations import add_operating_loop_commands
@@ -299,6 +300,7 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int]
feedback_cmd.add_argument("--recommended-action", default="review")
feedback_cmd.set_defaults(func=_handler(command_handlers, "command_feedback"))
add_operator_commands(subparsers, command_handlers)
add_operating_loop_commands(subparsers, command_handlers)
baseline_compare_cmd = subparsers.add_parser(
+58
View File
@@ -0,0 +1,58 @@
#!/usr/bin/env python3
"""Operator UX command declarations for the Yao CLI parser."""
import argparse
from collections.abc import Callable
SCRIPT_INTERFACE = "internal-module"
SCRIPT_INTERFACE_REASON = "Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module."
def _handler(command_handlers: dict[str, Callable[[argparse.Namespace], int]], name: str) -> Callable[[argparse.Namespace], int]:
if name not in command_handlers:
raise KeyError(f"Missing CLI command handler: {name}")
return command_handlers[name]
def add_operator_commands(
subparsers: argparse._SubParsersAction,
command_handlers: dict[str, Callable[[argparse.Namespace], int]],
) -> None:
install_status_cmd = subparsers.add_parser(
"install-status",
help="Diagnose whether yao-meta-skill is active in Codex/Cortex, .agents, or a disabled mirror.",
)
install_status_cmd.add_argument("--skill-name", default="yao-meta-skill")
install_status_cmd.add_argument("--expected-source", default=".")
install_status_cmd.add_argument("--codex-root", default="~/.codex/skills")
install_status_cmd.add_argument("--agents-root", default="~/.agents/skills")
install_status_cmd.add_argument("--disabled-root", default="~/.agents/skills.disabled")
install_status_cmd.set_defaults(func=_handler(command_handlers, "command_install_status"))
localized_docs_cmd = subparsers.add_parser(
"localized-doc-sync-check",
help="Check that localized README docs contain the public homepage sections introduced in README.md.",
)
localized_docs_cmd.add_argument("--source", default="README.md")
localized_docs_cmd.add_argument("--localized", default="docs/README.zh-CN.md")
localized_docs_cmd.add_argument(
"--pair",
action="append",
default=[],
help="Custom sync marker in key::source-marker::localized-marker form. Replaces defaults when present.",
)
localized_docs_cmd.add_argument("--output-json")
localized_docs_cmd.add_argument("--output-md")
localized_docs_cmd.set_defaults(func=_handler(command_handlers, "command_localized_doc_sync_check"))
pr_review_cmd = subparsers.add_parser(
"pr-review-report",
help="Build a read-only GitHub PR review report with mergeability, checks, files, and suggested commands.",
)
pr_review_cmd.add_argument("pr")
pr_review_cmd.add_argument("--repo")
pr_review_cmd.add_argument("--require-checks", action="store_true")
pr_review_cmd.add_argument("--output-json")
pr_review_cmd.add_argument("--output-md")
pr_review_cmd.set_defaults(func=_handler(command_handlers, "command_pr_review_report"))
+2
View File
@@ -254,10 +254,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py"
+6 -73
View File
@@ -166,10 +166,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py",
@@ -585,75 +587,6 @@
"candidate_count": 0
}
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"description": "Create GEO ranking-article packs from brand briefs. Use when asked to research a brand, find GEO or 生成式引擎优化 keywords and five competitors, generate timely titles, write five ~2000-character articles, and save them to a fixed knowledge-base folder with an HTML index. Do not use for generic SEO advice, one-off copy, or writing without competitor research.",
"owner": "",
"version": "",
"status": "",
"maturity": "",
"updated_at": "",
"review_cadence": "",
"targets": [],
"resources": [
"scripts/build_html_index.py",
"references/article-blueprint.md",
"references/feishu-benchmark-patterns.md",
"references/geo-research-playbook.md",
"templates/brand-brief-template.md"
],
"token_set": [
"2000-character",
"advice",
"articles",
"asked",
"brand",
"briefs",
"competitor",
"competitors",
"copy",
"do",
"find",
"five",
"fixed",
"folder",
"generate",
"generic",
"geo",
"html",
"index",
"keywords",
"knowledge-base",
"not",
"one-off",
"or",
"packs",
"ranking-article",
"research",
"save",
"seo",
"them",
"timely",
"titles",
"without",
"write",
"writing",
"生成式引擎优化"
],
"atlas_scope": "embedded-generated-skill",
"actionable": false,
"scope_reason": "This nested generated skill is retained as local evidence and should not gate the root Meta Skill release.",
"telemetry": {
"report_present": false,
"report": "geo-ranking-article-generator/reports/adoption_drift_report.json",
"risk_band": "missing",
"event_count": 0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
@@ -752,19 +685,19 @@
}
],
"summary": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"shared_resource_count": 0,
"no_route_opportunity_count": 0,
"telemetry_report_count": 1,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"non_actionable_issue_count": 24
"non_actionable_issue_count": 22
}
}
-4
View File
@@ -32,10 +32,6 @@
"name": "frontend-review",
"path": "examples/team-frontend-review/generated-skill"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest"
-11
View File
@@ -54,17 +54,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"missing": [
"owner",
"review_cadence",
"maturity"
],
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
-11
View File
@@ -6,7 +6,6 @@ yao-meta-skill,frontend-review,.,examples/evolution-frontend-review/v1,0.029,cle
yao-meta-skill,incident-command-governor,.,examples/governed-incident-command/generated-skill,0.034,clear,False,release,example
yao-meta-skill,note-cleanup,.,examples/simple-note-cleanup/generated-skill,0.061,clear,False,release,example
yao-meta-skill,frontend-review,.,examples/team-frontend-review/generated-skill,0.029,clear,False,release,example
yao-meta-skill,geo-ranking-article-generator,.,geo-ranking-article-generator,0.02,clear,False,release,embedded-generated-skill
yao-meta-skill,invalid-governance-skill,.,tests/fixtures/governance_invalid_manifest,0.0,clear,False,release,test-fixture
yao-meta-skill,broken-yaml-skill,.,tests/fixtures/package_invalid_yaml,0.0,clear,False,release,test-fixture
yao-meta-skill,broken-skill,.,tests/fixtures/package_missing_interface_field,0.0,clear,False,release,test-fixture
@@ -16,7 +15,6 @@ release-orchestrator,frontend-review,examples/complex-release-orchestrator/gener
release-orchestrator,incident-command-governor,examples/complex-release-orchestrator/generated-skill,examples/governed-incident-command/generated-skill,0.116,clear,False,example,example
release-orchestrator,note-cleanup,examples/complex-release-orchestrator/generated-skill,examples/simple-note-cleanup/generated-skill,0.06,clear,False,example,example
release-orchestrator,frontend-review,examples/complex-release-orchestrator/generated-skill,examples/team-frontend-review/generated-skill,0.059,clear,False,example,example
release-orchestrator,geo-ranking-article-generator,examples/complex-release-orchestrator/generated-skill,geo-ranking-article-generator,0.094,clear,False,example,embedded-generated-skill
release-orchestrator,invalid-governance-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
release-orchestrator,broken-yaml-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
release-orchestrator,broken-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
@@ -25,7 +23,6 @@ frontend-review,frontend-review,examples/evolution-frontend-review/final,example
frontend-review,incident-command-governor,examples/evolution-frontend-review/final,examples/governed-incident-command/generated-skill,0.094,clear,False,example,example
frontend-review,note-cleanup,examples/evolution-frontend-review/final,examples/simple-note-cleanup/generated-skill,0.053,clear,False,example,example
frontend-review,frontend-review,examples/evolution-frontend-review/final,examples/team-frontend-review/generated-skill,0.64,collision,False,example,example
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/final,geo-ranking-article-generator,0.036,clear,False,example,embedded-generated-skill
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/final,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/final,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
frontend-review,broken-skill,examples/evolution-frontend-review/final,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
@@ -33,35 +30,27 @@ frontend-review,frontend-review,examples/evolution-frontend-review/v0,examples/e
frontend-review,incident-command-governor,examples/evolution-frontend-review/v0,examples/governed-incident-command/generated-skill,0.056,clear,False,example,example
frontend-review,note-cleanup,examples/evolution-frontend-review/v0,examples/simple-note-cleanup/generated-skill,0.0,clear,False,example,example
frontend-review,frontend-review,examples/evolution-frontend-review/v0,examples/team-frontend-review/generated-skill,0.136,clear,False,example,example
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/v0,geo-ranking-article-generator,0.0,clear,False,example,embedded-generated-skill
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/v0,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/v0,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
frontend-review,broken-skill,examples/evolution-frontend-review/v0,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
frontend-review,incident-command-governor,examples/evolution-frontend-review/v1,examples/governed-incident-command/generated-skill,0.097,clear,False,example,example
frontend-review,note-cleanup,examples/evolution-frontend-review/v1,examples/simple-note-cleanup/generated-skill,0.054,clear,False,example,example
frontend-review,frontend-review,examples/evolution-frontend-review/v1,examples/team-frontend-review/generated-skill,0.538,collision,False,example,example
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/v1,geo-ranking-article-generator,0.037,clear,False,example,embedded-generated-skill
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/v1,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/v1,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
frontend-review,broken-skill,examples/evolution-frontend-review/v1,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
incident-command-governor,note-cleanup,examples/governed-incident-command/generated-skill,examples/simple-note-cleanup/generated-skill,0.065,clear,False,example,example
incident-command-governor,frontend-review,examples/governed-incident-command/generated-skill,examples/team-frontend-review/generated-skill,0.133,clear,False,example,example
incident-command-governor,geo-ranking-article-generator,examples/governed-incident-command/generated-skill,geo-ranking-article-generator,0.042,clear,False,example,embedded-generated-skill
incident-command-governor,invalid-governance-skill,examples/governed-incident-command/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
incident-command-governor,broken-yaml-skill,examples/governed-incident-command/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
incident-command-governor,broken-skill,examples/governed-incident-command/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
note-cleanup,frontend-review,examples/simple-note-cleanup/generated-skill,examples/team-frontend-review/generated-skill,0.054,clear,False,example,example
note-cleanup,geo-ranking-article-generator,examples/simple-note-cleanup/generated-skill,geo-ranking-article-generator,0.038,clear,False,example,embedded-generated-skill
note-cleanup,invalid-governance-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
note-cleanup,broken-yaml-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
note-cleanup,broken-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
frontend-review,geo-ranking-article-generator,examples/team-frontend-review/generated-skill,geo-ranking-article-generator,0.037,clear,False,example,embedded-generated-skill
frontend-review,invalid-governance-skill,examples/team-frontend-review/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
frontend-review,broken-yaml-skill,examples/team-frontend-review/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
frontend-review,broken-skill,examples/team-frontend-review/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
geo-ranking-article-generator,invalid-governance-skill,geo-ranking-article-generator,tests/fixtures/governance_invalid_manifest,0.0,clear,False,embedded-generated-skill,test-fixture
geo-ranking-article-generator,broken-yaml-skill,geo-ranking-article-generator,tests/fixtures/package_invalid_yaml,0.0,clear,False,embedded-generated-skill,test-fixture
geo-ranking-article-generator,broken-skill,geo-ranking-article-generator,tests/fixtures/package_missing_interface_field,0.0,clear,False,embedded-generated-skill,test-fixture
invalid-governance-skill,broken-yaml-skill,tests/fixtures/governance_invalid_manifest,tests/fixtures/package_invalid_yaml,0.111,clear,False,test-fixture,test-fixture
invalid-governance-skill,broken-skill,tests/fixtures/governance_invalid_manifest,tests/fixtures/package_missing_interface_field,0.125,clear,False,test-fixture,test-fixture
broken-yaml-skill,broken-skill,tests/fixtures/package_invalid_yaml,tests/fixtures/package_missing_interface_field,0.833,collision,False,test-fixture,test-fixture
1 skill_a skill_b path_a path_b score status actionable scope_a scope_b
6 yao-meta-skill incident-command-governor . examples/governed-incident-command/generated-skill 0.034 clear False release example
7 yao-meta-skill note-cleanup . examples/simple-note-cleanup/generated-skill 0.061 clear False release example
8 yao-meta-skill frontend-review . examples/team-frontend-review/generated-skill 0.029 clear False release example
yao-meta-skill geo-ranking-article-generator . geo-ranking-article-generator 0.02 clear False release embedded-generated-skill
9 yao-meta-skill invalid-governance-skill . tests/fixtures/governance_invalid_manifest 0.0 clear False release test-fixture
10 yao-meta-skill broken-yaml-skill . tests/fixtures/package_invalid_yaml 0.0 clear False release test-fixture
11 yao-meta-skill broken-skill . tests/fixtures/package_missing_interface_field 0.0 clear False release test-fixture
15 release-orchestrator incident-command-governor examples/complex-release-orchestrator/generated-skill examples/governed-incident-command/generated-skill 0.116 clear False example example
16 release-orchestrator note-cleanup examples/complex-release-orchestrator/generated-skill examples/simple-note-cleanup/generated-skill 0.06 clear False example example
17 release-orchestrator frontend-review examples/complex-release-orchestrator/generated-skill examples/team-frontend-review/generated-skill 0.059 clear False example example
release-orchestrator geo-ranking-article-generator examples/complex-release-orchestrator/generated-skill geo-ranking-article-generator 0.094 clear False example embedded-generated-skill
18 release-orchestrator invalid-governance-skill examples/complex-release-orchestrator/generated-skill tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
19 release-orchestrator broken-yaml-skill examples/complex-release-orchestrator/generated-skill tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
20 release-orchestrator broken-skill examples/complex-release-orchestrator/generated-skill tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
23 frontend-review incident-command-governor examples/evolution-frontend-review/final examples/governed-incident-command/generated-skill 0.094 clear False example example
24 frontend-review note-cleanup examples/evolution-frontend-review/final examples/simple-note-cleanup/generated-skill 0.053 clear False example example
25 frontend-review frontend-review examples/evolution-frontend-review/final examples/team-frontend-review/generated-skill 0.64 collision False example example
frontend-review geo-ranking-article-generator examples/evolution-frontend-review/final geo-ranking-article-generator 0.036 clear False example embedded-generated-skill
26 frontend-review invalid-governance-skill examples/evolution-frontend-review/final tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
27 frontend-review broken-yaml-skill examples/evolution-frontend-review/final tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
28 frontend-review broken-skill examples/evolution-frontend-review/final tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
30 frontend-review incident-command-governor examples/evolution-frontend-review/v0 examples/governed-incident-command/generated-skill 0.056 clear False example example
31 frontend-review note-cleanup examples/evolution-frontend-review/v0 examples/simple-note-cleanup/generated-skill 0.0 clear False example example
32 frontend-review frontend-review examples/evolution-frontend-review/v0 examples/team-frontend-review/generated-skill 0.136 clear False example example
frontend-review geo-ranking-article-generator examples/evolution-frontend-review/v0 geo-ranking-article-generator 0.0 clear False example embedded-generated-skill
33 frontend-review invalid-governance-skill examples/evolution-frontend-review/v0 tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
34 frontend-review broken-yaml-skill examples/evolution-frontend-review/v0 tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
35 frontend-review broken-skill examples/evolution-frontend-review/v0 tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
36 frontend-review incident-command-governor examples/evolution-frontend-review/v1 examples/governed-incident-command/generated-skill 0.097 clear False example example
37 frontend-review note-cleanup examples/evolution-frontend-review/v1 examples/simple-note-cleanup/generated-skill 0.054 clear False example example
38 frontend-review frontend-review examples/evolution-frontend-review/v1 examples/team-frontend-review/generated-skill 0.538 collision False example example
frontend-review geo-ranking-article-generator examples/evolution-frontend-review/v1 geo-ranking-article-generator 0.037 clear False example embedded-generated-skill
39 frontend-review invalid-governance-skill examples/evolution-frontend-review/v1 tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
40 frontend-review broken-yaml-skill examples/evolution-frontend-review/v1 tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
41 frontend-review broken-skill examples/evolution-frontend-review/v1 tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
42 incident-command-governor note-cleanup examples/governed-incident-command/generated-skill examples/simple-note-cleanup/generated-skill 0.065 clear False example example
43 incident-command-governor frontend-review examples/governed-incident-command/generated-skill examples/team-frontend-review/generated-skill 0.133 clear False example example
incident-command-governor geo-ranking-article-generator examples/governed-incident-command/generated-skill geo-ranking-article-generator 0.042 clear False example embedded-generated-skill
44 incident-command-governor invalid-governance-skill examples/governed-incident-command/generated-skill tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
45 incident-command-governor broken-yaml-skill examples/governed-incident-command/generated-skill tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
46 incident-command-governor broken-skill examples/governed-incident-command/generated-skill tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
47 note-cleanup frontend-review examples/simple-note-cleanup/generated-skill examples/team-frontend-review/generated-skill 0.054 clear False example example
note-cleanup geo-ranking-article-generator examples/simple-note-cleanup/generated-skill geo-ranking-article-generator 0.038 clear False example embedded-generated-skill
48 note-cleanup invalid-governance-skill examples/simple-note-cleanup/generated-skill tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
49 note-cleanup broken-yaml-skill examples/simple-note-cleanup/generated-skill tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
50 note-cleanup broken-skill examples/simple-note-cleanup/generated-skill tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
frontend-review geo-ranking-article-generator examples/team-frontend-review/generated-skill geo-ranking-article-generator 0.037 clear False example embedded-generated-skill
51 frontend-review invalid-governance-skill examples/team-frontend-review/generated-skill tests/fixtures/governance_invalid_manifest 0.0 clear False example test-fixture
52 frontend-review broken-yaml-skill examples/team-frontend-review/generated-skill tests/fixtures/package_invalid_yaml 0.0 clear False example test-fixture
53 frontend-review broken-skill examples/team-frontend-review/generated-skill tests/fixtures/package_missing_interface_field 0.0 clear False example test-fixture
geo-ranking-article-generator invalid-governance-skill geo-ranking-article-generator tests/fixtures/governance_invalid_manifest 0.0 clear False embedded-generated-skill test-fixture
geo-ranking-article-generator broken-yaml-skill geo-ranking-article-generator tests/fixtures/package_invalid_yaml 0.0 clear False embedded-generated-skill test-fixture
geo-ranking-article-generator broken-skill geo-ranking-article-generator tests/fixtures/package_missing_interface_field 0.0 clear False embedded-generated-skill test-fixture
54 invalid-governance-skill broken-yaml-skill tests/fixtures/governance_invalid_manifest tests/fixtures/package_invalid_yaml 0.111 clear False test-fixture test-fixture
55 invalid-governance-skill broken-skill tests/fixtures/governance_invalid_manifest tests/fixtures/package_missing_interface_field 0.125 clear False test-fixture test-fixture
56 broken-yaml-skill broken-skill tests/fixtures/package_invalid_yaml tests/fixtures/package_missing_interface_field 0.833 collision False test-fixture test-fixture
-7
View File
@@ -43,13 +43,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"reason": "missing updated_at",
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
+13
View File
@@ -105,6 +105,7 @@ def main() -> None:
assert payload["summary"]["entrypoint_loaded"], payload
assert payload["summary"]["manifest_loaded"], payload
assert payload["summary"]["interface_loaded"], payload
assert payload["summary"]["nested_skill_entry_count"] == 0, payload
assert payload["summary"]["adapter_count"] == 4, payload
assert payload["summary"]["installer_permission_enforced_count"] == 12, payload
assert payload["summary"]["installer_permission_failure_count"] == 0, payload
@@ -113,6 +114,7 @@ def main() -> None:
assert not payload["failures"], payload
valid_markdown = (TMP / "install_simulation.md").read_text(encoding="utf-8")
assert "Install Simulation" in valid_markdown
assert "Nested SKILL.md entries" in valid_markdown
assert "Installer permissions enforced" in valid_markdown
with tempfile.TemporaryDirectory(prefix="renamed-install-root-") as temp_root:
@@ -147,6 +149,17 @@ def main() -> None:
assert policy_gap_payload["summary"]["installer_permission_failure_count"] >= 1, policy_gap_payload
assert any("vscode capability network has target enforcement note" in item for item in policy_gap_payload["failures"]), policy_gap_payload
nested_skill_dir = TMP / "nested-skill-dist"
shutil.copytree(valid_dir, nested_skill_dir)
with zipfile.ZipFile(nested_skill_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive:
archive.writestr("yao-meta-skill/tests/fixtures/broken/SKILL.md", "---\nname: broken\n---\n")
nested_skill = simulate(nested_skill_dir, TMP / "nested_skill.json", TMP / "nested_skill.md")
nested_skill_payload = nested_skill["payload"]
assert nested_skill["returncode"] == 2, nested_skill
assert not nested_skill_payload["ok"], nested_skill_payload
assert nested_skill_payload["summary"]["nested_skill_entry_count"] == 1, nested_skill_payload
assert any("Installed package exposes only the root SKILL.md entrypoint" in item for item in nested_skill_payload["failures"]), nested_skill_payload
unsafe_dir = TMP / "unsafe-dist"
shutil.copytree(valid_dir, unsafe_dir)
with zipfile.ZipFile(unsafe_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive:
+198
View File
@@ -0,0 +1,198 @@
#!/usr/bin/env python3
import json
import os
import shutil
import stat
import textwrap
from pathlib import Path
from yao_cli_helpers import ROOT, run, run_with_env
def write_skill(path: Path, description: str = "Operator UX test skill.") -> None:
path.mkdir(parents=True, exist_ok=True)
(path / "SKILL.md").write_text(
f"---\nname: yao-meta-skill\ndescription: {description}\n---\n\n# Test Skill\n",
encoding="utf-8",
)
def write_fake_gh(bin_dir: Path) -> None:
bin_dir.mkdir(parents=True, exist_ok=True)
script = bin_dir / "gh"
script.write_text(
textwrap.dedent(
"""\
#!/usr/bin/env python3
import json
import os
import sys
args = sys.argv[1:]
if args[:2] == ["pr", "view"]:
checks = [] if os.environ.get("YAO_FAKE_GH_EMPTY_CHECKS") else [
{
"__typename": "CheckRun",
"name": "test",
"status": "COMPLETED",
"conclusion": "SUCCESS",
"workflowName": "test",
}
]
print(json.dumps({
"number": 4,
"title": "docs: clarify Python 3.11 local development",
"state": "OPEN",
"isDraft": False,
"mergeable": "MERGEABLE",
"author": {"login": "contributor"},
"baseRefName": "main",
"headRefName": "docs-python-311",
"url": "https://github.com/example/repo/pull/4",
"additions": 23,
"deletions": 3,
"changedFiles": 2,
"commits": [{"oid": "abc123", "messageHeadline": "docs: clarify Python 3.11 local development"}],
"statusCheckRollup": checks,
"reviewDecision": "",
"maintainerCanModify": True,
}))
raise SystemExit(0)
if args[:2] == ["pr", "diff"]:
print("Makefile")
print("README.md")
raise SystemExit(0)
print("unexpected gh invocation", args, file=sys.stderr)
raise SystemExit(2)
"""
),
encoding="utf-8",
)
script.chmod(script.stat().st_mode | stat.S_IXUSR)
def main() -> None:
tmp_root = ROOT / "tests" / "tmp_operator_ux"
shutil.rmtree(tmp_root, ignore_errors=True)
tmp_root.mkdir(parents=True, exist_ok=True)
source = tmp_root / "source" / "yao-meta-skill"
codex_root = tmp_root / "codex-skills"
agents_root = tmp_root / "agents-skills"
disabled_root = tmp_root / "disabled-skills"
codex_root.mkdir()
agents_root.mkdir()
disabled_root.mkdir()
write_skill(source)
(codex_root / "yao-meta-skill").symlink_to(source, target_is_directory=True)
write_skill(disabled_root / "yao-meta-skill", "Disabled mirror.")
install_status = run(
"install-status",
"--expected-source",
str(source),
"--codex-root",
str(codex_root),
"--agents-root",
str(agents_root),
"--disabled-root",
str(disabled_root),
)
assert install_status["ok"], install_status
assert install_status["payload"]["summary"]["codex_active"] is True, install_status
assert install_status["payload"]["summary"]["agents_active"] is False, install_status
assert install_status["payload"]["summary"]["disabled_mirror"] is True, install_status
assert install_status["payload"]["locations"]["codex"]["is_symlink"] is True, install_status
assert install_status["payload"]["locations"]["codex"]["points_to_expected_source"] is True, install_status
assert any("restart" in item.lower() for item in install_status["payload"]["recommendations"]), install_status
sync_ok = run("localized-doc-sync-check")
assert sync_ok["ok"], sync_ok
assert sync_ok["payload"]["summary"]["missing_count"] == 0, sync_ok
assert any(item["key"] == "operator-ux" for item in sync_ok["payload"]["pairs"]), sync_ok
source_readme = tmp_root / "README.md"
localized_readme = tmp_root / "README.zh-CN.md"
source_readme.write_text("## Skill OS 2.0 Upgrade\n## 2.0 Use Cases\n", encoding="utf-8")
localized_readme.write_text("## Skill OS 2.0 升级\n", encoding="utf-8")
sync_fail = run(
"localized-doc-sync-check",
"--source",
str(source_readme),
"--localized",
str(localized_readme),
"--pair",
"upgrade::## Skill OS 2.0 Upgrade::## Skill OS 2.0 升级",
"--pair",
"use-cases::## 2.0 Use Cases::## 2.0 使用场景",
"--output-json",
str(tmp_root / "sync.json"),
"--output-md",
str(tmp_root / "sync.md"),
)
assert not sync_fail["ok"], sync_fail
assert sync_fail["returncode"] == 2, sync_fail
assert sync_fail["payload"]["summary"]["missing_count"] == 1, sync_fail
assert (tmp_root / "sync.json").exists(), sync_fail
assert "use-cases" in (tmp_root / "sync.md").read_text(encoding="utf-8"), sync_fail
sync_missing_file = run(
"localized-doc-sync-check",
"--source",
str(tmp_root / "missing-README.md"),
"--localized",
str(localized_readme),
)
assert not sync_missing_file["ok"], sync_missing_file
assert sync_missing_file["payload"]["failures"], sync_missing_file
assert "Missing docs file" in sync_missing_file["payload"]["failures"][0], sync_missing_file
fake_bin = tmp_root / "bin"
write_fake_gh(fake_bin)
fake_env = {"PATH": f"{fake_bin}{os.pathsep}{os.environ.get('PATH', '')}"}
pr_report = run_with_env(
fake_env,
"pr-review-report",
"4",
"--repo",
"example/repo",
"--output-json",
str(tmp_root / "pr.json"),
"--output-md",
str(tmp_root / "pr.md"),
)
assert pr_report["ok"], pr_report
assert pr_report["payload"]["decision"] == "mergeable-after-review", pr_report
assert pr_report["payload"]["review_depth"] == "quick", pr_report
assert pr_report["payload"]["checks"]["passed_count"] == 1, pr_report
assert pr_report["payload"]["files"] == ["Makefile", "README.md"], pr_report
assert (tmp_root / "pr.json").exists(), pr_report
assert "Suggested Commands" in (tmp_root / "pr.md").read_text(encoding="utf-8"), pr_report
empty_check_env = dict(fake_env)
empty_check_env["YAO_FAKE_GH_EMPTY_CHECKS"] = "1"
pr_without_checks = run_with_env(
empty_check_env,
"pr-review-report",
"4",
"--repo",
"example/repo",
)
assert pr_without_checks["ok"], pr_without_checks
assert pr_without_checks["payload"]["decision"] == "local-verification-required", pr_without_checks
pr_require_checks = run_with_env(
empty_check_env,
"pr-review-report",
"4",
"--repo",
"example/repo",
"--require-checks",
)
assert not pr_require_checks["ok"], pr_require_checks
assert pr_require_checks["payload"]["decision"] == "checks-required", pr_require_checks
print("operator ux checks passed")
if __name__ == "__main__":
main()
+15
View File
@@ -91,8 +91,12 @@ def main() -> None:
assert payload["summary"]["adapter_count"] == 4, payload
assert payload["summary"]["archive_present"], payload
assert payload["summary"]["archive_sha256"], payload
assert payload["summary"]["nested_skill_entry_count"] == 0, payload
assert not payload["failures"], payload
assert (TMP / "package_verification.md").exists(), TMP
with zipfile.ZipFile(valid_dir / "yao-meta-skill.zip") as archive:
skill_entries = sorted(name for name in archive.namelist() if name.endswith("/SKILL.md"))
assert skill_entries == ["yao-meta-skill/SKILL.md"], skill_entries
with tempfile.TemporaryDirectory(prefix="renamed-package-root-") as temp_root:
renamed_root = Path(temp_root) / "checkout-alias"
@@ -108,9 +112,20 @@ def main() -> None:
with zipfile.ZipFile(renamed_dir / "yao-meta-skill.zip") as archive:
names = set(archive.namelist())
assert "yao-meta-skill/SKILL.md" in names, sorted(list(names))[:10]
assert not [name for name in names if name.endswith("/SKILL.md") and name != "yao-meta-skill/SKILL.md"], names
renamed_valid = verify_package(renamed_dir, TMP / "renamed_package_verification.json", TMP / "renamed_package_verification.md", renamed_root)
assert renamed_valid["ok"], renamed_valid
nested_skill_dir = TMP / "nested-skill-dist"
shutil.copytree(valid_dir, nested_skill_dir)
with zipfile.ZipFile(nested_skill_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive:
archive.writestr("yao-meta-skill/examples/demo/SKILL.md", "---\nname: demo\n---\n")
nested = verify_package(nested_skill_dir, TMP / "nested_skill.json", TMP / "nested_skill.md")
assert nested["returncode"] == 2, nested
nested_payload = nested["payload"]
assert nested_payload["summary"]["nested_skill_entry_count"] == 1, nested_payload
assert any("Archive exposes only the root SKILL.md entrypoint" in item for item in nested_payload["failures"]), nested_payload
unsafe_dir = TMP / "unsafe-dist"
shutil.copytree(valid_dir, unsafe_dir)
with zipfile.ZipFile(unsafe_dir / "yao-meta-skill.zip", "a", compression=zipfile.ZIP_DEFLATED) as archive:
+4
View File
@@ -130,8 +130,10 @@ def main() -> None:
"scripts/yao_cli_config.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_telemetry.py",
@@ -173,8 +175,10 @@ def main() -> None:
assert "yao_cli_config.py" not in warning_text, payload["warnings"]
assert "yao_cli_distribution_commands.py" not in warning_text, payload["warnings"]
assert "yao_cli_output_commands.py" not in warning_text, payload["warnings"]
assert "yao_cli_operator_commands.py" not in warning_text, payload["warnings"]
assert "yao_cli_parser.py" not in warning_text, payload["warnings"]
assert "yao_cli_parser_evidence.py" not in warning_text, payload["warnings"]
assert "yao_cli_parser_operator.py" not in warning_text, payload["warnings"]
assert "yao_cli_parser_operations.py" not in warning_text, payload["warnings"]
assert "yao_cli_report_commands.py" not in warning_text, payload["warnings"]
assert "yao_cli_telemetry.py" not in warning_text, payload["warnings"]
+5
View File
@@ -17,7 +17,9 @@ import yao_cli_distribution_commands # noqa: E402
import yao_cli_output_commands # noqa: E402
import yao_cli_parser # noqa: E402
import yao_cli_parser_evidence # noqa: E402
import yao_cli_parser_operator # noqa: E402
import yao_cli_parser_operations # noqa: E402
import yao_cli_operator_commands # noqa: E402
import yao_cli_report_commands # noqa: E402
import yao_cli_runtime # noqa: E402
from yao_cli_report_refresh import refresh_root_report_consistency_inputs # noqa: E402
@@ -89,7 +91,9 @@ def assert_cli_module_contracts() -> None:
yao_cli_adaptation_commands,
yao_cli_distribution_commands,
yao_cli_output_commands,
yao_cli_operator_commands,
yao_cli_report_commands,
yao_cli_parser_operator,
):
assert module.SCRIPT_INTERFACE == "internal-module"
assert callable(yao_cli_module.command_review_studio)
@@ -99,6 +103,7 @@ def assert_help_surface() -> None:
parser_help = yao_cli_module.build_parser().format_help()
expected_help = (
"quickstart skill-interpretation review-studio python-compat architecture-audit skill-os2-audit skill-os2-coverage "
"install-status localized-doc-sync-check pr-review-report "
"world-class-evidence world-class-ledger world-class-intake world-class-preflight world-class-submission-kit world-class-submission-review world-class-runbook world-class-claim-guard "
"benchmark-reproducibility evidence-consistency output-review-kit output-review-import adapt-scan adapt-propose adapt-apply telemetry-import telemetry-emit telemetry-hooks weekly-curator --record-cli-telemetry"
).split()