diff --git a/Makefile b/Makefile index 16bda0f..318f212 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ PYTHON ?= python3 LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill -.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-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 benchmark-reproducibility-check feedback-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: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-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-claim-guard-check benchmark-reproducibility-check feedback-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 eval: $(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt @@ -100,6 +100,9 @@ world-class-ledger-check: world-class-intake-check: $(PYTHON) tests/verify_world_class_evidence_intake.py +world-class-claim-guard-check: + $(PYTHON) tests/verify_world_class_claim_guard.py + benchmark-reproducibility-check: $(PYTHON) tests/verify_benchmark_reproducibility.py @@ -217,11 +220,11 @@ sync-local-install: package-check sync-active-install: package-check $(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)" -test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-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 benchmark-reproducibility-check feedback-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: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-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-claim-guard-check benchmark-reproducibility-check feedback-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) scripts/ci_test.py clean: - rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_skill_overview 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_benchmark_reproducibility tests/tmp_feedback 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_skill_overview 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_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_feedback 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 825758e..f12a8b5 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ It turns rough workflows, transcripts, prompts, notes, and runbooks into reusabl - a world-class evidence plan that turns remaining provider, human, native-permission, and real-client telemetry gaps into executable evidence tasks - a world-class evidence ledger that records which external and human evidence is accepted or still pending without treating planned work as proof - a world-class evidence intake contract that validates external and human evidence packets for provenance, privacy, artifact refs, and anti-overclaim rules before ledger review +- a world-class claim guard that scans public claim surfaces and blocks premature completed/true claims while the evidence ledger still has pending external or human evidence - a benchmark reproducibility manifest that checks methodology sections, required artifacts, failure disclosure, and reproduction commands - Output Eval Lab evidence with assertion grading, execution/timing/token evidence, a blind A/B review pack, a separate answer key, and reviewer adjudication reports - a runtime permission probe report that checks packaged target adapters for explicit permission metadata, native-enforcement flags, metadata fallback notes, and residual risks @@ -139,6 +140,11 @@ python3 scripts/yao.py registry-audit . python3 scripts/yao.py package-verify . --package-dir dist --require-zip python3 scripts/yao.py install-simulate . --package-dir dist python3 scripts/yao.py upgrade-check . --previous-package-json registry/examples/yao-meta-skill-1.0.0.json +python3 scripts/yao.py world-class-evidence . +python3 scripts/yao.py world-class-ledger . +python3 scripts/yao.py world-class-intake . +python3 scripts/yao.py world-class-claim-guard . +python3 scripts/yao.py benchmark-reproducibility . ``` ## Local Development Source @@ -287,6 +293,7 @@ Full reports: [reports/eval_suite.json](reports/eval_suite.json) and [reports/fa - remaining world-class evidence tasks are published in [reports/world_class_evidence_plan.md](reports/world_class_evidence_plan.md) - current world-class evidence acceptance state is published in [reports/world_class_evidence_ledger.md](reports/world_class_evidence_ledger.md) - world-class evidence intake readiness is published in [reports/world_class_evidence_intake.md](reports/world_class_evidence_intake.md) +- world-class public claim guard status is published in [reports/world_class_claim_guard.md](reports/world_class_claim_guard.md) - benchmark reproducibility evidence is published in [reports/benchmark_reproducibility.md](reports/benchmark_reproducibility.md) - target compiler evidence is published in [reports/compiled_targets.md](reports/compiled_targets.md) - registry package metadata and audit status are published in [reports/registry_audit.md](reports/registry_audit.md) @@ -403,7 +410,7 @@ Utility scripts that make the meta-skill operational: - `run_description_optimization_suite.py`: runs description optimization across the root skill and governed examples, then writes reusable reports and optional drift snapshots with calibration and family summaries - `promotion_checker.py`: applies promotion policy to current description candidates, writes promotion decisions, builds candidate registries, and emits iteration bundles with review stubs - `create_iteration_snapshot.py`: freezes the current promotion decision into a versioned release snapshot with review, route, and context evidence -- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, skill-os2-coverage, world-class-evidence, world-class-ledger, world-class-intake, benchmark-reproducibility, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint +- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, skill-os2-coverage, world-class-evidence, world-class-ledger, world-class-intake, world-class-claim-guard, benchmark-reproducibility, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint - `render_description_drift_history.py`: turns description-optimization snapshots into a readable drift-history report - `build_confusion_matrix.py`: scores route confusion across tracked sibling skills and `no_route` cases, then writes a route scorecard and optional milestone snapshot - `render_iteration_ledger.py`: compresses regression milestones, description optimization drift, and route scorecards into one iteration-facing ledger @@ -417,6 +424,7 @@ Utility scripts that make the meta-skill operational: - `render_world_class_evidence_plan.py`: renders executable evidence tasks for remaining world-class gaps without treating planned external work as completed evidence - `render_world_class_evidence_ledger.py`: renders a machine-checkable ledger for current world-class evidence acceptance, anti-overclaim guards, provenance requirements, and privacy contracts - `render_world_class_evidence_intake.py`: validates world-class external and human evidence packets against provenance, privacy, artifact, and anti-overclaim requirements before ledger review +- `render_world_class_claim_guard.py`: scans README, docs, and reports for premature world-class completion claims while accepted evidence is still pending - `render_benchmark_reproducibility.py`: renders methodology, artifact, failure-disclosure, and reproduction-command evidence for public benchmark claims - `cross_packager.py`: builds client-specific export artifacts from Skill IR plus neutral metadata, with explicit platform contracts and validation - `render_portability_report.py`: scores cross-environment portability from neutral metadata, degradation rules, and consumer validation coverage diff --git a/registry/index.json b/registry/index.json index b22a503..51a39cd 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 6a7c5bb..91b38b6 100644 --- a/registry/packages/yao-meta-skill.json +++ b/registry/packages/yao-meta-skill.json @@ -16,8 +16,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1", - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, "compatibility": { "openai": "pass", @@ -48,7 +48,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index b9db34c..afc182e 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -3,13 +3,12 @@ "ok": true, "generated_at": "2026-06-14", "skill_dir": ".", - "commit": "60995ed569b1c99aa6f6ae2b4406e04327202beb", + "commit": "c1c85093d1ea67954d414789f96c87bbc3964868", "git_status": { "available": true, "dirty": true, - "changed_file_count": 56, + "changed_file_count": 42, "sample": [ - " M .gitignore", " M Makefile", " M README.md", " M registry/index.json", @@ -20,17 +19,18 @@ " M reports/context_budget.json", " M reports/install_simulation.json", " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md" + " M reports/output_execution_runs.md", + " M reports/package_verification.json" ] }, "summary": { "reproducibility_ready": true, "methodology_complete": true, - "required_artifact_count": 18, + "required_artifact_count": 19, "missing_artifact_count": 0, "output_case_count": 5, "failure_disclosure_count": 3, - "command_count": 17, + "command_count": 18, "command_executed_count": 10, "timing_observed_count": 10, "model_executed_count": 0, @@ -42,7 +42,7 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 56 + "changed_file_count": 42 }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -115,8 +115,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7967, - "sha256": "8c40546b610c75ebb6dcee431cec4f603431c0c45ff49dcdc947473749c2f03e" + "bytes": 7966, + "sha256": "5a1eaa33c1cb916aa0962a9e826e97fc53fd9ca9bd6aa298ff91aa2068ff3415" }, { "label": "blind_review", @@ -150,36 +150,36 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 85082, - "sha256": "097f2a477efcc62b35ec8e94e2b800f7af6c207ad36fa096257972d0865a9dce" + "bytes": 86196, + "sha256": "1faacec874dd129b1d03cd53f93ee0abcb77fe6b5fbac7ab9726da23699ff4c1" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "5c606b5a3b54bbdc814dc67a331d1c66756a9be25d16791bc53dd21ef19e07ec" + "sha256": "c796a29122c32df656421f25eb2fa13726c7dffd85c676d9c9218673777cb18c" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, "bytes": 19325, - "sha256": "8dab6035e72ceda3756677d1ffa60aa7ad862c1af311899bb8a8dab198b750d7" + "sha256": "224f5f71478530766baac79902cf19da4abb800e256273168fbd9e51d763ff4d" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, "bytes": 8557, - "sha256": "3b1456caa214bb0056943e110dbd0b2182faa5068b3a8fdb4272e9d8b38f759a" + "sha256": "ae7cccad47924b9f4e2572ae32a9f68209dead4741c982d81446d8ea8474b822" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 13946, - "sha256": "5b7c9427a3403d989651fad9cfe38e9dc2c859513fb6c3bd7a5574a7656883a2" + "sha256": "3f1c6fdf7b52a365d9f458797a444b70aa34acffe78f24b4c08b4a428db5e32b" }, { "label": "world_class_evidence_plan", @@ -201,6 +201,13 @@ "exists": true, "bytes": 1775, "sha256": "124b9239d7f35022735090712aadf2bf1d4dfba28f6bcf18f956fa0a73fe4482" + }, + { + "label": "world_class_claim_guard", + "path": "reports/world_class_claim_guard.json", + "exists": true, + "bytes": 7809, + "sha256": "7365f6cd85b89326816590cd2403b1210e9afba45f0bc3ca1af6b4a07299b9ad" } ], "missing_artifacts": [], @@ -285,6 +292,11 @@ "command": "python3 scripts/yao.py world-class-intake .", "evidence": "reports/world_class_evidence_intake.json" }, + { + "label": "world-class claim guard", + "command": "python3 scripts/yao.py world-class-claim-guard .", + "evidence": "reports/world_class_claim_guard.json" + }, { "label": "full ci", "command": "make ci-test", diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index 8a1e10a..4e31574 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,22 +1,22 @@ # Benchmark Reproducibility Generated at: `2026-06-14` -Commit: `60995ed569b1c99aa6f6ae2b4406e04327202beb` +Commit: `c1c85093d1ea67954d414789f96c87bbc3964868` Working tree dirty at generation: `true` ## Summary - reproducibility ready: `true` - methodology complete: `true` -- required artifacts: `18` +- required artifacts: `19` - missing artifacts: `0` - output cases: `5` - disclosed failure cases: `3` -- reproduction commands: `17` +- reproduction commands: `18` - provider evidence complete: `false` - human review complete: `false` - world-class ready: `false` -- changed files at generation: `56` +- changed files at generation: `42` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. @@ -40,19 +40,20 @@ This report proves local benchmark reproducibility only. It keeps external provi | output_cases | `evals/output/cases.jsonl` | present | `a6ae96857116` | | output_schema | `evals/output/schema.json` | present | `8ee340c95064` | | output_scorecard | `reports/output_quality_scorecard.json` | present | `0806258a8e08` | -| output_execution | `reports/output_execution_runs.json` | present | `8c40546b610c` | +| output_execution | `reports/output_execution_runs.json` | present | `5a1eaa33c1cb` | | blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` | | review_adjudication | `reports/output_review_adjudication.json` | present | `ddd9af90d42e` | | trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` | | runtime_conformance | `reports/conformance_matrix.json` | present | `8251329e663d` | -| trust_report | `reports/security_trust_report.json` | present | `097f2a477efc` | -| registry_audit | `reports/registry_audit.json` | present | `5c606b5a3b54` | -| package_verification | `reports/package_verification.json` | present | `8dab6035e72c` | -| install_simulation | `reports/install_simulation.json` | present | `3b1456caa214` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `5b7c9427a340` | +| trust_report | `reports/security_trust_report.json` | present | `1faacec874dd` | +| registry_audit | `reports/registry_audit.json` | present | `c796a29122c3` | +| package_verification | `reports/package_verification.json` | present | `224f5f714785` | +| install_simulation | `reports/install_simulation.json` | present | `ae7cccad4792` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `3f1c6fdf7b52` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `ed1274b7c18c` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `5ed043491c3d` | | world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `124b9239d7f3` | +| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `7365f6cd85b8` | ## Reproduction Commands @@ -88,6 +89,8 @@ This report proves local benchmark reproducibility only. It keeps external provi - evidence: `reports/world_class_evidence_ledger.json` - `python3 scripts/yao.py world-class-intake .` - evidence: `reports/world_class_evidence_intake.json` +- `python3 scripts/yao.py world-class-claim-guard .` + - evidence: `reports/world_class_claim_guard.json` - `make ci-test` - evidence: `CI target output` diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index e4f188d..1ee317e 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -197,6 +197,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -223,8 +224,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -383,7 +383,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -429,6 +429,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -479,14 +480,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -508,7 +509,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -621,7 +622,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -667,6 +668,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -717,14 +719,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -744,7 +746,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -1030,6 +1032,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -1056,8 +1059,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -1216,7 +1218,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -1262,6 +1264,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -1312,14 +1315,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -1341,7 +1344,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -1454,7 +1457,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -1500,6 +1503,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -1550,14 +1554,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -1577,7 +1581,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -1863,6 +1867,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -1889,8 +1894,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -2049,7 +2053,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2095,6 +2099,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -2145,14 +2150,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2174,7 +2179,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -2280,7 +2285,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2326,6 +2331,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -2376,14 +2382,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2403,7 +2409,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -2680,6 +2686,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -2706,8 +2713,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -2866,7 +2872,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -2912,6 +2918,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -2962,14 +2969,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -2991,7 +2998,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -3097,7 +3104,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3143,6 +3150,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -3193,14 +3201,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -3220,7 +3228,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -3497,6 +3505,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -3523,8 +3532,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -3683,7 +3691,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3729,6 +3737,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -3779,14 +3788,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -3808,7 +3817,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -3918,7 +3927,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -3964,6 +3973,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -4014,14 +4024,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -4041,7 +4051,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, diff --git a/reports/context_budget.json b/reports/context_budget.json index 4cd021d..bebfd5b 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,10 +6,10 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1040839, + "other_text_tokens": 1051179, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1041590, - "relevant_file_count": 447, + "estimated_total_text_tokens": 1051930, + "relevant_file_count": 453, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 137.7 diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 985e1e5..0b86616 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -8,7 +8,7 @@ "installed_skill_dir": "[temporary-install-root]/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 539, + "archive_entry_count": 543, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index 2fc97d4..8c4c735 100644 --- a/reports/output_execution_runs.json +++ b/reports/output_execution_runs.json @@ -34,7 +34,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.19, + "duration_ms": 28.37, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.31, + "duration_ms": 27.79, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.17, + "duration_ms": 28.28, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.25, + "duration_ms": 28.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.36, + "duration_ms": 27.94, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.79, + "duration_ms": 28.3, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.53, + "duration_ms": 27.54, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.87, + "duration_ms": 27.72, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.84, + "duration_ms": 28.27, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.76, + "duration_ms": 28.16, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index eceebbe..e41c4bd 100644 --- a/reports/output_execution_runs.md +++ b/reports/output_execution_runs.md @@ -23,16 +23,16 @@ Command runner evidence is present. This proves the eval harness executed an ext | Case | Variant | Mode | Model | Duration ms | Tokens | Score | Status | | --- | --- | --- | --- | ---: | ---: | ---: | --- | -| skill-package-contract | baseline | command | local-output-eval-runner | 28.19 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 28.31 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 28.17 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 28.25 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 28.36 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 27.79 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 27.53 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 27.87 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 27.84 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 27.76 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 28.37 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 27.79 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 28.28 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 28.12 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 27.94 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 28.3 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 27.54 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 27.72 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 28.27 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 28.16 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index 388c595..8daeeb2 100644 --- a/reports/package_verification.json +++ b/reports/package_verification.json @@ -8,8 +8,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", - "archive_entry_count": 539, + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", + "archive_entry_count": 543, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/package_verification.md b/reports/package_verification.md index 8faff25..d52707b 100644 --- a/reports/package_verification.md +++ b/reports/package_verification.md @@ -4,7 +4,7 @@ - Package directory: `dist` - Targets: `4 / 4` adapters present - Archive present: `True` -- Archive SHA256: `b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094` +- Archive SHA256: `55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404` - Failures: `0` - Warnings: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index f039f90..e1a2508 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1", - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, "compatibility": { "openai": "pass", @@ -53,7 +53,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index 541f603..254fa3c 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1` -- Archive SHA256: `b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094` +- Package SHA256: `81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15` +- Archive SHA256: `55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index 9777087..d9f385a 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -292,12 +292,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 0; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review A/B0/5

adjudication decisions; pending 5

Blueprint20/20

2.0 coverage; evidence pending 4

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native enforcement targets

Trust0

80 scripts scanned; secrets found

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

539 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 0; recorded 0

Blind A/B5

review pairs hide baseline vs with-skill labels

Review A/B0/5

adjudication decisions; pending 5

Blueprint20/20

2.0 coverage; evidence pending 4

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native enforcement targets

Trust0

81 scripts scanned; secrets found

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

66 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

543 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 0; recorded 0; reviewed 0/5; review pending 5

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.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; 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

reports/adoption_drift_report.json 证据
关注

人工批准

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; 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 0; recorded 0; reviewed 0/5; review pending 5

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 944/1000; quality density 137.7

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.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; 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

reports/adoption_drift_report.json 证据
关注

人工批准

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; 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

@@ -307,7 +307,7 @@

修复动作

-
关注

输出实验

补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。

没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。
修复位置
evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_decisions.json + reports/output_review_adjudication.md
验证命令
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_evidence_ledger.md + reports/world_class_evidence_plan.md + reports/world_class_evidence_intake.md
验证命令
python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .
+
关注

输出实验

补足 output eval 覆盖、execution evidence、blind A/B 和 reviewer adjudication。

没有输出质量和人工盲评证据时,Skill 只能证明会触发,不能证明输出真的更好且经得起审查。
修复位置
evals/output/cases.jsonl + reports/output_quality_scorecard.md + reports/output_review_decisions.json + reports/output_review_adjudication.md
验证命令
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_evidence_ledger.md + reports/world_class_evidence_plan.md + reports/world_class_evidence_intake.md
验证命令
python3 scripts/yao.py world-class-ledger . && python3 scripts/yao.py review-studio .
@@ -323,7 +323,7 @@

证据路径

- +
@@ -363,7 +363,7 @@
-

信任报告

Secret
0
脚本数
80
网络脚本
3
Help 失败
0
包体哈希
9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1
+

信任报告

Secret
0
脚本数
81
网络脚本
3
Help 失败
0
包体哈希
81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15

安全边界

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

@@ -413,14 +413,19 @@

入口边界

intake 只校验证据包格式、来源、隐私和反过度声明;只有 ledger 看到真实 provider、真人、原生权限或真实客户端结果后,world-class 才能进入完成审计。

+
+

声明守卫

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

声明边界

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

+
+

注册审计

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

-

包体元数据

名称
yao-meta-skill
版本
1.1.0
Maturity
governed
Owner
Yao Team
License
MIT
信任级别
local
目标平台
openai, claude, generic, agent-skills-compatible, vscode
兼容通过
6/6
归档哈希
b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094
+

包体元数据

名称
yao-meta-skill
版本
1.1.0
Maturity
governed
Owner
Yao Team
License
MIT
信任级别
local
目标平台
openai, claude, generic, agent-skills-compatible, vscode
兼容通过
6/6
归档哈希
55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404

发布路线

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

-

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
539
失败数
0
警告数
0
归档哈希
b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094
+

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
543
失败数
0
警告数
0
归档哈希
55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404
diff --git a/reports/review-studio.json b/reports/review-studio.json index f38b8bb..1992456 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -59,7 +59,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 80 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 81 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md" }, @@ -281,6 +281,14 @@ "exists": true, "link": "world_class_evidence_intake.md" }, + { + "path": "reports/world_class_claim_guard.md", + "label": "world-class claim guard", + "kind": "report", + "line": 1, + "exists": true, + "link": "world_class_claim_guard.md" + }, { "path": "evidence/world_class/intake.schema.json", "label": "evidence intake schema", @@ -365,6 +373,7 @@ "world_class_evidence_plan": "reports/world_class_evidence_plan.md", "world_class_evidence_ledger": "reports/world_class_evidence_ledger.md", "world_class_evidence_intake": "reports/world_class_evidence_intake.md", + "world_class_claim_guard": "reports/world_class_claim_guard.md", "registry_audit": "reports/registry_audit.md", "package_verification": "reports/package_verification.md", "install_simulation": "reports/install_simulation.md", @@ -810,7 +819,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 80 + "file_count": 81 }, { "path": "evals", @@ -822,10 +831,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 189 + "file_count": 191 } ], - "file_count": 333, + "file_count": 336, "folder_count": 4, "distribution": [ { @@ -850,7 +859,7 @@ }, { "label": "scripts", - "value": 80 + "value": 81 }, { "label": "evals", @@ -858,7 +867,7 @@ }, { "label": "reports", - "value": 189 + "value": 191 } ] }, @@ -979,7 +988,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 80 + "file_count": 81 }, { "path": "evals", @@ -991,7 +1000,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 189 + "file_count": 191 } ], "strengths": [ @@ -1263,11 +1272,11 @@ "summary": { "reproducibility_ready": true, "methodology_complete": true, - "required_artifact_count": 18, + "required_artifact_count": 19, "missing_artifact_count": 0, "output_case_count": 5, "failure_disclosure_count": 3, - "command_count": 17, + "command_count": 18, "command_executed_count": 10, "timing_observed_count": 10, "model_executed_count": 0, @@ -1279,9 +1288,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 56 + "changed_file_count": 42 }, - "commit": "60995ed569b1c99aa6f6ae2b4406e04327202beb", + "commit": "c1c85093d1ea67954d414789f96c87bbc3964868", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -1356,8 +1365,8 @@ "failures": [] }, "trust_security": { - "scanned_files": 164, - "script_count": 80, + "scanned_files": 165, + "script_count": 81, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -1366,18 +1375,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 57, + "file_write_script_count": 58, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 70, + "help_smoke_checked_count": 71, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 164, - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_hash_file_count": 165, + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" }, "skill_atlas": { "skill_count": 12, @@ -1415,8 +1424,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1", - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, "compatibility": { "openai": "pass", @@ -1447,7 +1456,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1463,8 +1472,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", - "archive_entry_count": 539, + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", + "archive_entry_count": 543, "failure_count": 0, "warning_count": 0 }, @@ -1475,7 +1484,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 539, + "archive_entry_count": 543, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1542,12 +1551,12 @@ { "field": "archive_sha256", "from": "", - "to": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "to": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "to": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, @@ -3664,7 +3673,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.19, + "duration_ms": 28.37, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3692,7 +3701,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.31, + "duration_ms": 27.79, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3715,7 +3724,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.17, + "duration_ms": 28.28, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3743,7 +3752,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.25, + "duration_ms": 28.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3766,7 +3775,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.36, + "duration_ms": 27.94, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3794,7 +3803,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.79, + "duration_ms": 28.3, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3817,7 +3826,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.53, + "duration_ms": 27.54, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3844,7 +3853,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.87, + "duration_ms": 27.72, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3867,7 +3876,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.84, + "duration_ms": 28.27, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -3896,7 +3905,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.76, + "duration_ms": 28.16, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4327,7 +4336,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "80 scripts; secrets 0; help failures 0", + "current": "81 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -4401,7 +4410,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 539; install failures 0", + "current": "archive entries 543; install failures 0", "command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .", "test": "python3 tests/verify_registry_audit.py", "evidence": [ @@ -4510,7 +4519,7 @@ "label": "Benchmark Methodology", "status": "pass", "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", - "current": "18 required artifacts checked", + "current": "19 required artifacts checked", "command": "make ci-test", "test": "tests/verify_benchmark_reproducibility.py", "evidence": [ @@ -5018,6 +5027,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -5044,8 +5054,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -5204,7 +5213,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -5250,6 +5259,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -5300,14 +5310,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -5329,7 +5339,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -5442,7 +5452,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -5488,6 +5498,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -5538,14 +5549,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -5565,7 +5576,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -5851,6 +5862,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -5877,8 +5889,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -6037,7 +6048,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -6083,6 +6094,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -6133,14 +6145,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -6162,7 +6174,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -6275,7 +6287,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -6321,6 +6333,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -6371,14 +6384,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -6398,7 +6411,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -6684,6 +6697,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -6710,8 +6724,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -6870,7 +6883,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -6916,6 +6929,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -6966,14 +6980,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -6995,7 +7009,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -7101,7 +7115,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7147,6 +7161,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -7197,14 +7212,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -7224,7 +7239,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -7501,6 +7516,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -7527,8 +7543,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -7687,7 +7702,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7733,6 +7748,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -7783,14 +7799,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -7812,7 +7828,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -7918,7 +7934,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -7964,6 +7980,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -8014,14 +8031,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -8041,7 +8058,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -8318,6 +8335,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -8344,8 +8362,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", @@ -8504,7 +8521,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -8550,6 +8567,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -8600,14 +8618,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -8629,7 +8647,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -8739,7 +8757,7 @@ }, "file_write": { "required": true, - "script_count": 57, + "script_count": 58, "scripts": [ "scripts/adjudicate_output_review.py", "scripts/build_confusion_matrix.py", @@ -8785,6 +8803,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -8835,14 +8854,14 @@ }, "help_smoke": { "enabled": true, - "checked_count": 70, + "checked_count": 71, "failed_count": 0, "failed_scripts": [] }, "trust_summary": { "secret_findings": 0, "network_script_count": 3, - "file_write_script_count": 57, + "file_write_script_count": 58, "subprocess_script_count": 8, "interactive_script_count": 0, "help_smoke_failed_count": 0 @@ -8862,7 +8881,7 @@ ], "capability_counts": { "network": 3, - "file_write": 57, + "file_write": 58, "subprocess": 8, "interactive": 0 }, @@ -9534,8 +9553,8 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 164, - "script_count": 80, + "scanned_files": 165, + "script_count": 81, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -9544,18 +9563,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 57, + "file_write_script_count": 58, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 70, + "help_smoke_checked_count": 71, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 164, - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_hash_file_count": 165, + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" }, "failures": [], "warnings": [], @@ -10306,6 +10325,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/render_world_class_claim_guard.py", + "interface": "cli", + "interface_declared": true, + "interface_reason": "Scans public claim surfaces so world-class completion is not claimed before accepted evidence exists.", + "has_argparse": true, + "has_main_guard": true, + "uses_input": false, + "uses_network": false, + "uses_file_write": true, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/render_world_class_evidence_intake.py", "interface": "cli", @@ -10729,9 +10762,9 @@ "help_smoke": { "enabled": true, "timeout_seconds": 5.0, - "candidate_count": 70, - "checked_count": 70, - "passed_count": 70, + "candidate_count": 71, + "checked_count": 71, + "passed_count": 71, "failed_count": 0, "skipped_count": 10, "failed_scripts": [], @@ -11256,6 +11289,16 @@ "stdout_excerpt": "usage: render_telemetry_hook_recipes.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--output-jsonl OUTPUT_JSONL]\n ", "stderr_excerpt": "" }, + { + "path": "scripts/render_world_class_claim_guard.py", + "command": "python3 scripts/render_world_class_claim_guard.py --help", + "returncode": 0, + "timed_out": false, + "passed": true, + "has_help_text": true, + "stdout_excerpt": "usage: render_world_class_claim_guard.py [-h] [--claim-surface CLAIM_SURFACE]\n [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n ", + "stderr_excerpt": "" + }, { "path": "scripts/render_world_class_evidence_intake.py", "command": "python3 scripts/render_world_class_evidence_intake.py --help", @@ -11576,6 +11619,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -11656,10 +11700,10 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 751, - "other_text_tokens": 1040839, + "other_text_tokens": 1051179, "estimated_initial_load_tokens": 944, - "estimated_total_text_tokens": 1041590, - "relevant_file_count": 447, + "estimated_total_text_tokens": 1051930, + "relevant_file_count": 453, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 137.7 @@ -12575,6 +12619,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -13925,6 +13970,322 @@ "markdown": "reports/world_class_evidence_intake.md" } }, + "world_class_claim_guard": { + "schema_version": "1.0", + "ok": true, + "generated_at": "2026-06-14", + "skill_dir": ".", + "summary": { + "ledger_ready_to_claim_world_class": false, + "ledger_pending_count": 4, + "claim_surface_count": 66, + "violation_count": 0, + "overclaim_guard_active": true, + "decision": "claim-guard-pass-evidence-pending" + }, + "rules": [ + { + "key": "ready-to-claim-true", + "reason": "ready_to_claim_world_class cannot be true while ledger evidence is pending.", + "pattern": "ready[\\s_-]*to[\\s_-]*claim[\\s_-]*world[\\s_-]*class\\s*[:=]\\s*`?true`?" + }, + { + "key": "world-class-ready-true", + "reason": "world-class readiness cannot be claimed before accepted external and human evidence exists.", + "pattern": "(public\\s+)?world[\\s_-]*class[\\s_-]*ready\\s*[:=]\\s*`?true`?" + }, + { + "key": "json-world-class-ready-true", + "reason": "machine-readable claim fields must remain false until the ledger is ready.", + "pattern": "\"(?:ready_to_claim_world_class|world_class_ready|public_world_class_ready)\"\\s*:\\s*true" + }, + { + "key": "completion-phrase", + "reason": "completion language is blocked until the world-class ledger is accepted.", + "pattern": "(public\\s+)?world[\\s_-]*class\\s+(?:complete|completed|achieved|certified)" + }, + { + "key": "zh-completion-phrase", + "reason": "中文完成态表述必须等到 ledger ready 后才能出现。", + "pattern": "世界级(?:已完成|完成|已达成|达成|准备就绪|可声明|认证通过)" + } + ], + "scanned_surfaces": [ + { + "path": "README.md", + "violation_count": 0 + }, + { + "path": "SKILL.md", + "violation_count": 0 + }, + { + "path": "docs/README.fr-FR.md", + "violation_count": 0 + }, + { + "path": "docs/README.ja-JP.md", + "violation_count": 0 + }, + { + "path": "docs/README.ru-RU.md", + "violation_count": 0 + }, + { + "path": "docs/README.zh-CN.md", + "violation_count": 0 + }, + { + "path": "docs/migration-v2.md", + "violation_count": 0 + }, + { + "path": "reports/adoption_drift_report.md", + "violation_count": 0 + }, + { + "path": "reports/artifact-design-profile.md", + "violation_count": 0 + }, + { + "path": "reports/baseline-compare.md", + "violation_count": 0 + }, + { + "path": "reports/benchmark_methodology.md", + "violation_count": 0 + }, + { + "path": "reports/benchmark_reproducibility.md", + "violation_count": 0 + }, + { + "path": "reports/candidate_registry.md", + "violation_count": 0 + }, + { + "path": "reports/compiled_targets.md", + "violation_count": 0 + }, + { + "path": "reports/conformance_matrix.md", + "violation_count": 0 + }, + { + "path": "reports/context_budget.md", + "violation_count": 0 + }, + { + "path": "reports/description_drift_history.md", + "violation_count": 0 + }, + { + "path": "reports/description_optimization.md", + "violation_count": 0 + }, + { + "path": "reports/description_optimization_suite.md", + "violation_count": 0 + }, + { + "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.md", + "violation_count": 0 + }, + { + "path": "reports/install_simulation.md", + "violation_count": 0 + }, + { + "path": "reports/intent-confidence.md", + "violation_count": 0 + }, + { + "path": "reports/intent-dialogue.md", + "violation_count": 0 + }, + { + "path": "reports/iteration-directions.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/governed-incident-command/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/governed-incident-command/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/team-frontend-review/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/team-frontend-review/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/yao-meta-skill/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/yao-meta-skill/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_ledger.md", + "violation_count": 0 + }, + { + "path": "reports/output-risk-profile.md", + "violation_count": 0 + }, + { + "path": "reports/output_blind_review_pack.md", + "violation_count": 0 + }, + { + "path": "reports/output_execution_runs.md", + "violation_count": 0 + }, + { + "path": "reports/output_quality_scorecard.md", + "violation_count": 0 + }, + { + "path": "reports/output_review_adjudication.md", + "violation_count": 0 + }, + { + "path": "reports/package_verification.md", + "violation_count": 0 + }, + { + "path": "reports/portability_score.md", + "violation_count": 0 + }, + { + "path": "reports/promotion_decisions.md", + "violation_count": 0 + }, + { + "path": "reports/prompt-quality-profile.md", + "violation_count": 0 + }, + { + "path": "reports/reference-scan.md", + "violation_count": 0 + }, + { + "path": "reports/reference-synthesis.md", + "violation_count": 0 + }, + { + "path": "reports/registry_audit.md", + "violation_count": 0 + }, + { + "path": "reports/regression_history.md", + "violation_count": 0 + }, + { + "path": "reports/review-studio.html", + "violation_count": 0 + }, + { + "path": "reports/review-viewer.html", + "violation_count": 0 + }, + { + "path": "reports/review_annotations.md", + "violation_count": 0 + }, + { + "path": "reports/review_waivers.md", + "violation_count": 0 + }, + { + "path": "reports/route_scorecard.md", + "violation_count": 0 + }, + { + "path": "reports/runtime_permission_probes.md", + "violation_count": 0 + }, + { + "path": "reports/security_trust_report.md", + "violation_count": 0 + }, + { + "path": "reports/skill-os-2-review.md", + "violation_count": 0 + }, + { + "path": "reports/skill-overview-v2-plan.md", + "violation_count": 0 + }, + { + "path": "reports/skill-overview.html", + "violation_count": 0 + }, + { + "path": "reports/skill_atlas.html", + "violation_count": 0 + }, + { + "path": "reports/skill_os2_audit.md", + "violation_count": 0 + }, + { + "path": "reports/skill_os2_coverage.md", + "violation_count": 0 + }, + { + "path": "reports/system-model.md", + "violation_count": 0 + }, + { + "path": "reports/telemetry_hook_recipes.md", + "violation_count": 0 + }, + { + "path": "reports/upgrade_check.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_intake.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_ledger.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_plan.md", + "violation_count": 0 + }, + { + "path": "reports/yao-deploy-bridge-skill-research-plan.md", + "violation_count": 0 + } + ], + "violations": [], + "source_ledger": { + "json": "reports/world_class_evidence_ledger.json", + "markdown": "reports/world_class_evidence_ledger.md" + }, + "artifacts": { + "json": "reports/world_class_claim_guard.json", + "markdown": "reports/world_class_claim_guard.md" + } + }, "registry": { "ok": true, "schema_version": "2.0", @@ -13948,8 +14309,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1", - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, "compatibility": { "openai": "pass", @@ -13980,7 +14341,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -14005,7 +14366,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, @@ -14028,8 +14389,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", - "archive_entry_count": 539, + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", + "archive_entry_count": 543, "failure_count": 0, "warning_count": 0 }, @@ -14694,7 +15055,7 @@ "installed_skill_dir": "[temporary-install-root]/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 539, + "archive_entry_count": 543, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -15036,12 +15397,12 @@ { "field": "archive_sha256", "from": "", - "to": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "to": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "to": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index ecb4634..4a4742f 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -2,8 +2,8 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 164, - "script_count": 80, + "scanned_files": 165, + "script_count": 81, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -12,18 +12,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 57, + "file_write_script_count": 58, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 70, + "help_smoke_checked_count": 71, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 164, - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_hash_file_count": 165, + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" }, "failures": [], "warnings": [], @@ -774,6 +774,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/render_world_class_claim_guard.py", + "interface": "cli", + "interface_declared": true, + "interface_reason": "Scans public claim surfaces so world-class completion is not claimed before accepted evidence exists.", + "has_argparse": true, + "has_main_guard": true, + "uses_input": false, + "uses_network": false, + "uses_file_write": true, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/render_world_class_evidence_intake.py", "interface": "cli", @@ -1197,9 +1211,9 @@ "help_smoke": { "enabled": true, "timeout_seconds": 5.0, - "candidate_count": 70, - "checked_count": 70, - "passed_count": 70, + "candidate_count": 71, + "checked_count": 71, + "passed_count": 71, "failed_count": 0, "skipped_count": 10, "failed_scripts": [], @@ -1724,6 +1738,16 @@ "stdout_excerpt": "usage: render_telemetry_hook_recipes.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--output-jsonl OUTPUT_JSONL]\n ", "stderr_excerpt": "" }, + { + "path": "scripts/render_world_class_claim_guard.py", + "command": "python3 scripts/render_world_class_claim_guard.py --help", + "returncode": 0, + "timed_out": false, + "passed": true, + "has_help_text": true, + "stdout_excerpt": "usage: render_world_class_claim_guard.py [-h] [--claim-surface CLAIM_SURFACE]\n [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n ", + "stderr_excerpt": "" + }, { "path": "scripts/render_world_class_evidence_intake.py", "command": "python3 scripts/render_world_class_evidence_intake.py --help", @@ -2044,6 +2068,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index 3528dae..d6edab7 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -1,22 +1,22 @@ # Security Trust Report - OK: `True` -- Scanned files: `164` -- Scripts: `80` +- Scanned files: `165` +- Scripts: `81` - Internal script modules: `10` - Secret findings: `0` - Network-capable scripts: `3` - Network policy covered scripts: `3` - Network policy missing scripts: `0` -- File-write scripts: `57` +- File-write scripts: `58` - Permission approvals: `3 / 3` - Permission approval gaps: `0` -- CLI help smoke checked: `70` +- CLI help smoke checked: `71` - CLI help smoke failures: `0` - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` -- Package hash files: `164` -- Package SHA256: `9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1` +- Package hash files: `165` +- Package SHA256: `81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15` ## Failures @@ -54,8 +54,8 @@ - Enabled: `True` - Timeout seconds: `5.0` -- Checked scripts: `70` -- Passed scripts: `70` +- Checked scripts: `71` +- Passed scripts: `71` - Failed scripts: `none` ## Script Surface @@ -114,6 +114,7 @@ | scripts/render_social_preview.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_system_model.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | | scripts/render_telemetry_hook_recipes.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | +| scripts/render_world_class_claim_guard.py | cli | True | True | True | False | False | True | False | Scans public claim surfaces so world-class completion is not claimed before accepted evidence exists. | | scripts/render_world_class_evidence_intake.py | cli | True | True | True | False | False | True | False | Validates world-class human and external evidence intake packets before ledger review. | | scripts/render_world_class_evidence_ledger.py | cli | True | True | True | False | False | True | False | Renders a machine-checkable ledger for world-class external and human evidence gaps. | | scripts/render_world_class_evidence_plan.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. | diff --git a/reports/skill-overview.html b/reports/skill-overview.html index fe750e8..e23e663 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -771,7 +771,7 @@

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

-
资产分布333项SKILL.mdREADME.mdagents/interface.yamlmanifest.jsonreferencesscripts
资产分布图展示当前包体的文件和目录重心。
+
资产分布336项SKILL.mdREADME.mdagents/interface.yamlmanifest.jsonreferencesscripts
资产分布图展示当前包体的文件和目录重心。
diff --git a/reports/skill-overview.json b/reports/skill-overview.json index e8264cd..6b4a26d 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -436,7 +436,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 80 + "file_count": 81 }, { "path": "evals", @@ -448,10 +448,10 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 189 + "file_count": 191 } ], - "file_count": 333, + "file_count": 336, "folder_count": 4, "distribution": [ { @@ -476,7 +476,7 @@ }, { "label": "scripts", - "value": 80 + "value": 81 }, { "label": "evals", @@ -484,7 +484,7 @@ }, { "label": "reports", - "value": 189 + "value": 191 } ] }, @@ -605,7 +605,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 80 + "file_count": 81 }, { "path": "evals", @@ -617,7 +617,7 @@ "path": "reports", "label": "Generated evidence and overview artifacts", "kind": "folder", - "file_count": 189 + "file_count": 191 } ], "strengths": [ @@ -889,11 +889,11 @@ "summary": { "reproducibility_ready": true, "methodology_complete": true, - "required_artifact_count": 18, + "required_artifact_count": 19, "missing_artifact_count": 0, "output_case_count": 5, "failure_disclosure_count": 3, - "command_count": 17, + "command_count": 18, "command_executed_count": 10, "timing_observed_count": 10, "model_executed_count": 0, @@ -905,9 +905,9 @@ "world_class_task_count": 4, "world_class_ledger_pending_count": 4, "working_tree_dirty": true, - "changed_file_count": 56 + "changed_file_count": 42 }, - "commit": "60995ed569b1c99aa6f6ae2b4406e04327202beb", + "commit": "c1c85093d1ea67954d414789f96c87bbc3964868", "missing_artifacts": [], "limitations": [ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.", @@ -982,8 +982,8 @@ "failures": [] }, "trust_security": { - "scanned_files": 164, - "script_count": 80, + "scanned_files": 165, + "script_count": 81, "internal_module_count": 10, "secret_findings": 0, "dependency_files": [ @@ -992,18 +992,18 @@ "network_script_count": 3, "network_policy_covered_count": 3, "network_policy_missing_count": 0, - "file_write_script_count": 57, + "file_write_script_count": 58, "permission_required_count": 3, "permission_approved_count": 3, "permission_missing_count": 0, "permission_invalid_count": 0, "permission_expired_count": 0, - "help_smoke_checked_count": 70, + "help_smoke_checked_count": 71, "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 164, - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "package_hash_file_count": 165, + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" }, "skill_atlas": { "skill_count": 12, @@ -1041,8 +1041,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1", - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "package_sha256": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, "compatibility": { "openai": "pass", @@ -1073,7 +1073,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1089,8 +1089,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094", - "archive_entry_count": 539, + "archive_sha256": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404", + "archive_entry_count": 543, "failure_count": 0, "warning_count": 0 }, @@ -1101,7 +1101,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 539, + "archive_entry_count": 543, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1168,12 +1168,12 @@ { "field": "archive_sha256", "from": "", - "to": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "to": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "to": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index 67c555b..beb28a4 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -116,6 +116,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 2239a51..03fb479 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -145,7 +145,7 @@ "key": "benchmark-reproducibility", "label": "Benchmark Reproducibility", "status": "pass", - "current": "artifacts 18; missing 0; failures 3", + "current": "artifacts 19; missing 0; failures 3", "target": "Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable", "evidence": [ { @@ -197,7 +197,7 @@ "key": "trust-security", "label": "Trust Security", "status": "pass", - "current": "secrets 0; scripts 80; help failures 0", + "current": "secrets 0; scripts 81; help failures 0", "target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable", "evidence": [ { @@ -281,7 +281,7 @@ "key": "registry-distribution", "label": "Registry Distribution", "status": "pass", - "current": "zip entries 539; install failures 0; permission failures 0", + "current": "zip entries 543; install failures 0; permission failures 0", "target": "Package metadata, archive checksum, package verification, and install simulation pass", "evidence": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index 2f74282..f5416a7 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -21,13 +21,13 @@ Generated at: `2026-06-14` | Output Eval Lab | pass | 5 cases; delta 100.0; exec 10; blind 5 | with-skill/baseline, assertions, execution evidence, blind A/B, failure taxonomy | Add more real-file and adversarial holdout cases as usage grows. | | Provider Holdout | external-required | model-executed 0; token-observed 0 | At least one real provider-backed holdout run with observed model/timing/token metadata | Run provider-backed holdout cases with real credentials and commit only aggregate evidence. | | Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. | -| Benchmark Reproducibility | pass | artifacts 18; 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. | +| Benchmark Reproducibility | pass | artifacts 19; 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 80; 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 81; 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 | Packaged adapters expose explicit permission metadata and residual risks | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0 | At least one target/client enforces approved permissions at runtime | Integrate a real client or installer runtime guard before claiming native permission enforcement. | | Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. | -| Registry Distribution | pass | zip entries 539; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. | +| Registry Distribution | pass | zip entries 543; 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 90 | 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. | diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 9fc8843..442d260 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -122,7 +122,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "80 scripts; secrets 0; help failures 0", + "current": "81 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -196,7 +196,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 539; install failures 0", + "current": "archive entries 543; install failures 0", "command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .", "test": "python3 tests/verify_registry_audit.py", "evidence": [ @@ -305,7 +305,7 @@ "label": "Benchmark Methodology", "status": "pass", "objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.", - "current": "18 required artifacts checked", + "current": "19 required artifacts checked", "command": "make ci-test", "test": "tests/verify_benchmark_reproducibility.py", "evidence": [ diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md index e9187b8..472f1e3 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -21,9 +21,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, | Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` | | Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` | | Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` | -| Trust Security | `pass` | 80 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | +| Trust Security | `pass` | 81 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | | Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` | -| Registry Distribution | `pass` | archive entries 539; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | +| Registry Distribution | `pass` | archive entries 543; 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` | 14 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` | @@ -31,7 +31,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, | Item | Status | Current | Command | Test | | --- | --- | --- | --- | --- | -| Benchmark Methodology | `pass` | 18 required artifacts checked | `make ci-test` | `tests/verify_benchmark_reproducibility.py` | +| Benchmark Methodology | `pass` | 19 required artifacts checked | `make ci-test` | `tests/verify_benchmark_reproducibility.py` | | Output Eval Schema | `pass` | 5 output cases | `make ci-test` | `tests/verify_output_eval_lab.py` | | Output Eval Runner | `pass` | delta 100.0 | `make ci-test` | `tests/verify_output_eval_lab.py` | | Output Quality Scorecard | `pass` | gate pass True | `make ci-test` | `tests/verify_output_eval_lab.py` | diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index 4415ab8..ce93695 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "b68dd2aaecfa1f585fb5b380d89a04adde672e7996b7750b3ecceb8ba2e3d094" + "to": "55066438e0934145506d04883e617e340cf09cea824e8764a0d65f54bab6c404" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "9bbb47aaed8b2b003c68176ab3a8a4c3926493ded7c80be004881254cc113ee1" + "to": "81b0f6007b71b949e1fba7079ffd8156fe906c6784eced95fd1f9a30f7f5bc15" } ] }, diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json new file mode 100644 index 0000000..ca193a2 --- /dev/null +++ b/reports/world_class_claim_guard.json @@ -0,0 +1,316 @@ +{ + "schema_version": "1.0", + "ok": true, + "generated_at": "2026-06-14", + "skill_dir": ".", + "summary": { + "ledger_ready_to_claim_world_class": false, + "ledger_pending_count": 4, + "claim_surface_count": 66, + "violation_count": 0, + "overclaim_guard_active": true, + "decision": "claim-guard-pass-evidence-pending" + }, + "rules": [ + { + "key": "ready-to-claim-true", + "reason": "ready_to_claim_world_class cannot be true while ledger evidence is pending.", + "pattern": "ready[\\s_-]*to[\\s_-]*claim[\\s_-]*world[\\s_-]*class\\s*[:=]\\s*`?true`?" + }, + { + "key": "world-class-ready-true", + "reason": "world-class readiness cannot be claimed before accepted external and human evidence exists.", + "pattern": "(public\\s+)?world[\\s_-]*class[\\s_-]*ready\\s*[:=]\\s*`?true`?" + }, + { + "key": "json-world-class-ready-true", + "reason": "machine-readable claim fields must remain false until the ledger is ready.", + "pattern": "\"(?:ready_to_claim_world_class|world_class_ready|public_world_class_ready)\"\\s*:\\s*true" + }, + { + "key": "completion-phrase", + "reason": "completion language is blocked until the world-class ledger is accepted.", + "pattern": "(public\\s+)?world[\\s_-]*class\\s+(?:complete|completed|achieved|certified)" + }, + { + "key": "zh-completion-phrase", + "reason": "中文完成态表述必须等到 ledger ready 后才能出现。", + "pattern": "世界级(?:已完成|完成|已达成|达成|准备就绪|可声明|认证通过)" + } + ], + "scanned_surfaces": [ + { + "path": "README.md", + "violation_count": 0 + }, + { + "path": "SKILL.md", + "violation_count": 0 + }, + { + "path": "docs/README.fr-FR.md", + "violation_count": 0 + }, + { + "path": "docs/README.ja-JP.md", + "violation_count": 0 + }, + { + "path": "docs/README.ru-RU.md", + "violation_count": 0 + }, + { + "path": "docs/README.zh-CN.md", + "violation_count": 0 + }, + { + "path": "docs/migration-v2.md", + "violation_count": 0 + }, + { + "path": "reports/adoption_drift_report.md", + "violation_count": 0 + }, + { + "path": "reports/artifact-design-profile.md", + "violation_count": 0 + }, + { + "path": "reports/baseline-compare.md", + "violation_count": 0 + }, + { + "path": "reports/benchmark_methodology.md", + "violation_count": 0 + }, + { + "path": "reports/benchmark_reproducibility.md", + "violation_count": 0 + }, + { + "path": "reports/candidate_registry.md", + "violation_count": 0 + }, + { + "path": "reports/compiled_targets.md", + "violation_count": 0 + }, + { + "path": "reports/conformance_matrix.md", + "violation_count": 0 + }, + { + "path": "reports/context_budget.md", + "violation_count": 0 + }, + { + "path": "reports/description_drift_history.md", + "violation_count": 0 + }, + { + "path": "reports/description_optimization.md", + "violation_count": 0 + }, + { + "path": "reports/description_optimization_suite.md", + "violation_count": 0 + }, + { + "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.md", + "violation_count": 0 + }, + { + "path": "reports/install_simulation.md", + "violation_count": 0 + }, + { + "path": "reports/intent-confidence.md", + "violation_count": 0 + }, + { + "path": "reports/intent-dialogue.md", + "violation_count": 0 + }, + { + "path": "reports/iteration-directions.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/governed-incident-command/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/governed-incident-command/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/team-frontend-review/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/team-frontend-review/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/yao-meta-skill/bundle.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_bundles/yao-meta-skill/review.md", + "violation_count": 0 + }, + { + "path": "reports/iteration_ledger.md", + "violation_count": 0 + }, + { + "path": "reports/output-risk-profile.md", + "violation_count": 0 + }, + { + "path": "reports/output_blind_review_pack.md", + "violation_count": 0 + }, + { + "path": "reports/output_execution_runs.md", + "violation_count": 0 + }, + { + "path": "reports/output_quality_scorecard.md", + "violation_count": 0 + }, + { + "path": "reports/output_review_adjudication.md", + "violation_count": 0 + }, + { + "path": "reports/package_verification.md", + "violation_count": 0 + }, + { + "path": "reports/portability_score.md", + "violation_count": 0 + }, + { + "path": "reports/promotion_decisions.md", + "violation_count": 0 + }, + { + "path": "reports/prompt-quality-profile.md", + "violation_count": 0 + }, + { + "path": "reports/reference-scan.md", + "violation_count": 0 + }, + { + "path": "reports/reference-synthesis.md", + "violation_count": 0 + }, + { + "path": "reports/registry_audit.md", + "violation_count": 0 + }, + { + "path": "reports/regression_history.md", + "violation_count": 0 + }, + { + "path": "reports/review-studio.html", + "violation_count": 0 + }, + { + "path": "reports/review-viewer.html", + "violation_count": 0 + }, + { + "path": "reports/review_annotations.md", + "violation_count": 0 + }, + { + "path": "reports/review_waivers.md", + "violation_count": 0 + }, + { + "path": "reports/route_scorecard.md", + "violation_count": 0 + }, + { + "path": "reports/runtime_permission_probes.md", + "violation_count": 0 + }, + { + "path": "reports/security_trust_report.md", + "violation_count": 0 + }, + { + "path": "reports/skill-os-2-review.md", + "violation_count": 0 + }, + { + "path": "reports/skill-overview-v2-plan.md", + "violation_count": 0 + }, + { + "path": "reports/skill-overview.html", + "violation_count": 0 + }, + { + "path": "reports/skill_atlas.html", + "violation_count": 0 + }, + { + "path": "reports/skill_os2_audit.md", + "violation_count": 0 + }, + { + "path": "reports/skill_os2_coverage.md", + "violation_count": 0 + }, + { + "path": "reports/system-model.md", + "violation_count": 0 + }, + { + "path": "reports/telemetry_hook_recipes.md", + "violation_count": 0 + }, + { + "path": "reports/upgrade_check.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_intake.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_ledger.md", + "violation_count": 0 + }, + { + "path": "reports/world_class_evidence_plan.md", + "violation_count": 0 + }, + { + "path": "reports/yao-deploy-bridge-skill-research-plan.md", + "violation_count": 0 + } + ], + "violations": [], + "source_ledger": { + "json": "reports/world_class_evidence_ledger.json", + "markdown": "reports/world_class_evidence_ledger.md" + }, + "artifacts": { + "json": "reports/world_class_claim_guard.json", + "markdown": "reports/world_class_claim_guard.md" + } +} diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md new file mode 100644 index 0000000..ff12416 --- /dev/null +++ b/reports/world_class_claim_guard.md @@ -0,0 +1,30 @@ +# World-Class Claim Guard + +Generated at: `2026-06-14` + +## Summary + +- decision: `claim-guard-pass-evidence-pending` +- ledger ready to claim world-class: `false` +- ledger pending evidence: `4` +- claim surfaces scanned: `66` +- violations: `0` +- overclaim guard active: `true` + +This guard scans public claim surfaces for completion language that would contradict the world-class evidence ledger. It allows evidence planning and pending-state language, but blocks completion claims until the ledger is ready. + +## Violations + +| Path | Line | Rule | Excerpt | +| --- | ---: | --- | --- | +| `none` | 0 | `none` | none | + +## Rules + +| Rule | Reason | +| --- | --- | +| `ready-to-claim-true` | ready_to_claim_world_class cannot be true while ledger evidence is pending. | +| `world-class-ready-true` | world-class readiness cannot be claimed before accepted external and human evidence exists. | +| `json-world-class-ready-true` | machine-readable claim fields must remain false until the ledger is ready. | +| `completion-phrase` | completion language is blocked until the world-class ledger is accepted. | +| `zh-completion-phrase` | 中文完成态表述必须等到 ledger ready 后才能出现。 | diff --git a/scripts/ci_test.py b/scripts/ci_test.py index dd37198..b9cd606 100644 --- a/scripts/ci_test.py +++ b/scripts/ci_test.py @@ -53,6 +53,7 @@ DEFAULT_TARGETS = [ "world-class-evidence-check", "world-class-ledger-check", "world-class-intake-check", + "world-class-claim-guard-check", "benchmark-reproducibility-check", "feedback-check", "adoption-drift-check", diff --git a/scripts/render_benchmark_reproducibility.py b/scripts/render_benchmark_reproducibility.py index b8ec3db..c7b8ccc 100644 --- a/scripts/render_benchmark_reproducibility.py +++ b/scripts/render_benchmark_reproducibility.py @@ -40,6 +40,7 @@ REQUIRED_ARTIFACTS = [ ("world_class_evidence_plan", "reports/world_class_evidence_plan.json"), ("world_class_evidence_ledger", "reports/world_class_evidence_ledger.json"), ("world_class_evidence_intake", "reports/world_class_evidence_intake.json"), + ("world_class_claim_guard", "reports/world_class_claim_guard.json"), ] REPRODUCTION_COMMANDS = [ @@ -123,6 +124,11 @@ REPRODUCTION_COMMANDS = [ "command": "python3 scripts/yao.py world-class-intake .", "evidence": "reports/world_class_evidence_intake.json", }, + { + "label": "world-class claim guard", + "command": "python3 scripts/yao.py world-class-claim-guard .", + "evidence": "reports/world_class_claim_guard.json", + }, { "label": "full ci", "command": "make ci-test", diff --git a/scripts/render_review_studio.py b/scripts/render_review_studio.py index 1a0deba..a9a0d85 100644 --- a/scripts/render_review_studio.py +++ b/scripts/render_review_studio.py @@ -138,6 +138,7 @@ def evidence_paths(skill_dir: Path) -> dict[str, str]: "world_class_evidence_plan": "reports/world_class_evidence_plan.md", "world_class_evidence_ledger": "reports/world_class_evidence_ledger.md", "world_class_evidence_intake": "reports/world_class_evidence_intake.md", + "world_class_claim_guard": "reports/world_class_claim_guard.md", "registry_audit": "reports/registry_audit.md", "package_verification": "reports/package_verification.md", "install_simulation": "reports/install_simulation.md", @@ -172,6 +173,7 @@ def load_review_data(skill_dir: Path) -> dict[str, dict[str, Any]]: "review_annotations": load_json(reports / "review_annotations.json"), "world_class_evidence_ledger": load_json(reports / "world_class_evidence_ledger.json"), "world_class_evidence_intake": load_json(reports / "world_class_evidence_intake.json"), + "world_class_claim_guard": load_json(reports / "world_class_claim_guard.json"), "registry": load_json(reports / "registry_audit.json"), "package_verification": load_json(reports / "package_verification.json"), "install_simulation": load_json(reports / "install_simulation.json"), @@ -198,6 +200,7 @@ def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]: waivers = data["review_waivers"].get("summary", {}) annotations = data["review_annotations"].get("summary", {}) intake = data["world_class_evidence_intake"].get("summary", {}) + claim_guard = data["world_class_claim_guard"].get("summary", {}) registry = data["registry"].get("package", {}) package_verification = data["package_verification"].get("summary", {}) install_simulation = data["install_simulation"].get("summary", {}) @@ -280,6 +283,11 @@ def insight_cards(data: dict[str, dict[str, Any]]) -> list[dict[str, str]]: f"{intake.get('invalid_submission_count', 0)} invalid" ), }, + { + "label": "Claim Guard", + "value": str(claim_guard.get("violation_count", 0)), + "detail": f"{claim_guard.get('claim_surface_count', 0)} public surfaces scanned", + }, { "label": "Notes", "value": f"{annotations.get('open_count', 0)}/{annotations.get('annotation_count', 0)}", @@ -485,6 +493,7 @@ ACTION_GUIDANCE: dict[str, dict[str, str]] = { {"path": "reports/world_class_evidence_ledger.md", "label": "world-class evidence ledger", "kind": "report", "patterns": ["# World-Class Evidence Ledger"]}, {"path": "reports/world_class_evidence_plan.md", "label": "world-class evidence plan", "kind": "report", "patterns": ["# World-Class Evidence Plan"]}, {"path": "reports/world_class_evidence_intake.md", "label": "world-class evidence intake", "kind": "report", "patterns": ["# World-Class Evidence Intake"]}, + {"path": "reports/world_class_claim_guard.md", "label": "world-class claim guard", "kind": "report", "patterns": ["# World-Class Claim Guard"]}, {"path": "evidence/world_class/intake.schema.json", "label": "evidence intake schema", "kind": "schema", "patterns": ["Yao World-Class Evidence Intake"]}, {"path": "evidence/world_class/templates/provider-holdout.intake.json", "label": "provider intake template", "kind": "template", "patterns": ["provider-holdout"]}, {"path": "evidence/world_class/templates/human-adjudication.intake.json", "label": "human intake template", "kind": "template", "patterns": ["human-adjudication"]}, @@ -710,6 +719,7 @@ def render_html(report: dict[str, Any]) -> str: world_class_ledger = report["data"].get("world_class_evidence_ledger", {}) world_class_summary = world_class_ledger.get("summary", {}) world_class_intake_summary = report["data"].get("world_class_evidence_intake", {}).get("summary", {}) + world_class_claim_summary = report["data"].get("world_class_claim_guard", {}).get("summary", {}) world_class_entries_html = render_world_class_evidence_entries(world_class_ledger) annotation_summary = report["data"]["review_annotations"].get("summary", {}) annotation_caption = ( @@ -844,6 +854,17 @@ def render_html(report: dict[str, Any]) -> str: ], "world-class evidence intake missing", ) + world_class_claim_panel = render_kv_grid( + world_class_claim_summary, + [ + "ledger_ready_to_claim_world_class", + "ledger_pending_count", + "claim_surface_count", + "violation_count", + "overclaim_guard_active", + ], + "world-class claim guard missing", + ) registry_panel = render_kv_grid( registry_package_summary(registry_package), [ @@ -1032,6 +1053,11 @@ def render_html(report: dict[str, Any]) -> str:

入口边界

intake 只校验证据包格式、来源、隐私和反过度声明;只有 ledger 看到真实 provider、真人、原生权限或真实客户端结果后,world-class 才能进入完成审计。

+
+

声明守卫

{world_class_claim_panel}
+

声明边界

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

+
+

注册审计

{html.escape(gate_details.get('registry-audit', 'registry audit missing'))}

包体元数据

{registry_panel}
diff --git a/scripts/render_world_class_claim_guard.py b/scripts/render_world_class_claim_guard.py new file mode 100644 index 0000000..449d1a9 --- /dev/null +++ b/scripts/render_world_class_claim_guard.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python3 +import argparse +import json +import re +from datetime import date +from pathlib import Path +from typing import Any + +from render_world_class_evidence_ledger import build_ledger + + +ROOT = Path(__file__).resolve().parent.parent +SCRIPT_INTERFACE = "cli" +SCRIPT_INTERFACE_REASON = "Scans public claim surfaces so world-class completion is not claimed before accepted evidence exists." + +FORBIDDEN_WHEN_PENDING = [ + { + "key": "ready-to-claim-true", + "pattern": re.compile(r"ready[\s_-]*to[\s_-]*claim[\s_-]*world[\s_-]*class\s*[:=]\s*`?true`?", re.IGNORECASE), + "reason": "ready_to_claim_world_class cannot be true while ledger evidence is pending.", + }, + { + "key": "world-class-ready-true", + "pattern": re.compile(r"(public\s+)?world[\s_-]*class[\s_-]*ready\s*[:=]\s*`?true`?", re.IGNORECASE), + "reason": "world-class readiness cannot be claimed before accepted external and human evidence exists.", + }, + { + "key": "json-world-class-ready-true", + "pattern": re.compile(r'"(?:ready_to_claim_world_class|world_class_ready|public_world_class_ready)"\s*:\s*true', re.IGNORECASE), + "reason": "machine-readable claim fields must remain false until the ledger is ready.", + }, + { + "key": "completion-phrase", + "pattern": re.compile(r"(public\s+)?world[\s_-]*class\s+(?:complete|completed|achieved|certified)", re.IGNORECASE), + "reason": "completion language is blocked until the world-class ledger is accepted.", + }, + { + "key": "zh-completion-phrase", + "pattern": re.compile(r"世界级(?:已完成|完成|已达成|达成|准备就绪|可声明|认证通过)"), + "reason": "中文完成态表述必须等到 ledger ready 后才能出现。", + }, +] + + +def load_json(path: Path) -> dict[str, Any]: + if not path.exists(): + return {} + try: + payload = json.loads(path.read_text(encoding="utf-8")) + except json.JSONDecodeError: + return {} + return payload if isinstance(payload, dict) else {} + + +def rel_path(path: Path, root: Path) -> str: + try: + return str(path.resolve().relative_to(root.resolve())) + except ValueError: + return str(path.resolve()) + + +def resolve_claim_surface(raw_path: str, skill_dir: Path) -> Path: + path = Path(raw_path) + if not path.is_absolute(): + path = skill_dir / path + return path.resolve() + + +def default_claim_surfaces(skill_dir: Path) -> list[Path]: + paths: list[Path] = [] + for rel in ["README.md", "SKILL.md"]: + path = skill_dir / rel + if path.exists(): + paths.append(path) + for directory, patterns in [ + (skill_dir / "docs", ["*.md"]), + (skill_dir / "reports", ["*.md", "*.html"]), + ]: + if not directory.exists(): + continue + for pattern in patterns: + paths.extend( + path + for path in directory.rglob(pattern) + if path.is_file() + and "release_snapshots" not in path.parts + and path.name not in {"world_class_claim_guard.md", "world_class_claim_guard.html"} + ) + return sorted(set(paths), key=lambda item: rel_path(item, skill_dir)) + + +def line_matches(path: Path, ledger_ready: bool) -> list[dict[str, Any]]: + if ledger_ready: + return [] + violations: list[dict[str, Any]] = [] + try: + lines = path.read_text(encoding="utf-8", errors="replace").splitlines() + except OSError: + return violations + for lineno, line in enumerate(lines, start=1): + for rule in FORBIDDEN_WHEN_PENDING: + if rule["pattern"].search(line): + violations.append( + { + "line": lineno, + "rule": rule["key"], + "reason": rule["reason"], + "excerpt": line.strip()[:240], + } + ) + return violations + + +def build_guard(skill_dir: Path, generated_at: str, claim_surfaces: list[Path] | None = None) -> dict[str, Any]: + ledger = build_ledger(skill_dir, generated_at) + ledger_ready = ledger.get("summary", {}).get("ready_to_claim_world_class") is True + surfaces = claim_surfaces or default_claim_surfaces(skill_dir) + scanned = [] + violations = [] + for path in surfaces: + matches = line_matches(path, ledger_ready) + rel = rel_path(path, skill_dir) + scanned.append({"path": rel, "violation_count": len(matches)}) + for match in matches: + violations.append({"path": rel, **match}) + ok = len(violations) == 0 + return { + "schema_version": "1.0", + "ok": ok, + "generated_at": generated_at, + "skill_dir": rel_path(skill_dir, ROOT), + "summary": { + "ledger_ready_to_claim_world_class": ledger_ready, + "ledger_pending_count": ledger.get("summary", {}).get("pending_count", 0), + "claim_surface_count": len(scanned), + "violation_count": len(violations), + "overclaim_guard_active": True, + "decision": ( + "claim-ready" + if ledger_ready and ok + else ("claim-blocked-overclaim" if violations else "claim-guard-pass-evidence-pending") + ), + }, + "rules": [ + {"key": item["key"], "reason": item["reason"], "pattern": item["pattern"].pattern} + for item in FORBIDDEN_WHEN_PENDING + ], + "scanned_surfaces": scanned, + "violations": violations, + "source_ledger": { + "json": "reports/world_class_evidence_ledger.json", + "markdown": "reports/world_class_evidence_ledger.md", + }, + "artifacts": { + "json": "reports/world_class_claim_guard.json", + "markdown": "reports/world_class_claim_guard.md", + }, + } + + +def render_markdown(report: dict[str, Any]) -> str: + summary = report["summary"] + lines = [ + "# World-Class Claim Guard", + "", + f"Generated at: `{report['generated_at']}`", + "", + "## Summary", + "", + f"- decision: `{summary['decision']}`", + f"- ledger ready to claim world-class: `{str(summary['ledger_ready_to_claim_world_class']).lower()}`", + f"- ledger pending evidence: `{summary['ledger_pending_count']}`", + f"- claim surfaces scanned: `{summary['claim_surface_count']}`", + f"- violations: `{summary['violation_count']}`", + f"- overclaim guard active: `{str(summary['overclaim_guard_active']).lower()}`", + "", + "This guard scans public claim surfaces for completion language that would contradict the world-class evidence ledger. It allows evidence planning and pending-state language, but blocks completion claims until the ledger is ready.", + "", + "## Violations", + "", + "| Path | Line | Rule | Excerpt |", + "| --- | ---: | --- | --- |", + ] + if report["violations"]: + for item in report["violations"]: + excerpt = str(item["excerpt"]).replace("|", "\\|") + lines.append(f"| `{item['path']}` | {item['line']} | `{item['rule']}` | {excerpt} |") + else: + lines.append("| `none` | 0 | `none` | none |") + lines.extend( + [ + "", + "## Rules", + "", + "| Rule | Reason |", + "| --- | --- |", + ] + ) + for rule in report["rules"]: + lines.append(f"| `{rule['key']}` | {rule['reason'].replace('|', '\\|')} |") + return "\n".join(lines).rstrip() + "\n" + + +def main() -> None: + parser = argparse.ArgumentParser(description="Guard public world-class completion claims against the evidence ledger.") + parser.add_argument("skill_dir", nargs="?", default=".") + parser.add_argument("--claim-surface", action="append", default=[]) + parser.add_argument("--output-json", default="reports/world_class_claim_guard.json") + parser.add_argument("--output-md", default="reports/world_class_claim_guard.md") + parser.add_argument("--generated-at", default=date.today().isoformat()) + args = parser.parse_args() + + skill_dir = Path(args.skill_dir).resolve() + claim_surfaces = [resolve_claim_surface(item, skill_dir) for item in args.claim_surface] if args.claim_surface else None + report = build_guard(skill_dir, args.generated_at, claim_surfaces) + output_json = Path(args.output_json) + output_md = Path(args.output_md) + if not output_json.is_absolute(): + output_json = skill_dir / output_json + if not output_md.is_absolute(): + output_md = skill_dir / output_md + output_json.parent.mkdir(parents=True, exist_ok=True) + output_md.parent.mkdir(parents=True, exist_ok=True) + output_json.write_text(json.dumps(report, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + output_md.write_text(render_markdown(report), encoding="utf-8") + print(json.dumps(report, ensure_ascii=False, indent=2)) + raise SystemExit(0 if report["ok"] else 2) + + +if __name__ == "__main__": + main() diff --git a/scripts/review_studio_formatting.py b/scripts/review_studio_formatting.py index f6b380b..ae000b0 100644 --- a/scripts/review_studio_formatting.py +++ b/scripts/review_studio_formatting.py @@ -23,6 +23,7 @@ LABELS = { "baseline_pass_rate": "Baseline", "breaking_change_count": "破坏变更", "case_count": "案例数", + "claim_surface_count": "声明面", "command_executed_count": "命令执行", "compatibility_pass_count": "兼容通过", "covered_gate_count": "覆盖 Gate", @@ -37,6 +38,8 @@ LABELS = { "installer_permission_failure_count": "安装权限失败", "invalid_submission_count": "无效提交", "item_count": "项目数", + "ledger_pending_count": "台账待补", + "ledger_ready_to_claim_world_class": "台账可声明", "license": "License", "local_blueprint_ready": "本地蓝图", "metadata_fallback_count": "Metadata fallback", @@ -82,6 +85,7 @@ LABELS = { "variant_run_count": "运行数", "valid_submission_count": "有效提交", "version": "版本", + "violation_count": "违规数", "warning_count": "警告数", "with_skill_pass_rate": "With Skill", "world_class_evidence_pending_count": "待补证据", diff --git a/scripts/yao.py b/scripts/yao.py index 00640c1..6f0b24f 100644 --- a/scripts/yao.py +++ b/scripts/yao.py @@ -468,6 +468,7 @@ def command_report(args: argparse.Namespace) -> int: run_script("render_world_class_evidence_plan.py", [str(ROOT)]), run_script("render_world_class_evidence_ledger.py", [str(ROOT)]), run_script("render_world_class_evidence_intake.py", [str(ROOT)]), + run_script("render_world_class_claim_guard.py", [str(ROOT)]), run_script("render_benchmark_reproducibility.py", [str(ROOT)]), run_script("render_skill_os2_coverage.py", [str(ROOT)]), ] @@ -499,6 +500,7 @@ def command_report(args: argparse.Namespace) -> int: "world_class_evidence_plan": "reports/world_class_evidence_plan.json", "world_class_evidence_ledger": "reports/world_class_evidence_ledger.json", "world_class_evidence_intake": "reports/world_class_evidence_intake.json", + "world_class_claim_guard": "reports/world_class_claim_guard.json", "benchmark_reproducibility": "reports/benchmark_reproducibility.json", "skill_os2_coverage": "reports/skill_os2_coverage.json", }, @@ -615,6 +617,22 @@ def command_world_class_intake(args: argparse.Namespace) -> int: return 0 if result["ok"] else 2 +def command_world_class_claim_guard(args: argparse.Namespace) -> int: + skill_dir = str(Path(args.skill_dir).resolve()) + cmd = [skill_dir] + for surface in args.claim_surface: + cmd.extend(["--claim-surface", surface]) + if args.output_json: + cmd.extend(["--output-json", args.output_json]) + if args.output_md: + cmd.extend(["--output-md", args.output_md]) + if args.generated_at: + cmd.extend(["--generated-at", args.generated_at]) + result = run_script("render_world_class_claim_guard.py", cmd) + print(json.dumps(result["payload"] if result["payload"] is not None else result, ensure_ascii=False, indent=2)) + return 0 if result["ok"] else 2 + + def command_benchmark_reproducibility(args: argparse.Namespace) -> int: skill_dir = str(Path(args.skill_dir).resolve()) cmd = [skill_dir] @@ -1252,6 +1270,7 @@ def command_workspace_flow(args: argparse.Namespace) -> int: {"phase": "report-refresh", "result": run_script("render_world_class_evidence_plan.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_world_class_evidence_ledger.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_world_class_evidence_intake.py", [str(ROOT)])}, + {"phase": "report-refresh", "result": run_script("render_world_class_claim_guard.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_benchmark_reproducibility.py", [str(ROOT)])}, {"phase": "report-refresh", "result": run_script("render_skill_os2_coverage.py", [str(ROOT)])}, ] diff --git a/scripts/yao_cli_parser.py b/scripts/yao_cli_parser.py index f55c1d1..c316d3b 100644 --- a/scripts/yao_cli_parser.py +++ b/scripts/yao_cli_parser.py @@ -183,6 +183,17 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int] world_class_intake_cmd.add_argument("--generated-at") world_class_intake_cmd.set_defaults(func=_handler(command_handlers, "command_world_class_intake")) + world_class_claim_guard_cmd = subparsers.add_parser( + "world-class-claim-guard", + help="Scan public claim surfaces for premature world-class completion claims.", + ) + world_class_claim_guard_cmd.add_argument("skill_dir", nargs="?", default=".") + world_class_claim_guard_cmd.add_argument("--claim-surface", action="append", default=[]) + world_class_claim_guard_cmd.add_argument("--output-json") + world_class_claim_guard_cmd.add_argument("--output-md") + world_class_claim_guard_cmd.add_argument("--generated-at") + world_class_claim_guard_cmd.set_defaults(func=_handler(command_handlers, "command_world_class_claim_guard")) + benchmark_reproducibility_cmd = subparsers.add_parser( "benchmark-reproducibility", help="Render benchmark methodology, artifact, failure-disclosure, and reproduction-command evidence.", diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json index 07ff745..dd4881e 100644 --- a/skill-ir/examples/yao-meta-skill.json +++ b/skill-ir/examples/yao-meta-skill.json @@ -160,6 +160,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", @@ -186,8 +187,7 @@ "scripts/verify_package.py", "scripts/yao.py", "scripts/yao_cli_config.py", - "scripts/yao_cli_parser.py", - "scripts/yao_cli_telemetry.py" + "scripts/yao_cli_parser.py" ], "assets": [ "templates/basic_skill.md.j2", diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index 18443ab..2931048 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -72,6 +72,7 @@ "scripts/render_social_preview.py", "scripts/render_system_model.py", "scripts/render_telemetry_hook_recipes.py", + "scripts/render_world_class_claim_guard.py", "scripts/render_world_class_evidence_intake.py", "scripts/render_world_class_evidence_ledger.py", "scripts/render_world_class_evidence_plan.py", diff --git a/tests/verify_benchmark_reproducibility.py b/tests/verify_benchmark_reproducibility.py index 38f44bf..bc97594 100644 --- a/tests/verify_benchmark_reproducibility.py +++ b/tests/verify_benchmark_reproducibility.py @@ -40,6 +40,19 @@ def main() -> None: text=True, check=True, ) + subprocess.run( + [ + sys.executable, + str(ROOT / "scripts" / "render_world_class_claim_guard.py"), + str(ROOT), + "--generated-at", + "2026-06-13", + ], + cwd=ROOT, + capture_output=True, + text=True, + check=True, + ) output_json = TMP / "benchmark_reproducibility.json" output_md = TMP / "benchmark_reproducibility.md" proc = subprocess.run( @@ -82,9 +95,11 @@ def main() -> None: assert artifacts["reports/world_class_evidence_plan.json"]["exists"], artifacts assert artifacts["reports/world_class_evidence_ledger.json"]["exists"], artifacts assert artifacts["reports/world_class_evidence_intake.json"]["exists"], artifacts + assert artifacts["reports/world_class_claim_guard.json"]["exists"], artifacts assert any(command["command"] == "make ci-test" for command in payload["reproduction_commands"]), payload assert any(command["command"] == "python3 scripts/yao.py world-class-ledger ." for command in payload["reproduction_commands"]), payload assert any(command["command"] == "python3 scripts/yao.py world-class-intake ." for command in payload["reproduction_commands"]), payload + assert any(command["command"] == "python3 scripts/yao.py world-class-claim-guard ." for command in payload["reproduction_commands"]), payload assert any("provider-backed" in item for item in payload["limitations"]), payload["limitations"] markdown = output_md.read_text(encoding="utf-8") assert "Benchmark Reproducibility" in markdown, markdown diff --git a/tests/verify_review_studio.py b/tests/verify_review_studio.py index 8e5e97b..d34d2f0 100644 --- a/tests/verify_review_studio.py +++ b/tests/verify_review_studio.py @@ -223,6 +223,7 @@ def main() -> None: "render_world_class_evidence_plan.py", "render_world_class_evidence_ledger.py", "render_world_class_evidence_intake.py", + "render_world_class_claim_guard.py", "render_skill_os2_coverage.py", ]: subprocess.run( @@ -335,6 +336,8 @@ def main() -> None: assert full_payload["evidence_paths"]["world_class_evidence_ledger"] == "reports/world_class_evidence_ledger.md", full_payload["evidence_paths"] if (ROOT / "reports" / "world_class_evidence_intake.md").exists(): assert full_payload["evidence_paths"]["world_class_evidence_intake"] == "reports/world_class_evidence_intake.md", full_payload["evidence_paths"] + if (ROOT / "reports" / "world_class_claim_guard.md").exists(): + assert full_payload["evidence_paths"]["world_class_claim_guard"] == "reports/world_class_claim_guard.md", full_payload["evidence_paths"] assert full_payload["data"]["output_blind_review"]["summary"]["pair_count"] == 5, full_payload["data"]["output_blind_review"] assert full_payload["data"]["output_execution"]["summary"]["command_executed_count"] == 10, full_payload["data"]["output_execution"] assert full_payload["data"]["output_execution"]["summary"]["recorded_fixture_count"] == 0, full_payload["data"]["output_execution"] @@ -355,6 +358,7 @@ def main() -> None: "reports/world_class_evidence_ledger.md", "reports/world_class_evidence_plan.md", "reports/world_class_evidence_intake.md", + "reports/world_class_claim_guard.md", "evidence/world_class/intake.schema.json", "evidence/world_class/templates/provider-holdout.intake.json", "evidence/world_class/templates/human-adjudication.intake.json", @@ -365,6 +369,9 @@ def main() -> None: assert full_payload["data"]["world_class_evidence_intake"]["summary"]["decision"] == "awaiting-submissions", full_payload["data"]["world_class_evidence_intake"] assert full_payload["data"]["world_class_evidence_intake"]["summary"]["template_pass_count"] == 4, full_payload["data"]["world_class_evidence_intake"] assert full_payload["data"]["world_class_evidence_intake"]["summary"]["ready_to_claim_world_class"] is False, full_payload["data"]["world_class_evidence_intake"] + assert full_payload["data"]["world_class_claim_guard"]["summary"]["decision"] == "claim-guard-pass-evidence-pending", full_payload["data"]["world_class_claim_guard"] + assert full_payload["data"]["world_class_claim_guard"]["summary"]["violation_count"] == 0, full_payload["data"]["world_class_claim_guard"] + assert full_payload["data"]["world_class_claim_guard"]["summary"]["ledger_pending_count"] == 4, full_payload["data"]["world_class_claim_guard"] if full_payload["data"]["skill_os2_coverage"]: assert full_payload["data"]["skill_os2_coverage"]["summary"]["local_blueprint_ready"] is True, full_payload["data"]["skill_os2_coverage"] assert full_payload["data"]["skill_os2_coverage"]["summary"]["public_world_class_ready"] is False, full_payload["data"]["skill_os2_coverage"] @@ -427,8 +434,12 @@ def main() -> None: assert "证据台账" in html, html assert "证据入口" in html, html assert "入口边界" in html, html + assert "声明守卫" in html, html + assert "声明边界" in html, html assert "intake 只校验证据包格式、来源、隐私和反过度声明" in html, html assert "reports/world_class_evidence_intake.md" in html, html + assert "reports/world_class_claim_guard.md" in html, html + assert "英文完成断言、true 状态声明或中文完成态" in html, html assert "world-evidence-grid" in html, html assert "Provider Holdout" in html, html assert "Native Permission Enforcement" in html, html diff --git a/tests/verify_world_class_claim_guard.py b/tests/verify_world_class_claim_guard.py new file mode 100644 index 0000000..6b5a5e3 --- /dev/null +++ b/tests/verify_world_class_claim_guard.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 +import json +import shutil +import subprocess +import sys +from pathlib import Path + + +ROOT = Path(__file__).resolve().parent.parent +SCRIPT = ROOT / "scripts" / "render_world_class_claim_guard.py" +TMP = ROOT / "tests" / "tmp_world_class_claim_guard" + + +def run_guard(*extra: str, check: bool = True, cwd: Path = ROOT) -> subprocess.CompletedProcess[str]: + return subprocess.run( + [ + sys.executable, + str(SCRIPT), + str(ROOT), + "--generated-at", + "2026-06-14", + *extra, + ], + cwd=cwd, + capture_output=True, + text=True, + check=check, + ) + + +def main() -> None: + shutil.rmtree(TMP, ignore_errors=True) + TMP.mkdir(parents=True, exist_ok=True) + output_json = TMP / "world_class_claim_guard.json" + output_md = TMP / "world_class_claim_guard.md" + proc = run_guard("--output-json", str(output_json), "--output-md", str(output_md)) + payload = json.loads(proc.stdout) + assert payload["schema_version"] == "1.0", payload + assert payload["ok"] is True, payload + summary = payload["summary"] + assert summary["decision"] == "claim-guard-pass-evidence-pending", summary + assert summary["ledger_ready_to_claim_world_class"] is False, summary + assert summary["ledger_pending_count"] == 4, summary + assert summary["claim_surface_count"] >= 10, summary + assert summary["violation_count"] == 0, summary + assert summary["overclaim_guard_active"] is True, summary + assert any(item["path"] == "README.md" for item in payload["scanned_surfaces"]), payload["scanned_surfaces"] + markdown = output_md.read_text(encoding="utf-8") + assert "World-Class Claim Guard" in markdown, markdown + assert "claim-guard-pass-evidence-pending" in markdown, markdown + assert "world-class evidence ledger" in markdown, markdown + + safe_surface = TMP / "safe.md" + safe_surface.write_text("ready to claim world-class: `false`\nworld-class evidence is pending.\n", encoding="utf-8") + safe_proc = run_guard("--claim-surface", str(safe_surface), check=True) + safe_payload = json.loads(safe_proc.stdout) + assert safe_payload["summary"]["violation_count"] == 0, safe_payload + + unsafe_surface = TMP / "unsafe.md" + unsafe_surface.write_text("ready to claim world-class: `true`\n世界级已完成\n", encoding="utf-8") + unsafe_proc = run_guard("--claim-surface", str(unsafe_surface), check=False) + assert unsafe_proc.returncode == 2, unsafe_proc.stdout + unsafe_payload = json.loads(unsafe_proc.stdout) + assert unsafe_payload["ok"] is False, unsafe_payload + assert unsafe_payload["summary"]["decision"] == "claim-blocked-overclaim", unsafe_payload + assert unsafe_payload["summary"]["violation_count"] == 2, unsafe_payload + rules = {item["rule"] for item in unsafe_payload["violations"]} + assert {"ready-to-claim-true", "zh-completion-phrase"} <= rules, unsafe_payload["violations"] + + relative_unsafe_surface = TMP / "relative-unsafe.md" + relative_unsafe_surface.write_text("world-class completed\n", encoding="utf-8") + relative_proc = run_guard( + "--claim-surface", + relative_unsafe_surface.relative_to(ROOT).as_posix(), + check=False, + cwd=TMP, + ) + assert relative_proc.returncode == 2, relative_proc.stdout + relative_payload = json.loads(relative_proc.stdout) + assert relative_payload["summary"]["violation_count"] == 1, relative_payload + assert relative_payload["violations"][0]["path"] == "tests/tmp_world_class_claim_guard/relative-unsafe.md", relative_payload + print(json.dumps({"ok": True}, ensure_ascii=False, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/tests/verify_yao_cli.py b/tests/verify_yao_cli.py index 6783104..a60d544 100644 --- a/tests/verify_yao_cli.py +++ b/tests/verify_yao_cli.py @@ -78,6 +78,7 @@ def main() -> None: assert "world-class-evidence" in parser_help, parser_help assert "world-class-ledger" in parser_help, parser_help assert "world-class-intake" in parser_help, parser_help + assert "world-class-claim-guard" in parser_help, parser_help assert "benchmark-reproducibility" in parser_help, parser_help assert "telemetry-import" in parser_help, parser_help assert "telemetry-emit" in parser_help, parser_help @@ -226,6 +227,21 @@ def main() -> None: assert world_class_intake_result["payload"]["summary"]["ready_to_claim_world_class"] is False, world_class_intake_result assert world_class_ledger_result["payload"]["summary"]["ready_to_claim_world_class"] is False, world_class_ledger_result + world_class_claim_guard_result = run( + "world-class-claim-guard", + str(ROOT), + "--output-json", + str(tmp_root / "world_class_claim_guard.json"), + "--output-md", + str(tmp_root / "world_class_claim_guard.md"), + "--generated-at", + "2026-06-14", + ) + assert world_class_claim_guard_result["ok"], world_class_claim_guard_result + assert world_class_claim_guard_result["payload"]["summary"]["decision"] == "claim-guard-pass-evidence-pending", world_class_claim_guard_result + assert world_class_claim_guard_result["payload"]["summary"]["violation_count"] == 0, world_class_claim_guard_result + assert world_class_claim_guard_result["payload"]["summary"]["ledger_pending_count"] == 4, world_class_claim_guard_result + benchmark_reproducibility_result = run( "benchmark-reproducibility", str(ROOT), @@ -650,6 +666,7 @@ def main() -> None: assert "world_class_evidence_plan" in report_result["payload"]["artifacts"], report_result assert "world_class_evidence_ledger" in report_result["payload"]["artifacts"], report_result assert "world_class_evidence_intake" in report_result["payload"]["artifacts"], report_result + assert "world_class_claim_guard" in report_result["payload"]["artifacts"], report_result assert "benchmark_reproducibility" in report_result["payload"]["artifacts"], report_result assert "skill_os2_coverage" in report_result["payload"]["artifacts"], report_result report_output_execution = json.loads((ROOT / "reports" / "output_execution_runs.json").read_text(encoding="utf-8"))
路径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