diff --git a/AGENTS.md b/AGENTS.md index b7511deb..50eeb9d6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/Makefile b/Makefile index a65d8589..9fae8216 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ 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: 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 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)"))' @@ -44,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 @@ -270,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: 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 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: 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 {} + diff --git a/README.md b/README.md index 20e95e84..7e16b2b7 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md index 90293a1c..ec3e6132 100644 --- a/docs/README.zh-CN.md +++ b/docs/README.zh-CN.md @@ -4,7 +4,7 @@ `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) · [加权质量评测](#加权质量评测) · [与其他元 Skill 的适用差异](#与其他元-skill-的适用差异) +[快速开始](#快速开始) · [Skill OS 2.0 升级](#skill-os-20-升级) · [从 1.0 到 2.0](#从-10-到-20) · [Operator UX 命令](#operator-ux-命令) · [加权质量评测](#加权质量评测) · [与其他元 Skill 的适用差异](#与其他元-skill-的适用差异) ## Skill OS 2.0 升级 @@ -45,6 +45,20 @@ Skill OS 2.0 保留 `yao-meta-skill` 原来的轻量入口,但把 skill 的生 - **发布后继续迭代**:用元数据级遥测、采用漂移、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 包,并具备: diff --git a/registry/index.json b/registry/index.json index 94e14ef1..4b98f236 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 28c2a608..6456ca94 100644 --- a/registry/packages/yao-meta-skill.json +++ b/registry/packages/yao-meta-skill.json @@ -16,7 +16,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { diff --git a/reports/adaptation_proposals.json b/reports/adaptation_proposals.json index 55892afa..4c859d7b 100644 --- a/reports/adaptation_proposals.json +++ b/reports/adaptation_proposals.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17T08:58:54Z", + "generated_at": "2026-06-20T12:35:26Z", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, diff --git a/reports/adaptation_proposals.md b/reports/adaptation_proposals.md index 86f10bec..3e02623f 100644 --- a/reports/adaptation_proposals.md +++ b/reports/adaptation_proposals.md @@ -1,6 +1,6 @@ # Adaptation Proposals -- Generated at: `2026-06-17T08:58:54Z` +- Generated at: `2026-06-20T12:35:26Z` - Pattern report: `reports/user_patterns.json` - Proposal only: `true` - Writes repository files: `false` diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json index da4a16c2..a49f1da6 100644 --- a/reports/adoption_drift_report.json +++ b/reports/adoption_drift_report.json @@ -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" } diff --git a/reports/adoption_drift_report.md b/reports/adoption_drift_report.md index 91b31983..206372c9 100644 --- a/reports/adoption_drift_report.md +++ b/reports/adoption_drift_report.md @@ -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` diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json index 6951d03a..fcba3f01 100644 --- a/reports/architecture_maintainability.json +++ b/reports/architecture_maintainability.json @@ -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, diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md index c615e840..8de2941b 100644 --- a/reports/architecture_maintainability.md +++ b/reports/architecture_maintainability.md @@ -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` diff --git a/reports/artifact-design-profile.json b/reports/artifact-design-profile.json index c32e5dc7..c6dc2de0 100644 --- a/reports/artifact-design-profile.json +++ b/reports/artifact-design-profile.json @@ -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", diff --git a/reports/artifact-design-profile.md b/reports/artifact-design-profile.md index f4fd2531..ec07eac7 100644 --- a/reports/artifact-design-profile.md +++ b/reports/artifact-design-profile.md @@ -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 diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 74cf5b71..86a4feda 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -1,15 +1,15 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "git_status": { "available": true, "dirty": true, - "changed_file_count": 29, + "changed_file_count": 71, "generated_dirty": true, - "generated_changed_file_count": 29, + "generated_changed_file_count": 71, "source_dirty": false, "source_changed_file_count": 0, "sample": [ @@ -18,13 +18,13 @@ " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", " M reports/adoption_drift_report.json", + " M reports/adoption_drift_report.md", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", + " M reports/artifact-design-profile.json", + " M reports/artifact-design-profile.md", " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/context_budget.md", - " M reports/context_budget_summary.json" + " M reports/benchmark_reproducibility.md" ], "source_sample": [], "generated_sample": [ @@ -33,13 +33,13 @@ " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", " M reports/adoption_drift_report.json", + " M reports/adoption_drift_report.md", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", + " M reports/artifact-design-profile.json", + " M reports/artifact-design-profile.md", " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/context_budget.md", - " M reports/context_budget_summary.json" + " M reports/benchmark_reproducibility.md" ], "generated_dirty_prefixes": [ "dist/", @@ -57,8 +57,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -74,19 +74,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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, "beta_test_release": { "ready": true, @@ -123,16 +123,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": "f37e78def3464bc818429c47e1ecc9e033c7356c", "status_scope": "generation-time status before this report is written", "source_changed_file_count": 0, - "generated_changed_file_count": 29, + "generated_changed_file_count": 71, "reason": "only generated evidence artifacts were dirty at generation time" }, "evidence_bundle": { @@ -141,7 +141,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0" + "sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -249,22 +249,22 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 137787, - "sha256": "bbff1f1bee0ce6f7014efcd4622ba11c70aacfc81f2e69e225411df7004dd616" + "bytes": 139090, + "sha256": "7ae59b7700db912ea4c72a3626d2fab5ee975e264fd067ca1ca6f94ee726c91f" }, { "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": "1c9d988340746f6f00406718f3c6473b440379b8f45190ef51cc9e996e9107b8" }, { "label": "package_verification", @@ -278,77 +278,77 @@ "path": "reports/install_simulation.json", "exists": true, "bytes": 8758, - "sha256": "c1f1122264b868c4998482c580ef94333575c6ff7c5c9c297188b225f69a131d" + "sha256": "247c037353fe29aa638945a2d5633228e16f30ff44c27ca1a57cb70ccc441359" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13824, - "sha256": "6362e79a8cfd3ff54b1a7ca32f37de8ed1cda500b953fdf1074928c6d2d62379" + "sha256": "80ddfb66a136a52ff9eb9aca2f6a9fe72cb923a066028f0baa9db2c0e03f0689" }, { "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": 17958, + "sha256": "47fae260e9d6d2b7c39685a1e746aa79bf79c1e6b2cd6b6c4fa706f857aa8325" } ], "missing_artifacts": [], diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index f0a94816..f04493b1 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,11 +1,11 @@ # Benchmark Reproducibility -Generated at: `2026-06-17` -Commit: `e79050ed12d057811d7d13ab7d8bcc5a06af76d4` +Generated at: `2026-06-20` +Commit: `f37e78def3464bc818429c47e1ecc9e033c7356c` 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: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4` ## Summary @@ -14,7 +14,7 @@ Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c7 - methodology complete: `true` - required artifacts: `25` - missing artifacts: `0` -- source contract sha256: `5a99ef3133b0` +- source contract sha256: `e5b4ffc5c3f9` - archive sha256: `7db44f059844` - output cases: `5` - disclosed failure cases: `3` @@ -22,15 +22,15 @@ Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c7 - 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: `71` - source changed files at generation: `0` -- generated changed files at generation: `29` +- generated changed files at generation: `71` 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: `3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4` ## 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` | +| trust_report | `reports/security_trust_report.json` | present | `7ae59b7700db` | +| python_compatibility | `reports/python_compatibility.json` | present | `7f3fc8e785bf` | +| registry_audit | `reports/registry_audit.json` | present | `1c9d98834074` | | package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` | -| install_simulation | `reports/install_simulation.json` | present | `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` | +| install_simulation | `reports/install_simulation.json` | present | `247c037353fe` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `80ddfb66a136` | +| 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 | `47fae260e9d6` | ## Reproduction Commands diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index f9f14ed0..079c96bb 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "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": { diff --git a/reports/context_budget.json b/reports/context_budget.json index f7f9638e..97cf9b28 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,16 +6,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 805, - "other_text_tokens": 1156781, + "other_text_tokens": 1167829, "estimated_initial_load_tokens": 998, - "estimated_total_text_tokens": 1157586, - "deferred_resource_tokens": 525864, + "estimated_total_text_tokens": 1168634, + "deferred_resource_tokens": 530464, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153 + "estimated_tokens": 469161, + "file_count": 155 }, { "path": "references", @@ -36,8 +36,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153 + "estimated_tokens": 469161, + "file_count": 155 } ], "deferred_resource_governance": { @@ -59,14 +59,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153, + "estimated_tokens": 469161, + "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": 570, "unused_resource_dirs": [], "quality_signal_points": 140, "quality_density": 140.3 diff --git a/reports/context_budget.md b/reports/context_budget.md index 46bab4f9..4e309a39 100644 --- a/reports/context_budget.md +++ b/reports/context_budget.md @@ -2,7 +2,7 @@ | Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status | | --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- | -| root | `.` | `production` | 1000 | 998 | 805 | 525864 | `governed` | scripts:464561 | 140.3 | - | ok | +| root | `.` | `production` | 1000 | 998 | 805 | 530464 | `governed` | scripts:469161 | 140.3 | - | ok | | complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok | | governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok | diff --git a/reports/context_budget_summary.json b/reports/context_budget_summary.json index 3a08c3b6..5326c21b 100644 --- a/reports/context_budget_summary.json +++ b/reports/context_budget_summary.json @@ -8,12 +8,12 @@ "budget_limit": 1000, "initial_tokens": 998, "skill_body_tokens": 805, - "deferred_resource_tokens": 525864, + "deferred_resource_tokens": 530464, "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153 + "estimated_tokens": 469161, + "file_count": 155 } ], "deferred_resource_governance": { @@ -35,8 +35,8 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153, + "estimated_tokens": 469161, + "file_count": 155, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], diff --git a/reports/evidence_consistency.json b/reports/evidence_consistency.json index ed224071..bc5070ca 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "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 530464/120000; top deferred scripts 469161; 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 530464/120000; top deferred scripts 469161; 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": 53 }, "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": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "actual": "f37e78def3464bc818429c47e1ecc9e033c7356c", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-overview.json" @@ -414,7 +414,7 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, @@ -430,7 +430,7 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, @@ -550,8 +550,8 @@ "key": "interpretation-benchmark-commit", "label": "interpretation embeds the benchmark commit", "status": "pass", - "expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", - "actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "expected": "f37e78def3464bc818429c47e1ecc9e033c7356c", + "actual": "f37e78def3464bc818429c47e1ecc9e033c7356c", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-interpretation.json" @@ -566,7 +566,7 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, @@ -582,7 +582,7 @@ "release_lock_ready": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "source_contract_sha256": "67fd02c2142a2e27775f10e209ab71c037a9a28698d6f5588c96820cfa8e04cf", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, @@ -1670,7 +1670,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 153 + "file_count": 155 }, { "path": "evals", @@ -1682,10 +1682,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 235 + "file_count": 150 } ], - "file_count": 456, + "file_count": 373, "folder_count": 4, "distribution": [ { @@ -1710,7 +1710,7 @@ }, { "label": "scripts", - "value": 153 + "value": 155 }, { "label": "evals", @@ -1718,7 +1718,7 @@ }, { "label": "reports", - "value": 235 + "value": 150 } ] }, @@ -1758,7 +1758,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 153 + "file_count": 155 }, { "path": "evals", @@ -1770,10 +1770,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 235 + "file_count": 150 } ], - "file_count": 456, + "file_count": 373, "folder_count": 4, "distribution": [ { @@ -1798,7 +1798,7 @@ }, { "label": "scripts", - "value": 153 + "value": 155 }, { "label": "evals", @@ -1806,7 +1806,7 @@ }, { "label": "reports", - "value": 235 + "value": 150 } ] }, @@ -2141,8 +2141,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 11, - "supporting_evidence_ready_count": 11, + "supporting_evidence_total_count": 8, + "supporting_evidence_ready_count": 7, "submission_ref_copy_to_artifact_refs": true, "supporting_evidence_copy_to_artifact_refs": false }, @@ -2187,8 +2187,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 11, - "supporting_evidence_ready_count": 11, + "supporting_evidence_total_count": 8, + "supporting_evidence_ready_count": 7, "submission_ref_copy_to_artifact_refs": true, "supporting_evidence_copy_to_artifact_refs": false }, @@ -3202,9 +3202,7 @@ "agents/interface.yaml": true, "evidence/world_class/README.md": true, "security/permission_policy.json": true, - "reports/world_class_evidence_ledger.json": true, - "dist/manifest.json": true, - "dist/targets/openai/adapter.json": true + "reports/world_class_evidence_ledger.json": true }, "prohibited_surfaces": [] }, @@ -3223,9 +3221,7 @@ "agents/interface.yaml": true, "evidence/world_class/README.md": true, "security/permission_policy.json": true, - "reports/world_class_evidence_ledger.json": true, - "dist/manifest.json": true, - "dist/targets/openai/adapter.json": true + "reports/world_class_evidence_ledger.json": true }, "prohibited_surfaces": [] }, @@ -3579,8 +3575,8 @@ "score `91`", "`16` gates", "`3` warnings", - "`67` declared internal modules", - "`86 / 86` CLI help smoke checks passing across `153` scripts", + "`69` declared internal modules", + "`86 / 86` CLI help smoke checks passing across `155` scripts", "`689` zip entries", "archive with `689` entries", "`12` installer permission checks enforced", @@ -3588,7 +3584,7 @@ "`25` required artifacts", "`23` reproduction commands", "initial load `998/1000`", - "target count is `82`" + "target count is `83`" ], "actual": "all present", "paths": [ diff --git a/reports/evidence_consistency.md b/reports/evidence_consistency.md index 013fa854..169b99ba 100644 --- a/reports/evidence_consistency.md +++ b/reports/evidence_consistency.md @@ -1,6 +1,6 @@ # Evidence Consistency -Generated at: `2026-06-17` +Generated at: `2026-06-20` ## Summary diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 07155151..6518357f 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -8,7 +8,7 @@ "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/prompt-quality-profile.json b/reports/prompt-quality-profile.json index cacfa510..b16302c5 100644 --- a/reports/prompt-quality-profile.json +++ b/reports/prompt-quality-profile.json @@ -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", diff --git a/reports/prompt-quality-profile.md b/reports/prompt-quality-profile.md index 500be5d6..191f177d 100644 --- a/reports/prompt-quality-profile.md +++ b/reports/prompt-quality-profile.md @@ -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` diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json index 5c81f5f1..b754a3cd 100644 --- a/reports/python_compatibility.json +++ b/reports/python_compatibility.json @@ -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, diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md index 15ecf61f..12279a95 100644 --- a/reports/python_compatibility.md +++ b/reports/python_compatibility.md @@ -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` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index a5d62d41..e370512a 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,7 +21,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index e26d5cbc..37ce9314 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,7 +6,7 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257` +- Package SHA256: `e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd` - Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2` - Install simulated: `True` diff --git a/reports/review-studio.html b/reports/review-studio.html index e5d9c2b2..786cfc8a 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -772,12 +772,12 @@

核心指标

-
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 10; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

3 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

153 scripts scanned; secrets found

Py Compat0

232 files scanned for Python 3.11

Arch Debt0

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

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock false

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

689 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

+
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 10; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

3 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

155 scripts scanned; secrets found

Py Compat0

234 files scanned for Python 3.11

Arch Debt0

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

Atlas5

11 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

175 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

689 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

审查闸门

-
通过

意图画布

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

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

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

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

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

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

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

意图画布

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

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

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

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

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

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

@@ -787,12 +787,12 @@

阻断事项

无。

-

关注事项

  • 输出实验5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 10; recorded 0; reviewed 0/5; review pending 5
  • 人工批准0 active waivers; 1 warning gates still need reviewer decision
  • 世界证据4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 11/19 pass; 8 blocked; overclaim guard true
+

关注事项

  • 输出实验5/5 cases; with-skill 100.0; baseline 0.0; file-backed 1; near-neighbor 1; blind A/B 5; exec 10; command 10; model 10; recorded 0; reviewed 0/5; review pending 5
  • 人工批准0 active waivers; 1 warning gates still need reviewer decision
  • 世界证据4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 12/19 pass; 7 blocked; overclaim guard true

修复动作

-
关注

输出实验

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

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

人工批准

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

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

世界证据

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

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

证据采集

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

pending · external

Provider Holdout

model-executed 10; token-observed 10

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

暂无阻断检查。

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

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

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

Human Adjudication

0/5 decisions; pending 5

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

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

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

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

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

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

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

Native Client Telemetry

external source events 0; adoption samples 0

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

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

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.
+
关注

输出实验

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

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

人工批准

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

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

世界证据

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

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

证据采集

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

pending · external

Provider Holdout

model-executed 10; token-observed 10

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

暂无阻断检查。

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

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

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

Human Adjudication

0/5 decisions; pending 5

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

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

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

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

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

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

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

Native Client Telemetry

external source events 0; adoption samples 1

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

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

  • submission-ref2 / 2 readyartifact_refs: trueRows marked submission-ref are the aggregate paths expected in artifact_refs.
  • supporting-evidence6 / 6 readyartifact_refs: falseSupporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs.
隐私边界
  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.
@@ -808,13 +808,13 @@

证据路径

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

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

-

组合治理

Skill 数
12
纳入审查
1
待处理冲突
0
待处理 owner
0
待处理过期
0
Telemetry Report Count
1
Actionable Drift Signal Count
0
Drift Signal Count
0
非行动项
24
+

组合治理

Skill 数
11
纳入审查
1
待处理冲突
0
待处理 owner
0
待处理过期
0
Telemetry Report Count
1
Actionable Drift Signal Count
0
Drift Signal Count
0
非行动项
22
@@ -844,17 +844,17 @@
-

上下文

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

+

上下文

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

编译证据

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

-

信任报告

Secret
0
脚本数
153
网络脚本
3
Help 失败
0
包体哈希
5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257
+

信任报告

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

安全边界

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

-

Python 兼容

目标 Python
3.11
文件数
232
问题数
0
语法错误
0
F-string 3.11
0
+

Python 兼容

目标 Python
3.11
文件数
234
问题数
0
语法错误
0
F-string 3.11
0

解释器边界

CI 和发布审查以 Python 3.11 兼容为底线;本地更高版本允许的新语法不能绕过兼容门禁。

@@ -869,19 +869,19 @@
-

组合治理

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

+

组合治理

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

下一动作

优先处理真实 portfolio 中的 duplicate names、stale skills、owner gaps,再用运营回路判断真实影响。

-

运营回路

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

-

漂移信号

事件数
1
采用率
0
漏触发
0
Bad Output Count
0
风险带
low
+

运营回路

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

+

漂移信号

事件数
1
采用率
100
漏触发
0
Bad Output Count
0
风险带
low
-

日常运维

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

周度队列

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

日常运维

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

周度队列

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

批准台账

Waiver Count
0
Active Count
0
Expired Count
0
Invalid Count
0
覆盖 Gate
0

批准候选

-
可批准 · needs-reviewer-decision

Output Lab

review pending 5; model-executed 10; output failures 0

Gate
output-lab
证据
reports/output_review_adjudication.md
选项
accepted-risk, false-positive, temporary-exception
边界
Does not count as provider, human, or public world-class completion evidence.

审查条件

  • Reviewer confirms this release does not claim provider-backed or human-adjudicated output superiority.
  • Reviewer names the release scope and expiry date.
  • Reviewer links output_review_adjudication or output_execution evidence.
建议命令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
不可批准 · cannot-waive

World-Class Evidence

4 pending evidence entries; 1 human pending; 3 external pending

Gate
world-class-evidence
证据
reports/world_class_evidence_ledger.md
选项
边界
Non-waivable completion boundary.

审查条件

  • Do not use a waiver to claim public world-class readiness.
  • Either submit accepted ledger evidence or state that this release does not claim world-class completion.
  • Keep claim guard active until ledger summary.ready_to_claim_world_class is true.
建议命令python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard .
+
可批准 · needs-reviewer-decision

Output Lab

review pending 5; model-executed 10; output failures 0

Gate
output-lab
证据
reports/output_review_adjudication.md
选项
accepted-risk, false-positive, temporary-exception
边界
Does not count as provider, human, or public world-class completion evidence.

审查条件

  • Reviewer confirms this release does not claim provider-backed or human-adjudicated output superiority.
  • Reviewer names the release scope and expiry date.
  • Reviewer links output_review_adjudication or output_execution evidence.
建议命令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
不可批准 · cannot-waive

World-Class Evidence

4 pending evidence entries; 1 human pending; 3 external pending

Gate
world-class-evidence
证据
reports/world_class_evidence_ledger.md
选项
边界
Non-waivable completion boundary.

审查条件

  • Do not use a waiver to claim public world-class readiness.
  • Either submit accepted ledger evidence or state that this release does not claim world-class completion.
  • Keep claim guard active until ledger summary.ready_to_claim_world_class is true.
建议命令python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard .

世界证据

这里列出每个 world-class 证据项的当前状态、完成定义、证据来源、隐私约束和下一步;计划、metadata fallback、待评审和本地命令不会被当成完成证据。

-
待补证 · external

Provider Holdout

Collect at least one provider-backed output-eval holdout run with model, timing, and token metadata.

负责人
operator with provider credentials
当前状态
model-executed 10; token-observed 10
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
观测值
model_executed_count: 10; timing_observed_count: 10; token_observed_count: 10; accepted: True
提交态
status: missing; path: evidence/world_class/submissions/provider-holdout.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.
  • For OpenAI Responses: python3 scripts/yao.py output-exec --provider-runner openai --provider-model ${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini} --timeout-seconds 60
  • For DeepSeek Chat Completions: python3 scripts/yao.py output-exec --provider-runner deepseek --provider-model deepseek-v4-flash --provider-api-format chat-completions --provider-thinking disabled --api-key-env DEEPSEEK_API_KEY --timeout-seconds 120
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/provider-holdout.intake.json to evidence/world_class/submissions/provider-holdout.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/output_execution_runs.json summary.model_executed_count > 0
  • reports/output_execution_runs.json summary.timing_observed_count > 0
  • reports/output_execution_runs.json summary.token_observed_count > 0
  • reports/skill_os2_audit.json item provider-holdout status becomes pass

证据来源

  • reports/output_execution_runs.json
  • reports/output_execution_runs.md
  • reports/skill_os2_audit.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Do not commit provider credentials or environment dumps.
  • The output execution report records output hashes and aggregate run metadata, not raw provider prompts.

源证据检查

  • Provider model runmodel_executed_count: 10 / >0Run provider-backed output-exec with real credentials.
  • Timing observedtiming_observed_count: 10 / >0Provider execution should record timing metadata.
  • Token usage observedtoken_observed_count: 10 / >0Provider execution should return non-estimated token usage.
待补证 · human

Human Adjudication

Record real blind A/B reviewer decisions before claiming human output review completion.

负责人
human reviewer
当前状态
0/5 decisions; pending 5
下一步
Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication.
观测值
pair_count: 5; judgment_count: 0; pending_count: 5; invalid_decision_count: 0; answer_revealed_count: 0; reviewer_metadata_present: False; reason_required: True; blind_review_attested: False; raw_content_excluded_attested: True; reviewer_reason_required_attested: True; ready_for_human_evidence: False; raw_content_allowed: False; raw_content_path_count: 0; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/human-adjudication.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • python3 scripts/yao.py output-review-kit --write-template
  • Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.
  • python3 scripts/adjudicate_output_review.py --write-template
  • Record reviewer choices in a separate JSON, JSONL, or CSV decision source with reviewer, reviewed_at, case_id, winner_variant, confidence, required reason, and truthful reviewer_attestation only.
  • python3 scripts/yao.py output-review-import --input <reviewer-decisions.json> --blind-review-attested --run-adjudication
  • python3 scripts/yao.py output-review
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/human-adjudication.intake.json to evidence/world_class/submissions/human-adjudication.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/output_review_adjudication.json summary.pending_count == 0
  • reports/output_review_adjudication.json summary.judgment_count == summary.pair_count
  • reports/output_review_adjudication.json summary.invalid_decision_count == 0
  • reports/output_review_adjudication.json summary.reviewer_metadata_present is true
  • reports/output_review_adjudication.json summary.blind_review_attested is true
  • reports/output_review_adjudication.json review_integrity.blind_pack_sha256 exists and matches reports/output_review_decisions.json
  • reports/output_review_adjudication.json pairs and reviewer_checklist store prompt_sha256, not raw prompt text
  • reports/output_review_adjudication.json summary.ready_for_human_evidence is true
  • reports/skill_os2_audit.json item human-adjudication status becomes pass

证据来源

  • reports/output_blind_review_pack.md
  • reports/output_review_kit.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md
  • scripts/import_output_review_decisions.py
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/human-adjudication.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Reviewer decisions should not include raw user data or private customer detail.
  • Reviewer reasons must be rubric-based and must not include raw user data or private customer detail.
  • The decision importer rejects raw prompt, output, transcript, message, and answer-key fields.
  • The adjudication evidence stores prompt_sha256 instead of raw prompt text.
  • The decision and adjudication artifacts preserve blind_pack_sha256 so reviewers can audit exactly which pack was judged.
  • Keep the answer key separate until after decisions are recorded.

源证据检查

  • Review pairs existpair_count: 5 / >0Generate the blind A/B review pack.
  • No pending decisionspending_count: 5 / ==0Record a reviewer choice and reason for every pair.
  • Judgments completejudgment_count: 0 / ==pair_countEvery pair needs one valid human judgment.
  • No invalid decisionsinvalid_decision_count: 0 / ==0Fix malformed winner/confidence entries.
  • Reviewer metadatareviewer_metadata_present: False / trueRecord reviewer and reviewed_at before adjudication can count.
  • Reason requiredreason_required: True / trueKeep reason mandatory for every imported or direct reviewer decision.
  • Blind review attestedblind_review_attested: False / trueSet reviewer_attestation only after choices are completed before opening the answer key.
  • Raw content attestedraw_content_excluded_attested: True / trueAttest that reviewer decisions exclude raw prompts, outputs, transcripts, messages, and private user content.
  • Raw content blockedraw_content_allowed: False / falseAdjudication evidence should store prompt hashes and reviewer metadata, not raw prompts, outputs, transcripts, or messages.
  • Human evidence readyready_for_human_evidence: False / trueComplete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.
待补证 · external

Native Permission Enforcement

Prove at least one real target client or external installer runtime guard enforces approved high-permission capabilities.

负责人
target client or installer integrator
当前状态
native-enforced targets 0; installer-enforced targets 4
下一步
Integrate a real target-client or external installer runtime guard before claiming native permission enforcement.
观测值
native_enforcement_count: 0; metadata_fallback_count: 4; installer_enforcement_pass_count: 4; installer_permission_failure_count: 0; installer_enforcement_ready: True; residual_risk_count: 4; failure_count: 0; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/native-permission-enforcement.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.
  • Update the generated target adapter only when the guard is actually enforced by that target.
  • python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip
  • python3 scripts/yao.py install-simulate . --package-dir dist --install-root dist/install-simulation
  • python3 scripts/yao.py runtime-permissions . --package-dir dist
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/native-permission-enforcement.intake.json to evidence/world_class/submissions/native-permission-enforcement.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence
  • reports/skill_os2_audit.json item native-permission-enforcement status becomes pass

证据来源

  • dist/targets/*/adapter.json
  • reports/runtime_permission_probes.json
  • reports/runtime_permission_probes.md
  • reports/install_simulation.json
  • reports/install_simulation.md
  • security/permission_policy.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/native-permission-enforcement.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Do not mark native_enforcement true for metadata-only fallbacks.
  • Keep residual risks visible for targets that still rely on operator enforcement.

源证据检查

  • Native enforcementnative_enforcement_count: 0 / >0Collect real target-client or external runtime guard proof.
  • Probe failuresfailure_count: 0 / ==0Runtime permission probes must stay clean.
  • Installer supportinstaller_enforcement_ready: True / trueInstaller enforcement is supporting evidence, not native proof.
待补证 · external

Native Client Telemetry

Import production metadata-only events from a real external client into the local drift loop.

负责人
Browser/Chrome/IDE/provider client integrator
当前状态
external source events 0; adoption samples 0
下一步
Install a real client against the native host and import production metadata-only events.
观测值
external_source_events: 0; adoption_sample_count: 0; raw_content_allowed: False; risk_band: low; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/native-client-telemetry.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • 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.
  • python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
  • python3 scripts/yao.py skill-atlas --workspace-root .
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • 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.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/adoption_drift_report.json summary.source_types.external > 0
  • reports/adoption_drift_report.json summary.adoption_sample_count > 0
  • reports/skill_os2_audit.json item native-client-telemetry status becomes pass

证据来源

  • reports/adoption_drift_report.json
  • reports/adoption_drift_report.md
  • reports/telemetry_hook_recipes.json
  • scripts/telemetry_native_host.py
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/native-client-telemetry.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.

源证据检查

  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
  • Adoption sampleadoption_sample_count: 0 / >0Telemetry must include adoption outcome evidence.
  • Raw content blockedraw_content_allowed: False / falseTelemetry must stay metadata-only.
+
待补证 · external

Provider Holdout

Collect at least one provider-backed output-eval holdout run with model, timing, and token metadata.

负责人
operator with provider credentials
当前状态
model-executed 10; token-observed 10
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
观测值
model_executed_count: 10; timing_observed_count: 10; token_observed_count: 10; accepted: True
提交态
status: missing; path: evidence/world_class/submissions/provider-holdout.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • Set one provider API key in the operator shell, such as OPENAI_API_KEY or DEEPSEEK_API_KEY; never commit or print the value.
  • For OpenAI Responses: python3 scripts/yao.py output-exec --provider-runner openai --provider-model ${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini} --timeout-seconds 60
  • For DeepSeek Chat Completions: python3 scripts/yao.py output-exec --provider-runner deepseek --provider-model deepseek-v4-flash --provider-api-format chat-completions --provider-thinking disabled --api-key-env DEEPSEEK_API_KEY --timeout-seconds 120
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/provider-holdout.intake.json to evidence/world_class/submissions/provider-holdout.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/output_execution_runs.json summary.model_executed_count > 0
  • reports/output_execution_runs.json summary.timing_observed_count > 0
  • reports/output_execution_runs.json summary.token_observed_count > 0
  • reports/skill_os2_audit.json item provider-holdout status becomes pass

证据来源

  • reports/output_execution_runs.json
  • reports/output_execution_runs.md
  • reports/skill_os2_audit.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Do not commit provider credentials or environment dumps.
  • The output execution report records output hashes and aggregate run metadata, not raw provider prompts.

源证据检查

  • Provider model runmodel_executed_count: 10 / >0Run provider-backed output-exec with real credentials.
  • Timing observedtiming_observed_count: 10 / >0Provider execution should record timing metadata.
  • Token usage observedtoken_observed_count: 10 / >0Provider execution should return non-estimated token usage.
待补证 · human

Human Adjudication

Record real blind A/B reviewer decisions before claiming human output review completion.

负责人
human reviewer
当前状态
0/5 decisions; pending 5
下一步
Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication.
观测值
pair_count: 5; judgment_count: 0; pending_count: 5; invalid_decision_count: 0; answer_revealed_count: 0; reviewer_metadata_present: False; reason_required: True; blind_review_attested: False; raw_content_excluded_attested: True; reviewer_reason_required_attested: True; ready_for_human_evidence: False; raw_content_allowed: False; raw_content_path_count: 0; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/human-adjudication.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • python3 scripts/yao.py output-review-kit --write-template
  • Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.
  • python3 scripts/adjudicate_output_review.py --write-template
  • Record reviewer choices in a separate JSON, JSONL, or CSV decision source with reviewer, reviewed_at, case_id, winner_variant, confidence, required reason, and truthful reviewer_attestation only.
  • python3 scripts/yao.py output-review-import --input <reviewer-decisions.json> --blind-review-attested --run-adjudication
  • python3 scripts/yao.py output-review
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/human-adjudication.intake.json to evidence/world_class/submissions/human-adjudication.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/output_review_adjudication.json summary.pending_count == 0
  • reports/output_review_adjudication.json summary.judgment_count == summary.pair_count
  • reports/output_review_adjudication.json summary.invalid_decision_count == 0
  • reports/output_review_adjudication.json summary.reviewer_metadata_present is true
  • reports/output_review_adjudication.json summary.blind_review_attested is true
  • reports/output_review_adjudication.json review_integrity.blind_pack_sha256 exists and matches reports/output_review_decisions.json
  • reports/output_review_adjudication.json pairs and reviewer_checklist store prompt_sha256, not raw prompt text
  • reports/output_review_adjudication.json summary.ready_for_human_evidence is true
  • reports/skill_os2_audit.json item human-adjudication status becomes pass

证据来源

  • reports/output_blind_review_pack.md
  • reports/output_review_kit.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md
  • scripts/import_output_review_decisions.py
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/human-adjudication.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Reviewer decisions should not include raw user data or private customer detail.
  • Reviewer reasons must be rubric-based and must not include raw user data or private customer detail.
  • The decision importer rejects raw prompt, output, transcript, message, and answer-key fields.
  • The adjudication evidence stores prompt_sha256 instead of raw prompt text.
  • The decision and adjudication artifacts preserve blind_pack_sha256 so reviewers can audit exactly which pack was judged.
  • Keep the answer key separate until after decisions are recorded.

源证据检查

  • Review pairs existpair_count: 5 / >0Generate the blind A/B review pack.
  • No pending decisionspending_count: 5 / ==0Record a reviewer choice and reason for every pair.
  • Judgments completejudgment_count: 0 / ==pair_countEvery pair needs one valid human judgment.
  • No invalid decisionsinvalid_decision_count: 0 / ==0Fix malformed winner/confidence entries.
  • Reviewer metadatareviewer_metadata_present: False / trueRecord reviewer and reviewed_at before adjudication can count.
  • Reason requiredreason_required: True / trueKeep reason mandatory for every imported or direct reviewer decision.
  • Blind review attestedblind_review_attested: False / trueSet reviewer_attestation only after choices are completed before opening the answer key.
  • Raw content attestedraw_content_excluded_attested: True / trueAttest that reviewer decisions exclude raw prompts, outputs, transcripts, messages, and private user content.
  • Raw content blockedraw_content_allowed: False / falseAdjudication evidence should store prompt hashes and reviewer metadata, not raw prompts, outputs, transcripts, or messages.
  • Human evidence readyready_for_human_evidence: False / trueComplete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.
待补证 · external

Native Permission Enforcement

Prove at least one real target client or external installer runtime guard enforces approved high-permission capabilities.

负责人
target client or installer integrator
当前状态
native-enforced targets 0; installer-enforced targets 4
下一步
Integrate a real target-client or external installer runtime guard before claiming native permission enforcement.
观测值
native_enforcement_count: 0; metadata_fallback_count: 4; installer_enforcement_pass_count: 4; installer_permission_failure_count: 0; installer_enforcement_ready: True; residual_risk_count: 4; failure_count: 0; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/native-permission-enforcement.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.
  • Update the generated target adapter only when the guard is actually enforced by that target.
  • python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip
  • python3 scripts/yao.py install-simulate . --package-dir dist --install-root dist/install-simulation
  • python3 scripts/yao.py runtime-permissions . --package-dir dist
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/native-permission-enforcement.intake.json to evidence/world_class/submissions/native-permission-enforcement.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence
  • reports/skill_os2_audit.json item native-permission-enforcement status becomes pass

证据来源

  • dist/targets/*/adapter.json
  • reports/runtime_permission_probes.json
  • reports/runtime_permission_probes.md
  • reports/install_simulation.json
  • reports/install_simulation.md
  • security/permission_policy.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/native-permission-enforcement.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Do not mark native_enforcement true for metadata-only fallbacks.
  • Keep residual risks visible for targets that still rely on operator enforcement.

源证据检查

  • Native enforcementnative_enforcement_count: 0 / >0Collect real target-client or external runtime guard proof.
  • Probe failuresfailure_count: 0 / ==0Runtime permission probes must stay clean.
  • Installer supportinstaller_enforcement_ready: True / trueInstaller enforcement is supporting evidence, not native proof.
待补证 · external

Native Client Telemetry

Import production metadata-only events from a real external client into the local drift loop.

负责人
Browser/Chrome/IDE/provider client integrator
当前状态
external source events 0; adoption samples 1
下一步
Install a real client against the native host and import production metadata-only events.
观测值
external_source_events: 0; adoption_sample_count: 1; raw_content_allowed: False; risk_band: low; accepted: False
提交态
status: missing; path: evidence/world_class/submissions/native-client-telemetry.json; attested_real_evidence: False; privacy_contract_satisfied: False

执行步骤

  • 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.
  • python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
  • python3 scripts/yao.py skill-atlas --workspace-root .
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • 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.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

完成定义

  • reports/adoption_drift_report.json summary.source_types.external > 0
  • reports/adoption_drift_report.json summary.adoption_sample_count > 0
  • reports/skill_os2_audit.json item native-client-telemetry status becomes pass

证据来源

  • reports/adoption_drift_report.json
  • reports/adoption_drift_report.md
  • reports/telemetry_hook_recipes.json
  • scripts/telemetry_native_host.py
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/native-client-telemetry.intake.json
  • reports/world_class_evidence_intake.json
  • reports/world_class_evidence_intake.md

隐私约束

  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.

源证据检查

  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
  • Adoption sampleadoption_sample_count: 1 / >0Telemetry must include adoption outcome evidence.
  • Raw content blockedraw_content_allowed: False / falseTelemetry must stay metadata-only.
@@ -915,11 +915,11 @@

公开声明

本地复现
发布锁
可公开声明
声明阻断
3
Provider 证据
人审完成
世界级就绪
-

声明阻断

  • 阻断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)
+

声明阻断

  • 阻断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 (12/19 pass, 7 blocked)
-

世界证据

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

+

世界证据

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

证据台账

Ledger Entry Count
4
Accepted Count
0
待审
4
Human Pending Count
1
External Pending Count
3
Overclaim Guard Active
Ready To Claim World Class
@@ -929,7 +929,7 @@
-

声明守卫

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

声明守卫

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

声明边界

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

diff --git a/reports/review-studio.json b/reports/review-studio.json index a17a2497..38de8d35 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -65,7 +65,7 @@ "key": "context-budget", "label": "上下文", "status": "pass", - "detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3", + "detail": "initial load 998/1000; deferred 530464/120000; top deferred scripts 469161; resource governance governed; quality density 140.3", "evidence": "reports/context_budget.json", "link": "context_budget.md", "review_action_id": "", @@ -95,7 +95,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 153 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 155 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md", "review_action_id": "", @@ -110,7 +110,7 @@ "key": "python-compat", "label": "Python 兼容", "status": "pass", - "detail": "Python 3.11; 232 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", + "detail": "Python 3.11; 234 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", "evidence": "reports/python_compatibility.json", "link": "python_compatibility.md", "review_action_id": "", @@ -125,7 +125,7 @@ "key": "architecture-maintainability", "label": "架构维护", "status": "pass", - "detail": "229 Python files; 0 hotspots; 0 watchlist files; 6 early watch files; 0 blockers; largest 719 lines; 68 CLI handlers; 18 in entrypoint", + "detail": "232 Python files; 0 hotspots; 0 watchlist files; 6 early watch files; 0 blockers; largest 719 lines; 71 CLI handlers; 18 in entrypoint", "evidence": "reports/architecture_maintainability.json", "link": "architecture_maintainability.md", "review_action_id": "", @@ -170,7 +170,7 @@ "key": "skill-atlas", "label": "组合治理", "status": "pass", - "detail": "12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues", + "detail": "11 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 22 scoped non-actionable issues", "evidence": "reports/skill_atlas.json", "link": "skill_atlas.html", "review_action_id": "", @@ -185,7 +185,7 @@ "key": "operations-loop", "label": "运营回路", "status": "pass", - "detail": "1 metadata events; adoption 0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock false; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock false", + "detail": "1 metadata events; adoption 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true", "evidence": "reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly", "link": "adoption_drift_report.md", "review_action_id": "", @@ -215,7 +215,7 @@ "key": "world-class-evidence", "label": "世界证据", "status": "warn", - "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 11/19 pass; 8 blocked; overclaim guard true", + "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 12/19 pass; 7 blocked; overclaim guard true", "evidence": "reports/world_class_evidence_ledger.json", "link": "world_class_evidence_ledger.md", "review_action_id": "review-action-world-class-evidence", @@ -338,7 +338,7 @@ "key": "world-class-evidence", "label": "世界证据", "status": "warn", - "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 11/19 pass; 8 blocked; overclaim guard true", + "detail": "4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 12/19 pass; 7 blocked; overclaim guard true", "evidence": "reports/world_class_evidence_ledger.json", "link": "world_class_evidence_ledger.md", "review_action_id": "review-action-world-class-evidence", @@ -1194,8 +1194,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_ready_count": 2, "submission_ref_total_count": 2, - "supporting_evidence_ready_count": 11, - "supporting_evidence_total_count": 11, + "supporting_evidence_ready_count": 7, + "supporting_evidence_total_count": 8, "roles": [ { "role": "submission-ref", @@ -1208,8 +1208,8 @@ { "role": "supporting-evidence", "label": "Supporting evidence", - "ready_count": 11, - "total_count": 11, + "ready_count": 7, + "total_count": 8, "copy_to_artifact_refs": false, "description": "Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs." } @@ -1226,12 +1226,12 @@ "category": "external", "status": "pending", "readiness": "awaiting-submission", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "next_action": "Install a real client against the native host and import production metadata-only events.", "submission_path": "evidence/world_class/submissions/native-client-telemetry.json", "template_path": "evidence/world_class/templates/native-client-telemetry.intake.json", - "source_pass_count": 1, - "source_blocked_count": 2, + "source_pass_count": 2, + "source_blocked_count": 1, "blocked_checks": [ { "label": "External events", @@ -1240,14 +1240,6 @@ "expected": ">0", "status": "blocked", "next_action": "Import at least one metadata-only event from a real client." - }, - { - "label": "Adoption sample", - "field": "adoption_sample_count", - "actual": 0, - "expected": ">0", - "status": "blocked", - "next_action": "Telemetry must include adoption outcome evidence." } ], "repair_rows": [ @@ -1264,19 +1256,6 @@ "verification_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false }, - { - "action_id": "native-client-telemetry-source-check-adoption_sample_count", - "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", - "counts_as_completion": false - }, { "action_id": "native-client-telemetry-source-check-external_source_events", "repair_type": "source-check", @@ -1291,7 +1270,7 @@ "counts_as_completion": false } ], - "repair_blocked_count": 3, + "repair_blocked_count": 2, "repair_counts_as_completion": false, "phase_queue": [ { @@ -1317,16 +1296,16 @@ "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 } @@ -1458,7 +1437,7 @@ "upgrade_check": "reports/upgrade_check.md", "migration": "docs/migration-v2.md", "skill_ir": "skill-ir/examples/yao-meta-skill.json", - "daily_skillops": "reports/skillops/daily/2026-06-17.md", + "daily_skillops": "reports/skillops/daily/2026-06-20.md", "weekly_curator": "reports/skillops/weekly/2026-W25.md" }, "data": { @@ -1875,7 +1854,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": [ @@ -1932,8 +1911,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" ] } ] @@ -1974,7 +1952,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 153 + "file_count": 155 }, { "path": "evals", @@ -1986,10 +1964,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 235 + "file_count": 150 } ], - "file_count": 456, + "file_count": 373, "folder_count": 4, "distribution": [ { @@ -2014,7 +1992,7 @@ }, { "label": "scripts", - "value": 153 + "value": 155 }, { "label": "evals", @@ -2022,7 +2000,7 @@ }, { "label": "reports", - "value": 235 + "value": 150 } ] }, @@ -2144,7 +2122,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 153 + "file_count": 155 }, { "path": "evals", @@ -2156,7 +2134,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 235 + "file_count": 150 } ], "strengths": [ @@ -2480,8 +2458,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -2497,21 +2475,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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "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.", @@ -2596,9 +2574,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" @@ -2606,7 +2584,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, @@ -2616,24 +2594,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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "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, @@ -2655,7 +2633,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -2715,7 +2693,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -2787,7 +2765,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, @@ -2804,14 +2782,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, @@ -2820,7 +2798,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -3095,7 +3073,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:///", @@ -3148,8 +3126,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, @@ -3575,7 +3553,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:///", @@ -3612,7 +3590,7 @@ ], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -3633,8 +3611,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." }, @@ -3650,8 +3628,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", @@ -6333,15 +6311,15 @@ "benchmark_reproducibility": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "git_status": { "available": true, "dirty": true, - "changed_file_count": 29, + "changed_file_count": 71, "generated_dirty": true, - "generated_changed_file_count": 29, + "generated_changed_file_count": 71, "source_dirty": false, "source_changed_file_count": 0, "sample": [ @@ -6350,13 +6328,13 @@ " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", " M reports/adoption_drift_report.json", + " M reports/adoption_drift_report.md", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", + " M reports/artifact-design-profile.json", + " M reports/artifact-design-profile.md", " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/context_budget.md", - " M reports/context_budget_summary.json" + " M reports/benchmark_reproducibility.md" ], "source_sample": [], "generated_sample": [ @@ -6365,13 +6343,13 @@ " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", " M reports/adoption_drift_report.json", + " M reports/adoption_drift_report.md", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", + " M reports/artifact-design-profile.json", + " M reports/artifact-design-profile.md", " M reports/benchmark_reproducibility.json", - " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/context_budget.md", - " M reports/context_budget_summary.json" + " M reports/benchmark_reproducibility.md" ], "generated_dirty_prefixes": [ "dist/", @@ -6389,8 +6367,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -6406,19 +6384,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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, "beta_test_release": { "ready": true, @@ -6455,16 +6433,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": "f37e78def3464bc818429c47e1ecc9e033c7356c", "status_scope": "generation-time status before this report is written", "source_changed_file_count": 0, - "generated_changed_file_count": 29, + "generated_changed_file_count": 71, "reason": "only generated evidence artifacts were dirty at generation time" }, "evidence_bundle": { @@ -6473,7 +6451,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0" + "sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -6581,22 +6559,22 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 137787, - "sha256": "bbff1f1bee0ce6f7014efcd4622ba11c70aacfc81f2e69e225411df7004dd616" + "bytes": 139090, + "sha256": "7ae59b7700db912ea4c72a3626d2fab5ee975e264fd067ca1ca6f94ee726c91f" }, { "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": "1c9d988340746f6f00406718f3c6473b440379b8f45190ef51cc9e996e9107b8" }, { "label": "package_verification", @@ -6610,77 +6588,77 @@ "path": "reports/install_simulation.json", "exists": true, "bytes": 8758, - "sha256": "c1f1122264b868c4998482c580ef94333575c6ff7c5c9c297188b225f69a131d" + "sha256": "247c037353fe29aa638945a2d5633228e16f30ff44c27ca1a57cb70ccc441359" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13824, - "sha256": "6362e79a8cfd3ff54b1a7ca32f37de8ed1cda500b953fdf1074928c6d2d62379" + "sha256": "80ddfb66a136a52ff9eb9aca2f6a9fe72cb923a066028f0baa9db2c0e03f0689" }, { "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": 17958, + "sha256": "47fae260e9d6d2b7c39685a1e746aa79bf79c1e6b2cd6b6c4fa706f857aa8325" } ], "missing_artifacts": [], @@ -6821,7 +6799,7 @@ "skill_os2_coverage": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", "summary": { "item_count": 21, @@ -6950,7 +6928,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": [ @@ -6987,7 +6965,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": [ @@ -7333,7 +7311,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": [ @@ -7569,11 +7547,11 @@ "exists": true }, { - "path": "reports/skillops/daily/2026-06-17.json", + "path": "reports/skillops/daily/2026-06-20.json", "exists": true }, { - "path": "reports/skillops/daily/2026-06-17.md", + "path": "reports/skillops/daily/2026-06-20.md", "exists": true } ], @@ -7632,7 +7610,7 @@ "compiled_targets": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "target_count": 5, @@ -7922,10 +7900,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" @@ -7985,7 +7965,7 @@ ], "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 } @@ -8092,7 +8072,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -8166,13 +8146,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", @@ -8185,6 +8166,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." @@ -8215,8 +8197,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 } @@ -8237,8 +8219,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -8258,7 +8240,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 }, @@ -8269,7 +8251,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": { @@ -8350,7 +8332,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -8424,13 +8406,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", @@ -8443,6 +8426,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." @@ -8473,8 +8457,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 } @@ -8493,8 +8477,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -8514,7 +8498,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 }, @@ -8525,7 +8509,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": { @@ -8873,10 +8857,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" @@ -8936,7 +8922,7 @@ ], "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 } @@ -9043,7 +9029,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -9117,13 +9103,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", @@ -9136,6 +9123,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." @@ -9166,8 +9154,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 } @@ -9188,8 +9176,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -9209,7 +9197,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 }, @@ -9220,7 +9208,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": { @@ -9301,7 +9289,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -9375,13 +9363,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", @@ -9394,6 +9383,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." @@ -9424,8 +9414,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 } @@ -9444,8 +9434,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -9465,7 +9455,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 }, @@ -9476,7 +9466,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": { @@ -9824,10 +9814,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" @@ -9887,7 +9879,7 @@ ], "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 } @@ -9994,7 +9986,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -10068,13 +10060,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", @@ -10087,6 +10080,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." @@ -10117,8 +10111,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 } @@ -10139,8 +10133,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -10160,7 +10154,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 }, @@ -10170,7 +10164,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": { @@ -10245,7 +10239,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -10319,13 +10313,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", @@ -10338,6 +10333,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." @@ -10368,8 +10364,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 } @@ -10388,8 +10384,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -10409,7 +10405,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 }, @@ -10419,7 +10415,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": { @@ -10759,10 +10755,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" @@ -10822,7 +10820,7 @@ ], "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 } @@ -10929,7 +10927,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -11003,13 +11001,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", @@ -11022,6 +11021,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." @@ -11052,8 +11052,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 } @@ -11074,8 +11074,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -11095,7 +11095,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 }, @@ -11106,7 +11106,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": { @@ -11180,7 +11180,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -11254,13 +11254,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", @@ -11273,6 +11274,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." @@ -11303,8 +11305,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 } @@ -11323,8 +11325,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -11344,7 +11346,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 }, @@ -11355,7 +11357,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": { @@ -11694,10 +11696,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" @@ -11757,7 +11761,7 @@ ], "counts": { "references": 35, - "scripts": 153, + "scripts": 155, "assets": 6, "reports": 43 } @@ -11864,7 +11868,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -11938,13 +11942,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", @@ -11957,6 +11962,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." @@ -11987,8 +11993,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 } @@ -12009,8 +12015,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -12030,7 +12036,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 }, @@ -12041,7 +12047,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": { @@ -12119,7 +12125,7 @@ }, "file_write": { "required": true, - "script_count": 73, + "script_count": 74, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/apply_adaptation.py", @@ -12193,13 +12199,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", @@ -12212,6 +12219,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." @@ -12242,8 +12250,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 } @@ -12262,8 +12270,8 @@ ], "capability_counts": { "network": 3, - "file_write": 73, - "subprocess": 12, + "file_write": 74, + "subprocess": 13, "interactive": 0 }, "evidence": "reports/security_trust_report.json", @@ -12283,7 +12291,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 }, @@ -12294,7 +12302,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": { @@ -13002,9 +13010,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" @@ -13012,7 +13020,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, @@ -13022,8 +13030,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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "failures": [], "warnings": [], @@ -15092,6 +15100,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", @@ -15148,6 +15170,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", @@ -15225,7 +15261,7 @@ "checked_count": 86, "passed_count": 86, "failed_count": 0, - "skipped_count": 67, + "skipped_count": 69, "failed_scripts": [], "results": [ { @@ -16330,6 +16366,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" @@ -16346,6 +16386,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" @@ -16484,7 +16528,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.", @@ -16518,6 +16563,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", @@ -16551,11 +16597,11 @@ "python_compatibility": { "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, @@ -16584,12 +16630,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, @@ -17466,6 +17506,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, @@ -17490,6 +17536,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, @@ -17640,6 +17692,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, @@ -17974,17 +18032,17 @@ "architecture_maintainability": { "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, @@ -18160,16 +18218,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 805, - "other_text_tokens": 1156781, + "other_text_tokens": 1167829, "estimated_initial_load_tokens": 998, - "estimated_total_text_tokens": 1157586, - "deferred_resource_tokens": 525864, + "estimated_total_text_tokens": 1168634, + "deferred_resource_tokens": 530464, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153 + "estimated_tokens": 469161, + "file_count": 155 }, { "path": "references", @@ -18190,8 +18248,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153 + "estimated_tokens": 469161, + "file_count": 155 } ], "deferred_resource_governance": { @@ -18213,14 +18271,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 464561, - "file_count": 153, + "estimated_tokens": 469161, + "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": 570, "unused_resource_dirs": [], "quality_signal_points": 140, "quality_density": 140.3 @@ -19025,20 +19083,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, @@ -19233,10 +19291,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", @@ -19652,75 +19712,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", @@ -19819,20 +19810,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": [ @@ -19927,10 +19918,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" @@ -19991,13 +19978,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", @@ -20077,17 +20057,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", @@ -20140,7 +20109,7 @@ "adoption_drift": { "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", @@ -20164,14 +20133,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, @@ -20180,7 +20149,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -20192,31 +20161,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" } @@ -20224,7 +20193,7 @@ "daily_skillops": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17T08:58:54Z", + "generated_at": "2026-06-20T12:35:26Z", "skill_dir": ".", "decision": "proposal-review", "source_supplied": false, @@ -20237,7 +20206,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": false, + "release_lock_ready": true, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -20254,7 +20223,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": false, + "release_lock_ready": true, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -20703,7 +20672,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": false, + "release_lock_ready": true, "evidence_consistency_ok": true }, "actions": [ @@ -20730,20 +20699,20 @@ "benchmark_reproducibility": "reports/benchmark_reproducibility.json" }, "artifacts": { - "json": "reports/skillops/daily/2026-06-17.json", - "markdown": "reports/skillops/daily/2026-06-17.md" + "json": "reports/skillops/daily/2026-06-20.json", + "markdown": "reports/skillops/daily/2026-06-20.md" }, - "source_path": "reports/skillops/daily/2026-06-17.json" + "source_path": "reports/skillops/daily/2026-06-20.json" }, "weekly_curator": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17T08:58:54Z", + "generated_at": "2026-06-20T12:35:26Z", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 2, - "opportunity_count": 10, + "daily_report_count": 3, + "opportunity_count": 15, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, @@ -20752,7 +20721,7 @@ "top_score": 88, "skill_count": 12, "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, @@ -20762,8 +20731,8 @@ "summary": { "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 2, - "opportunity_count": 10, + "daily_report_count": 3, + "opportunity_count": 15, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, @@ -20772,7 +20741,7 @@ "top_score": 88, "skill_count": 12, "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, @@ -20827,7 +20796,8 @@ }, "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" ], "opportunity_summary": { "action_type_counts": { @@ -21025,7 +20995,7 @@ "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 @@ -21060,7 +21030,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, @@ -21150,7 +21120,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 \"\" --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 \"\" --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." }, { @@ -21180,7 +21150,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, @@ -21203,7 +21173,7 @@ "adaptation_proposals": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17T08:58:54Z", + "generated_at": "2026-06-20T12:35:26Z", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, @@ -21601,7 +21571,7 @@ "world_class_evidence_ledger": { "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, @@ -21616,8 +21586,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, @@ -21633,8 +21603,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, @@ -22086,7 +22056,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:///", @@ -22123,7 +22093,7 @@ ], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -22144,8 +22114,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." }, @@ -22161,8 +22131,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", @@ -22203,7 +22173,7 @@ "world_class_evidence_intake": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", "summary": { "schema_present": true, @@ -22530,7 +22500,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 @@ -22601,7 +22571,7 @@ "world_class_evidence_preflight": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -22614,14 +22584,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", @@ -22630,7 +22600,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", @@ -23402,8 +23372,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 11, - "supporting_evidence_ready_count": 11, + "supporting_evidence_total_count": 8, + "supporting_evidence_ready_count": 7, "roles": [ { "role": "submission-ref", @@ -23600,8 +23570,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." }, @@ -23685,21 +23655,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", @@ -23757,34 +23712,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", @@ -24154,8 +24094,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." }, @@ -24306,21 +24246,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", @@ -24444,8 +24369,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", @@ -24536,21 +24461,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", @@ -24606,8 +24516,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 7, "submission_ref_ready_count": 7, - "supporting_evidence_total_count": 31, - "supporting_evidence_ready_count": 31, + "supporting_evidence_total_count": 28, + "supporting_evidence_ready_count": 27, "roles": [ { "role": "submission-ref", @@ -24639,7 +24549,7 @@ "world_class_submission_review": { "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, @@ -24652,8 +24562,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, @@ -24665,8 +24575,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" @@ -25016,7 +24926,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 @@ -25037,8 +24947,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." }, @@ -25054,8 +24964,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", @@ -25081,7 +24991,7 @@ "world_class_operator_runbook": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -25092,13 +25002,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", @@ -25980,7 +25890,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:///", "Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.", @@ -26028,7 +25938,7 @@ ], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -26049,8 +25959,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." }, @@ -26065,10 +25975,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": [ { @@ -26086,21 +25995,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", @@ -26117,7 +26011,7 @@ "counts_as_completion": false } ], - "repair_blocked_count": 3, + "repair_blocked_count": 2, "repair_counts_as_completion": false, "phase_queue": [ { @@ -26160,34 +26054,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", @@ -26539,21 +26418,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", @@ -26677,8 +26541,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", @@ -26769,21 +26633,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", @@ -26833,15 +26682,15 @@ "world_class_claim_guard": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "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, - "package_claim_surface_count": 17, + "claim_surface_count": 175, + "json_claim_surface_count": 85, + "metadata_claim_surface_count": 86, + "package_claim_surface_count": 10, "violation_count": 0, "overclaim_guard_active": true, "decision": "claim-guard-pass-evidence-pending" @@ -26886,34 +26735,6 @@ "path": "agents/interface.yaml", "violation_count": 0 }, - { - "path": "dist/manifest.json", - "violation_count": 0 - }, - { - "path": "dist/targets/claude/README.md", - "violation_count": 0 - }, - { - "path": "dist/targets/claude/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/generic/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/openai/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/vscode/README.md", - "violation_count": 0 - }, - { - "path": "dist/targets/vscode/adapter.json", - "violation_count": 0 - }, { "path": "docs/README.fr-FR.md", "violation_count": 0 @@ -27118,10 +26939,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 @@ -27458,6 +27275,14 @@ "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/weekly/2026-W25.json", "violation_count": 0 @@ -27558,10 +27383,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 @@ -27636,7 +27457,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -27693,7 +27514,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, @@ -28382,7 +28203,7 @@ "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -28729,7 +28550,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, diff --git a/reports/review-viewer.json b/reports/review-viewer.json index 4e482008..0f9e5c85 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -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": 150 } ], - "file_count": 456, + "file_count": 373, "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": 150 } ] }, @@ -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": 150 } ], "strengths": [ @@ -1017,8 +1016,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "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,7 +1191,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1252,7 +1251,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1324,7 +1323,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, @@ -1341,14 +1340,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 +1356,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -1632,7 +1631,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:///", @@ -1685,8 +1684,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 +2111,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:///", @@ -2149,7 +2148,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 +2169,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 +2186,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 +14289,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 +14409,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", diff --git a/reports/review_annotations.json b/reports/review_annotations.json index 76fadc1f..66f2b1d9 100644 --- a/reports/review_annotations.json +++ b/reports/review_annotations.json @@ -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, diff --git a/reports/review_waivers.json b/reports/review_waivers.json index aaa4a9d5..f39abd11 100644 --- a/reports/review_waivers.json +++ b/reports/review_waivers.json @@ -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 \"\" --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 \"\" --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." }, { diff --git a/reports/review_waivers.md b/reports/review_waivers.md index c303e8bf..e70204a5 100644 --- a/reports/review_waivers.md +++ b/reports/review_waivers.md @@ -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 "" --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 "" --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 diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 547450a8..51eb6636 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "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", diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index e221d69c..ddb98d17 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -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: `e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd` ## 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. | diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html index 8366ba87..226f06bc 100644 --- a/reports/skill-interpretation.html +++ b/reports/skill-interpretation.html @@ -929,7 +929,7 @@ -

世界证据World Evidence

世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.

证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.
已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.
源检查Source Checks11 / 19通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence

提供商留出Provider Holdout

缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.

阻塞检查Blocked Checks

当前没有阻塞检查。No blocked checks right now.

人工证据Human evidence

人工盲评Human Adjudication

盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.

阻塞检查Blocked Checks
  • 无待判定No pending decisions
  • 盲评完成Judgments complete
  • Reviewer metadataReviewer metadata
外部证据External evidence

原生权限Native Permission

原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.

阻塞检查Blocked Checks
  • 原生执行Native enforcement
外部证据External evidence

原生遥测Native Telemetry

真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.

阻塞检查Blocked Checks
  • 外部事件External events
  • 采用样本Adoption sample
+

世界证据World Evidence

世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.

证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.
已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.
源检查Source Checks12 / 19通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence

提供商留出Provider Holdout

缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.

阻塞检查Blocked Checks

当前没有阻塞检查。No blocked checks right now.

人工证据Human evidence

人工盲评Human Adjudication

盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.

阻塞检查Blocked Checks
  • 无待判定No pending decisions
  • 盲评完成Judgments complete
  • Reviewer metadataReviewer metadata
外部证据External evidence

原生权限Native Permission

原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.

阻塞检查Blocked Checks
  • 原生执行Native enforcement
外部证据External evidence

原生遥测Native Telemetry

真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.

阻塞检查Blocked Checks
  • 外部事件External events
@@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution456项456 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution373项373 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json index a2392d37..66163a4f 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -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": 150 } ], - "file_count": 456, + "file_count": 373, "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": 150 } ] }, @@ -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": 150 } ], "strengths": [ @@ -1021,8 +1020,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "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,7 +1195,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1256,7 +1255,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1328,7 +1327,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, @@ -1345,14 +1344,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 +1360,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -1636,7 +1635,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:///", @@ -1689,8 +1688,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 +2115,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:///", @@ -2153,7 +2152,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 +2173,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 +2190,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", diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index 3223a857..43a43be2 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -135,7 +135,7 @@ 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 | @@ -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 diff --git a/reports/skill-overview.html b/reports/skill-overview.html index 7448c1c8..20b27017 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -929,7 +929,7 @@
路径Path作用Role类型Type
SKILL.mdSkill 入口文件Skill entrypoint文件file
README.md人类可读使用说明Human-readable usage guide文件file
agents/interface.yaml跨平台接口元数据Neutral interface metadata文件file
manifest.json生命周期与打包元数据Lifecycle and portability metadata文件file
references扩展指导与复用资料Extended guidance and reusable notes目录folder
scripts确定性脚本或本地工具Deterministic helpers or local tooling目录folder
evals触发与质量检查Trigger and quality checks目录folder
reports生成的证据与总结报告Generated evidence and overview artifacts目录folder
-

世界证据World Evidence

世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.

证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.
已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.
源检查Source Checks11 / 19通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence

提供商留出Provider Holdout

缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.

阻塞检查Blocked Checks

当前没有阻塞检查。No blocked checks right now.

人工证据Human evidence

人工盲评Human Adjudication

盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.

阻塞检查Blocked Checks
  • 无待判定No pending decisions
  • 盲评完成Judgments complete
  • Reviewer metadataReviewer metadata
外部证据External evidence

原生权限Native Permission

原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.

阻塞检查Blocked Checks
  • 原生执行Native enforcement
外部证据External evidence

原生遥测Native Telemetry

真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.

阻塞检查Blocked Checks
  • 外部事件External events
  • 采用样本Adoption sample
+

世界证据World Evidence

世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.

证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.
已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.
源检查Source Checks12 / 19通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence

提供商留出Provider Holdout

缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.

阻塞检查Blocked Checks

当前没有阻塞检查。No blocked checks right now.

人工证据Human evidence

人工盲评Human Adjudication

盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.

阻塞检查Blocked Checks
  • 无待判定No pending decisions
  • 盲评完成Judgments complete
  • Reviewer metadataReviewer metadata
外部证据External evidence

原生权限Native Permission

原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.

阻塞检查Blocked Checks
  • 原生执行Native enforcement
外部证据External evidence

原生遥测Native Telemetry

真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.

阻塞检查Blocked Checks
  • 外部事件External events
@@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution456项456 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution373项373 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
diff --git a/reports/skill-overview.json b/reports/skill-overview.json index a6034e28..fc51d7f7 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -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": 150 } ], - "file_count": 456, + "file_count": 373, "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": 150 } ] }, @@ -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": 150 } ], "strengths": [ @@ -1016,8 +1015,8 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0", - "source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "evidence_bundle_sha256": "3f7cdbc5e28c338aa681de7729ad6b634f9a8be2f993280f001d399c50bd8ad4", + "source_contract_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -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": 71, "source_tree_dirty": false, "source_changed_file_count": 0, "generated_tree_dirty": true, - "generated_changed_file_count": 29 + "generated_changed_file_count": 71 }, - "commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4", + "commit": "f37e78def3464bc818429c47e1ecc9e033c7356c", "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": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" }, "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,7 +1190,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257", + "package_sha256": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1251,7 +1250,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 696, + "archive_entry_count": 588, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1323,7 +1322,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, @@ -1340,14 +1339,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 +1355,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -1631,7 +1630,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:///", @@ -1684,8 +1683,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 +2110,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:///", @@ -2148,7 +2147,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 +2168,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 +2185,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", diff --git a/reports/skill_atlas.html b/reports/skill_atlas.html index 196b1c40..ec5ab053 100644 --- a/reports/skill_atlas.html +++ b/reports/skill_atlas.html @@ -24,7 +24,7 @@

Skill Atlas

Portfolio-level review for route overlap, stale ownership, shared resources, telemetry drift, and no-route opportunities.

-
Skills12
+
Skills11
Actionable1
Route Collisions0
Owner Gaps0
@@ -43,13 +43,13 @@

Full Portfolio Counts

-

All scanned skills remain visible: 5 total route collisions, 9 total owner gaps, 10 total stale signals, and 0 telemetry drift signals.

+

All scanned skills remain visible: 5 total route collisions, 8 total owner gaps, 9 total stale signals, and 0 telemetry drift signals.

Catalog

路径Path作用Role类型Type
SKILL.mdSkill 入口文件Skill entrypoint文件file
README.md人类可读使用说明Human-readable usage guide文件file
agents/interface.yaml跨平台接口元数据Neutral interface metadata文件file
manifest.json生命周期与打包元数据Lifecycle and portability metadata文件file
references扩展指导与复用资料Extended guidance and reusable notes目录folder
scripts确定性脚本或本地工具Deterministic helpers or local tooling目录folder
evals触发与质量检查Trigger and quality checks目录folder
reports生成的证据与总结报告Generated evidence and overview artifacts目录folder
- +
NamePathOwnerMaturityReviewScope
yao-meta-skill.Yao Teamgovernedquarterlyrelease
release-orchestratorexamples/complex-release-orchestrator/generated-skillYao Teamproductionquarterlyexample
frontend-reviewexamples/evolution-frontend-review/finalmissingunknownmissingexample
frontend-reviewexamples/evolution-frontend-review/v0missingunknownmissingexample
frontend-reviewexamples/evolution-frontend-review/v1missingunknownmissingexample
incident-command-governorexamples/governed-incident-command/generated-skillIncident Operations Teamgovernedmonthlyexample
note-cleanupexamples/simple-note-cleanup/generated-skillmissingunknownmissingexample
frontend-reviewexamples/team-frontend-review/generated-skillmissingunknownmissingexample
geo-ranking-article-generatorgeo-ranking-article-generatormissingunknownmissingembedded-generated-skill
invalid-governance-skilltests/fixtures/governance_invalid_manifestmissinggovernedmissingtest-fixture
broken-yaml-skilltests/fixtures/package_invalid_yamlmissingunknownmissingtest-fixture
broken-skilltests/fixtures/package_missing_interface_fieldmissingunknownmissingtest-fixture
yao-meta-skill.Yao Teamgovernedquarterlyrelease
release-orchestratorexamples/complex-release-orchestrator/generated-skillYao Teamproductionquarterlyexample
frontend-reviewexamples/evolution-frontend-review/finalmissingunknownmissingexample
frontend-reviewexamples/evolution-frontend-review/v0missingunknownmissingexample
frontend-reviewexamples/evolution-frontend-review/v1missingunknownmissingexample
incident-command-governorexamples/governed-incident-command/generated-skillIncident Operations Teamgovernedmonthlyexample
note-cleanupexamples/simple-note-cleanup/generated-skillmissingunknownmissingexample
frontend-reviewexamples/team-frontend-review/generated-skillmissingunknownmissingexample
invalid-governance-skilltests/fixtures/governance_invalid_manifestmissinggovernedmissingtest-fixture
broken-yaml-skilltests/fixtures/package_invalid_yamlmissingunknownmissingtest-fixture
broken-skilltests/fixtures/package_missing_interface_fieldmissingunknownmissingtest-fixture
diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index c8d8ed7e..05ac9ca8 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -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", diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 96ff4372..a06dd79f 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "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": [ { @@ -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": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index 60878f68..d860a2a1 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Audit -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## 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. | +| Skill Atlas | pass | 11 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. | | Registry Distribution | pass | zip entries 689; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. | | 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 diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 8adc38bc..75143e3a 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "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": [ @@ -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-20.json", "exists": true }, { - "path": "reports/skillops/daily/2026-06-17.md", + "path": "reports/skillops/daily/2026-06-20.md", "exists": true } ], diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md index e857c756..02964236 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Blueprint Coverage -Generated at: `2026-06-17` +Generated at: `2026-06-20` ## Summary @@ -26,8 +26,8 @@ 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` | +| Trust Security | `pass` | 155 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | +| Skill Atlas | `pass` | 11 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` | | Registry Distribution | `pass` | archive entries 689; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | | 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-20.json`, `reports/skillops/daily/2026-06-20.md` - next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves. ### Weekly Curator Report diff --git a/reports/skillops/daily/2026-06-20.json b/reports/skillops/daily/2026-06-20.json new file mode 100644 index 00000000..46357b5f --- /dev/null +++ b/reports/skillops/daily/2026-06-20.json @@ -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" + } +} diff --git a/reports/skillops/daily/2026-06-20.md b/reports/skillops/daily/2026-06-20.md new file mode 100644 index 00000000..f83a755b --- /dev/null +++ b/reports/skillops/daily/2026-06-20.md @@ -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` diff --git a/reports/skillops/weekly/2026-W25.json b/reports/skillops/weekly/2026-W25.json index e946f5f8..36e184fa 100644 --- a/reports/skillops/weekly/2026-W25.json +++ b/reports/skillops/weekly/2026-W25.json @@ -1,12 +1,12 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17T08:58:54Z", + "generated_at": "2026-06-20T12:35:26Z", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 2, - "opportunity_count": 10, + "daily_report_count": 3, + "opportunity_count": 15, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, @@ -15,7 +15,7 @@ "top_score": 88, "skill_count": 12, "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,8 +25,8 @@ "summary": { "decision": "curator-review", "week_id": "2026-W25", - "daily_report_count": 2, - "opportunity_count": 10, + "daily_report_count": 3, + "opportunity_count": 15, "unique_opportunity_count": 5, "ready_for_approval_review_count": 1, "proposal_review_count": 4, @@ -35,7 +35,7 @@ "top_score": 88, "skill_count": 12, "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,8 @@ }, "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" ], "opportunity_summary": { "action_type_counts": { @@ -288,7 +289,7 @@ "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 diff --git a/reports/skillops/weekly/2026-W25.md b/reports/skillops/weekly/2026-W25.md index dae0f676..f59ee7fa 100644 --- a/reports/skillops/weekly/2026-W25.md +++ b/reports/skillops/weekly/2026-W25.md @@ -1,19 +1,19 @@ # Weekly SkillOps Curator Report -Generated at: `2026-06-17T08:58:54Z` +Generated at: `2026-06-20T12:35:26Z` Week: `2026-W25` ## Summary - decision: `curator-review` -- daily_report_count: `2` +- daily_report_count: `3` - unique_opportunity_count: `5` - ready_for_approval_review_count: `1` - proposal_review_count: `4` - top_score: `88` - skill_count: `12` - 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` diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index 4d38e5d7..a0e5c8d5 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -75,7 +75,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257" + "to": "e5b4ffc5c3f93f7f8367fd4a021a0a09567d4df4acd0c31d2964d60593f47cbd" } ] }, diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json index 22da9491..6d8e8ea5 100644 --- a/reports/world_class_claim_guard.json +++ b/reports/world_class_claim_guard.json @@ -1,15 +1,15 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "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, - "package_claim_surface_count": 17, + "claim_surface_count": 175, + "json_claim_surface_count": 85, + "metadata_claim_surface_count": 86, + "package_claim_surface_count": 10, "violation_count": 0, "overclaim_guard_active": true, "decision": "claim-guard-pass-evidence-pending" @@ -54,34 +54,6 @@ "path": "agents/interface.yaml", "violation_count": 0 }, - { - "path": "dist/manifest.json", - "violation_count": 0 - }, - { - "path": "dist/targets/claude/README.md", - "violation_count": 0 - }, - { - "path": "dist/targets/claude/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/generic/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/openai/adapter.json", - "violation_count": 0 - }, - { - "path": "dist/targets/vscode/README.md", - "violation_count": 0 - }, - { - "path": "dist/targets/vscode/adapter.json", - "violation_count": 0 - }, { "path": "docs/README.fr-FR.md", "violation_count": 0 @@ -286,10 +258,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 +594,14 @@ "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/weekly/2026-W25.json", "violation_count": 0 @@ -726,10 +702,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 diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md index d2d4d668..ca4f2ad1 100644 --- a/reports/world_class_claim_guard.md +++ b/reports/world_class_claim_guard.md @@ -1,16 +1,16 @@ # World-Class Claim Guard -Generated at: `2026-06-17` +Generated at: `2026-06-20` ## 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` -- package/runtime claim surfaces scanned: `17` +- claim surfaces scanned: `175` +- JSON claim surfaces scanned: `85` +- metadata claim surfaces scanned: `86` +- package/runtime claim surfaces scanned: `10` - violations: `0` - overclaim guard active: `true` diff --git a/reports/world_class_evidence_intake.json b/reports/world_class_evidence_intake.json index c90e7d1d..9225577d 100644 --- a/reports/world_class_evidence_intake.json +++ b/reports/world_class_evidence_intake.json @@ -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 diff --git a/reports/world_class_evidence_intake.md b/reports/world_class_evidence_intake.md index 50426d6d..90b89f0a 100644 --- a/reports/world_class_evidence_intake.md +++ b/reports/world_class_evidence_intake.md @@ -1,6 +1,6 @@ # World-Class Evidence Intake -Generated at: `2026-06-17` +Generated at: `2026-06-20` ## Summary diff --git a/reports/world_class_evidence_ledger.json b/reports/world_class_evidence_ledger.json index 89d6c6e6..c83a59df 100644 --- a/reports/world_class_evidence_ledger.json +++ b/reports/world_class_evidence_ledger.json @@ -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:///", @@ -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", diff --git a/reports/world_class_evidence_ledger.md b/reports/world_class_evidence_ledger.md index 14ee3362..636b3009 100644 --- a/reports/world_class_evidence_ledger.md +++ b/reports/world_class_evidence_ledger.md @@ -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 diff --git a/reports/world_class_evidence_plan.json b/reports/world_class_evidence_plan.json index 2ee34bbb..370a8448 100644 --- a/reports/world_class_evidence_plan.json +++ b/reports/world_class_evidence_plan.json @@ -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:///", @@ -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:///", diff --git a/reports/world_class_evidence_plan.md b/reports/world_class_evidence_plan.md index 2cf994c2..8bef1881 100644 --- a/reports/world_class_evidence_plan.md +++ b/reports/world_class_evidence_plan.md @@ -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 diff --git a/reports/world_class_evidence_preflight.html b/reports/world_class_evidence_preflight.html index 8c340acc..71a5afaa 100644 --- a/reports/world_class_evidence_preflight.html +++ b/reports/world_class_evidence_preflight.html @@ -68,7 +68,7 @@ Evidence Collection

World-Class Evidence Preflight

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.

-
Decisioncollection-preflight-blocked
Pending4
Ready1
Blocked3
Source11/19
Repairs12/12
Phases2/2
+
Decisioncollection-preflight-blocked
Pending4
Ready1
Blocked3
Source12/19
Repairs11/11
Phases2/2
@@ -92,7 +92,7 @@
Supporting evidence

supporting-evidence

- 31/31 ready + 27/28 ready

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

copy to artifact_refs: false
@@ -128,7 +128,7 @@
Phase
collect-source
-
Rows
8 / 8 blocked
+
Rows
7 / 7 blocked
Owners
Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator
Evidence
human-adjudication, native-client-telemetry, native-permission-enforcement
Next
Set reviewer_attestation only after choices are completed before opening the answer key.
@@ -667,7 +667,7 @@
Supporting evidence

supporting-evidence

- 11/11 ready + 7/8 ready

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

copy to artifact_refs: false
@@ -894,15 +894,15 @@
-
+
adoption_sample_count Adoption sample
-
Current
0
+
Current
1
Expected
>0
-
Status
blocked
+
Status
pass
Action
Telemetry must include adoption outcome evidence.
@@ -941,23 +941,6 @@
-
-
- source-check - adoption_sample_count -
-
-
Priority
40
-
Phase
collect-source
-
Owner
Browser/Chrome/IDE/provider client integrator
-
Status
blocked
-
Reason
Current value 0 does not satisfy '>0'.
-
Action
Telemetry must include adoption outcome evidence.
-
Verify
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
-
Evidence
does not count as completion
-
-
-
source-check diff --git a/reports/world_class_evidence_preflight.json b/reports/world_class_evidence_preflight.json index 9b3b2372..31a2b547 100644 --- a/reports/world_class_evidence_preflight.json +++ b/reports/world_class_evidence_preflight.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-20", "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", @@ -802,8 +802,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 2, "submission_ref_ready_count": 2, - "supporting_evidence_total_count": 11, - "supporting_evidence_ready_count": 11, + "supporting_evidence_total_count": 8, + "supporting_evidence_ready_count": 7, "roles": [ { "role": "submission-ref", @@ -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", @@ -2006,8 +1946,8 @@ "artifact_prefill_counts_as_evidence": false, "submission_ref_total_count": 7, "submission_ref_ready_count": 7, - "supporting_evidence_total_count": 31, - "supporting_evidence_ready_count": 31, + "supporting_evidence_total_count": 28, + "supporting_evidence_ready_count": 27, "roles": [ { "role": "submission-ref", diff --git a/reports/world_class_evidence_preflight.md b/reports/world_class_evidence_preflight.md index 048f9548..7f203f7e 100644 --- a/reports/world_class_evidence_preflight.md +++ b/reports/world_class_evidence_preflight.md @@ -1,6 +1,6 @@ # World-Class Evidence Preflight -Generated at: `2026-06-17` +Generated at: `2026-06-20` ## 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` @@ -33,14 +33,14 @@ This preflight report checks whether an operator can start collecting the remain - drafts count as evidence: `false` - artifact prefill counts as evidence: `false` - submission refs ready: `7` / `7` -- supporting evidence ready: `31` / `31` +- supporting evidence ready: `27` / `28` Generate the submission kit after the real provider, human, native-permission, or native-client work exists. The generated JSON drafts remain `template_only: true` until an operator edits them with real aggregate artifact references and matching SHA-256 digests. The prefill command only inserts local artifact SHA-256 digests; it does not make a draft count as evidence. | Role | Copy to artifact_refs | Ready | Meaning | | --- | --- | --- | --- | | `submission-ref` | `true` | `7 / 7` | Rows marked submission-ref are the aggregate paths expected in artifact_refs. | -| `supporting-evidence` | `false` | `31 / 31` | Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs. | +| `supporting-evidence` | `false` | `27 / 28` | Supporting-evidence rows help reviewers audit the packet but do not all need to be copied into artifact_refs. | `submission-ref` rows are the only checklist rows expected in `artifact_refs`; `supporting-evidence` rows stay available for audit context and reviewer traceability. @@ -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. | @@ -150,7 +149,7 @@ Repair rows convert preflight and source blockers into a prioritized operator qu - prepare draft: `python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions` - prepare draft with artifact SHA prefill: `python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions --prefill-artifacts` - submission refs ready: `2` / `2` -- supporting evidence ready: `11` / `11` +- supporting evidence ready: `7` / `8` ### Prechecks @@ -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 diff --git a/reports/world_class_operator_runbook.html b/reports/world_class_operator_runbook.html index eab34933..6865cc17 100644 --- a/reports/world_class_operator_runbook.html +++ b/reports/world_class_operator_runbook.html @@ -68,11 +68,11 @@ Evidence Operations

World-Class Operator Runbook

A single operating page for collecting the remaining human and external evidence. It coordinates action, but does not accept evidence or change the ledger.

-
Pending4
Awaiting4
Ready0
Source11/19
Queue2/2
Steps6/6
Gate4/5
Blocked8
Invalid0
+
Pending4
Awaiting4
Ready0
Source12/19
Queue2/2
Steps6/6
Gate4/5
Blocked7
Invalid0

Fast Path

  1. Run the real external or human work for one evidence item.
  2. Generate and fill the matching submission draft.
  3. Validate intake and inspect the submission review queue.
  4. Refresh the ledger and run the claim guard before making any completion claim.

Coordination Plan

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.

StepEvidenceOwnerUserUser actionAssistant actionCommandPass condition
prepare-evidence-sessionallassistant + usertrueConfirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.Run preflight and prepare submission drafts without accepting them as evidence.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifactsPreflight lists the same pending evidence keys and no credential values are printed.
collect-provider-holdoutprovider-holdoutassistant + operator with provider credentialstrueProvide the selected provider API key through an environment variable and confirm the provider, model, endpoint, and API format to use.Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.python3 scripts/yao.py output-exec . --provider-runner <openai|deepseek> --provider-model <model> --timeout-seconds 60reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.
collect-human-adjudicationhuman-adjudicationhuman reviewer + assistanttrueOpen the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.
collect-native-permission-enforcementnative-permission-enforcementtarget client or installer integrator + assistanttrueSelect a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.python3 scripts/yao.py runtime-permissions . --package-dir distreports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.
collect-native-client-telemetrynative-client-telemetryreal client integrator + assistanttrueInstall the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source externalreports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.
review-and-release-gateallassistant + ledger reviewertrueApprove only validated evidence packets and confirm the release wording after the claim guard passes.Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-testLedger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.
-

Phase Queue

  • Unblock accessunblock-access: 4 / 4Assign a real reviewer identity before claiming human adjudication.
  • Collect sourcecollect-source: 8 / 8Set reviewer_attestation only after choices are completed before opening the answer key.
+

Phase Queue

  • Unblock accessunblock-access: 4 / 4Assign a real reviewer identity before claiming human adjudication.
  • Collect sourcecollect-source: 7 / 7Set reviewer_attestation only after choices are completed before opening the answer key.

Evidence Items

external · awaiting-submission

Provider Holdout

No evidence packet has been submitted for review.

@@ -139,11 +139,11 @@
Owner
Browser/Chrome/IDE/provider client integrator
Ledger
pending
-
Blocked
2
+
Blocked
1
Queue
2
Submission
evidence/world_class/submissions/native-client-telemetry.json
-

Phase Queue

  • Unblock accessunblock-access: 1 / 1Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.
  • Collect sourcecollect-source: 2 / 2Telemetry must include adoption outcome evidence.
+

Phase Queue

  • Unblock accessunblock-access: 1 / 1Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.
  • Collect sourcecollect-source: 1 / 1Import at least one metadata-only event from a real client.

Source 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.
  • python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
  • python3 scripts/yao.py skill-atlas --workspace-root .
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • 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.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions

Commands

  • prepare submissionpython3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions
  • validate intakepython3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • review queuepython3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • refresh ledgerpython3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
  • guard claimpython3 scripts/yao.py world-class-claim-guard .
@@ -151,8 +151,8 @@

Success Checks

  • reports/adoption_drift_report.json summary.source_types.external > 0
  • reports/adoption_drift_report.json summary.adoption_sample_count > 0
  • reports/skill_os2_audit.json item native-client-telemetry status becomes pass

Privacy

  • Telemetry must remain metadata-only and local-first.
  • Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.
-

Next Source Actions

  • Import at least one metadata-only event from a real client.
  • Telemetry must include adoption outcome evidence.
-

Source Evidence Snapshot

  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
  • Adoption sampleadoption_sample_count: 0 / >0Telemetry must include adoption outcome evidence.
  • Raw content blockedraw_content_allowed: False / falseTelemetry must stay metadata-only.
+

Next Source Actions

  • Import at least one metadata-only event from a real client.
+

Source Evidence Snapshot

  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
  • Adoption sampleadoption_sample_count: 1 / >0Telemetry must include adoption outcome evidence.
  • Raw content blockedraw_content_allowed: False / falseTelemetry must stay metadata-only.

Release Gate

Decisionblocked-until-evidence-accepted
diff --git a/reports/world_class_operator_runbook.json b/reports/world_class_operator_runbook.json index 7a3f2226..ef09b15a 100644 --- a/reports/world_class_operator_runbook.json +++ b/reports/world_class_operator_runbook.json @@ -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:///", "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", diff --git a/reports/world_class_operator_runbook.md b/reports/world_class_operator_runbook.md index a69f6e0f..c2dd03a1 100644 --- a/reports/world_class_operator_runbook.md +++ b/reports/world_class_operator_runbook.md @@ -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 diff --git a/reports/world_class_submission_review.json b/reports/world_class_submission_review.json index 50689d71..f7a6afb8 100644 --- a/reports/world_class_submission_review.json +++ b/reports/world_class_submission_review.json @@ -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", diff --git a/reports/world_class_submission_review.md b/reports/world_class_submission_review.md index 5734e5db..fa3259e8 100644 --- a/reports/world_class_submission_review.md +++ b/reports/world_class_submission_review.md @@ -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 diff --git a/scripts/ci_test.py b/scripts/ci_test.py index 9ec03633..e86d06ec 100644 --- a/scripts/ci_test.py +++ b/scripts/ci_test.py @@ -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", diff --git a/scripts/yao.py b/scripts/yao.py index 09ffb3e0..fc51f30c 100644 --- a/scripts/yao.py +++ b/scripts/yao.py @@ -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, diff --git a/scripts/yao_cli_operator_commands.py b/scripts/yao_cli_operator_commands.py new file mode 100644 index 00000000..5dfe85ce --- /dev/null +++ b/scripts/yao_cli_operator_commands.py @@ -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 diff --git a/scripts/yao_cli_parser.py b/scripts/yao_cli_parser.py index 60e5e916..dab6a01f 100644 --- a/scripts/yao_cli_parser.py +++ b/scripts/yao_cli_parser.py @@ -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( diff --git a/scripts/yao_cli_parser_operator.py b/scripts/yao_cli_parser_operator.py new file mode 100644 index 00000000..795d927c --- /dev/null +++ b/scripts/yao_cli_parser_operator.py @@ -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")) diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json index d1de6b8c..d9361cc3 100644 --- a/skill-ir/examples/yao-meta-skill.json +++ b/skill-ir/examples/yao-meta-skill.json @@ -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" diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index 73e58a17..9cfe5503 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -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 } } diff --git a/skill_atlas/dependency_graph.json b/skill_atlas/dependency_graph.json index 384e236d..35682e64 100644 --- a/skill_atlas/dependency_graph.json +++ b/skill_atlas/dependency_graph.json @@ -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" diff --git a/skill_atlas/owner_review_gaps.json b/skill_atlas/owner_review_gaps.json index e69e9119..351248fc 100644 --- a/skill_atlas/owner_review_gaps.json +++ b/skill_atlas/owner_review_gaps.json @@ -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", diff --git a/skill_atlas/route_overlap_matrix.csv b/skill_atlas/route_overlap_matrix.csv index e245622c..f4bc7521 100644 --- a/skill_atlas/route_overlap_matrix.csv +++ b/skill_atlas/route_overlap_matrix.csv @@ -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 diff --git a/skill_atlas/stale_skills.json b/skill_atlas/stale_skills.json index 6602e829..60e061b9 100644 --- a/skill_atlas/stale_skills.json +++ b/skill_atlas/stale_skills.json @@ -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", diff --git a/tests/verify_operator_ux.py b/tests/verify_operator_ux.py new file mode 100644 index 00000000..4f81ddbb --- /dev/null +++ b/tests/verify_operator_ux.py @@ -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() diff --git a/tests/verify_trust_check.py b/tests/verify_trust_check.py index 42152e09..10ff49d6 100644 --- a/tests/verify_trust_check.py +++ b/tests/verify_trust_check.py @@ -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"] diff --git a/tests/yao_cli_helpers.py b/tests/yao_cli_helpers.py index dae5daf1..bcf67871 100644 --- a/tests/yao_cli_helpers.py +++ b/tests/yao_cli_helpers.py @@ -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()