diff --git a/assets/review-studio.css b/assets/review-studio.css index fe3bad06..244d5728 100644 --- a/assets/review-studio.css +++ b/assets/review-studio.css @@ -290,12 +290,14 @@ } .action-evidence-checks, .action-command-list, + .action-repair-list, .action-runbook-list { margin: 0; display: grid; gap: 8px; } .action-evidence-checks, + .action-repair-list, .action-command-list { padding: 0; list-style: none; @@ -304,6 +306,7 @@ padding-left: 20px; } .action-evidence-check, + .action-repair-row, .action-command-list li { display: grid; gap: 3px; @@ -313,13 +316,18 @@ } .action-evidence-check.blocked { border-left: 3px solid var(--warn); padding-left: 8px; } .action-evidence-check.pass { border-left: 3px solid var(--pass); padding-left: 8px; } + .action-repair-row.blocked { border-left: 3px solid var(--warn); padding-left: 8px; } + .action-repair-row.ready { border-left: 3px solid var(--pass); padding-left: 8px; } .action-evidence-check span, + .action-repair-row span, .action-command-list span { color: var(--ink); font-size: 13px; } .action-evidence-check code, .action-evidence-check small, + .action-repair-row code, + .action-repair-row small, .action-command-list code, .action-runbook-list li { color: var(--muted); diff --git a/registry/index.json b/registry/index.json index 3e25dffd..fa73b423 100644 --- a/registry/index.json +++ b/registry/index.json @@ -1,6 +1,6 @@ { "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "package_count": 1, "packages": [ { @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index 64544c13..5007e96d 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": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -48,10 +48,10 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-17" + "generated_at": "2026-06-13" } diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json index a423e3d0..f08f836d 100644 --- a/reports/adoption_drift_report.json +++ b/reports/adoption_drift_report.json @@ -1,7 +1,7 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-16T19:58:53Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", @@ -25,14 +25,14 @@ }, "summary": { "event_count": 1, - "adoption_sample_count": 0, - "activation_count": 0, - "accepted_count": 0, + "adoption_sample_count": 1, + "activation_count": 1, + "accepted_count": 1, "edited_count": 0, "rejected_count": 0, "missed_count": 0, "failed_count": 0, - "adoption_rate": 0, + "adoption_rate": 100.0, "missed_trigger_count": 0, "wrong_trigger_count": 0, "bad_output_count": 0, @@ -41,7 +41,7 @@ "review_overdue_count": 0, "risk_band": "low", "event_types": { - "review_event": 1 + "skill_activation": 1 }, "failure_types": {}, "source_types": { @@ -53,31 +53,31 @@ { "skill": "yao-meta-skill", "events": 1, - "adoption_events": 0, - "accepted": 0, + "adoption_events": 1, + "accepted": 1, "edited": 0, "rejected": 0, "missed": 0, - "adoption_rate": 0 + "adoption_rate": 100.0 } ], "next_iteration_candidates": [], "recent_events": [ { "command": "unknown", - "event": "review_event", + "event": "skill_activation", "skill": "yao-meta-skill", "source": "manual", "version": "1.1.0", - "activation_type": "manual", - "outcome": "reviewed", + "activation_type": "explicit", + "outcome": "accepted", "failure_type": "none", - "timestamp": "2026-06-13T12:00:00Z" + "timestamp": "2026-06-13T10:00:00Z" } ], "failures": [], "artifacts": { - "events_jsonl": "reports/telemetry_events.jsonl", + "events_jsonl": "tests/tmp_review_studio/telemetry_events.jsonl", "json": "reports/adoption_drift_report.json", "markdown": "reports/adoption_drift_report.md" } diff --git a/reports/adoption_drift_report.md b/reports/adoption_drift_report.md index 91b31983..206372c9 100644 --- a/reports/adoption_drift_report.md +++ b/reports/adoption_drift_report.md @@ -5,9 +5,9 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs, ## Summary - Events: `1` -- Adoption samples: `0` -- Activation events: `0` -- Adoption rate: `0` +- Adoption samples: `1` +- Activation events: `1` +- Adoption rate: `100.0` - Missed trigger signals: `0` - Bad output signals: `0` - Script error signals: `0` @@ -25,7 +25,7 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs, | Skill | Events | Adoption Samples | Accepted | Edited | Rejected | Missed | Adoption Rate | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | -| `yao-meta-skill` | 1 | 0 | 0 | 0 | 0 | 0 | 0 | +| `yao-meta-skill` | 1 | 1 | 1 | 0 | 0 | 0 | 100.0 | ## Next Iteration Candidates @@ -33,4 +33,4 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs, ## Recent Metadata Events -- `2026-06-13T12:00:00Z` `yao-meta-skill` event=`review_event` source=`manual` command=`unknown` activation=`manual` outcome=`reviewed` failure=`none` +- `2026-06-13T10:00:00Z` `yao-meta-skill` event=`skill_activation` source=`manual` command=`unknown` activation=`explicit` outcome=`accepted` failure=`none` diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json index a22ccc6d..334abc9d 100644 --- a/reports/architecture_maintainability.json +++ b/reports/architecture_maintainability.json @@ -1,12 +1,12 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { - "python_file_count": 223, + "python_file_count": 224, "script_file_count": 148, - "test_file_count": 75, + "test_file_count": 76, "internal_module_count": 64, "cli_script_count": 86, "command_handler_count": 68, @@ -64,14 +64,6 @@ "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "tests/verify_review_studio.py", - "lines": 590, - "kind": "test", - "severity": "pass", - "early_watch": false, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_skill_overview.py", "lines": 588, @@ -119,6 +111,14 @@ "severity": "pass", "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/render_review_studio.py", + "lines": 568, + "kind": "cli-script", + "severity": "pass", + "early_watch": false, + "recommendation": "Move data loading and large section renderers into focused review_studio_* modules." } ], "watchlist": [], diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md index 26201305..9fc4d2e7 100644 --- a/reports/architecture_maintainability.md +++ b/reports/architecture_maintainability.md @@ -1,13 +1,13 @@ # Architecture Maintainability -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary - decision: `pass` -- python files: `223` +- python files: `224` - scripts: `148` -- tests: `75` +- tests: `76` - internal modules: `64` - CLI scripts: `86` - Yao CLI command handlers: `68` @@ -47,13 +47,13 @@ No near-threshold files found. | `tests/verify_output_review_adjudication.py` | `599` | `test` | `pass` | | `scripts/render_benchmark_reproducibility.py` | `595` | `cli-script` | `pass` | | `scripts/render_world_class_preflight.py` | `590` | `cli-script` | `pass` | -| `tests/verify_review_studio.py` | `590` | `test` | `pass` | | `scripts/render_skill_overview.py` | `588` | `cli-script` | `pass` | | `scripts/build_skill_atlas.py` | `586` | `cli-script` | `pass` | | `scripts/optimize_description.py` | `585` | `cli-script` | `pass` | | `scripts/trust_check.py` | `582` | `cli-script` | `pass` | | `tests/verify_world_class_evidence_ledger.py` | `579` | `test` | `pass` | | `scripts/render_evidence_consistency.py` | `568` | `cli-script` | `pass` | +| `scripts/render_review_studio.py` | `568` | `cli-script` | `pass` | ## Release Rule diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 5caaa4fd..ee29038f 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -3,24 +3,24 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "git_status": { "available": true, "dirty": true, - "changed_file_count": 34, + "changed_file_count": 38, "sample": [ + " M assets/review-studio.css", " M registry/index.json", " M registry/packages/yao-meta-skill.json", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", + " M reports/compiled_targets.json", " M reports/context_budget.json", " M reports/context_budget.md", " M reports/context_budget_summary.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md" + " M reports/evidence_consistency.json" ], "scope": "generation-time status before this report is written" }, @@ -30,9 +30,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -52,7 +52,7 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, "public_claim": { "ready": false, @@ -68,7 +68,7 @@ }, "release_lock": { "ready": false, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "status_scope": "generation-time status before this report is written", "reason": "working tree was dirty at generation time" }, @@ -78,7 +78,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119" + "sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -151,8 +151,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "874d573922462a290776489b7ab760136522b2780339b579e383ab8235af56e8" + "bytes": 7967, + "sha256": "4ea56f4558ee371f71a7908f55a1fbcd2d3f3f18a517a6642a5ed7df6a204b59" }, { "label": "blind_review", @@ -187,42 +187,42 @@ "path": "reports/security_trust_report.json", "exists": true, "bytes": 134467, - "sha256": "d2e8352cae2c29a009d81bfc78ec4478cc36f045022d0803c7b229d6441fe1e9" + "sha256": "525f9766700afd55e2b5113b5f30a1ca4826ebab0902228a702f7927bffb6019" }, { "label": "python_compatibility", "path": "reports/python_compatibility.json", "exists": true, - "bytes": 29327, - "sha256": "0eeedc1c3ff1fe5e2f9483387e3c56b44dda7eb1b615840afadfb8b55d392787" + "bytes": 29464, + "sha256": "f53cce322cc33af4f7cbc7e22587ac3e0c0359dfa1889a03f38c93472abf319d" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "d0c088f66524fa16c604b88fcd45010303daed7eb9e5273e439451484c09442e" + "sha256": "995ded23370adb49997ef5bdd37e32c59b6aad31ed7813c7520e7e7b40d6e546" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, "bytes": 19338, - "sha256": "d18b6336d485f6290b68bf229d491bcd8a08ad872a8e9a53502b996c4f9c1347" + "sha256": "afb99167c57179ff0435c678e7e5638ceaed07042fa9177568ca21d6dc1bef3d" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, "bytes": 8604, - "sha256": "6d808df453177bf76362f218c41dcd7e41d56283b987f07e1e8fe47c1e9f02f5" + "sha256": "08d96de4662c8e047e351f4241ff3a4f98c521907fc4cd703faadff861bee63a" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 14466, - "sha256": "e6f644b1d2f590e76c7f2dd5a4888efad138bd2a2643c0fa60fe2fea81db55e1" + "sha256": "7fc0b099204ca5045de2db9eb19c5cf599f9c87bed1cd7f39c1f5f50704b3fb2" }, { "label": "world_class_evidence_plan", @@ -249,8 +249,8 @@ "label": "world_class_evidence_preflight", "path": "reports/world_class_evidence_preflight.json", "exists": true, - "bytes": 57313, - "sha256": "585ec2f93a1dfce5b270af048e3d551676b93231477d7bf4cfe5b08946e82619" + "bytes": 58119, + "sha256": "10671b699295453b130ef8afe6488d2a4ac3220a901df2f86a69ee5eb896c36e" }, { "label": "world_class_submission_review", diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index eda15d49..3dc19db3 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,9 +1,9 @@ # Benchmark Reproducibility Generated at: `2026-06-17` -Commit: `48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb` +Commit: `e3367775750edf6b2f811e7e1f3680c1e2c3e7ab` Working tree dirty at generation: `true` -Evidence bundle SHA256: `fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119` +Evidence bundle SHA256: `3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49` ## Summary @@ -12,8 +12,8 @@ Evidence bundle SHA256: `fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12c - methodology complete: `true` - required artifacts: `25` - missing artifacts: `0` -- source contract sha256: `cc61aeda8a4a` -- archive sha256: `b09ad63e1a0c` +- source contract sha256: `f5722de72ecc` +- archive sha256: `52a98e5dd903` - output cases: `5` - disclosed failure cases: `3` - reproduction commands: `23` @@ -23,7 +23,7 @@ Evidence bundle SHA256: `fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12c - world-class source checks: `9` pass / `19` total; `10` blocked - public claim ready: `false` - public claim blockers: `5` -- changed files at generation: `34` +- changed files at generation: `38` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit is generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below. @@ -51,7 +51,7 @@ This report proves local benchmark reproducibility only. It keeps external provi - algorithm: `sha256(path,label,exists,artifact_sha256)` - artifacts: `25` / `25` -- sha256: `fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119` +- sha256: `3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49` ## Methodology Sections @@ -73,21 +73,21 @@ 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 | `874d57392246` | +| output_execution | `reports/output_execution_runs.json` | present | `4ea56f4558ee` | | blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` | | review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` | | trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` | | runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` | -| trust_report | `reports/security_trust_report.json` | present | `d2e8352cae2c` | -| python_compatibility | `reports/python_compatibility.json` | present | `0eeedc1c3ff1` | -| registry_audit | `reports/registry_audit.json` | present | `d0c088f66524` | -| package_verification | `reports/package_verification.json` | present | `d18b6336d485` | -| install_simulation | `reports/install_simulation.json` | present | `6d808df45317` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `e6f644b1d2f5` | +| trust_report | `reports/security_trust_report.json` | present | `525f9766700a` | +| python_compatibility | `reports/python_compatibility.json` | present | `f53cce322cc3` | +| registry_audit | `reports/registry_audit.json` | present | `995ded23370a` | +| package_verification | `reports/package_verification.json` | present | `afb99167c571` | +| install_simulation | `reports/install_simulation.json` | present | `08d96de4662c` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `7fc0b099204c` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `2beb888d7992` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `22c85613d7be` | | world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `d3f44570e605` | -| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `585ec2f93a1d` | +| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `10671b699295` | | world_class_submission_review | `reports/world_class_submission_review.json` | present | `96624a5b7f79` | | world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `a7b7809d3b42` | | world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `d72777b421b5` | diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index 87679a3f..639bf703 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "target_count": 5, diff --git a/reports/context_budget.json b/reports/context_budget.json index f780fba1..ca767e60 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,15 +6,15 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1107027, + "other_text_tokens": 1107908, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1107824, - "deferred_resource_tokens": 504879, + "estimated_total_text_tokens": 1108705, + "deferred_resource_tokens": 505558, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148 }, { @@ -29,14 +29,14 @@ }, { "path": "assets", - "estimated_tokens": 10903, + "estimated_tokens": 10988, "file_count": 4 } ], "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148 } ], @@ -59,14 +59,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 700, + "relevant_file_count": 702, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 diff --git a/reports/context_budget.md b/reports/context_budget.md index 35d76e6d..13f04261 100644 --- a/reports/context_budget.md +++ b/reports/context_budget.md @@ -2,7 +2,7 @@ | Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status | | --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- | -| root | `.` | `production` | 1000 | 990 | 797 | 504879 | `governed` | scripts:443849 | 131.3 | - | ok | +| root | `.` | `production` | 1000 | 990 | 797 | 505558 | `governed` | scripts:444443 | 131.3 | - | ok | | complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok | | governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok | diff --git a/reports/context_budget_summary.json b/reports/context_budget_summary.json index 2a1b1ced..e18494b7 100644 --- a/reports/context_budget_summary.json +++ b/reports/context_budget_summary.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-06-17", + "generated_at": "2026-03-31", "targets": [ { "label": "root", @@ -8,11 +8,11 @@ "budget_limit": 1000, "initial_tokens": 990, "skill_body_tokens": 797, - "deferred_resource_tokens": 504879, + "deferred_resource_tokens": 505558, "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148 } ], @@ -35,7 +35,7 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } diff --git a/reports/evidence_consistency.json b/reports/evidence_consistency.json index 8b7025a9..b36ee797 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -189,12 +189,12 @@ "status": "pass", "expected": { "status": "pass", - "detail": "initial load 990/1000; deferred 504879/120000; top deferred scripts 443849; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 505558/120000; top deferred scripts 444443; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json" }, "actual": { "status": "pass", - "detail": "initial load 990/1000; deferred 504879/120000; top deferred scripts 443849; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 505558/120000; top deferred scripts 444443; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json" }, "paths": [ @@ -222,7 +222,7 @@ "actual": { "available": true, "clean": false, - "changed_file_count": 34 + "changed_file_count": 38 }, "paths": [ "reports/benchmark_reproducibility.json" @@ -263,8 +263,8 @@ "key": "overview-benchmark-commit", "label": "overview embeds the benchmark commit", "status": "pass", - "expected": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", - "actual": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "expected": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", + "actual": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-overview.json" @@ -279,8 +279,8 @@ "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, "world_class_source_pass_count": 9, @@ -292,8 +292,8 @@ "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, "world_class_source_pass_count": 9, @@ -409,8 +409,8 @@ "key": "interpretation-benchmark-commit", "label": "interpretation embeds the benchmark commit", "status": "pass", - "expected": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", - "actual": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "expected": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", + "actual": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-interpretation.json" @@ -425,8 +425,8 @@ "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, "world_class_source_pass_count": 9, @@ -438,8 +438,8 @@ "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, "world_class_source_pass_count": 9, @@ -2423,8 +2423,8 @@ "`3` warnings", "`62` declared internal modules", "`86 / 86` CLI help smoke checks passing across `148` scripts", - "`686` zip entries", - "archive with `686` entries", + "`687` zip entries", + "archive with `687` entries", "`12` installer permission checks enforced", "`0` permission failures", "`25` required artifacts", diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 9f2bb1db..44dcec2c 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -1,14 +1,14 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", - "package_dir": "dist", - "install_root": "dist/install-simulation/simulate-yao-meta-skill", - "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", + "package_dir": "tests/tmp_review_studio/dist", + "install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill", + "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -26,7 +26,7 @@ { "id": "archive-present", "status": "pass", - "detail": "Package archive exists: dist/yao-meta-skill.zip" + "detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip" }, { "id": "archive-safe-paths", @@ -272,9 +272,9 @@ "failures": [], "warnings": [], "artifacts": { - "archive": "dist/yao-meta-skill.zip", - "package_manifest": "dist/manifest.json", - "json": "reports/install_simulation.json", - "markdown": "reports/install_simulation.md" + "archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip", + "package_manifest": "tests/tmp_review_studio/dist/manifest.json", + "json": "tests/tmp_review_studio/install_simulation.json", + "markdown": "tests/tmp_review_studio/install_simulation.md" } } diff --git a/reports/install_simulation.md b/reports/install_simulation.md index 6750e007..b0d16dae 100644 --- a/reports/install_simulation.md +++ b/reports/install_simulation.md @@ -1,7 +1,7 @@ # Install Simulation - OK: `True` -- Package directory: `dist` +- Package directory: `tests/tmp_review_studio/dist` - Archive extracted: `True` - Entrypoint loaded: `True` - Manifest loaded: `True` @@ -16,7 +16,7 @@ | Check | Status | Detail | | --- | --- | --- | -| `archive-present` | `pass` | Package archive exists: dist/yao-meta-skill.zip | +| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip | | `archive-safe-paths` | `pass` | Archive has no absolute or parent-traversal entries | | `single-top-level` | `pass` | Archive top-level directory is yao-meta-skill | | `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable | diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index 2925e379..6b7f6494 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": 26.73, + "duration_ms": 34.14, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.46, + "duration_ms": 33.01, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.94, + "duration_ms": 36.01, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.74, + "duration_ms": 35.54, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.3, + "duration_ms": 33.33, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.82, + "duration_ms": 34.45, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 26.02, + "duration_ms": 33.48, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.81, + "duration_ms": 35.51, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.75, + "duration_ms": 33.49, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.57, + "duration_ms": 29.48, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index a65f6016..983f42eb 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 | 26.73 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 25.46 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 25.94 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 27.74 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 28.3 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.82 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 26.02 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 25.81 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 25.75 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.57 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 34.14 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 33.01 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 36.01 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 35.54 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 33.33 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 34.45 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 33.48 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 35.51 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 33.49 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 29.48 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/package_verification.json b/reports/package_verification.json index 3e86e356..47b21a28 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": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, diff --git a/reports/package_verification.md b/reports/package_verification.md index a8d51a70..4e19b329 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: `b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362` +- Archive SHA256: `52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806` - Failures: `0` - Warnings: `0` diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json index 30e1a7a1..834e73cf 100644 --- a/reports/python_compatibility.json +++ b/reports/python_compatibility.json @@ -1,11 +1,11 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "root": ".", "summary": { "target_python": "3.11", - "file_count": 226, + "file_count": 227, "issue_count": 0, "syntax_error_count": 0, "fstring_311_violation_count": 0, @@ -934,6 +934,12 @@ "issue_count": 0, "issues": [] }, + { + "path": "tests/review_studio_world_class_assertions.py", + "ok": true, + "issue_count": 0, + "issues": [] + }, { "path": "tests/verify_adaptation_safety.py", "ok": true, diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md index 9fa98038..51ee5ed4 100644 --- a/reports/python_compatibility.md +++ b/reports/python_compatibility.md @@ -1,12 +1,12 @@ # Python Compatibility -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary - decision: `pass` - target python: `3.11` -- files scanned: `226` +- files scanned: `227` - issues: `0` - syntax errors: `0` - f-string 3.11 violations: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index 24813bb4..c4284688 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,8 +21,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -53,16 +53,16 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" }, - "generated_at": "2026-06-17" + "generated_at": "2026-06-13" }, "index": { "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "package_count": 1, "packages": [ { @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index da1d449b..5c608092 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,8 +6,8 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242` -- Archive SHA256: `b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362` +- Package SHA256: `f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12` +- Archive SHA256: `52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806` - Install simulated: `True` ## Compatibility diff --git a/reports/review-studio.html b/reports/review-studio.html index af43196f..242aedb0 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -297,12 +297,14 @@ } .action-evidence-checks, .action-command-list, + .action-repair-list, .action-runbook-list { margin: 0; display: grid; gap: 8px; } .action-evidence-checks, + .action-repair-list, .action-command-list { padding: 0; list-style: none; @@ -311,6 +313,7 @@ padding-left: 20px; } .action-evidence-check, + .action-repair-row, .action-command-list li { display: grid; gap: 3px; @@ -320,13 +323,18 @@ } .action-evidence-check.blocked { border-left: 3px solid var(--warn); padding-left: 8px; } .action-evidence-check.pass { border-left: 3px solid var(--pass); padding-left: 8px; } + .action-repair-row.blocked { border-left: 3px solid var(--warn); padding-left: 8px; } + .action-repair-row.ready { border-left: 3px solid var(--pass); padding-left: 8px; } .action-evidence-check span, + .action-repair-row span, .action-command-list span { color: var(--ink); font-size: 13px; } .action-evidence-check code, .action-evidence-check small, + .action-repair-row code, + .action-repair-row small, .action-command-list code, .action-runbook-list li { color: var(--muted); @@ -740,12 +748,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 Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

5 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

148 scripts scanned; secrets found

Py Compat0

226 files scanned for Python 3.11

Arch Debt0

696 largest lines; 0 watchlist; 2 early; 68 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock false

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

686 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 Kit0/5

pending 5; answer key hidden

Review A/B0/5

adjudication decisions; pending 5

Public Claimblocked

5 blockers; local reproducible true

Blueprint21/21

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

Runtime5/5

target conformance pass rate

Perm Probe4/4

0 native; 4 installer-enforced

Trust0

148 scripts scanned; secrets found

Py Compat0

227 files scanned for Python 3.11

Arch Debt0

696 largest lines; 0 watchlist; 2 early; 68 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock false

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

687 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 990/1000; deferred 504879/120000; top deferred scripts 443849; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

223 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

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

意图画布

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

reports/intent-confidence.json 证据
通过

触发实验

13 trigger cases; 0 misroutes; 0 ambiguous

reports/route_scorecard.json 证据
关注

输出实验

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

reports/output_quality_scorecard.json 证据
通过

上下文

initial load 990/1000; deferred 505558/120000; top deferred scripts 444443; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

224 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint

reports/architecture_maintainability.json 证据
通过

权限批准

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

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

权限探针

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

reports/runtime_permission_probes.json 证据
通过

组合治理

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

reports/skill_atlas.json 证据
通过

运营回路

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

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

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

reports/world_class_evidence_ledger.json 证据
通过

注册审计

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

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

发布路线

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

@@ -760,7 +768,7 @@

修复动作

-
关注

输出实验

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

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

人工批准

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

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

世界证据

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

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

证据采集

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

pending · external

Provider Holdout

model-executed 0; token-observed 0

提交
evidence/world_class/submissions/provider-holdout.json
模板
evidence/world_class/templates/provider-holdout.intake.json
阻断
2 blocked / 1 pass
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
阻断检查
  • Provider model runmodel_executed_count: 0 / >0Run provider-backed output-exec with real credentials.
  • Token usage observedtoken_observed_count: 0 / >0Provider execution should return non-estimated token usage.
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key provider-holdout --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Set OPENAI_API_KEY in the operator shell before running provider evidence; never commit or print the value.
  2. export YAO_OUTPUT_EVAL_MODEL=${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini}
  3. python3 scripts/yao.py output-exec --provider-runner openai --timeout-seconds 60
采集契约
来源要求
  • provider-backed model run
  • observed timing
  • observed token metadata
通过条件
  • reports/output_execution_runs.json summary.model_executed_count > 0
  • reports/output_execution_runs.json summary.timing_observed_count > 0
  • reports/output_execution_runs.json summary.token_observed_count > 0
  • reports/skill_os2_audit.json item provider-holdout status becomes pass
证据资产
  • reports/output_execution_runs.json
  • reports/output_execution_runs.md
  • reports/skill_os2_audit.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
资产角色

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

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

Human Adjudication

0/5 decisions; pending 5

提交
evidence/world_class/submissions/human-adjudication.json
模板
evidence/world_class/templates/human-adjudication.intake.json
阻断
5 blocked / 5 pass
下一步
Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication.
阻断检查
  • No pending decisionspending_count: 5 / ==0Record a reviewer choice and reason for every pair.
  • Judgments completejudgment_count: 0 / ==pair_countEvery pair needs one valid human judgment.
  • Reviewer metadatareviewer_metadata_present: False / trueRecord reviewer and reviewed_at before adjudication can count.
  • Blind review attestedblind_review_attested: False / trueSet reviewer_attestation only after choices are completed before opening the answer key.
  • Human evidence readyready_for_human_evidence: False / trueComplete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key human-adjudication --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/yao.py output-review-kit --write-template
  2. Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.
  3. python3 scripts/adjudicate_output_review.py --write-template
采集契约
来源要求
  • real reviewer identity
  • blind A/B decisions
  • answer key unopened until decisions exist
通过条件
  • reports/output_review_adjudication.json summary.pending_count == 0
  • reports/output_review_adjudication.json summary.judgment_count == summary.pair_count
  • reports/output_review_adjudication.json summary.invalid_decision_count == 0
  • reports/output_review_adjudication.json summary.reviewer_metadata_present is true
  • reports/output_review_adjudication.json summary.blind_review_attested is true
  • reports/output_review_adjudication.json review_integrity.blind_pack_sha256 exists and matches reports/output_review_decisions.json
  • reports/output_review_adjudication.json pairs and reviewer_checklist store prompt_sha256, not raw prompt text
  • reports/output_review_adjudication.json summary.ready_for_human_evidence is true
  • reports/skill_os2_audit.json item human-adjudication status becomes pass
证据资产
  • reports/output_blind_review_pack.md
  • reports/output_review_kit.md
  • reports/output_review_decisions.json
  • reports/output_review_adjudication.json
  • reports/output_review_adjudication.md
资产角色

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

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

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

提交
evidence/world_class/submissions/native-permission-enforcement.json
模板
evidence/world_class/templates/native-permission-enforcement.intake.json
阻断
1 blocked / 2 pass
下一步
Integrate a real target-client or external installer runtime guard before claiming native permission enforcement.
阻断检查
  • Native enforcementnative_enforcement_count: 0 / >0Collect real target-client or external runtime guard proof.
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-permission-enforcement --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.
  2. Update the generated target adapter only when the guard is actually enforced by that target.
  3. python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip
采集契约
来源要求
  • real target client or external installer runtime guard
  • native enforcement flag or externally accepted guard proof
  • residual risk retained for fallback targets
通过条件
  • reports/runtime_permission_probes.json summary.native_enforcement_count > 0
  • reports/runtime_permission_probes.json summary.failure_count == 0
  • reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence
  • reports/skill_os2_audit.json item native-permission-enforcement status becomes pass
证据资产
  • dist/targets/*/adapter.json
  • reports/runtime_permission_probes.json
  • reports/runtime_permission_probes.md
  • reports/install_simulation.json
  • reports/install_simulation.md
资产角色

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

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

Native Client Telemetry

external source events 0; adoption samples 0

提交
evidence/world_class/submissions/native-client-telemetry.json
模板
evidence/world_class/templates/native-client-telemetry.intake.json
阻断
2 blocked / 1 pass
下一步
Install a real client against the native host and import production metadata-only events.
阻断检查
  • External eventsexternal_source_events: 0 / >0Import at least one metadata-only event from a real client.
  • Adoption sampleadoption_sample_count: 0 / >0Telemetry must include adoption outcome evidence.
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/
  2. Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.
  3. python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
采集契约
来源要求
  • real external client source
  • metadata-only event
  • local-first import path
通过条件
  • reports/adoption_drift_report.json summary.source_types.external > 0
  • reports/adoption_drift_report.json summary.adoption_sample_count > 0
  • reports/skill_os2_audit.json item native-client-telemetry status becomes pass
证据资产
  • reports/adoption_drift_report.json
  • reports/adoption_drift_report.md
  • reports/telemetry_hook_recipes.json
  • scripts/telemetry_native_host.py
  • evidence/world_class/intake.schema.json
资产角色

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

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

输出实验

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

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

人工批准

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

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

世界证据

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

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

证据采集

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

pending · external

Provider Holdout

model-executed 0; token-observed 0

提交
evidence/world_class/submissions/provider-holdout.json
模板
evidence/world_class/templates/provider-holdout.intake.json
阻断
2 blocked / 1 pass
修复
3 repair rows; counts as completion: false
下一步
Run provider-backed holdout cases with real credentials and commit only aggregate evidence.
阻断检查
  • Provider model runmodel_executed_count: 0 / >0Run provider-backed output-exec with real credentials.
  • Token usage observedtoken_observed_count: 0 / >0Provider execution should return non-estimated token usage.
修复清单
  • precheck · openai-api-keyRequired env precheck is missing.Set OPENAI_API_KEY in the operator shell; never commit or print the value.
  • source-check · model_executed_countCurrent value 0 does not satisfy '>0'.Run provider-backed output-exec with real credentials.
  • source-check · token_observed_countCurrent value 0 does not satisfy '>0'.Provider execution should return non-estimated token usage.
操作命令
  • 准备提交python3 scripts/yao.py world-class-submission-kit . --evidence-key provider-holdout --output-dir evidence/world_class/submissions
  • 校验入口python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
  • 审查提交python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions
  • 刷新台账python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions
首要步骤
  1. Set OPENAI_API_KEY in the operator shell before running provider evidence; never commit or print the value.
  2. export YAO_OUTPUT_EVAL_MODEL=${YAO_OUTPUT_EVAL_MODEL:-gpt-4.1-mini}
  3. python3 scripts/yao.py output-exec --provider-runner openai --timeout-seconds 60
采集契约
来源要求
  • provider-backed model run
  • observed timing
  • observed token metadata
通过条件
  • reports/output_execution_runs.json summary.model_executed_count > 0
  • reports/output_execution_runs.json summary.timing_observed_count > 0
  • reports/output_execution_runs.json summary.token_observed_count > 0
  • reports/skill_os2_audit.json item provider-holdout status becomes pass
证据资产
  • reports/output_execution_runs.json
  • reports/output_execution_runs.md
  • reports/skill_os2_audit.json
  • evidence/world_class/intake.schema.json
  • evidence/world_class/templates/provider-holdout.intake.json
资产角色

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

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

Human Adjudication

0/5 decisions; pending 5

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

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

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

Native Permission Enforcement

native-enforced targets 0; installer-enforced targets 4

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

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

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

Native Client Telemetry

external source events 0; adoption samples 0

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

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

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

上下文

initial load 990/1000; deferred 504879/120000; top deferred scripts 443849; resource governance governed; quality density 131.3

+

上下文

initial load 990/1000; deferred 505558/120000; top deferred scripts 444443; resource governance governed; quality density 131.3

编译证据

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

-

信任报告

Secret
0
脚本数
148
网络脚本
3
Help 失败
0
包体哈希
cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242
+

信任报告

Secret
0
脚本数
148
网络脚本
3
Help 失败
0
包体哈希
f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12

安全边界

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

-

Python 兼容

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

Python 兼容

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

解释器边界

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

@@ -903,12 +911,12 @@

注册审计

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
归档哈希
b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362
+

包体元数据

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

发布路线

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

-

包体验证

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

包体验证

目标数
4
Adapter
4
归档存在
Zip 条目
687
失败数
0
警告数
0
归档哈希
52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806
diff --git a/reports/review-studio.json b/reports/review-studio.json index eb0dfd93..203d2a07 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -44,7 +44,7 @@ "key": "context-budget", "label": "上下文", "status": "pass", - "detail": "initial load 990/1000; deferred 504879/120000; top deferred scripts 443849; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 505558/120000; top deferred scripts 444443; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json", "link": "context_budget.md" }, @@ -68,7 +68,7 @@ "key": "python-compat", "label": "Python 兼容", "status": "pass", - "detail": "Python 3.11; 226 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", + "detail": "Python 3.11; 227 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", "evidence": "reports/python_compatibility.json", "link": "python_compatibility.md" }, @@ -76,7 +76,7 @@ "key": "architecture-maintainability", "label": "架构维护", "status": "pass", - "detail": "223 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint", + "detail": "224 Python files; 0 hotspots; 0 watchlist files; 2 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint", "evidence": "reports/architecture_maintainability.json", "link": "architecture_maintainability.md" }, @@ -367,6 +367,26 @@ "exists": true, "link": "world_class_evidence_intake.md" }, + { + "path": "reports/world_class_evidence_preflight.md", + "label": "world-class evidence preflight", + "kind": "report", + "line": 1, + "matched_pattern": "# World-Class Evidence Preflight", + "excerpt": "# World-Class Evidence Preflight", + "exists": true, + "link": "world_class_evidence_preflight.md" + }, + { + "path": "reports/world_class_evidence_preflight.html", + "label": "world-class preflight HTML", + "kind": "report", + "line": 6, + "matched_pattern": "World-Class Evidence Preflight", + "excerpt": "World-Class Evidence Preflight", + "exists": true, + "link": "world_class_evidence_preflight.html" + }, { "path": "reports/world_class_submission_review.md", "label": "world-class submission review", @@ -512,6 +532,34 @@ "next_action": "Provider execution should return non-estimated token usage." } ], + "repair_rows": [ + { + "repair_type": "precheck", + "target": "openai-api-key", + "status": "blocked", + "blocking_reason": "Required env precheck is missing.", + "next_action": "Set OPENAI_API_KEY in the operator shell; never commit or print the value.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "model_executed_count", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '>0'.", + "next_action": "Run provider-backed output-exec with real credentials.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "token_observed_count", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '>0'.", + "next_action": "Provider execution should return non-estimated token usage.", + "counts_as_completion": false + } + ], + "repair_blocked_count": 3, + "repair_counts_as_completion": false, "commands": [ { "key": "prepare_submission", @@ -648,6 +696,58 @@ "next_action": "Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints." } ], + "repair_rows": [ + { + "repair_type": "precheck", + "target": "human-reviewer", + "status": "blocked", + "blocking_reason": "Required human precheck is human-required.", + "next_action": "Assign a real reviewer identity before claiming human adjudication.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "pending_count", + "status": "blocked", + "blocking_reason": "Current value 5 does not satisfy '==0'.", + "next_action": "Record a reviewer choice and reason for every pair.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "judgment_count", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '==pair_count'.", + "next_action": "Every pair needs one valid human judgment.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "reviewer_metadata_present", + "status": "blocked", + "blocking_reason": "Current value False does not satisfy 'true'.", + "next_action": "Record reviewer and reviewed_at before adjudication can count.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "blind_review_attested", + "status": "blocked", + "blocking_reason": "Current value False does not satisfy 'true'.", + "next_action": "Set reviewer_attestation only after choices are completed before opening the answer key.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "ready_for_human_evidence", + "status": "blocked", + "blocking_reason": "Current value False does not satisfy 'true'.", + "next_action": "Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints.", + "counts_as_completion": false + } + ], + "repair_blocked_count": 6, + "repair_counts_as_completion": false, "commands": [ { "key": "prepare_submission", @@ -759,6 +859,26 @@ "next_action": "Collect real target-client or external runtime guard proof." } ], + "repair_rows": [ + { + "repair_type": "precheck", + "target": "native-guard", + "status": "blocked", + "blocking_reason": "Required external precheck is external-required.", + "next_action": "Attach a real target-client or external installer runtime guard; metadata fallback is not enough.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "native_enforcement_count", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '>0'.", + "next_action": "Collect real target-client or external runtime guard proof.", + "counts_as_completion": false + } + ], + "repair_blocked_count": 2, + "repair_counts_as_completion": false, "commands": [ { "key": "prepare_submission", @@ -871,6 +991,34 @@ "next_action": "Telemetry must include adoption outcome evidence." } ], + "repair_rows": [ + { + "repair_type": "precheck", + "target": "external-client", + "status": "blocked", + "blocking_reason": "Required external precheck is external-required.", + "next_action": "Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "external_source_events", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '>0'.", + "next_action": "Import at least one metadata-only event from a real client.", + "counts_as_completion": false + }, + { + "repair_type": "source-check", + "target": "adoption_sample_count", + "status": "blocked", + "blocking_reason": "Current value 0 does not satisfy '>0'.", + "next_action": "Telemetry must include adoption outcome evidence.", + "counts_as_completion": false + } + ], + "repair_blocked_count": 3, + "repair_counts_as_completion": false, "commands": [ { "key": "prepare_submission", @@ -2011,9 +2159,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -2033,9 +2181,9 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -2140,7 +2288,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "skill_atlas": { "skill_count": 12, @@ -2178,8 +2326,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -2210,7 +2358,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -2226,8 +2374,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, @@ -2238,7 +2386,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -2305,12 +2453,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, @@ -4824,7 +4972,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 26.73, + "duration_ms": 34.14, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4852,7 +5000,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.46, + "duration_ms": 33.01, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4875,7 +5023,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.94, + "duration_ms": 36.01, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4903,7 +5051,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 27.74, + "duration_ms": 35.54, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4926,7 +5074,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 28.3, + "duration_ms": 33.33, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4954,7 +5102,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.82, + "duration_ms": 34.45, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -4977,7 +5125,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 26.02, + "duration_ms": 33.48, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5004,7 +5152,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.81, + "duration_ms": 35.51, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5027,7 +5175,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.75, + "duration_ms": 33.49, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5056,7 +5204,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 25.57, + "duration_ms": 29.48, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5837,24 +5985,24 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "git_status": { "available": true, "dirty": true, - "changed_file_count": 34, + "changed_file_count": 38, "sample": [ + " M assets/review-studio.css", " M registry/index.json", " M registry/packages/yao-meta-skill.json", " M reports/architecture_maintainability.json", " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", + " M reports/compiled_targets.json", " M reports/context_budget.json", " M reports/context_budget.md", " M reports/context_budget_summary.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md" + " M reports/evidence_consistency.json" ], "scope": "generation-time status before this report is written" }, @@ -5864,9 +6012,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -5886,7 +6034,7 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, "public_claim": { "ready": false, @@ -5902,7 +6050,7 @@ }, "release_lock": { "ready": false, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "status_scope": "generation-time status before this report is written", "reason": "working tree was dirty at generation time" }, @@ -5912,7 +6060,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119" + "sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -5985,8 +6133,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "874d573922462a290776489b7ab760136522b2780339b579e383ab8235af56e8" + "bytes": 7967, + "sha256": "4ea56f4558ee371f71a7908f55a1fbcd2d3f3f18a517a6642a5ed7df6a204b59" }, { "label": "blind_review", @@ -6021,42 +6169,42 @@ "path": "reports/security_trust_report.json", "exists": true, "bytes": 134467, - "sha256": "d2e8352cae2c29a009d81bfc78ec4478cc36f045022d0803c7b229d6441fe1e9" + "sha256": "525f9766700afd55e2b5113b5f30a1ca4826ebab0902228a702f7927bffb6019" }, { "label": "python_compatibility", "path": "reports/python_compatibility.json", "exists": true, - "bytes": 29327, - "sha256": "0eeedc1c3ff1fe5e2f9483387e3c56b44dda7eb1b615840afadfb8b55d392787" + "bytes": 29464, + "sha256": "f53cce322cc33af4f7cbc7e22587ac3e0c0359dfa1889a03f38c93472abf319d" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "d0c088f66524fa16c604b88fcd45010303daed7eb9e5273e439451484c09442e" + "sha256": "995ded23370adb49997ef5bdd37e32c59b6aad31ed7813c7520e7e7b40d6e546" }, { "label": "package_verification", "path": "reports/package_verification.json", "exists": true, "bytes": 19338, - "sha256": "d18b6336d485f6290b68bf229d491bcd8a08ad872a8e9a53502b996c4f9c1347" + "sha256": "afb99167c57179ff0435c678e7e5638ceaed07042fa9177568ca21d6dc1bef3d" }, { "label": "install_simulation", "path": "reports/install_simulation.json", "exists": true, "bytes": 8604, - "sha256": "6d808df453177bf76362f218c41dcd7e41d56283b987f07e1e8fe47c1e9f02f5" + "sha256": "08d96de4662c8e047e351f4241ff3a4f98c521907fc4cd703faadff861bee63a" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 14466, - "sha256": "e6f644b1d2f590e76c7f2dd5a4888efad138bd2a2643c0fa60fe2fea81db55e1" + "sha256": "7fc0b099204ca5045de2db9eb19c5cf599f9c87bed1cd7f39c1f5f50704b3fb2" }, { "label": "world_class_evidence_plan", @@ -6083,8 +6231,8 @@ "label": "world_class_evidence_preflight", "path": "reports/world_class_evidence_preflight.json", "exists": true, - "bytes": 57313, - "sha256": "585ec2f93a1dfce5b270af048e3d551676b93231477d7bf4cfe5b08946e82619" + "bytes": 58119, + "sha256": "10671b699295453b130ef8afe6488d2a4ac3220a901df2f86a69ee5eb896c36e" }, { "label": "world_class_submission_review", @@ -6462,7 +6610,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 686; install failures 0", + "current": "archive entries 687; 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": [ @@ -7070,7 +7218,7 @@ "compiled_targets": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "target_count": 5, @@ -12441,7 +12589,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "failures": [], "warnings": [], @@ -15880,7 +16028,7 @@ "root": ".", "summary": { "target_python": "3.11", - "file_count": 226, + "file_count": 227, "issue_count": 0, "syntax_error_count": 0, "fstring_311_violation_count": 0, @@ -16809,6 +16957,12 @@ "issue_count": 0, "issues": [] }, + { + "path": "tests/review_studio_world_class_assertions.py", + "ok": true, + "issue_count": 0, + "issues": [] + }, { "path": "tests/verify_adaptation_safety.py", "ok": true, @@ -17266,9 +17420,9 @@ "generated_at": "2026-06-17", "skill_dir": ".", "summary": { - "python_file_count": 223, + "python_file_count": 224, "script_file_count": 148, - "test_file_count": 75, + "test_file_count": 76, "internal_module_count": 64, "cli_script_count": 86, "command_handler_count": 68, @@ -17326,14 +17480,6 @@ "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, - { - "path": "tests/verify_review_studio.py", - "lines": 590, - "kind": "test", - "severity": "pass", - "early_watch": false, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_skill_overview.py", "lines": 588, @@ -17381,6 +17527,14 @@ "severity": "pass", "early_watch": false, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/render_review_studio.py", + "lines": 568, + "kind": "cli-script", + "severity": "pass", + "early_watch": false, + "recommendation": "Move data loading and large section renderers into focused review_studio_* modules." } ], "watchlist": [], @@ -17417,15 +17571,15 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1107027, + "other_text_tokens": 1107857, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1107824, - "deferred_resource_tokens": 504879, + "estimated_total_text_tokens": 1108654, + "deferred_resource_tokens": 505558, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148 }, { @@ -17440,14 +17594,14 @@ }, { "path": "assets", - "estimated_tokens": 10903, + "estimated_tokens": 10988, "file_count": 4 } ], "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148 } ], @@ -17470,14 +17624,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 443849, + "estimated_tokens": 444443, "file_count": 148, "rationale": "Script resources are deterministic deferred tools, not initial-load prompt context." } ], "summary": "Large deferred resources are indexed and backed by evidence." }, - "relevant_file_count": 700, + "relevant_file_count": 702, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 @@ -25082,8 +25236,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -25114,7 +25268,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -25139,7 +25293,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, @@ -25162,8 +25316,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, @@ -25828,7 +25982,7 @@ "installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -26170,12 +26324,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, diff --git a/reports/review-viewer.json b/reports/review-viewer.json index cb9c0ef0..e525ec04 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -1010,9 +1010,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1032,9 +1032,9 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1139,7 +1139,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "skill_atlas": { "skill_count": 12, @@ -1177,8 +1177,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -1209,7 +1209,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1225,8 +1225,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, @@ -1237,7 +1237,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1304,12 +1304,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, diff --git a/reports/review_annotations.json b/reports/review_annotations.json index 76fadc1f..66f2b1d9 100644 --- a/reports/review_annotations.json +++ b/reports/review_annotations.json @@ -2,7 +2,7 @@ "schema_version": "1.0", "ok": true, "skill_dir": ".", - "source": "reports/review_annotations_input.json", + "source": "tests/tmp_review_studio/empty_review_annotations_input.json", "summary": { "annotation_count": 0, "open_count": 0, diff --git a/reports/review_waivers.json b/reports/review_waivers.json index 1ec9a128..a994e852 100644 --- a/reports/review_waivers.json +++ b/reports/review_waivers.json @@ -2,7 +2,7 @@ "schema_version": "1.0", "ok": true, "skill_dir": ".", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "summary": { "waiver_count": 0, "active_count": 0, @@ -92,7 +92,7 @@ "Reviewer links output_review_adjudication or output_execution evidence." ], "suggested_evidence": "reports/output_review_adjudication.md", - "suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md", + "suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md", "world_class_boundary": "Does not count as provider, human, or public world-class completion evidence." }, { diff --git a/reports/review_waivers.md b/reports/review_waivers.md index 90ddd5bd..df7cc049 100644 --- a/reports/review_waivers.md +++ b/reports/review_waivers.md @@ -38,7 +38,7 @@ - waiver allowed: `true` - risk: review pending 5; model-executed 0; output failures 0 - evidence: `reports/output_review_adjudication.md` -- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md` +- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md` - world-class boundary: Does not count as provider, human, or public world-class completion evidence. #### Required Review diff --git a/reports/runtime_permission_probes.json b/reports/runtime_permission_probes.json index 9c2ffd6e..59c9a1a4 100644 --- a/reports/runtime_permission_probes.json +++ b/reports/runtime_permission_probes.json @@ -2,7 +2,7 @@ "schema_version": "1.0", "ok": true, "skill_dir": ".", - "package_dir": "dist", + "package_dir": "tests/tmp_review_studio/dist", "expected_capabilities": [ "file_write", "network", @@ -42,7 +42,7 @@ { "target": "openai", "status": "pass", - "adapter": "dist/targets/openai/adapter.json", + "adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json", "permission_model": "metadata-only", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -139,7 +139,7 @@ { "target": "claude", "status": "pass", - "adapter": "dist/targets/claude/adapter.json", + "adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json", "permission_model": "neutral-source-plus-adapter", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -221,7 +221,7 @@ { "target": "generic", "status": "pass", - "adapter": "dist/targets/generic/adapter.json", + "adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json", "permission_model": "agent-skills-compatible-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, @@ -303,7 +303,7 @@ { "target": "vscode", "status": "pass", - "adapter": "dist/targets/vscode/adapter.json", + "adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json", "permission_model": "vscode-workspace-trust-plus-metadata", "native_enforcement": false, "metadata_fallback_explicit": true, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index ce4b4e04..3d6fb2ae 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -23,7 +23,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "failures": [], "warnings": [], diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index e9f9bc79..da92b5fd 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -16,7 +16,7 @@ - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` - Package hash files: `240` -- Package SHA256: `cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242` +- Package SHA256: `f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12` ## Failures diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json index 80743cc1..cf512dfd 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -1014,9 +1014,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1036,9 +1036,9 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1143,7 +1143,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "skill_atlas": { "skill_count": 12, @@ -1181,8 +1181,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -1213,7 +1213,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1229,8 +1229,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, @@ -1241,7 +1241,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1308,12 +1308,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index 34023557..73bb1c63 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -140,8 +140,8 @@ Next move: add real client or installer permission enforcement integration. | Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility | | Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility | | Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix | -| Package Verification | `4 / 4` target adapters present, archive verified, `686` zip entries, `0` failures, `0` warnings | -| Install Simulation | archive with `686` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | +| Package Verification | `4 / 4` target adapters present, archive verified, `687` zip entries, `0` failures, `0` warnings | +| Install Simulation | archive with `687` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings | | Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures | | Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes | | Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages | diff --git a/reports/skill-overview.json b/reports/skill-overview.json index c2bb1fee..d63b0d30 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -1009,9 +1009,9 @@ "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "fa79b95f174e1c2b41a83456e6f6d7d15064dfa388f5c2b79ccc12ccefa2d119", - "source_contract_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "evidence_bundle_sha256": "3f8e332ac63fc5c841400052005674876f29d2f715a48da46424f581dbad8c49", + "source_contract_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "output_case_count": 5, "failure_disclosure_count": 3, "command_count": 23, @@ -1031,9 +1031,9 @@ "public_claim_ready": false, "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 34 + "changed_file_count": 38 }, - "commit": "48a503f8f6ea9ed8b39c5f4c6c07adbc94bca3cb", + "commit": "e3367775750edf6b2f811e7e1f3680c1e2c3e7ab", "missing_artifacts": [], "limitations": [ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.", @@ -1138,7 +1138,7 @@ "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", "package_hash_file_count": 240, - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" }, "skill_atlas": { "skill_count": 12, @@ -1176,8 +1176,8 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242", - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "package_sha256": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, "compatibility": { "openai": "pass", @@ -1208,7 +1208,7 @@ }, "distribution": { "archive_verified": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", "package_verification": "reports/package_verification.json", "install_simulated": true, "install_simulation": "reports/install_simulation.json" @@ -1224,8 +1224,8 @@ "target_count": 4, "adapter_count": 4, "archive_present": true, - "archive_sha256": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362", - "archive_entry_count": 686, + "archive_sha256": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806", + "archive_entry_count": 687, "failure_count": 0, "warning_count": 0 }, @@ -1236,7 +1236,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 686, + "archive_entry_count": 687, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1303,12 +1303,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index a057c482..16c1e7b1 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -44,7 +44,7 @@ }, "catalog": { "workspace_root": ".", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skills": [ { "name": "yao-meta-skill", @@ -282,8 +282,8 @@ "report": "reports/adoption_drift_report.json", "risk_band": "low", "event_count": 1, - "adoption_sample_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "adoption_rate": 100.0, "candidate_count": 0 } }, @@ -946,7 +946,7 @@ "name": "incident-command-governor", "path": "examples/governed-incident-command/generated-skill", "reason": "review overdue by cadence monthly", - "age_days": 78, + "age_days": 74, "allowed_days": 31, "actionable": false, "scope": "example" diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 176c965f..10daa4dd 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "item_count": 15, @@ -285,7 +285,7 @@ "key": "registry-distribution", "label": "Registry Distribution", "status": "pass", - "current": "zip entries 686; install failures 0; permission failures 0", + "current": "zip entries 687; install failures 0; permission failures 0", "target": "Package metadata, archive checksum, package verification, and install simulation pass", "evidence": [ { @@ -351,7 +351,7 @@ "key": "native-client-telemetry", "label": "Native Client Telemetry", "status": "external_required", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "target": "A real Browser/Chrome/provider client sends production metadata events", "evidence": [ { @@ -433,7 +433,7 @@ "key": "native-client-telemetry", "label": "Native Client Telemetry", "status": "external_required", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "target": "A real Browser/Chrome/provider client sends production metadata events", "evidence": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index 276f5bbc..b4457343 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Audit -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -27,10 +27,10 @@ Generated at: `2026-06-17` | Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. | | Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. | -| Registry Distribution | pass | zip entries 686; 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 687; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. | | Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. | | Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. | -| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. | +| Native Client Telemetry | external-required | external source events 0; adoption samples 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. | ## Open Highest-Leverage Gaps diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 305aeec1..d6db18f8 100644 --- a/reports/skill_os2_coverage.json +++ b/reports/skill_os2_coverage.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "item_count": 21, @@ -204,7 +204,7 @@ "label": "Registry Distribution", "status": "pass", "objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.", - "current": "archive entries 686; install failures 0", + "current": "archive entries 687; 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": [ diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md index 989e8735..1bdf2d41 100644 --- a/reports/skill_os2_coverage.md +++ b/reports/skill_os2_coverage.md @@ -1,6 +1,6 @@ # Skill OS 2.0 Blueprint Coverage -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -28,7 +28,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, | Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` | | Trust Security | `pass` | 148 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 686; 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 687; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | | Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` | | Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` | diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index c0595604..c3c111e4 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -1,7 +1,7 @@ { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "previous": { "name": "yao-meta-skill", "version": "1.0.0", @@ -70,12 +70,12 @@ { "field": "archive_sha256", "from": "", - "to": "b09ad63e1a0cb59beba3ba7f71e285e981b84b3de6d4f9f7404618c25d96c362" + "to": "52a98e5dd903b6896643f3c0a725cd5dddc0b38dc6ec20b8c3ab8b88ffb85806" }, { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "cc61aeda8a4a7567aca6432c73fc8faf0ed3ed753c8254245d92675edeec5242" + "to": "f5722de72ecc9012625622740af45a982c120984a0c8189eb91742b152745a12" } ] }, @@ -90,7 +90,7 @@ "artifacts": { "previous_package": "registry/examples/yao-meta-skill-1.0.0.json", "current_package": "reports/registry_audit.json", - "json": "reports/upgrade_check.json", - "markdown": "reports/upgrade_check.md" + "json": "tests/tmp_review_studio/upgrade_check.json", + "markdown": "tests/tmp_review_studio/upgrade_check.md" } } diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json index 22da9491..fe24ca0b 100644 --- a/reports/world_class_claim_guard.json +++ b/reports/world_class_claim_guard.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "ledger_ready_to_claim_world_class": false, diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md index d2d4d668..5315b99a 100644 --- a/reports/world_class_claim_guard.md +++ b/reports/world_class_claim_guard.md @@ -1,6 +1,6 @@ # World-Class Claim Guard -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_intake.json b/reports/world_class_evidence_intake.json index 1bfa182b..2d99eb6c 100644 --- a/reports/world_class_evidence_intake.json +++ b/reports/world_class_evidence_intake.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "schema_present": true, @@ -328,7 +328,7 @@ "source_accepted": false, "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false diff --git a/reports/world_class_evidence_intake.md b/reports/world_class_evidence_intake.md index fc622f51..be6ef919 100644 --- a/reports/world_class_evidence_intake.md +++ b/reports/world_class_evidence_intake.md @@ -1,6 +1,6 @@ # World-Class Evidence Intake -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary diff --git a/reports/world_class_evidence_ledger.json b/reports/world_class_evidence_ledger.json index d411c67f..5628fc25 100644 --- a/reports/world_class_evidence_ledger.json +++ b/reports/world_class_evidence_ledger.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "decision": "evidence-pending", "ready_to_claim_world_class": false, @@ -16,8 +16,8 @@ "missing_submission_count": 4, "invalid_submission_count": 0, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, + "source_pass_count": 10, + "source_blocked_count": 9, "submitted_but_pending_count": 0, "source_accepted_without_valid_submission_count": 0, "overclaim_guard_active": true, @@ -33,8 +33,8 @@ "missing_submission_count": 4, "invalid_submission_count": 0, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, + "source_pass_count": 10, + "source_blocked_count": 9, "submitted_but_pending_count": 0, "source_accepted_without_valid_submission_count": 0, "overclaim_guard_active": true, @@ -486,7 +486,7 @@ "status": "pending", "source_status": "external_required", "source_accepted": false, - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "objective": "Import production metadata-only events from a real external client into the local drift loop.", "runbook": [ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///", @@ -523,7 +523,7 @@ ], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -544,8 +544,8 @@ "label": "Adoption sample", "field": "adoption_sample_count", "expected": ">0", - "actual": 0, - "status": "blocked", + "actual": 1, + "status": "pass", "source_accepted": false, "next_action": "Telemetry must include adoption outcome evidence." }, @@ -561,8 +561,8 @@ } ], "source_check_count": 3, - "source_pass_count": 1, - "source_blocked_count": 2, + "source_pass_count": 2, + "source_blocked_count": 1, "submission_state": { "status": "missing", "path": "evidence/world_class/submissions/native-client-telemetry.json", diff --git a/reports/world_class_evidence_ledger.md b/reports/world_class_evidence_ledger.md index 8644cbfa..67e25450 100644 --- a/reports/world_class_evidence_ledger.md +++ b/reports/world_class_evidence_ledger.md @@ -1,6 +1,6 @@ # World-Class Evidence Ledger -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -8,8 +8,8 @@ Generated at: `2026-06-17` - ready to claim world-class: `false` - entries: `4` - source accepted: `0` -- source checks: `9` pass / `19` total -- source blocked: `10` +- source checks: `10` pass / `19` total +- source blocked: `9` - accepted: `0` - pending: `4` - human pending: `1` @@ -30,7 +30,7 @@ This ledger records the current evidence state. It requires both passing source | `provider-holdout` | `pending` | `missing` | `external` | model-executed 0; token-observed 0 | Run provider-backed holdout cases with real credentials and commit only aggregate evidence. | | `human-adjudication` | `pending` | `missing` | `human` | 0/5 decisions; pending 5 | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. | | `native-permission-enforcement` | `pending` | `missing` | `external` | native-enforced targets 0; installer-enforced targets 4 | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. | -| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 0 | Install a real client against the native host and import production metadata-only events. | +| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 1 | Install a real client against the native host and import production metadata-only events. | ## Provider Holdout @@ -186,8 +186,8 @@ This ledger records the current evidence state. It requires both passing source - objective: Import production metadata-only events from a real external client into the local drift loop. - source status: `external_required` -- observed state: `{"external_source_events": 0, "adoption_sample_count": 0, "raw_content_allowed": false, "risk_band": "low", "accepted": false}` -- source checks: `1` pass / `3` total +- observed state: `{"external_source_events": 0, "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false}` +- source checks: `2` pass / `3` total - submission state: `{"status": "missing", "path": "evidence/world_class/submissions/native-client-telemetry.json", "artifact_ref_count": 0, "attested_real_evidence": false, "privacy_contract_satisfied": false, "ledger_reviewer_approved": false, "ledger_reviewer": "", "ledger_reviewed_at": "", "ledger_counts_as_completion": false}` ### Provenance Requirements @@ -211,7 +211,7 @@ This ledger records the current evidence state. It requires both passing source | Check | Current | Expected | Status | | --- | --- | --- | --- | | External events | `0` | `>0` | `blocked` | -| Adoption sample | `0` | `>0` | `blocked` | +| Adoption sample | `1` | `>0` | `pass` | | Raw content blocked | `False` | `false` | `pass` | ### Completion Assertions diff --git a/reports/world_class_evidence_plan.json b/reports/world_class_evidence_plan.json index 1fc0097c..6614fab9 100644 --- a/reports/world_class_evidence_plan.json +++ b/reports/world_class_evidence_plan.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "audit_decision": "continue-iteration", @@ -154,7 +154,7 @@ "status": "external_required", "category": "external", "owner": "Browser/Chrome/IDE/provider client integrator", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "objective": "Import production metadata-only events from a real external client into the local drift loop.", "runbook": [ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///", @@ -325,7 +325,7 @@ "status": "external_required", "category": "external", "owner": "Browser/Chrome/IDE/provider client integrator", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "objective": "Import production metadata-only events from a real external client into the local drift loop.", "runbook": [ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///", diff --git a/reports/world_class_evidence_plan.md b/reports/world_class_evidence_plan.md index c95cc730..9477dab5 100644 --- a/reports/world_class_evidence_plan.md +++ b/reports/world_class_evidence_plan.md @@ -1,6 +1,6 @@ # World-Class Evidence Plan -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -22,7 +22,7 @@ This report is an execution plan for the remaining world-class evidence gaps. It | `provider-holdout` | `external_required` | `external` | operator with provider credentials | model-executed 0; token-observed 0 | | `human-adjudication` | `human_required` | `human` | human reviewer | 0/5 decisions; pending 5 | | `native-permission-enforcement` | `external_required` | `external` | target client or installer integrator | native-enforced targets 0; installer-enforced targets 4 | -| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 0 | +| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 1 | ## Provider Holdout diff --git a/reports/world_class_evidence_preflight.html b/reports/world_class_evidence_preflight.html index fdfa4e94..4dbcb2f4 100644 --- a/reports/world_class_evidence_preflight.html +++ b/reports/world_class_evidence_preflight.html @@ -66,7 +66,7 @@ Evidence Collection

World-Class Evidence Preflight

This operator view shows which external and human evidence is still blocked, which commands prepare editable submission drafts, and why preflight never counts as accepted evidence.

-
Decisioncollection-preflight-blocked
Pending4
Ready1
Blocked3
Source9/19
Repairs14/14
+
Decisioncollection-preflight-blocked
Pending4
Ready1
Blocked3
Source10/19
Repairs13/13
@@ -845,15 +845,15 @@
-
+
adoption_sample_count Adoption sample
-
Current
0
+
Current
1
Expected
>0
-
Status
blocked
+
Status
pass
Action
Telemetry must include adoption outcome evidence.
@@ -900,19 +900,6 @@
Evidence
does not count as completion
- -
-
- source-check - adoption_sample_count -
-
-
Status
blocked
-
Reason
Current value 0 does not satisfy '>0'.
-
Action
Telemetry must include adoption outcome evidence.
-
Evidence
does not count as completion
-
-
diff --git a/reports/world_class_evidence_preflight.json b/reports/world_class_evidence_preflight.json index 75529ca6..b07525fe 100644 --- a/reports/world_class_evidence_preflight.json +++ b/reports/world_class_evidence_preflight.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -14,10 +14,10 @@ "collection_ready_count": 1, "collection_blocked_count": 3, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, - "repair_checklist_count": 14, - "repair_blocked_count": 14, + "source_pass_count": 10, + "source_blocked_count": 9, + "repair_checklist_count": 13, + "repair_blocked_count": 13, "repair_ready_count": 0, "repair_counts_as_completion": false, "pending_count": 4, @@ -715,8 +715,8 @@ "label": "Adoption sample", "field": "adoption_sample_count", "expected": ">0", - "actual": 0, - "status": "blocked", + "actual": 1, + "status": "pass", "source_accepted": false, "next_action": "Telemetry must include adoption outcome evidence." }, @@ -804,16 +804,6 @@ "next_action": "Import at least one metadata-only event from a real client.", "source": "source_checklist", "counts_as_completion": false - }, - { - "evidence_key": "native-client-telemetry", - "repair_type": "source-check", - "target": "adoption_sample_count", - "status": "blocked", - "blocking_reason": "Current value 0 does not satisfy '>0'.", - "next_action": "Telemetry must include adoption outcome evidence.", - "source": "source_checklist", - "counts_as_completion": false } ] } @@ -1163,8 +1153,8 @@ "label": "Adoption sample", "field": "adoption_sample_count", "expected": ">0", - "actual": 0, - "status": "blocked", + "actual": 1, + "status": "pass", "source_accepted": false, "next_action": "Telemetry must include adoption outcome evidence." }, @@ -1309,16 +1299,6 @@ "next_action": "Import at least one metadata-only event from a real client.", "source": "source_checklist", "counts_as_completion": false - }, - { - "evidence_key": "native-client-telemetry", - "repair_type": "source-check", - "target": "adoption_sample_count", - "status": "blocked", - "blocking_reason": "Current value 0 does not satisfy '>0'.", - "next_action": "Telemetry must include adoption outcome evidence.", - "source": "source_checklist", - "counts_as_completion": false } ], "submissions": { diff --git a/reports/world_class_evidence_preflight.md b/reports/world_class_evidence_preflight.md index c4a1adbb..aa120d92 100644 --- a/reports/world_class_evidence_preflight.md +++ b/reports/world_class_evidence_preflight.md @@ -1,6 +1,6 @@ # World-Class Evidence Preflight -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -10,8 +10,8 @@ Generated at: `2026-06-17` - credential value exposed: `false` - collection ready: `1` - collection blocked: `3` -- source checks: `9` pass / `19` total -- repair rows: `14` blocked / `14` total +- source checks: `10` pass / `19` total +- repair rows: `13` blocked / `13` total This preflight report checks whether an operator can start collecting the remaining external or human evidence. It never accepts evidence, prints secret values, or changes the world-class ledger. @@ -66,7 +66,6 @@ Repair rows convert preflight and source blockers into concrete operator actions | `native-permission-enforcement` | `source-check` | `native_enforcement_count` | `blocked` | Collect real target-client or external runtime guard proof. | | `native-client-telemetry` | `precheck` | `external-client` | `blocked` | Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events. | | `native-client-telemetry` | `source-check` | `external_source_events` | `blocked` | Import at least one metadata-only event from a real client. | -| `native-client-telemetry` | `source-check` | `adoption_sample_count` | `blocked` | Telemetry must include adoption outcome evidence. | ## Provider Holdout @@ -178,7 +177,7 @@ Repair rows convert preflight and source blockers into concrete operator actions | Check | Current | Expected | Status | Next action | | --- | --- | --- | --- | --- | | External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. | -| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. | +| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. | | Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. | ## Boundary diff --git a/reports/world_class_operator_runbook.html b/reports/world_class_operator_runbook.html index 05be43e8..8f7c9146 100644 --- a/reports/world_class_operator_runbook.html +++ b/reports/world_class_operator_runbook.html @@ -57,7 +57,7 @@ Evidence Operations

World-Class Operator Runbook

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

-
Pending4
Awaiting4
Ready0
Source9/19
Blocked10
Invalid0
+
Pending4
Awaiting4
Ready0
Source10/19
Blocked9
Invalid0

Fast Path

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

Evidence Items

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

Source Runbook

  • python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/
  • Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.
  • python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl
  • python3 scripts/yao.py skill-atlas --workspace-root .
  • python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD>
  • Copy evidence/world_class/templates/native-client-telemetry.intake.json to evidence/world_class/submissions/native-client-telemetry.json and fill only real evidence fields.
  • python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions
@@ -130,8 +130,8 @@

Success Checks

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

Privacy

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

Next Source Actions

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

Source Evidence Snapshot

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

Next Source Actions

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

Source Evidence Snapshot

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

Boundary

diff --git a/reports/world_class_operator_runbook.json b/reports/world_class_operator_runbook.json index 0c82d92b..7596531a 100644 --- a/reports/world_class_operator_runbook.json +++ b/reports/world_class_operator_runbook.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -12,8 +12,8 @@ "valid_packet_source_incomplete_count": 0, "invalid_submission_count": 0, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, + "source_pass_count": 10, + "source_blocked_count": 9, "ready_to_claim_world_class": false, "runbook_counts_as_completion": false, "decision": "collect-evidence" @@ -487,7 +487,7 @@ "review_state": "awaiting-submission", "source_accepted": false, "objective": "Import production metadata-only events from a real external client into the local drift loop.", - "current": "external source events 0; adoption samples 0", + "current": "external source events 0; adoption samples 1", "execution_runbook": [ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///", "Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.", @@ -535,7 +535,7 @@ ], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -556,8 +556,8 @@ "label": "Adoption sample", "field": "adoption_sample_count", "expected": ">0", - "actual": 0, - "status": "blocked", + "actual": 1, + "status": "pass", "source_accepted": false, "next_action": "Telemetry must include adoption outcome evidence." }, @@ -572,10 +572,9 @@ "next_action": "Telemetry must stay metadata-only." } ], - "blocked_source_check_count": 2, + "blocked_source_check_count": 1, "next_source_actions": [ - "Import at least one metadata-only event from a real client.", - "Telemetry must include adoption outcome evidence." + "Import at least one metadata-only event from a real client." ], "submission_state": { "status": "missing", diff --git a/reports/world_class_operator_runbook.md b/reports/world_class_operator_runbook.md index 25c0dde6..7bcee261 100644 --- a/reports/world_class_operator_runbook.md +++ b/reports/world_class_operator_runbook.md @@ -1,6 +1,6 @@ # World-Class Operator Runbook -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -28,7 +28,7 @@ This runbook coordinates evidence collection only. It does not accept submission | `provider-holdout` | `pending` | `awaiting-submission` | `awaiting-submission` | `2` | Run provider-backed output-exec with real credentials. | operator with provider credentials | | `human-adjudication` | `pending` | `awaiting-submission` | `awaiting-submission` | `5` | Record a reviewer choice and reason for every pair. | human reviewer | | `native-permission-enforcement` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Collect real target-client or external runtime guard proof. | target client or installer integrator | -| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `2` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator | +| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator | ## Provider Holdout @@ -261,7 +261,7 @@ This runbook coordinates evidence collection only. It does not accept submission - objective: Import production metadata-only events from a real external client into the local drift loop. - blocking reason: No evidence packet has been submitted for review. -- blocked source checks: `2` +- blocked source checks: `1` - submission: `evidence/world_class/submissions/native-client-telemetry.json` - template: `evidence/world_class/templates/native-client-telemetry.intake.json` @@ -314,14 +314,13 @@ This runbook coordinates evidence collection only. It does not accept submission ### Next Source Actions - Import at least one metadata-only event from a real client. -- Telemetry must include adoption outcome evidence. ### Source Evidence Snapshot | Check | Current | Expected | Status | Next action | | --- | --- | --- | --- | --- | | External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. | -| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. | +| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. | | Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. | ## Boundary diff --git a/reports/world_class_submission_review.json b/reports/world_class_submission_review.json index 4c9a96e6..70449e25 100644 --- a/reports/world_class_submission_review.json +++ b/reports/world_class_submission_review.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skill_dir": ".", "decision": "awaiting-submissions", "ready_to_claim_world_class": false, @@ -14,8 +14,8 @@ "unmatched_submission_count": 0, "invalid_submission_count": 0, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, + "source_pass_count": 10, + "source_blocked_count": 9, "review_counts_submission_as_completion": false, "summary": { "review_item_count": 4, @@ -27,8 +27,8 @@ "unmatched_submission_count": 0, "invalid_submission_count": 0, "source_check_count": 19, - "source_pass_count": 9, - "source_blocked_count": 10, + "source_pass_count": 10, + "source_blocked_count": 9, "ready_to_claim_world_class": false, "review_counts_submission_as_completion": false, "decision": "awaiting-submissions" @@ -378,7 +378,7 @@ "intake_errors": [], "observed_state": { "external_source_events": 0, - "adoption_sample_count": 0, + "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false @@ -399,8 +399,8 @@ "label": "Adoption sample", "field": "adoption_sample_count", "expected": ">0", - "actual": 0, - "status": "blocked", + "actual": 1, + "status": "pass", "source_accepted": false, "next_action": "Telemetry must include adoption outcome evidence." }, @@ -416,8 +416,8 @@ } ], "source_check_count": 3, - "source_pass_count": 1, - "source_blocked_count": 2, + "source_pass_count": 2, + "source_blocked_count": 1, "success_checks": [ "reports/adoption_drift_report.json summary.source_types.external > 0", "reports/adoption_drift_report.json summary.adoption_sample_count > 0", diff --git a/reports/world_class_submission_review.md b/reports/world_class_submission_review.md index a6b7a5d5..b54fcbb7 100644 --- a/reports/world_class_submission_review.md +++ b/reports/world_class_submission_review.md @@ -1,6 +1,6 @@ # World-Class Submission Review -Generated at: `2026-06-17` +Generated at: `2026-06-13` ## Summary @@ -153,7 +153,7 @@ This report is a read-only reviewer queue. It does not accept evidence or make w #### Source Checks - External events: 0 / >0 => blocked -- Adoption sample: 0 / >0 => blocked +- Adoption sample: 1 / >0 => pass - Raw content blocked: False / false => pass #### Completion Assertions diff --git a/scripts/review_studio_action_evidence.py b/scripts/review_studio_action_evidence.py index d0e6eae3..7cf8ae4e 100644 --- a/scripts/review_studio_action_evidence.py +++ b/scripts/review_studio_action_evidence.py @@ -98,6 +98,7 @@ def world_class_action_steps(data: dict[str, Any]) -> list[dict[str, Any]]: if not key: continue checklist = intake_by_key.get(key, {}) + preflight_item = preflight_by_key.get(key, {}) submission = entry.get("submission_state", {}) if isinstance(entry.get("submission_state", {}), dict) else {} source_checks = entry.get("source_checklist", []) if isinstance(entry.get("source_checklist", []), list) else [] blocked_checks = [ @@ -112,12 +113,25 @@ def world_class_action_steps(data: dict[str, Any]) -> list[dict[str, Any]]: for row in source_checks if isinstance(row, dict) and str(row.get("status", "")) != "pass" ] + repair_rows = [] + for row in preflight_item.get("repair_checklist", []) if isinstance(preflight_item, dict) else []: + if not isinstance(row, dict): + continue + repair_rows.append( + { + "repair_type": str(row.get("repair_type", "")), + "target": str(row.get("target", "")), + "status": str(row.get("status", "blocked")), + "blocking_reason": str(row.get("blocking_reason", "")), + "next_action": str(row.get("next_action", "")), + "counts_as_completion": row.get("counts_as_completion") is True, + } + ) derived_pass_count = sum(1 for row in source_checks if isinstance(row, dict) and str(row.get("status", "")) == "pass") runbook = entry.get("runbook", []) if not runbook and isinstance(checklist.get("must_collect", {}), dict): runbook = checklist["must_collect"].get("runbook", []) must_collect = checklist.get("must_collect", {}) if isinstance(checklist.get("must_collect", {}), dict) else {} - preflight_item = preflight_by_key.get(key, {}) submission_kit = ( preflight_item.get("submission_kit", {}) if isinstance(preflight_item.get("submission_kit", {}), dict) @@ -137,6 +151,9 @@ def world_class_action_steps(data: dict[str, Any]) -> list[dict[str, Any]]: "source_pass_count": int(entry.get("source_pass_count", 0) or derived_pass_count), "source_blocked_count": int(entry.get("source_blocked_count", 0) or len(blocked_checks)), "blocked_checks": blocked_checks, + "repair_rows": repair_rows, + "repair_blocked_count": sum(1 for row in repair_rows if row.get("status") != "ready"), + "repair_counts_as_completion": any(row.get("counts_as_completion") for row in repair_rows), "commands": action_command_rows(checklist.get("commands", {}) if isinstance(checklist.get("commands", {}), dict) else {}), "runbook": [str(item) for item in runbook[:3]], "provenance_requirements": first_text_items( @@ -228,6 +245,17 @@ def render_action_evidence_steps(steps: list[dict[str, Any]]) -> str: "" ) runbook_rows = [f"
  • {html.escape(str(item))}
  • " for item in step.get("runbook", [])] + repair_rows = [] + for row in step.get("repair_rows", []): + repair_rows.append( + "
  • " + f"{html.escape(str(row.get('repair_type', '')))} · {html.escape(str(row.get('target', '')))}" + f"{html.escape(str(row.get('blocking_reason', '')))}" + f"{html.escape(str(row.get('next_action', '')))}" + "
  • " + ) cards.append( "
    " f"
    模板
    {html.escape(str(step.get('template_path', '')))}
    " f"
    阻断
    {html.escape(str(step.get('source_blocked_count', 0)))} blocked / {html.escape(str(step.get('source_pass_count', 0)))} pass
    " + f"
    修复
    {html.escape(str(step.get('repair_blocked_count', 0)))} repair rows; counts as completion: {html.escape(str(step.get('repair_counts_as_completion') is True).lower())}
    " f"
    下一步
    {html.escape(str(step.get('next_action', '')))}
    " "
    阻断检查
    " + ( @@ -246,6 +275,13 @@ def render_action_evidence_steps(steps: list[dict[str, Any]]) -> str: else "

    暂无阻断检查。

    " ) + "
    " + "
    修复清单" + + ( + "
      " + "".join(repair_rows) + "
    " + if repair_rows + else "

    暂无修复项。

    " + ) + + "
    " "
    操作命令" + ( "
      " + "".join(command_rows) + "
    " diff --git a/scripts/review_studio_actions.py b/scripts/review_studio_actions.py index b7f3dd65..492794c4 100644 --- a/scripts/review_studio_actions.py +++ b/scripts/review_studio_actions.py @@ -229,6 +229,8 @@ ACTION_GUIDANCE: dict[str, dict[str, Any]] = { {"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_evidence_preflight.md", "label": "world-class evidence preflight", "kind": "report", "patterns": ["# World-Class Evidence Preflight"]}, + {"path": "reports/world_class_evidence_preflight.html", "label": "world-class preflight HTML", "kind": "report", "patterns": ["World-Class Evidence Preflight"]}, {"path": "reports/world_class_submission_review.md", "label": "world-class submission review", "kind": "report", "patterns": ["# World-Class Submission Review"]}, {"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"]}, diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index b54b7164..2f89ec43 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -1,6 +1,6 @@ { "workspace_root": ".", - "generated_at": "2026-06-17", + "generated_at": "2026-06-13", "skills": [ { "name": "yao-meta-skill", @@ -238,8 +238,8 @@ "report": "reports/adoption_drift_report.json", "risk_band": "low", "event_count": 1, - "adoption_sample_count": 0, - "adoption_rate": 0, + "adoption_sample_count": 1, + "adoption_rate": 100.0, "candidate_count": 0 } }, diff --git a/skill_atlas/stale_skills.json b/skill_atlas/stale_skills.json index a81adcc3..6602e829 100644 --- a/skill_atlas/stale_skills.json +++ b/skill_atlas/stale_skills.json @@ -24,7 +24,7 @@ "name": "incident-command-governor", "path": "examples/governed-incident-command/generated-skill", "reason": "review overdue by cadence monthly", - "age_days": 78, + "age_days": 74, "allowed_days": 31, "actionable": false, "scope": "example" diff --git a/tests/review_studio_world_class_assertions.py b/tests/review_studio_world_class_assertions.py new file mode 100644 index 00000000..cf12d31b --- /dev/null +++ b/tests/review_studio_world_class_assertions.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python3 +"""Focused assertions for Review Studio world-class evidence actions.""" + + +def assert_world_class_action(full_payload: dict) -> None: + world_class_action = next( + item for item in full_payload["review_actions"] if item["gate_key"] == "world-class-evidence" + ) + assert {item["path"] for item in world_class_action["source_refs"]} >= { + "reports/world_class_evidence_ledger.md", + "reports/world_class_evidence_plan.md", + "reports/world_class_evidence_intake.md", + "reports/world_class_evidence_preflight.md", + "reports/world_class_evidence_preflight.html", + "reports/world_class_submission_review.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", + "evidence/world_class/templates/native-permission-enforcement.intake.json", + "evidence/world_class/templates/native-client-telemetry.intake.json", + "reports/skill_os2_audit.md", + }, world_class_action + assert all(item["exists"] for item in world_class_action["source_refs"]), world_class_action + assert all("matched_pattern" in item for item in world_class_action["source_refs"]), world_class_action + assert all("excerpt" in item for item in world_class_action["source_refs"]), world_class_action + assert all(isinstance(item["line"], int) and item["line"] >= 1 for item in world_class_action["source_refs"]), world_class_action + assert any( + item["path"] == "reports/world_class_evidence_ledger.md" + and item["matched_pattern"] == "# World-Class Evidence Ledger" + and "World-Class Evidence Ledger" in item["excerpt"] + for item in world_class_action["source_refs"] + ), world_class_action + assert "world-class-runbook" in world_class_action["verification_command"], world_class_action + assert "--submissions-dir evidence/world_class/submissions" in world_class_action["verification_command"], world_class_action + assert "reports/world_class_operator_runbook.html" in world_class_action["source_fix"], world_class_action + assert {item["key"] for item in world_class_action["evidence_steps"]} == { + "provider-holdout", + "human-adjudication", + "native-permission-enforcement", + "native-client-telemetry", + }, world_class_action + + provider_action_step = next( + item for item in world_class_action["evidence_steps"] if item["key"] == "provider-holdout" + ) + assert provider_action_step["status"] == "pending", provider_action_step + assert provider_action_step["readiness"] == "awaiting-submission", provider_action_step + assert provider_action_step["submission_path"] == "evidence/world_class/submissions/provider-holdout.json", provider_action_step + assert provider_action_step["template_path"] == "evidence/world_class/templates/provider-holdout.intake.json", provider_action_step + assert provider_action_step["source_blocked_count"] == 2, provider_action_step + assert provider_action_step["repair_blocked_count"] == 3, provider_action_step + assert provider_action_step["repair_counts_as_completion"] is False, provider_action_step + assert {item["label"] for item in provider_action_step["blocked_checks"]} == { + "Provider model run", + "Token usage observed", + }, provider_action_step + provider_repair_rows = {item["target"]: item for item in provider_action_step["repair_rows"]} + assert set(provider_repair_rows) == {"openai-api-key", "model_executed_count", "token_observed_count"}, provider_repair_rows + assert provider_repair_rows["openai-api-key"]["repair_type"] == "precheck", provider_repair_rows + assert provider_repair_rows["model_executed_count"]["repair_type"] == "source-check", provider_repair_rows + assert all(item["counts_as_completion"] is False for item in provider_action_step["repair_rows"]), provider_action_step + assert any("world-class-intake" in item["command"] for item in provider_action_step["commands"]), provider_action_step + assert any("world-class-ledger" in item["command"] for item in provider_action_step["commands"]), provider_action_step + assert any("output-exec --provider-runner openai" in item for item in provider_action_step["runbook"]), provider_action_step + assert not any("" in item or "OPENAI_API_KEY=" in item for item in provider_action_step["runbook"]), provider_action_step + assert "provider-backed model run" in provider_action_step["provenance_requirements"], provider_action_step + assert "reports/output_execution_runs.json summary.model_executed_count > 0" in provider_action_step["success_checks"], provider_action_step + assert "reports/output_execution_runs.json" in provider_action_step["evidence_artifacts"], provider_action_step + provider_role_contract = provider_action_step["artifact_role_contract"] + assert provider_role_contract["role_source"] == "world-class-submission-kit", provider_role_contract + assert provider_role_contract["counts_as_evidence"] is False, provider_role_contract + assert provider_role_contract["artifact_prefill_counts_as_evidence"] is False, provider_role_contract + assert provider_role_contract["submission_ref_total_count"] == 1, provider_role_contract + assert provider_role_contract["submission_ref_ready_count"] == 1, provider_role_contract + provider_role_rows = {item["role"]: item for item in provider_role_contract["roles"]} + assert provider_role_rows["submission-ref"]["copy_to_artifact_refs"] is True, provider_role_rows + assert provider_role_rows["supporting-evidence"]["copy_to_artifact_refs"] is False, provider_role_rows + assert any("provider credentials" in item for item in provider_action_step["privacy_contract"]), provider_action_step + + human_action_step = next( + item for item in world_class_action["evidence_steps"] if item["key"] == "human-adjudication" + ) + assert human_action_step["repair_blocked_count"] >= 2, human_action_step + human_repair_rows = {item["target"]: item for item in human_action_step["repair_rows"]} + assert human_repair_rows["human-reviewer"]["repair_type"] == "precheck", human_repair_rows + assert human_repair_rows["pending_count"]["repair_type"] == "source-check", human_repair_rows + assert "prompt_sha256" in " ".join(human_action_step["success_checks"]), human_action_step + assert "prompt_sha256" in " ".join(human_action_step["privacy_contract"]), human_action_step + + assert full_payload["data"]["world_class_evidence_ledger"]["summary"]["pending_count"] == 4 + assert full_payload["data"]["world_class_evidence_intake"]["summary"]["decision"] == "awaiting-submissions" + submission_review = full_payload["data"]["world_class_submission_review"] + assert submission_review["summary"]["decision"] == "awaiting-submissions", submission_review + assert submission_review["summary"]["review_counts_submission_as_completion"] is False, submission_review + assert submission_review["summary"]["awaiting_submission_count"] == 4, submission_review + assert submission_review["summary"]["source_check_count"] >= 13, submission_review + assert submission_review["summary"]["source_blocked_count"] >= 6, submission_review + human_review_item = next(item for item in submission_review["items"] if item["evidence_key"] == "human-adjudication") + human_review_source = {item["field"]: item for item in human_review_item["source_checklist"]} + assert human_review_item["observed_state"]["raw_content_allowed"] is False, human_review_item + assert human_review_item["observed_state"]["raw_content_path_count"] == 0, human_review_item + assert human_review_source["raw_content_allowed"]["status"] == "pass", human_review_source + + runbook = full_payload["data"]["world_class_operator_runbook"] + assert runbook["summary"]["decision"] == "collect-evidence", runbook + assert runbook["summary"]["runbook_counts_as_completion"] is False, runbook + assert runbook["summary"]["awaiting_submission_count"] == 4, runbook + intake = full_payload["data"]["world_class_evidence_intake"] + assert intake["summary"]["template_pass_count"] == 4, intake + assert intake["summary"]["operator_checklist_count"] == 4, intake + assert intake["summary"]["operator_checklist_ready_count"] == 0, intake + assert intake["summary"]["ready_to_claim_world_class"] is False, intake + provider_checklist = next(item for item in intake["operator_checklist"] if item["evidence_key"] == "provider-holdout") + assert provider_checklist["readiness"] == "awaiting-submission", provider_checklist + assert provider_checklist["submission_path"] == "evidence/world_class/submissions/provider-holdout.json", provider_checklist + assert provider_checklist["commands"]["validate_intake"] == "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions", provider_checklist + assert provider_checklist["commands"]["submission_review"] == "python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions", provider_checklist + assert provider_checklist["commands"]["refresh_ledger"] == "python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions", provider_checklist + assert "provider-backed model run" in provider_checklist["must_collect"]["provenance_requirements"], provider_checklist + assert any( + "output-exec --provider-runner openai" in step for step in provider_checklist["must_collect"]["runbook"] + ), provider_checklist + assert full_payload["data"]["world_class_claim_guard"]["summary"]["decision"] == "claim-guard-pass-evidence-pending" + assert full_payload["data"]["world_class_claim_guard"]["summary"]["violation_count"] == 0 + assert full_payload["data"]["world_class_claim_guard"]["summary"]["ledger_pending_count"] == 4 diff --git a/tests/verify_review_studio.py b/tests/verify_review_studio.py index 2942fc4e..bcc984e1 100644 --- a/tests/verify_review_studio.py +++ b/tests/verify_review_studio.py @@ -5,6 +5,7 @@ import sys from review_studio_helpers import ROOT, prepare_tmp_root, render_review_studio_fixture +from review_studio_world_class_assertions import assert_world_class_action sys.path.insert(0, str(ROOT / "scripts")) import render_review_studio as review_studio # noqa: E402 @@ -244,104 +245,7 @@ def main() -> None: assert "scripts/cross_packager.py" not in early_watch_paths, full_payload["data"]["architecture_maintainability"] action_keys = {item["gate_key"] for item in full_payload["review_actions"]} assert action_keys == {"output-lab", "review-waivers", "world-class-evidence"}, full_payload["review_actions"] - world_class_action = next(item for item in full_payload["review_actions"] if item["gate_key"] == "world-class-evidence") - assert {item["path"] for item in world_class_action["source_refs"]} >= { - "reports/world_class_evidence_ledger.md", - "reports/world_class_evidence_plan.md", - "reports/world_class_evidence_intake.md", - "reports/world_class_submission_review.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", - "evidence/world_class/templates/native-permission-enforcement.intake.json", - "evidence/world_class/templates/native-client-telemetry.intake.json", - "reports/skill_os2_audit.md", - }, world_class_action - assert all(item["exists"] for item in world_class_action["source_refs"]), world_class_action - assert all("matched_pattern" in item for item in world_class_action["source_refs"]), world_class_action - assert all("excerpt" in item for item in world_class_action["source_refs"]), world_class_action - assert all(isinstance(item["line"], int) and item["line"] >= 1 for item in world_class_action["source_refs"]), world_class_action - assert any( - item["path"] == "reports/world_class_evidence_ledger.md" - and item["matched_pattern"] == "# World-Class Evidence Ledger" - and "World-Class Evidence Ledger" in item["excerpt"] - for item in world_class_action["source_refs"] - ), world_class_action - assert "world-class-runbook" in world_class_action["verification_command"], world_class_action - assert "--submissions-dir evidence/world_class/submissions" in world_class_action["verification_command"], world_class_action - assert "reports/world_class_operator_runbook.html" in world_class_action["source_fix"], world_class_action - assert {item["key"] for item in world_class_action["evidence_steps"]} == { - "provider-holdout", - "human-adjudication", - "native-permission-enforcement", - "native-client-telemetry", - }, world_class_action - provider_action_step = next(item for item in world_class_action["evidence_steps"] if item["key"] == "provider-holdout") - assert provider_action_step["status"] == "pending", provider_action_step - assert provider_action_step["readiness"] == "awaiting-submission", provider_action_step - assert provider_action_step["submission_path"] == "evidence/world_class/submissions/provider-holdout.json", provider_action_step - assert provider_action_step["template_path"] == "evidence/world_class/templates/provider-holdout.intake.json", provider_action_step - assert provider_action_step["source_blocked_count"] == 2, provider_action_step - assert {item["label"] for item in provider_action_step["blocked_checks"]} == { - "Provider model run", - "Token usage observed", - }, provider_action_step - assert any("world-class-intake" in item["command"] for item in provider_action_step["commands"]), provider_action_step - assert any("world-class-ledger" in item["command"] for item in provider_action_step["commands"]), provider_action_step - assert any("output-exec --provider-runner openai" in item for item in provider_action_step["runbook"]), provider_action_step - assert not any("" in item or "OPENAI_API_KEY=" in item for item in provider_action_step["runbook"]), provider_action_step - assert "provider-backed model run" in provider_action_step["provenance_requirements"], provider_action_step - assert "reports/output_execution_runs.json summary.model_executed_count > 0" in provider_action_step["success_checks"], provider_action_step - assert "reports/output_execution_runs.json" in provider_action_step["evidence_artifacts"], provider_action_step - provider_role_contract = provider_action_step["artifact_role_contract"] - assert provider_role_contract["role_source"] == "world-class-submission-kit", provider_role_contract - assert provider_role_contract["counts_as_evidence"] is False, provider_role_contract - assert provider_role_contract["artifact_prefill_counts_as_evidence"] is False, provider_role_contract - assert provider_role_contract["submission_ref_total_count"] == 1, provider_role_contract - assert provider_role_contract["submission_ref_ready_count"] == 1, provider_role_contract - provider_role_rows = {item["role"]: item for item in provider_role_contract["roles"]} - assert provider_role_rows["submission-ref"]["copy_to_artifact_refs"] is True, provider_role_rows - assert provider_role_rows["supporting-evidence"]["copy_to_artifact_refs"] is False, provider_role_rows - assert any("provider credentials" in item for item in provider_action_step["privacy_contract"]), provider_action_step - human_action_step = next(item for item in world_class_action["evidence_steps"] if item["key"] == "human-adjudication") - assert "prompt_sha256" in " ".join(human_action_step["success_checks"]), human_action_step - assert "prompt_sha256" in " ".join(human_action_step["privacy_contract"]), human_action_step - assert full_payload["data"]["world_class_evidence_ledger"]["summary"]["pending_count"] == 4, full_payload["data"]["world_class_evidence_ledger"] - 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_submission_review"]["summary"]["decision"] == "awaiting-submissions", full_payload["data"]["world_class_submission_review"] - assert full_payload["data"]["world_class_submission_review"]["summary"]["review_counts_submission_as_completion"] is False, full_payload["data"]["world_class_submission_review"] - assert full_payload["data"]["world_class_submission_review"]["summary"]["awaiting_submission_count"] == 4, full_payload["data"]["world_class_submission_review"] - assert full_payload["data"]["world_class_submission_review"]["summary"]["source_check_count"] >= 13, full_payload["data"]["world_class_submission_review"] - assert full_payload["data"]["world_class_submission_review"]["summary"]["source_blocked_count"] >= 6, full_payload["data"]["world_class_submission_review"] - human_review_items = full_payload["data"]["world_class_submission_review"]["items"] - human_review_item = next(item for item in human_review_items if item["evidence_key"] == "human-adjudication") - human_review_source = {item["field"]: item for item in human_review_item["source_checklist"]} - assert human_review_item["observed_state"]["raw_content_allowed"] is False, human_review_item - assert human_review_item["observed_state"]["raw_content_path_count"] == 0, human_review_item - assert human_review_source["raw_content_allowed"]["status"] == "pass", human_review_source - assert full_payload["data"]["world_class_operator_runbook"]["summary"]["decision"] == "collect-evidence", full_payload["data"]["world_class_operator_runbook"] - assert full_payload["data"]["world_class_operator_runbook"]["summary"]["runbook_counts_as_completion"] is False, full_payload["data"]["world_class_operator_runbook"] - assert full_payload["data"]["world_class_operator_runbook"]["summary"]["awaiting_submission_count"] == 4, full_payload["data"]["world_class_operator_runbook"] - 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"]["operator_checklist_count"] == 4, full_payload["data"]["world_class_evidence_intake"] - assert full_payload["data"]["world_class_evidence_intake"]["summary"]["operator_checklist_ready_count"] == 0, 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"] - intake_checklist = full_payload["data"]["world_class_evidence_intake"]["operator_checklist"] - assert len(intake_checklist) == 4, intake_checklist - provider_checklist = next(item for item in intake_checklist if item["evidence_key"] == "provider-holdout") - assert provider_checklist["readiness"] == "awaiting-submission", provider_checklist - assert provider_checklist["submission_path"] == "evidence/world_class/submissions/provider-holdout.json", provider_checklist - assert provider_checklist["commands"]["validate_intake"] == "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions", provider_checklist - assert provider_checklist["commands"]["submission_review"] == "python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions", provider_checklist - assert provider_checklist["commands"]["refresh_ledger"] == "python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions", provider_checklist - assert "provider-backed model run" in provider_checklist["must_collect"]["provenance_requirements"], provider_checklist - assert any( - "output-exec --provider-runner openai" in step for step in provider_checklist["must_collect"]["runbook"] - ), provider_checklist - 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"] + assert_world_class_action(full_payload) 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"] @@ -429,6 +333,10 @@ def main() -> None: assert "证据采集" in html, html assert "action-evidence-grid" in html, html assert "action-evidence-checks" in html, html + assert "action-repair-list" in html, html + assert "action-repair-row blocked" in html, html + assert "openai-api-key" in html, html + assert "model_executed_count" in html, html assert "action-command-list" in html, html assert "action-runbook-list" in html, html assert "采集契约" in html, html