diff --git a/evidence/world_class/README.md b/evidence/world_class/README.md index f3904a54..a6013f8d 100644 --- a/evidence/world_class/README.md +++ b/evidence/world_class/README.md @@ -15,6 +15,7 @@ python3 scripts/yao.py world-class-submission-kit . --output-dir "$SUBMISSIONS_D python3 scripts/yao.py world-class-intake . --submissions-dir "$SUBMISSIONS_DIR" python3 scripts/yao.py world-class-submission-review . --submissions-dir "$SUBMISSIONS_DIR" python3 scripts/yao.py world-class-ledger . --submissions-dir "$SUBMISSIONS_DIR" +python3 scripts/yao.py world-class-runbook . --submissions-dir "$SUBMISSIONS_DIR" ``` The intake validator checks: @@ -39,4 +40,6 @@ The submission kit separates artifact rows into `submission-ref` and `supporting The submission review command renders a read-only queue that compares valid packets with the source evidence checks and current ledger state. It is for reviewer triage only; it does not accept evidence or make the world-class claim true. +The operator runbook is the step-by-step coordination cockpit for finishing the remaining real-world work. It includes a Coordination Plan that separates user-required provider, reviewer, native-client, and telemetry actions from assistant-run commands, plus a Release Gate that mirrors the ledger, claim guard, benchmark, Review Studio, evidence consistency, and final CI checks. The runbook is operational guidance only: planning rows, submission drafts, and release-gate rows keep `counts_as_completion: false`. + Accepted intake means "ready for ledger review", not evidence that the final public claim is ready. The ledger remains the source of truth for `ready_to_claim_world_class`. diff --git a/registry/index.json b/registry/index.json index 8897d2fc..ca3de09f 100644 --- a/registry/index.json +++ b/registry/index.json @@ -16,7 +16,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] } diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json index b1dbdc45..9d94eb6f 100644 --- a/registry/packages/yao-meta-skill.json +++ b/registry/packages/yao-meta-skill.json @@ -16,7 +16,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { diff --git a/reports/adaptation_proposals.json b/reports/adaptation_proposals.json index 594c30d5..ce810257 100644 --- a/reports/adaptation_proposals.json +++ b/reports/adaptation_proposals.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, diff --git a/reports/adaptation_proposals.md b/reports/adaptation_proposals.md index 974c14dc..9a07659d 100644 --- a/reports/adaptation_proposals.md +++ b/reports/adaptation_proposals.md @@ -1,6 +1,6 @@ # Adaptation Proposals -- Generated at: `2026-06-17` +- Generated at: `2026-06-17T04:04:43Z` - Pattern report: `reports/user_patterns.json` - Proposal only: `true` - Writes repository files: `false` diff --git a/reports/adoption_drift_report.json b/reports/adoption_drift_report.json index 9a4eac7f..324d5e6a 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-16T21:26:47Z", + "generated_at": "2026-06-17T04:05:21Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json index f5018471..7e57a337 100644 --- a/reports/architecture_maintainability.json +++ b/reports/architecture_maintainability.json @@ -4,10 +4,10 @@ "generated_at": "2026-06-13", "skill_dir": ".", "summary": { - "python_file_count": 228, - "script_file_count": 152, + "python_file_count": 229, + "script_file_count": 153, "test_file_count": 76, - "internal_module_count": 68, + "internal_module_count": 69, "cli_script_count": 86, "command_handler_count": 68, "entrypoint_command_handler_count": 18, @@ -16,14 +16,22 @@ "watch_line_threshold": 720, "early_watch_line_threshold": 600, "block_line_threshold": 1500, - "largest_file_lines": 696, + "largest_file_lines": 706, "watchlist_count": 0, - "early_watchlist_count": 4, + "early_watchlist_count": 5, "hotspot_count": 0, "blocker_count": 0, "decision": "pass" }, "largest_files": [ + { + "path": "tests/verify_evidence_consistency.py", + "lines": 706, + "kind": "test", + "severity": "pass", + "early_watch": true, + "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." + }, { "path": "tests/verify_yao_cli.py", "lines": 696, @@ -40,14 +48,6 @@ "early_watch": true, "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." }, - { - "path": "tests/verify_evidence_consistency.py", - "lines": 686, - "kind": "test", - "severity": "pass", - "early_watch": true, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_evidence_consistency.py", "lines": 659, @@ -56,6 +56,14 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, + { + "path": "scripts/render_world_class_operator_runbook.py", + "lines": 647, + "kind": "cli-script", + "severity": "pass", + "early_watch": true, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, { "path": "tests/verify_output_review_adjudication.py", "lines": 599, @@ -111,18 +119,18 @@ "severity": "pass", "early_watch": false, "recommendation": "Move data loading and large section renderers into focused review_studio_* modules." - }, - { - "path": "scripts/world_class_submission_kit_rendering.py", - "lines": 576, - "kind": "internal-module", - "severity": "pass", - "early_watch": false, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "watchlist": [], "early_watchlist": [ + { + "path": "tests/verify_evidence_consistency.py", + "lines": 706, + "kind": "test", + "severity": "pass", + "early_watch": true, + "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." + }, { "path": "tests/verify_yao_cli.py", "lines": 696, @@ -139,14 +147,6 @@ "early_watch": true, "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." }, - { - "path": "tests/verify_evidence_consistency.py", - "lines": 686, - "kind": "test", - "severity": "pass", - "early_watch": true, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_evidence_consistency.py", "lines": 659, @@ -154,6 +154,14 @@ "severity": "pass", "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/render_world_class_operator_runbook.py", + "lines": 647, + "kind": "cli-script", + "severity": "pass", + "early_watch": true, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "hotspots": [], diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md index e4bed274..7410f509 100644 --- a/reports/architecture_maintainability.md +++ b/reports/architecture_maintainability.md @@ -5,17 +5,17 @@ Generated at: `2026-06-13` ## Summary - decision: `pass` -- python files: `228` -- scripts: `152` +- python files: `229` +- scripts: `153` - tests: `76` -- internal modules: `68` +- internal modules: `69` - CLI scripts: `86` - Yao CLI command handlers: `68` - entrypoint command handlers: `18` - command modules: `6` -- largest file lines: `696` +- largest file lines: `706` - early watch threshold lines: `600` -- early watchlist: `4` +- early watchlist: `5` - watch threshold lines: `720` - watchlist: `0` - hotspots: `0` @@ -35,19 +35,21 @@ No near-threshold files found. | File | Lines | Kind | Recommended next split | | --- | ---: | --- | --- | +| `tests/verify_evidence_consistency.py` | `706` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. | | `tests/verify_yao_cli.py` | `696` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. | | `tests/verify_world_class_evidence_intake.py` | `690` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. | -| `tests/verify_evidence_consistency.py` | `686` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. | | `scripts/render_evidence_consistency.py` | `659` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | +| `scripts/render_world_class_operator_runbook.py` | `647` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. | ## Largest Files | File | Lines | Kind | Severity | | --- | ---: | --- | --- | +| `tests/verify_evidence_consistency.py` | `706` | `test` | `pass` | | `tests/verify_yao_cli.py` | `696` | `test` | `pass` | | `tests/verify_world_class_evidence_intake.py` | `690` | `test` | `pass` | -| `tests/verify_evidence_consistency.py` | `686` | `test` | `pass` | | `scripts/render_evidence_consistency.py` | `659` | `cli-script` | `pass` | +| `scripts/render_world_class_operator_runbook.py` | `647` | `cli-script` | `pass` | | `tests/verify_output_review_adjudication.py` | `599` | `test` | `pass` | | `scripts/render_skill_overview.py` | `588` | `cli-script` | `pass` | | `scripts/build_skill_atlas.py` | `586` | `cli-script` | `pass` | @@ -55,7 +57,6 @@ No near-threshold files found. | `scripts/trust_check.py` | `582` | `cli-script` | `pass` | | `tests/verify_world_class_evidence_ledger.py` | `579` | `test` | `pass` | | `scripts/render_review_studio.py` | `578` | `cli-script` | `pass` | -| `scripts/world_class_submission_kit_rendering.py` | `576` | `internal-module` | `pass` | ## Release Rule diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json index 5dae2671..0c8dbec5 100644 --- a/reports/benchmark_reproducibility.json +++ b/reports/benchmark_reproducibility.json @@ -3,43 +3,50 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "git_status": { "available": true, "dirty": true, - "changed_file_count": 15, + "changed_file_count": 64, "generated_dirty": true, - "generated_changed_file_count": 15, - "source_dirty": false, - "source_changed_file_count": 0, + "generated_changed_file_count": 58, + "source_dirty": true, + "source_changed_file_count": 6, "sample": [ + " M evidence/world_class/README.md", + " M registry/index.json", + " M registry/packages/yao-meta-skill.json", " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", + " M reports/adoption_drift_report.json", + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md", - " M reports/review-studio.html", - " M reports/review-studio.json", - " M reports/review-viewer.json", - " M reports/skill-interpretation.json" + " M reports/compiled_targets.json", + " M reports/context_budget.json" + ], + "source_sample": [ + " M evidence/world_class/README.md", + " M scripts/evidence_consistency_world_class.py", + " M scripts/render_world_class_operator_runbook.py", + " M tests/verify_evidence_consistency.py", + " M tests/verify_world_class_operator_runbook.py", + "?? scripts/world_class_operator_runbook_coordination.py" ], - "source_sample": [], "generated_sample": [ + " M registry/index.json", + " M registry/packages/yao-meta-skill.json", " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", + " M reports/adoption_drift_report.json", + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", + " M reports/compiled_targets.json", " M reports/context_budget.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md", - " M reports/review-studio.html", - " M reports/review-studio.json", - " M reports/review-viewer.json", - " M reports/skill-interpretation.json" + " M reports/context_budget.md" ], "generated_dirty_prefixes": [ "dist/", @@ -53,12 +60,12 @@ }, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -77,18 +84,19 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, "public_claim": { "ready": false, "scope": "public benchmark or world-class readiness claim", "blockers": [ + "release lock is not clean or commit is unavailable", "provider-backed model holdout evidence is incomplete", "human blind-review adjudication is incomplete", "world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)", @@ -97,12 +105,12 @@ "policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks." }, "release_lock": { - "ready": true, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "ready": false, + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "status_scope": "generation-time status before this report is written", - "source_changed_file_count": 0, - "generated_changed_file_count": 15, - "reason": "only generated evidence artifacts were dirty at generation time" + "source_changed_file_count": 6, + "generated_changed_file_count": 58, + "reason": "source files were dirty at generation time" }, "evidence_bundle": { "algorithm": "sha256(path,label,exists,artifact_sha256)", @@ -110,7 +118,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f" + "sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -183,8 +191,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "9a2768508d8ea94cbfb78a51485c632fadad8d73fe37deef16e9882df2a056ff" + "bytes": 7967, + "sha256": "f02f5250076a368521a463325fe1510f2d4334d492464a5270c9f94fab3b9662" }, { "label": "blind_review", @@ -218,22 +226,22 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 136999, - "sha256": "35d1ec9d8404ca8f846aa72fdf810abb4c58ef00ca31f2e74de42bc3841471a4" + "bytes": 137649, + "sha256": "0873eba396f79089e01d15d6e61046e4749a8876bc13c2c604105ea282cbc1e8" }, { "label": "python_compatibility", "path": "reports/python_compatibility.json", "exists": true, - "bytes": 29983, - "sha256": "cb95afb7d7cc89ec865364f28ef499acadad39afafb9a1494acc118def9201a0" + "bytes": 30127, + "sha256": "2bb4f894fdd29bd3b7714d524e9e9bcee6a4c40d948a34d89a15829acf2be9f7" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "3213fd1c9fb85740c2d7c36a04497f3a5cbaffe65f92595196bffdfae5e835e7" + "sha256": "5132d2d7420f4b0fe09f09fc75756865695a1249564c8ab0356deef8fe7c55ab" }, { "label": "package_verification", @@ -247,14 +255,14 @@ "path": "reports/install_simulation.json", "exists": true, "bytes": 8758, - "sha256": "d2bea19ea46f3eff07ad50cd76b82816983c065db59bf0ae35ac1fa418206db0" + "sha256": "91c2bd418918f2877596e75b986c4ee6c55a50bf00063577be94ae65fc8399f5" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 14466, - "sha256": "ad57230481ed929c651fcc1087f20ec2e6c036d7cfe85817f7709c030c5b3b32" + "sha256": "f68822068601b254ebdf8966c74386ca15845eabcb93b3e82355931ab4651670" }, { "label": "world_class_evidence_plan", @@ -295,22 +303,22 @@ "label": "world_class_operator_runbook", "path": "reports/world_class_operator_runbook.json", "exists": true, - "bytes": 80422, - "sha256": "4b5cd9ae73329dcf3787234d5d07fdcc773527849c9742206c52eabc2b081d24" + "bytes": 90823, + "sha256": "f9aa6f5c13af9ee6f5dcb11dafe66b730e5ad41445acf826712b2abef6703a0d" }, { "label": "world_class_operator_runbook_markdown", "path": "reports/world_class_operator_runbook.md", "exists": true, - "bytes": 20156, - "sha256": "5a95e78c737ebb2be0b13f45c5afc7e08035d3cc60b7adc49968845fcb5f6568" + "bytes": 25405, + "sha256": "f77de0ede45edb4793e4648cdf164bd9caf09e406fd42764f4221a623df175c3" }, { "label": "world_class_operator_runbook_html", "path": "reports/world_class_operator_runbook.html", "exists": true, - "bytes": 26522, - "sha256": "d655a6d97fce416668b948894f1408b2f1bfb76068b0d738ab6d3fdd7112fff8" + "bytes": 34524, + "sha256": "6e07cc2c00a37ae522b7fa1afa09bcb9b6eddf926979582cd2d24fbc9476631f" }, { "label": "world_class_claim_guard", diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md index 254e5dea..cab6b0b0 100644 --- a/reports/benchmark_reproducibility.md +++ b/reports/benchmark_reproducibility.md @@ -1,20 +1,20 @@ # Benchmark Reproducibility Generated at: `2026-06-17` -Commit: `4c30a659efefcbe54ef3abfb7071859401ced084` +Commit: `ff0473ac02f14a3a431cb01f157453335eb14901` Working tree dirty at generation: `true` -Source tree dirty at generation: `false` +Source tree dirty at generation: `true` Generated evidence dirty at generation: `true` -Evidence bundle SHA256: `d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f` +Evidence bundle SHA256: `9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d` ## Summary - reproducibility ready: `true` -- release lock ready: `true` +- release lock ready: `false` - methodology complete: `true` - required artifacts: `25` - missing artifacts: `0` -- source contract sha256: `fda25ac83d07` +- source contract sha256: `795846775173` - archive sha256: `7db44f059844` - output cases: `5` - disclosed failure cases: `3` @@ -24,10 +24,10 @@ Evidence bundle SHA256: `d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88 - world-class ready: `false` - world-class source checks: `10` pass / `19` total; `9` blocked - public claim ready: `false` -- public claim blockers: `4` -- changed files at generation: `15` -- source changed files at generation: `0` -- generated changed files at generation: `15` +- public claim blockers: `5` +- changed files at generation: `64` +- source changed files at generation: `6` +- generated changed files at generation: `58` This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit and dirty samples are generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below. @@ -39,6 +39,7 @@ This report proves local benchmark reproducibility only. It keeps external provi | Blocker | | --- | +| release lock is not clean or commit is unavailable | | provider-backed model holdout evidence is incomplete | | human blind-review adjudication is incomplete | | world-class evidence is not accepted yet (4 open gaps, 4 ledger pending) | @@ -46,15 +47,15 @@ This report proves local benchmark reproducibility only. It keeps external provi ## Release Lock -- ready: `true` -- reason: only generated evidence artifacts were dirty at generation time +- ready: `false` +- reason: source files were dirty at generation time - status scope: generation-time status before this report is written ## Evidence Bundle - algorithm: `sha256(path,label,exists,artifact_sha256)` - artifacts: `25` / `25` -- sha256: `d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f` +- sha256: `9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d` ## Methodology Sections @@ -76,25 +77,25 @@ 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 | `9a2768508d8e` | +| output_execution | `reports/output_execution_runs.json` | present | `f02f5250076a` | | 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 | `35d1ec9d8404` | -| python_compatibility | `reports/python_compatibility.json` | present | `cb95afb7d7cc` | -| registry_audit | `reports/registry_audit.json` | present | `3213fd1c9fb8` | +| trust_report | `reports/security_trust_report.json` | present | `0873eba396f7` | +| python_compatibility | `reports/python_compatibility.json` | present | `2bb4f894fdd2` | +| registry_audit | `reports/registry_audit.json` | present | `5132d2d7420f` | | package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` | -| install_simulation | `reports/install_simulation.json` | present | `d2bea19ea46f` | -| skill_os2_audit | `reports/skill_os2_audit.json` | present | `ad57230481ed` | +| install_simulation | `reports/install_simulation.json` | present | `91c2bd418918` | +| skill_os2_audit | `reports/skill_os2_audit.json` | present | `f68822068601` | | world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `d0ab41774295` | | world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `fc4c3e398ad0` | | world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `1a939bdd1f4a` | | world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `d6c13c020987` | | world_class_submission_review | `reports/world_class_submission_review.json` | present | `b256c40e7528` | -| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `4b5cd9ae7332` | -| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `5a95e78c737e` | -| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `d655a6d97fce` | +| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `f9aa6f5c13af` | +| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `f77de0ede45e` | +| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `6e07cc2c00a3` | | world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `abe7f7d60c00` | ## Reproduction Commands diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json index b30ed7df..435a66b8 100644 --- a/reports/compiled_targets.json +++ b/reports/compiled_targets.json @@ -281,6 +281,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -357,7 +358,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -630,7 +631,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -641,7 +642,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -886,7 +887,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -897,7 +898,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -1235,6 +1236,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -1311,7 +1313,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -1584,7 +1586,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -1595,7 +1597,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -1840,7 +1842,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -1851,7 +1853,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -2189,6 +2191,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -2265,7 +2268,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -2538,7 +2541,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -2548,7 +2551,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -2787,7 +2790,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -2797,7 +2800,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -3127,6 +3130,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -3203,7 +3207,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -3476,7 +3480,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -3487,7 +3491,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -3725,7 +3729,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -3736,7 +3740,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -4065,6 +4069,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -4141,7 +4146,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -4414,7 +4419,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -4425,7 +4430,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -4667,7 +4672,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -4678,7 +4683,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { diff --git a/reports/context_budget.json b/reports/context_budget.json index 62383428..15aa489e 100644 --- a/reports/context_budget.json +++ b/reports/context_budget.json @@ -6,16 +6,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1139909, + "other_text_tokens": 1151006, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1140706, - "deferred_resource_tokens": 515966, + "estimated_total_text_tokens": 1151803, + "deferred_resource_tokens": 521572, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152 + "estimated_tokens": 460269, + "file_count": 153 }, { "path": "references", @@ -36,8 +36,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152 + "estimated_tokens": 460269, + "file_count": 153 } ], "deferred_resource_governance": { @@ -59,14 +59,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152, + "estimated_tokens": 460269, + "file_count": 153, "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": 710, + "relevant_file_count": 712, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 diff --git a/reports/context_budget.md b/reports/context_budget.md index e056250c..2b015908 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 | 515966 | `governed` | scripts:454663 | 131.3 | - | ok | +| root | `.` | `production` | 1000 | 990 | 797 | 521572 | `governed` | scripts:460269 | 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 16cb86c0..5fdb5c90 100644 --- a/reports/context_budget_summary.json +++ b/reports/context_budget_summary.json @@ -8,12 +8,12 @@ "budget_limit": 1000, "initial_tokens": 990, "skill_body_tokens": 797, - "deferred_resource_tokens": 515966, + "deferred_resource_tokens": 521572, "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152 + "estimated_tokens": 460269, + "file_count": 153 } ], "deferred_resource_governance": { @@ -35,8 +35,8 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152, + "estimated_tokens": 460269, + "file_count": 153, "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 e309779f..1c5aeffd 100644 --- a/reports/evidence_consistency.json +++ b/reports/evidence_consistency.json @@ -324,12 +324,12 @@ "status": "pass", "expected": { "status": "pass", - "detail": "initial load 990/1000; deferred 515966/120000; top deferred scripts 454663; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 521572/120000; top deferred scripts 460269; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json" }, "actual": { "status": "pass", - "detail": "initial load 990/1000; deferred 515966/120000; top deferred scripts 454663; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 521572/120000; top deferred scripts 460269; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json" }, "paths": [ @@ -342,8 +342,8 @@ "key": "benchmark-release-lock-self-consistency", "label": "Benchmark release lock matches source dirty state", "status": "pass", - "expected": true, - "actual": true, + "expected": false, + "actual": false, "paths": [ "reports/benchmark_reproducibility.json" ], @@ -357,7 +357,7 @@ "actual": { "available": true, "clean": false, - "changed_file_count": 12 + "changed_file_count": 60 }, "paths": [ "reports/benchmark_reproducibility.json" @@ -398,8 +398,8 @@ "key": "overview-benchmark-commit", "label": "overview embeds the benchmark commit", "status": "pass", - "expected": "4c30a659efefcbe54ef3abfb7071859401ced084", - "actual": "4c30a659efefcbe54ef3abfb7071859401ced084", + "expected": "ff0473ac02f14a3a431cb01f157453335eb14901", + "actual": "ff0473ac02f14a3a431cb01f157453335eb14901", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-overview.json" @@ -411,30 +411,30 @@ "label": "overview embeds benchmark summary fields", "status": "pass", "expected": { - "release_lock_ready": true, + "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "source_contract_sha256": "ae477eea3fa4a0fc5720e982b5382dcb245af7d36cef514563bf0e2776811c8f", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false, - "public_claim_blocker_count": 4 + "public_claim_blocker_count": 5 }, "actual": { - "release_lock_ready": true, + "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "source_contract_sha256": "ae477eea3fa4a0fc5720e982b5382dcb245af7d36cef514563bf0e2776811c8f", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false, - "public_claim_blocker_count": 4 + "public_claim_blocker_count": 5 }, "paths": [ "reports/benchmark_reproducibility.json", @@ -448,13 +448,13 @@ "status": "pass", "expected": { "event_count": 1, - "adoption_sample_count": 1, - "activation_count": 1, - "accepted_count": 1, - "adoption_rate": 100.0, + "adoption_sample_count": 0, + "activation_count": 0, + "accepted_count": 0, + "adoption_rate": 0, "risk_band": "low", "event_types": { - "skill_activation": 1 + "review_event": 1 }, "source_types": { "manual": 1 @@ -462,13 +462,13 @@ }, "actual": { "event_count": 1, - "adoption_sample_count": 1, - "activation_count": 1, - "accepted_count": 1, - "adoption_rate": 100.0, + "adoption_sample_count": 0, + "activation_count": 0, + "accepted_count": 0, + "adoption_rate": 0, "risk_band": "low", "event_types": { - "skill_activation": 1 + "review_event": 1 }, "source_types": { "manual": 1 @@ -491,8 +491,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -503,8 +503,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -524,7 +524,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 10 + "source_pass_count": 9 }, "actual": { "ready": false, @@ -532,7 +532,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 10 + "source_pass_count": 9 }, "paths": [ "reports/world_class_evidence_ledger.json", @@ -544,8 +544,8 @@ "key": "interpretation-benchmark-commit", "label": "interpretation embeds the benchmark commit", "status": "pass", - "expected": "4c30a659efefcbe54ef3abfb7071859401ced084", - "actual": "4c30a659efefcbe54ef3abfb7071859401ced084", + "expected": "ff0473ac02f14a3a431cb01f157453335eb14901", + "actual": "ff0473ac02f14a3a431cb01f157453335eb14901", "paths": [ "reports/benchmark_reproducibility.json", "reports/skill-interpretation.json" @@ -557,30 +557,30 @@ "label": "interpretation embeds benchmark summary fields", "status": "pass", "expected": { - "release_lock_ready": true, + "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "source_contract_sha256": "ae477eea3fa4a0fc5720e982b5382dcb245af7d36cef514563bf0e2776811c8f", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false, - "public_claim_blocker_count": 4 + "public_claim_blocker_count": 5 }, "actual": { - "release_lock_ready": true, + "release_lock_ready": false, "required_artifact_count": 25, "missing_artifact_count": 0, - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "source_contract_sha256": "ae477eea3fa4a0fc5720e982b5382dcb245af7d36cef514563bf0e2776811c8f", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false, - "public_claim_blocker_count": 4 + "public_claim_blocker_count": 5 }, "paths": [ "reports/benchmark_reproducibility.json", @@ -594,13 +594,13 @@ "status": "pass", "expected": { "event_count": 1, - "adoption_sample_count": 1, - "activation_count": 1, - "accepted_count": 1, - "adoption_rate": 100.0, + "adoption_sample_count": 0, + "activation_count": 0, + "accepted_count": 0, + "adoption_rate": 0, "risk_band": "low", "event_types": { - "skill_activation": 1 + "review_event": 1 }, "source_types": { "manual": 1 @@ -608,13 +608,13 @@ }, "actual": { "event_count": 1, - "adoption_sample_count": 1, - "activation_count": 1, - "accepted_count": 1, - "adoption_rate": 100.0, + "adoption_sample_count": 0, + "activation_count": 0, + "accepted_count": 0, + "adoption_rate": 0, "risk_band": "low", "event_types": { - "skill_activation": 1 + "review_event": 1 }, "source_types": { "manual": 1 @@ -637,8 +637,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -649,8 +649,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "decision": "evidence-pending" }, @@ -670,7 +670,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 10 + "source_pass_count": 9 }, "actual": { "ready": false, @@ -678,7 +678,7 @@ "pending_count": 4, "accepted_count": 0, "source_check_count": 19, - "source_pass_count": 10 + "source_pass_count": 9 }, "paths": [ "reports/world_class_evidence_ledger.json", @@ -1477,7 +1477,7 @@ "external_pending_count": 3, "human_pending_count": 1, "source_check_count": 19, - "source_pass_count": 10, + "source_pass_count": 9, "conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。", "conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.", "entries": [ @@ -1537,7 +1537,8 @@ "summary_zh": "真实外部客户端 metadata-only 事件仍未导入。", "summary_en": "Real external-client metadata-only events have not been imported yet.", "blocked_checks": [ - "External events" + "External events", + "Adoption sample" ] } ] @@ -1551,7 +1552,7 @@ "external_pending_count": 3, "human_pending_count": 1, "source_check_count": 19, - "source_pass_count": 10, + "source_pass_count": 9, "conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。", "conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.", "entries": [ @@ -1611,7 +1612,8 @@ "summary_zh": "真实外部客户端 metadata-only 事件仍未导入。", "summary_en": "Real external-client metadata-only events have not been imported yet.", "blocked_checks": [ - "External events" + "External events", + "Adoption sample" ] } ] @@ -1662,7 +1664,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -1677,7 +1679,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -1702,7 +1704,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -1750,7 +1752,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -1765,7 +1767,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -1790,7 +1792,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -1961,15 +1963,15 @@ "expected": { "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false }, "actual": { "world_class_ledger_pending_count": 4, "world_class_source_check_count": 19, - "world_class_source_pass_count": 10, - "world_class_source_blocked_count": 9, + "world_class_source_pass_count": 9, + "world_class_source_blocked_count": 10, "public_claim_ready": false }, "paths": [ @@ -1985,8 +1987,8 @@ "expected": { "pending_count": 4, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "preflight_counts_as_evidence": false, "credential_value_exposed": false @@ -1994,8 +1996,8 @@ "actual": { "pending_count": 4, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "ready_to_claim_world_class": false, "preflight_counts_as_evidence": false, "credential_value_exposed": false @@ -2172,7 +2174,7 @@ "summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 13, + "phase_queue_row_count": 14, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2205,8 +2207,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 9, - "row_count": 9, + "blocked_count": 10, + "row_count": 10, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2348,15 +2350,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2366,7 +2368,7 @@ "operator_runbook_summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 13, + "phase_queue_row_count": 14, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2399,8 +2401,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 9, - "row_count": 9, + "blocked_count": 10, + "row_count": 10, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2542,15 +2544,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2680,15 +2682,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -2699,7 +2701,7 @@ "summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 13, + "phase_queue_row_count": 14, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2732,8 +2734,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 9, - "row_count": 9, + "blocked_count": 10, + "row_count": 10, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2754,7 +2756,7 @@ "operator_runbook_summary": { "phase_queue_count": 2, "phase_queue_blocked_count": 2, - "phase_queue_row_count": 13, + "phase_queue_row_count": 14, "phase_queue_next_phase": "unblock-access", "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", @@ -2787,8 +2789,8 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 9, - "row_count": 9, + "blocked_count": 10, + "row_count": 10, "owners": [ "Browser/Chrome/IDE/provider client integrator", "human reviewer", @@ -2930,15 +2932,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3068,15 +3070,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3206,15 +3208,15 @@ "phase": "collect-source", "priority": 40, "status": "blocked", - "blocked_count": 1, - "row_count": 1, + "blocked_count": 2, + "row_count": 2, "owners": [ "Browser/Chrome/IDE/provider client integrator" ], "evidence_keys": [ "native-client-telemetry" ], - "next_action_id": "native-client-telemetry-source-check-external_source_events", + "next_action_id": "native-client-telemetry-source-check-adoption_sample_count", "verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "counts_as_completion": false } @@ -3314,8 +3316,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "plan_keys": [ "human-adjudication", "native-client-telemetry", @@ -3340,6 +3342,15 @@ "native-permission-enforcement", "provider-holdout" ], + "operator_coordination_keys": [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout" + ], + "operator_coordination_counts_as_completion": false, + "operator_release_gate_ready": false, + "operator_release_gate_counts_as_completion": false, "review_studio_keys": [ "human-adjudication", "native-client-telemetry", @@ -3463,8 +3474,8 @@ "human_pending_count": 1, "external_pending_count": 3, "source_check_count": 19, - "source_pass_count": 10, - "source_blocked_count": 9, + "source_pass_count": 9, + "source_blocked_count": 10, "plan_keys": [ "human-adjudication", "native-client-telemetry", @@ -3489,6 +3500,15 @@ "native-permission-enforcement", "provider-holdout" ], + "operator_coordination_keys": [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout" + ], + "operator_coordination_counts_as_completion": false, + "operator_release_gate_ready": false, + "operator_release_gate_counts_as_completion": false, "review_studio_keys": [ "human-adjudication", "native-client-telemetry", @@ -3619,8 +3639,8 @@ "score `91`", "`16` gates", "`3` warnings", - "`66` declared internal modules", - "`86 / 86` CLI help smoke checks passing across `152` scripts", + "`67` declared internal modules", + "`86 / 86` CLI help smoke checks passing across `153` scripts", "`689` zip entries", "archive with `689` entries", "`12` installer permission checks enforced", diff --git a/reports/install_simulation.json b/reports/install_simulation.json index 07a823e5..310785ec 100644 --- a/reports/install_simulation.json +++ b/reports/install_simulation.json @@ -8,7 +8,7 @@ "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json index 6e1a0984..6d8cdccf 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": 49.18, + "duration_ms": 48.44, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -62,7 +62,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 50.06, + "duration_ms": 50.61, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -85,7 +85,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 52.84, + "duration_ms": 51.72, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -113,7 +113,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 43.41, + "duration_ms": 39.78, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -136,7 +136,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 41.3, + "duration_ms": 36.93, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -164,7 +164,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 42.07, + "duration_ms": 38.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -187,7 +187,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 39.17, + "duration_ms": 36.96, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -214,7 +214,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 44.36, + "duration_ms": 37.81, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -237,7 +237,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 40.51, + "duration_ms": 37.37, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -266,7 +266,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 38.99, + "duration_ms": 39.46, "provider": "local-output-eval-runner", "model": "", "usage": { diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md index 46dc04f8..04391cec 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 | 49.18 | 33 | 0.0 | pass | -| skill-package-contract | with_skill | command | local-output-eval-runner | 50.06 | 73 | 100.0 | pass | -| output-eval-expectation | baseline | command | local-output-eval-runner | 52.84 | 36 | 0.0 | pass | -| output-eval-expectation | with_skill | command | local-output-eval-runner | 43.41 | 80 | 100.0 | pass | -| ir-before-packaging | baseline | command | local-output-eval-runner | 41.3 | 33 | 0.0 | pass | -| ir-before-packaging | with_skill | command | local-output-eval-runner | 42.07 | 80 | 100.0 | pass | -| near-neighbor-boundary | baseline | command | local-output-eval-runner | 39.17 | 36 | 0.0 | pass | -| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 44.36 | 65 | 100.0 | pass | -| file-backed-governed-package | baseline | command | local-output-eval-runner | 40.51 | 37 | 0.0 | pass | -| file-backed-governed-package | with_skill | command | local-output-eval-runner | 38.99 | 98 | 100.0 | pass | +| skill-package-contract | baseline | command | local-output-eval-runner | 48.44 | 33 | 0.0 | pass | +| skill-package-contract | with_skill | command | local-output-eval-runner | 50.61 | 73 | 100.0 | pass | +| output-eval-expectation | baseline | command | local-output-eval-runner | 51.72 | 36 | 0.0 | pass | +| output-eval-expectation | with_skill | command | local-output-eval-runner | 39.78 | 80 | 100.0 | pass | +| ir-before-packaging | baseline | command | local-output-eval-runner | 36.93 | 33 | 0.0 | pass | +| ir-before-packaging | with_skill | command | local-output-eval-runner | 38.12 | 80 | 100.0 | pass | +| near-neighbor-boundary | baseline | command | local-output-eval-runner | 36.96 | 36 | 0.0 | pass | +| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 37.81 | 65 | 100.0 | pass | +| file-backed-governed-package | baseline | command | local-output-eval-runner | 37.37 | 37 | 0.0 | pass | +| file-backed-governed-package | with_skill | command | local-output-eval-runner | 39.46 | 98 | 100.0 | pass | ## Next Fixes diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json index f6400285..d8fbdc63 100644 --- a/reports/python_compatibility.json +++ b/reports/python_compatibility.json @@ -5,7 +5,7 @@ "root": ".", "summary": { "target_python": "3.11", - "file_count": 231, + "file_count": 232, "issue_count": 0, "syntax_error_count": 0, "fstring_311_violation_count": 0, @@ -832,6 +832,12 @@ "issue_count": 0, "issues": [] }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "ok": true, + "issue_count": 0, + "issues": [] + }, { "path": "scripts/world_class_phase_queue.py", "ok": true, diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md index 6c208df8..68ee1f0a 100644 --- a/reports/python_compatibility.md +++ b/reports/python_compatibility.md @@ -6,7 +6,7 @@ Generated at: `2026-06-13` - decision: `pass` - target python: `3.11` -- files scanned: `231` +- files scanned: `232` - issues: `0` - syntax errors: `0` - f-string 3.11 violations: `0` diff --git a/reports/registry_audit.json b/reports/registry_audit.json index 0066bf4e..5160007d 100644 --- a/reports/registry_audit.json +++ b/reports/registry_audit.json @@ -21,7 +21,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -78,7 +78,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/registry_audit.md b/reports/registry_audit.md index e7408655..5689ab02 100644 --- a/reports/registry_audit.md +++ b/reports/registry_audit.md @@ -6,7 +6,7 @@ - Maturity: `governed` - Owner: `Yao Team` - License: `MIT` -- Package SHA256: `fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b` +- Package SHA256: `7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291` - Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2` - Install simulated: `True` diff --git a/reports/review-studio.html b/reports/review-studio.html index 6b753d11..ef13ae7f 100644 --- a/reports/review-studio.html +++ b/reports/review-studio.html @@ -772,12 +772,12 @@

核心指标

-
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 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

4 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

152 scripts scanned; secrets found

Py Compat0

231 files scanned for Python 3.11

Arch Debt0

696 largest lines; 0 watchlist; 4 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 true

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

689 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

+
Skill IR2.0.0

5 targets in platform-neutral contract

Compiler5/5

target contracts compiled from Skill IR

Output Delta100.0

5 cases; 1 file-backed

Exec Runs10

command 10; model 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

153 scripts scanned; secrets found

Py Compat0

232 files scanned for Python 3.11

Arch Debt0

706 largest lines; 0 watchlist; 5 early; 68 CLI handlers; 18 in entrypoint

Atlas5

12 scanned skills; route collisions

Driftlow

1 metadata events; 0 missed triggers

Daily Ops5

proposal-review; approval 0; release lock false

Weekly Queue5

curator-review; ready 1; top score 88

Waivers0

0 gates covered; human risk decisions

Intake4/4

0 valid submissions; 0 invalid

Claim Guard0

182 public surfaces scanned

Notes0/0

0 open blocker annotations

Registry1.1.0

5 targets; MIT license

Archivepass

689 zip entries; package verification

Installpass

4 adapters; 12 permissions enforced; 0 permission failures

Upgrademinor

declared minor; 0 breaking changes

审查闸门

-
通过

意图画布

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 515966/120000; top deferred scripts 454663; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

228 Python files; 0 hotspots; 0 watchlist files; 4 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 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true

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

人工批准

0 active waivers; 1 warning gates still need reviewer decision

reports/review_waivers.json 证据
关注

世界证据

4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 10/19 pass; 9 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 521572/120000; top deferred scripts 460269; resource governance governed; quality density 131.3

reports/context_budget.json 证据
通过

运行矩阵

5 / 5 targets pass

reports/conformance_matrix.json 证据
通过

信任报告

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

reports/security_trust_report.json 证据
通过

Python 兼容

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

reports/python_compatibility.json 证据
通过

架构维护

229 Python files; 0 hotspots; 0 watchlist files; 5 early watch files; 0 blockers; largest 706 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 100.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 10/19 pass; 9 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

@@ -844,17 +844,17 @@
-

上下文

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

+

上下文

initial load 990/1000; deferred 521572/120000; top deferred scripts 460269; 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
脚本数
152
网络脚本
3
Help 失败
0
包体哈希
fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b
+

信任报告

Secret
0
脚本数
153
网络脚本
3
Help 失败
0
包体哈希
7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291

安全边界

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

-

Python 兼容

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

Python 兼容

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

解释器边界

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

@@ -874,14 +874,14 @@
-

运营回路

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

+

运营回路

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

漂移信号

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

日常运维

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

周度队列

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

日常运维

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

周度队列

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

公开声明

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

声明阻断

+

公开声明

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

声明阻断

diff --git a/reports/review-studio.json b/reports/review-studio.json index 9e534573..1a71c15b 100644 --- a/reports/review-studio.json +++ b/reports/review-studio.json @@ -65,7 +65,7 @@ "key": "context-budget", "label": "上下文", "status": "pass", - "detail": "initial load 990/1000; deferred 515966/120000; top deferred scripts 454663; resource governance governed; quality density 131.3", + "detail": "initial load 990/1000; deferred 521572/120000; top deferred scripts 460269; resource governance governed; quality density 131.3", "evidence": "reports/context_budget.json", "link": "context_budget.md", "review_action_id": "", @@ -95,7 +95,7 @@ "key": "trust-report", "label": "信任报告", "status": "pass", - "detail": "0 secrets; 152 scripts; 3 network-capable scripts; 0 help smoke failures", + "detail": "0 secrets; 153 scripts; 3 network-capable scripts; 0 help smoke failures", "evidence": "reports/security_trust_report.json", "link": "security_trust_report.md", "review_action_id": "", @@ -110,7 +110,7 @@ "key": "python-compat", "label": "Python 兼容", "status": "pass", - "detail": "Python 3.11; 231 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", + "detail": "Python 3.11; 232 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards", "evidence": "reports/python_compatibility.json", "link": "python_compatibility.md", "review_action_id": "", @@ -125,7 +125,7 @@ "key": "architecture-maintainability", "label": "架构维护", "status": "pass", - "detail": "228 Python files; 0 hotspots; 0 watchlist files; 4 early watch files; 0 blockers; largest 696 lines; 68 CLI handlers; 18 in entrypoint", + "detail": "229 Python files; 0 hotspots; 0 watchlist files; 5 early watch files; 0 blockers; largest 706 lines; 68 CLI handlers; 18 in entrypoint", "evidence": "reports/architecture_maintainability.json", "link": "architecture_maintainability.md", "review_action_id": "", @@ -185,7 +185,7 @@ "key": "operations-loop", "label": "运营回路", "status": "pass", - "detail": "1 metadata events; adoption 100.0; missed 0; bad-output 0; risk low; daily proposals 5; daily decision proposal-review; daily release lock true; weekly queue 5 unique; weekly ready 1; weekly top 88; weekly release lock true", + "detail": "1 metadata events; adoption 100.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", "evidence": "reports/adoption_drift_report.json + reports/skillops/daily + reports/skillops/weekly", "link": "adoption_drift_report.md", "review_action_id": "", @@ -2016,7 +2016,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -2031,7 +2031,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -2056,7 +2056,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -2186,7 +2186,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -2508,12 +2508,12 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -2532,15 +2532,15 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -2624,9 +2624,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -2644,8 +2644,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "skill_atlas": { "skill_count": 12, @@ -2683,7 +2683,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -2743,7 +2743,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -2815,7 +2815,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, @@ -5329,7 +5329,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 49.18, + "duration_ms": 48.44, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5357,7 +5357,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 50.06, + "duration_ms": 50.61, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5380,7 +5380,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 52.84, + "duration_ms": 51.72, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5408,7 +5408,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 43.41, + "duration_ms": 39.78, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5431,7 +5431,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 41.3, + "duration_ms": 36.93, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5459,7 +5459,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 42.07, + "duration_ms": 38.12, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5482,7 +5482,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 39.17, + "duration_ms": 36.96, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5509,7 +5509,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 44.36, + "duration_ms": 37.81, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5532,7 +5532,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 40.51, + "duration_ms": 37.37, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -5561,7 +5561,7 @@ "execution_mode": "command", "model_executed": false, "command_executed": true, - "duration_ms": 38.99, + "duration_ms": 39.46, "provider": "local-output-eval-runner", "model": "", "usage": { @@ -6342,43 +6342,50 @@ "ok": true, "generated_at": "2026-06-17", "skill_dir": ".", - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "git_status": { "available": true, "dirty": true, - "changed_file_count": 15, + "changed_file_count": 64, "generated_dirty": true, - "generated_changed_file_count": 15, - "source_dirty": false, - "source_changed_file_count": 0, + "generated_changed_file_count": 58, + "source_dirty": true, + "source_changed_file_count": 6, "sample": [ + " M evidence/world_class/README.md", + " M registry/index.json", + " M registry/packages/yao-meta-skill.json", " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", + " M reports/adoption_drift_report.json", + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", - " M reports/context_budget.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md", - " M reports/review-studio.html", - " M reports/review-studio.json", - " M reports/review-viewer.json", - " M reports/skill-interpretation.json" + " M reports/compiled_targets.json", + " M reports/context_budget.json" + ], + "source_sample": [ + " M evidence/world_class/README.md", + " M scripts/evidence_consistency_world_class.py", + " M scripts/render_world_class_operator_runbook.py", + " M tests/verify_evidence_consistency.py", + " M tests/verify_world_class_operator_runbook.py", + "?? scripts/world_class_operator_runbook_coordination.py" ], - "source_sample": [], "generated_sample": [ + " M registry/index.json", + " M registry/packages/yao-meta-skill.json", " M reports/adaptation_proposals.json", " M reports/adaptation_proposals.md", + " M reports/adoption_drift_report.json", + " M reports/architecture_maintainability.json", + " M reports/architecture_maintainability.md", " M reports/benchmark_reproducibility.json", " M reports/benchmark_reproducibility.md", + " M reports/compiled_targets.json", " M reports/context_budget.json", - " M reports/evidence_consistency.json", - " M reports/output_execution_runs.json", - " M reports/output_execution_runs.md", - " M reports/review-studio.html", - " M reports/review-studio.json", - " M reports/review-viewer.json", - " M reports/skill-interpretation.json" + " M reports/context_budget.md" ], "generated_dirty_prefixes": [ "dist/", @@ -6392,12 +6399,12 @@ }, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -6416,18 +6423,19 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, "public_claim": { "ready": false, "scope": "public benchmark or world-class readiness claim", "blockers": [ + "release lock is not clean or commit is unavailable", "provider-backed model holdout evidence is incomplete", "human blind-review adjudication is incomplete", "world-class evidence is not accepted yet (4 open gaps, 4 ledger pending)", @@ -6436,12 +6444,12 @@ "policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks." }, "release_lock": { - "ready": true, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "ready": false, + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "status_scope": "generation-time status before this report is written", - "source_changed_file_count": 0, - "generated_changed_file_count": 15, - "reason": "only generated evidence artifacts were dirty at generation time" + "source_changed_file_count": 6, + "generated_changed_file_count": 58, + "reason": "source files were dirty at generation time" }, "evidence_bundle": { "algorithm": "sha256(path,label,exists,artifact_sha256)", @@ -6449,7 +6457,7 @@ "existing_count": 25, "missing_count": 0, "missing_paths": [], - "sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f" + "sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d" }, "methodology": { "path": "reports/benchmark_methodology.md", @@ -6522,8 +6530,8 @@ "label": "output_execution", "path": "reports/output_execution_runs.json", "exists": true, - "bytes": 7966, - "sha256": "9a2768508d8ea94cbfb78a51485c632fadad8d73fe37deef16e9882df2a056ff" + "bytes": 7967, + "sha256": "f02f5250076a368521a463325fe1510f2d4334d492464a5270c9f94fab3b9662" }, { "label": "blind_review", @@ -6557,22 +6565,22 @@ "label": "trust_report", "path": "reports/security_trust_report.json", "exists": true, - "bytes": 136999, - "sha256": "35d1ec9d8404ca8f846aa72fdf810abb4c58ef00ca31f2e74de42bc3841471a4" + "bytes": 137649, + "sha256": "0873eba396f79089e01d15d6e61046e4749a8876bc13c2c604105ea282cbc1e8" }, { "label": "python_compatibility", "path": "reports/python_compatibility.json", "exists": true, - "bytes": 29983, - "sha256": "cb95afb7d7cc89ec865364f28ef499acadad39afafb9a1494acc118def9201a0" + "bytes": 30127, + "sha256": "2bb4f894fdd29bd3b7714d524e9e9bcee6a4c40d948a34d89a15829acf2be9f7" }, { "label": "registry_audit", "path": "reports/registry_audit.json", "exists": true, "bytes": 3183, - "sha256": "3213fd1c9fb85740c2d7c36a04497f3a5cbaffe65f92595196bffdfae5e835e7" + "sha256": "5132d2d7420f4b0fe09f09fc75756865695a1249564c8ab0356deef8fe7c55ab" }, { "label": "package_verification", @@ -6586,14 +6594,14 @@ "path": "reports/install_simulation.json", "exists": true, "bytes": 8758, - "sha256": "d2bea19ea46f3eff07ad50cd76b82816983c065db59bf0ae35ac1fa418206db0" + "sha256": "91c2bd418918f2877596e75b986c4ee6c55a50bf00063577be94ae65fc8399f5" }, { "label": "skill_os2_audit", "path": "reports/skill_os2_audit.json", "exists": true, "bytes": 14466, - "sha256": "ad57230481ed929c651fcc1087f20ec2e6c036d7cfe85817f7709c030c5b3b32" + "sha256": "f68822068601b254ebdf8966c74386ca15845eabcb93b3e82355931ab4651670" }, { "label": "world_class_evidence_plan", @@ -6634,22 +6642,22 @@ "label": "world_class_operator_runbook", "path": "reports/world_class_operator_runbook.json", "exists": true, - "bytes": 80422, - "sha256": "4b5cd9ae73329dcf3787234d5d07fdcc773527849c9742206c52eabc2b081d24" + "bytes": 90823, + "sha256": "f9aa6f5c13af9ee6f5dcb11dafe66b730e5ad41445acf826712b2abef6703a0d" }, { "label": "world_class_operator_runbook_markdown", "path": "reports/world_class_operator_runbook.md", "exists": true, - "bytes": 20156, - "sha256": "5a95e78c737ebb2be0b13f45c5afc7e08035d3cc60b7adc49968845fcb5f6568" + "bytes": 25405, + "sha256": "f77de0ede45edb4793e4648cdf164bd9caf09e406fd42764f4221a623df175c3" }, { "label": "world_class_operator_runbook_html", "path": "reports/world_class_operator_runbook.html", "exists": true, - "bytes": 26522, - "sha256": "d655a6d97fce416668b948894f1408b2f1bfb76068b0d738ab6d3fdd7112fff8" + "bytes": 34524, + "sha256": "6e07cc2c00a37ae522b7fa1afa09bcb9b6eddf926979582cd2d24fbc9476631f" }, { "label": "world_class_claim_guard", @@ -6925,7 +6933,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "152 scripts; secrets 0; help failures 0", + "current": "153 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ @@ -7887,6 +7895,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -7963,7 +7972,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -8236,7 +8245,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -8247,7 +8256,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -8492,7 +8501,7 @@ "strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -8503,7 +8512,7 @@ }, "scripts": { "strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -8841,6 +8850,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -8917,7 +8927,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -9190,7 +9200,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -9201,7 +9211,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -9446,7 +9456,7 @@ "strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -9457,7 +9467,7 @@ }, "scripts": { "strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -9795,6 +9805,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -9871,7 +9882,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -10144,7 +10155,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -10154,7 +10165,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -10393,7 +10404,7 @@ "strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -10403,7 +10414,7 @@ }, "scripts": { "strategy": "Expose script and permission metadata for downstream clients or installers to enforce.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -10733,6 +10744,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -10809,7 +10821,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -11082,7 +11094,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -11093,7 +11105,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -11331,7 +11343,7 @@ "strategy": "Keep optional directories as relative resources next to SKILL.md.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -11342,7 +11354,7 @@ }, "scripts": { "strategy": "Scripts remain local optional resources and should advertise --help when executable.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -11671,6 +11683,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -11747,7 +11760,7 @@ ], "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 } @@ -12020,7 +12033,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -12031,7 +12044,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -12273,7 +12286,7 @@ "strategy": "Install as project or user scoped skill source, preserving relative references and scripts.", "counts": { "references": 35, - "scripts": 152, + "scripts": 153, "assets": 6, "reports": 43 }, @@ -12284,7 +12297,7 @@ }, "scripts": { "strategy": "Scripts require workspace trust and operator/client approval outside this compiler.", - "script_count": 152, + "script_count": 153, "help_smoke_failed_count": 0 }, "permissions": { @@ -12992,9 +13005,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -13012,8 +13025,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "failures": [], "warnings": [], @@ -14884,6 +14897,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Builds world-class operator coordination steps and release gates for render_world_class_operator_runbook.py.", + "has_argparse": false, + "has_main_guard": false, + "uses_input": false, + "uses_network": false, + "uses_file_write": false, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/world_class_phase_queue.py", "interface": "internal-module", @@ -15199,7 +15226,7 @@ "checked_count": 86, "passed_count": 86, "failed_count": 0, - "skipped_count": 66, + "skipped_count": 67, "failed_scripts": [], "results": [ { @@ -16252,6 +16279,10 @@ "path": "scripts/world_class_native_telemetry_evidence.py", "reason": "internal module" }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "reason": "internal module" + }, { "path": "scripts/world_class_phase_queue.py", "reason": "internal module" @@ -16525,7 +16556,7 @@ "root": ".", "summary": { "target_python": "3.11", - "file_count": 231, + "file_count": 232, "issue_count": 0, "syntax_error_count": 0, "fstring_311_violation_count": 0, @@ -17352,6 +17383,12 @@ "issue_count": 0, "issues": [] }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "ok": true, + "issue_count": 0, + "issues": [] + }, { "path": "scripts/world_class_phase_queue.py", "ok": true, @@ -17941,10 +17978,10 @@ "generated_at": "2026-06-13", "skill_dir": ".", "summary": { - "python_file_count": 228, - "script_file_count": 152, + "python_file_count": 229, + "script_file_count": 153, "test_file_count": 76, - "internal_module_count": 68, + "internal_module_count": 69, "cli_script_count": 86, "command_handler_count": 68, "entrypoint_command_handler_count": 18, @@ -17953,14 +17990,22 @@ "watch_line_threshold": 720, "early_watch_line_threshold": 600, "block_line_threshold": 1500, - "largest_file_lines": 696, + "largest_file_lines": 706, "watchlist_count": 0, - "early_watchlist_count": 4, + "early_watchlist_count": 5, "hotspot_count": 0, "blocker_count": 0, "decision": "pass" }, "largest_files": [ + { + "path": "tests/verify_evidence_consistency.py", + "lines": 706, + "kind": "test", + "severity": "pass", + "early_watch": true, + "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." + }, { "path": "tests/verify_yao_cli.py", "lines": 696, @@ -17977,14 +18022,6 @@ "early_watch": true, "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." }, - { - "path": "tests/verify_evidence_consistency.py", - "lines": 686, - "kind": "test", - "severity": "pass", - "early_watch": true, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_evidence_consistency.py", "lines": 659, @@ -17993,6 +18030,14 @@ "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." }, + { + "path": "scripts/render_world_class_operator_runbook.py", + "lines": 647, + "kind": "cli-script", + "severity": "pass", + "early_watch": true, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, { "path": "tests/verify_output_review_adjudication.py", "lines": 599, @@ -18048,18 +18093,18 @@ "severity": "pass", "early_watch": false, "recommendation": "Move data loading and large section renderers into focused review_studio_* modules." - }, - { - "path": "scripts/world_class_submission_kit_rendering.py", - "lines": 576, - "kind": "internal-module", - "severity": "pass", - "early_watch": false, - "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "watchlist": [], "early_watchlist": [ + { + "path": "tests/verify_evidence_consistency.py", + "lines": 706, + "kind": "test", + "severity": "pass", + "early_watch": true, + "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." + }, { "path": "tests/verify_yao_cli.py", "lines": 696, @@ -18076,14 +18121,6 @@ "early_watch": true, "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." }, - { - "path": "tests/verify_evidence_consistency.py", - "lines": 686, - "kind": "test", - "severity": "pass", - "early_watch": true, - "recommendation": "Break broad integration assertions into focused verifier helpers when the next behavior change lands." - }, { "path": "scripts/render_evidence_consistency.py", "lines": 659, @@ -18091,6 +18128,14 @@ "severity": "pass", "early_watch": true, "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." + }, + { + "path": "scripts/render_world_class_operator_runbook.py", + "lines": 647, + "kind": "cli-script", + "severity": "pass", + "early_watch": true, + "recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates." } ], "hotspots": [], @@ -18108,16 +18153,16 @@ "context_budget_tier": "production", "context_budget_limit": 1000, "skill_body_tokens": 797, - "other_text_tokens": 1139909, + "other_text_tokens": 1151006, "estimated_initial_load_tokens": 990, - "estimated_total_text_tokens": 1140706, - "deferred_resource_tokens": 515966, + "estimated_total_text_tokens": 1151803, + "deferred_resource_tokens": 521572, "deferred_resource_warn_threshold": 120000, "deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152 + "estimated_tokens": 460269, + "file_count": 153 }, { "path": "references", @@ -18138,8 +18183,8 @@ "large_deferred_resource_dirs": [ { "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152 + "estimated_tokens": 460269, + "file_count": 153 } ], "deferred_resource_governance": { @@ -18161,14 +18206,14 @@ ], "missing": [], "path": "scripts", - "estimated_tokens": 454663, - "file_count": 152, + "estimated_tokens": 460269, + "file_count": 153, "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": 710, + "relevant_file_count": 712, "unused_resource_dirs": [], "quality_signal_points": 130, "quality_density": 131.3 @@ -19164,6 +19209,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", @@ -20086,7 +20132,7 @@ "adoption_drift": { "ok": true, "schema_version": "2.0", - "generated_at": "2026-06-16T21:24:56Z", + "generated_at": "2026-06-17T04:05:21Z", "skill_dir": ".", "privacy_contract": { "storage": "local-first", @@ -20170,7 +20216,7 @@ "daily_skillops": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "decision": "proposal-review", "source_supplied": false, @@ -20183,7 +20229,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -20200,7 +20246,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -20649,7 +20695,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true }, "actions": [ @@ -20684,7 +20730,7 @@ "weekly_curator": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", @@ -20698,7 +20744,7 @@ "top_score": 88, "skill_count": 12, "actionable_portfolio_issue_count": 0, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4, @@ -20718,7 +20764,7 @@ "top_score": 88, "skill_count": 12, "actionable_portfolio_issue_count": 0, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4, @@ -20971,7 +21017,7 @@ "no_route_opportunity_count": 0 }, "release_state": { - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4 @@ -21149,7 +21195,7 @@ "adaptation_proposals": { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "source_patterns": "reports/user_patterns.json", "pattern_count": 5, @@ -25123,6 +25169,19 @@ "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "phase_queue_counts_as_completion": false, + "coordination_step_count": 6, + "coordination_user_required_step_count": 6, + "coordination_pending_evidence_keys": [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout" + ], + "coordination_counts_as_completion": false, + "release_gate_ready": false, + "release_gate_blocked_count": 4, + "release_gate_check_count": 5, + "release_gate_counts_as_completion": false, "ready_to_claim_world_class": false, "runbook_counts_as_completion": false, "decision": "collect-evidence" @@ -26286,6 +26345,182 @@ } } ], + "coordination_plan": [ + { + "step_id": "prepare-evidence-session", + "phase": "prepare", + "evidence_key": "", + "owner": "assistant + user", + "requires_user_input": true, + "user_action": "Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.", + "assistant_action": "Run preflight and prepare submission drafts without accepting them as evidence.", + "external_dependency": "User-selected provider, reviewer, and real client surfaces.", + "command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts", + "pass_condition": "Preflight lists the same pending evidence keys and no credential values are printed.", + "artifact": "reports/world_class_evidence_preflight.json", + "privacy_boundary": "Drafts and preflight are planning artifacts only; they do not count as evidence.", + "counts_as_completion": false + }, + { + "step_id": "collect-provider-holdout", + "phase": "provider-holdout", + "evidence_key": "provider-holdout", + "owner": "assistant + operator with provider credentials", + "requires_user_input": true, + "user_action": "Provide the provider API key through an environment variable and confirm the model to use.", + "assistant_action": "Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.", + "external_dependency": "Valid provider credentials and a live provider endpoint.", + "command": "python3 scripts/yao.py output-exec . --provider-runner openai --provider-model --timeout-seconds 60", + "pass_condition": "reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.", + "artifact": "reports/output_execution_runs.json", + "privacy_boundary": "Commit aggregate metadata only; do not commit API keys, raw prompts, raw outputs, or provider request payloads.", + "counts_as_completion": false + }, + { + "step_id": "collect-human-adjudication", + "phase": "human-review", + "evidence_key": "human-adjudication", + "owner": "human reviewer + assistant", + "requires_user_input": true, + "user_action": "Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.", + "assistant_action": "Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.", + "external_dependency": "A real human reviewer who can make blind A/B judgments.", + "command": "python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .", + "pass_condition": "reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.", + "artifact": "reports/output_review_adjudication.json", + "privacy_boundary": "Store reviewer choices, reasons, hashes, and attestations; do not store raw prompts or answer-key exposure before decisions.", + "counts_as_completion": false + }, + { + "step_id": "collect-native-permission-enforcement", + "phase": "native-permission", + "evidence_key": "native-permission-enforcement", + "owner": "target client or installer integrator + assistant", + "requires_user_input": true, + "user_action": "Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.", + "assistant_action": "Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.", + "external_dependency": "A real target runtime, extension, client, or installer guard that can block undeclared capabilities.", + "command": "python3 scripts/yao.py runtime-permissions . --package-dir dist", + "pass_condition": "reports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.", + "artifact": "reports/runtime_permission_probes.json", + "privacy_boundary": "Do not mark metadata fallback as native enforcement; keep residual risks visible for fallback targets.", + "counts_as_completion": false + }, + { + "step_id": "collect-native-client-telemetry", + "phase": "native-telemetry", + "evidence_key": "native-client-telemetry", + "owner": "real client integrator + assistant", + "requires_user_input": true, + "user_action": "Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.", + "assistant_action": "Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.", + "external_dependency": "A real client process that emits metadata-only telemetry through the native host.", + "command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external", + "pass_condition": "reports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.", + "artifact": "reports/adoption_drift_report.json", + "privacy_boundary": "Telemetry must remain metadata-only; do not store raw prompts, outputs, transcripts, notes, or messages.", + "counts_as_completion": false + }, + { + "step_id": "review-and-release-gate", + "phase": "release-gate", + "evidence_key": "", + "owner": "assistant + ledger reviewer", + "requires_user_input": true, + "user_action": "Approve only validated evidence packets and confirm the release wording after the claim guard passes.", + "assistant_action": "Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.", + "external_dependency": "Accepted evidence packets for every pending world-class key.", + "command": "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-test", + "pass_condition": "Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.", + "artifact": "reports/world_class_evidence_ledger.json", + "privacy_boundary": "Release evidence may include aggregate reports and hashes only; raw content and credentials remain out of git.", + "counts_as_completion": false + } + ], + "release_gate": { + "ready": false, + "decision": "blocked-until-evidence-accepted", + "check_count": 5, + "blocked_count": 4, + "checks": [ + { + "key": "world_class_ledger_ready", + "label": "World-class ledger ready", + "passed": false, + "current": "evidence-pending", + "expected": "ready_to_claim_world_class == true", + "artifact": "reports/world_class_evidence_ledger.json" + }, + { + "key": "claim_guard_clean", + "label": "Claim guard clean", + "passed": false, + "current": "violations 0; ledger ready False", + "expected": "violation_count == 0 and ledger_ready_to_claim_world_class == true", + "artifact": "reports/world_class_claim_guard.json" + }, + { + "key": "benchmark_public_claim_ready", + "label": "Benchmark public claim ready", + "passed": false, + "current": "public_claim_ready False", + "expected": "public_claim_ready == true", + "artifact": "reports/benchmark_reproducibility.json" + }, + { + "key": "review_studio_clean", + "label": "Review Studio clean", + "passed": false, + "current": "blockers 0; warnings 3", + "expected": "blocker_count == 0 and warning_count == 0", + "artifact": "reports/review-studio.json" + }, + { + "key": "evidence_consistency_clean", + "label": "Evidence consistency clean", + "passed": true, + "current": "consistent", + "expected": "decision == consistent and fail_count == 0", + "artifact": "reports/evidence_consistency.json" + } + ], + "blocked_checks": [ + { + "key": "world_class_ledger_ready", + "label": "World-class ledger ready", + "passed": false, + "current": "evidence-pending", + "expected": "ready_to_claim_world_class == true", + "artifact": "reports/world_class_evidence_ledger.json" + }, + { + "key": "claim_guard_clean", + "label": "Claim guard clean", + "passed": false, + "current": "violations 0; ledger ready False", + "expected": "violation_count == 0 and ledger_ready_to_claim_world_class == true", + "artifact": "reports/world_class_claim_guard.json" + }, + { + "key": "benchmark_public_claim_ready", + "label": "Benchmark public claim ready", + "passed": false, + "current": "public_claim_ready False", + "expected": "public_claim_ready == true", + "artifact": "reports/benchmark_reproducibility.json" + }, + { + "key": "review_studio_clean", + "label": "Review Studio clean", + "passed": false, + "current": "blockers 0; warnings 3", + "expected": "blocker_count == 0 and warning_count == 0", + "artifact": "reports/review-studio.json" + } + ], + "final_manual_check": "Run make ci-test in a clean worktree and verify GitHub Actions before converting the PR out of Draft.", + "counts_as_completion": false + }, "repair_checklist": [ { "action_id": "human-adjudication-precheck-human-reviewer", @@ -27551,7 +27786,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -27608,7 +27843,7 @@ "vscode" ], "package_metadata": "registry/packages/yao-meta-skill.json", - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, @@ -28297,7 +28532,7 @@ "installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill", "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -28644,7 +28879,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/review-viewer.json b/reports/review-viewer.json index c077a5f3..2c8d7dae 100644 --- a/reports/review-viewer.json +++ b/reports/review-viewer.json @@ -513,7 +513,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -528,7 +528,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -553,7 +553,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -683,7 +683,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -1005,12 +1005,12 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -1029,15 +1029,15 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1121,9 +1121,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1141,8 +1141,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "skill_atlas": { "skill_count": 12, @@ -1180,7 +1180,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1240,7 +1240,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1312,7 +1312,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json index 435a3460..9ea96bf1 100644 --- a/reports/security_trust_report.json +++ b/reports/security_trust_report.json @@ -2,9 +2,9 @@ "ok": true, "skill_dir": ".", "summary": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -22,8 +22,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "failures": [], "warnings": [], @@ -1894,6 +1894,20 @@ "network_urls": [], "network_hosts": [] }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "interface": "internal-module", + "interface_declared": true, + "interface_reason": "Builds world-class operator coordination steps and release gates for render_world_class_operator_runbook.py.", + "has_argparse": false, + "has_main_guard": false, + "uses_input": false, + "uses_network": false, + "uses_file_write": false, + "uses_subprocess": false, + "network_urls": [], + "network_hosts": [] + }, { "path": "scripts/world_class_phase_queue.py", "interface": "internal-module", @@ -2209,7 +2223,7 @@ "checked_count": 86, "passed_count": 86, "failed_count": 0, - "skipped_count": 66, + "skipped_count": 67, "failed_scripts": [], "results": [ { @@ -3262,6 +3276,10 @@ "path": "scripts/world_class_native_telemetry_evidence.py", "reason": "internal module" }, + { + "path": "scripts/world_class_operator_runbook_coordination.py", + "reason": "internal module" + }, { "path": "scripts/world_class_phase_queue.py", "reason": "internal module" diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md index 94160c5e..24417a8e 100644 --- a/reports/security_trust_report.md +++ b/reports/security_trust_report.md @@ -1,9 +1,9 @@ # Security Trust Report - OK: `True` -- Scanned files: `244` -- Scripts: `152` -- Internal script modules: `66` +- Scanned files: `245` +- Scripts: `153` +- Internal script modules: `67` - Secret findings: `0` - Network-capable scripts: `3` - Network policy covered scripts: `3` @@ -15,8 +15,8 @@ - CLI help smoke failures: `0` - Interactive scripts: `0` - Package hash scope: `source-contract-without-generated-reports` -- Package hash files: `244` -- Package SHA256: `fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b` +- Package hash files: `245` +- Package SHA256: `7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291` ## Failures @@ -194,6 +194,7 @@ | scripts/world_class_human_evidence.py | internal-module | True | False | False | False | False | False | False | Imported by world_class_evidence_contract.py to validate blind A/B human adjudication evidence from decision rows. | | scripts/world_class_native_permission_evidence.py | internal-module | True | False | False | False | False | False | False | Imported by world_class_evidence_contract.py to validate runtime permission evidence from target-level probe rows. | | scripts/world_class_native_telemetry_evidence.py | internal-module | True | False | False | False | False | False | False | Imported by world_class_evidence_contract.py to validate native client telemetry evidence from metadata event rows. | +| scripts/world_class_operator_runbook_coordination.py | internal-module | True | False | False | False | False | False | False | Builds world-class operator coordination steps and release gates for render_world_class_operator_runbook.py. | | scripts/world_class_phase_queue.py | internal-module | True | False | False | False | False | False | False | Imported by prepare_world_class_submission_kit.py to group repair rows into an operator execution queue. | | scripts/world_class_preflight_layout.py | internal-module | True | False | False | False | False | False | False | Imported by render_world_class_preflight.py to keep preflight HTML layout out of data assembly. | | scripts/world_class_preflight_markdown.py | internal-module | True | False | False | False | False | False | False | Imported by render_world_class_preflight.py to keep Markdown layout separate from preflight data assembly. | diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html index 558d3e19..b933f181 100644 --- a/reports/skill-interpretation.html +++ b/reports/skill-interpretation.html @@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution455项455 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution456项456 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json index 8686745e..c91a7f3d 100644 --- a/reports/skill-interpretation.json +++ b/reports/skill-interpretation.json @@ -513,7 +513,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -528,7 +528,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -553,7 +553,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -687,7 +687,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -1009,12 +1009,12 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -1033,15 +1033,15 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1125,9 +1125,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1145,8 +1145,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "skill_atlas": { "skill_count": 12, @@ -1184,7 +1184,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1244,7 +1244,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1316,7 +1316,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md index 0967fb5b..f0cfca09 100644 --- a/reports/skill-os-2-review.md +++ b/reports/skill-os-2-review.md @@ -135,7 +135,7 @@ Next move: add real client or installer permission enforcement integration. | Output Eval | `5` cases, with-skill pass rate `100`, baseline pass rate `0`, with file-backed, near-neighbor, boundary coverage, `10` local command-runner execution runs, `0` recorded fixture runs, `0` provider model-executed runs in root release evidence, `10` estimated token counts, provider runner v0 available, `5` blind A/B review pairs, a generated `reports/output_review_decisions.json` template, `0 / 5` reviewer decisions pending, `0` answer keys revealed, and `5` pending answers hidden | | Runtime Conformance | `5 / 5` targets passing | | Target Compiler | `5 / 5` compiled target contracts generated for OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot outputs, including target permission contracts and target-native behavior contracts | -| Trust | `0` secret findings, `1` pinned dependency file, `66` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `152` scripts, source-contract hash scope explicit | +| Trust | `0` secret findings, `1` pinned dependency file, `67` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `153` scripts, source-contract hash scope explicit | | Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired | | Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility | | Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility | diff --git a/reports/skill-overview.html b/reports/skill-overview.html index b93d3009..c2a617b3 100644 --- a/reports/skill-overview.html +++ b/reports/skill-overview.html @@ -940,7 +940,7 @@

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

-
资产分布Asset Distribution455项455 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
资产分布Asset Distribution456项456 itemsSKILL.mdSKILL.mdREADME.mdREADME.mdagents/interface.yamlagents/interface.yamlmanifest.jsonmanifest.jsonreferencesreferencesscriptsscripts
资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
路径Path作用Role类型Type
SKILL.mdSkill 入口文件Skill entrypoint文件file
README.md人类可读使用说明Human-readable usage guide文件file
agents/interface.yaml跨平台接口元数据Neutral interface metadata文件file
manifest.json生命周期与打包元数据Lifecycle and portability metadata文件file
references扩展指导与复用资料Extended guidance and reusable notes目录folder
scripts确定性脚本或本地工具Deterministic helpers or local tooling目录folder
evals触发与质量检查Trigger and quality checks目录folder
reports生成的证据与总结报告Generated evidence and overview artifacts目录folder
diff --git a/reports/skill-overview.json b/reports/skill-overview.json index a25fdfc2..c0b07b31 100644 --- a/reports/skill-overview.json +++ b/reports/skill-overview.json @@ -512,7 +512,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -527,7 +527,7 @@ "file_count": 235 } ], - "file_count": 455, + "file_count": 456, "folder_count": 4, "distribution": [ { @@ -552,7 +552,7 @@ }, { "label": "scripts", - "value": 152 + "value": 153 }, { "label": "evals", @@ -682,7 +682,7 @@ "path": "scripts", "label": "Deterministic helpers or local tooling", "kind": "folder", - "file_count": 152 + "file_count": 153 }, { "path": "evals", @@ -1004,12 +1004,12 @@ "ok": true, "summary": { "reproducibility_ready": true, - "release_lock_ready": true, + "release_lock_ready": false, "methodology_complete": true, "required_artifact_count": 25, "missing_artifact_count": 0, - "evidence_bundle_sha256": "d604949d6453322af95aadc7b55ec7b8a99dbe945f919933bc98a88b5965271f", - "source_contract_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "evidence_bundle_sha256": "9a91175581e3285aebba447f68246d86af01e3f7bc5e541ca572cce12d3c500d", + "source_contract_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2", "output_case_count": 5, "failure_disclosure_count": 3, @@ -1028,15 +1028,15 @@ "world_class_source_pass_count": 10, "world_class_source_blocked_count": 9, "public_claim_ready": false, - "public_claim_blocker_count": 4, + "public_claim_blocker_count": 5, "working_tree_dirty": true, - "changed_file_count": 15, - "source_tree_dirty": false, - "source_changed_file_count": 0, + "changed_file_count": 64, + "source_tree_dirty": true, + "source_changed_file_count": 6, "generated_tree_dirty": true, - "generated_changed_file_count": 15 + "generated_changed_file_count": 58 }, - "commit": "4c30a659efefcbe54ef3abfb7071859401ced084", + "commit": "ff0473ac02f14a3a431cb01f157453335eb14901", "missing_artifacts": [], "limitations": [ "The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.", @@ -1120,9 +1120,9 @@ "failures": [] }, "trust_security": { - "scanned_files": 244, - "script_count": 152, - "internal_module_count": 66, + "scanned_files": 245, + "script_count": 153, + "internal_module_count": 67, "secret_findings": 0, "dependency_files": [ "requirements-ci.txt" @@ -1140,8 +1140,8 @@ "help_smoke_failed_count": 0, "interactive_script_count": 0, "package_hash_scope": "source-contract-without-generated-reports", - "package_hash_file_count": 244, - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "package_hash_file_count": 245, + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" }, "skill_atlas": { "skill_count": 12, @@ -1179,7 +1179,7 @@ "trust_level": "local", "license": "MIT", "checksums": { - "package_sha256": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b", + "package_sha256": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291", "archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2" }, "compatibility": { @@ -1239,7 +1239,7 @@ "ok": true, "summary": { "archive_present": true, - "archive_entry_count": 691, + "archive_entry_count": 692, "archive_extracted": true, "entrypoint_loaded": true, "manifest_loaded": true, @@ -1311,7 +1311,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json index 38997cae..e357933f 100644 --- a/reports/skill_atlas.json +++ b/reports/skill_atlas.json @@ -196,6 +196,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json index 36a609ec..b46d58ac 100644 --- a/reports/skill_os2_audit.json +++ b/reports/skill_os2_audit.json @@ -197,7 +197,7 @@ "key": "trust-security", "label": "Trust Security", "status": "pass", - "current": "secrets 0; scripts 152; help failures 0", + "current": "secrets 0; scripts 153; help failures 0", "target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable", "evidence": [ { diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md index 4b8d9108..2a661a9b 100644 --- a/reports/skill_os2_audit.md +++ b/reports/skill_os2_audit.md @@ -23,7 +23,7 @@ Generated at: `2026-06-13` | Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions, blind-review attestation, and integrity fingerprints recorded before claiming output review completion | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. | | Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. | | Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. | -| Trust Security | pass | secrets 0; scripts 152; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. | +| Trust Security | pass | secrets 0; scripts 153; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. | | Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. | | Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. | | Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. | diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json index 5fc59032..12c834ca 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { "item_count": 21, @@ -130,7 +130,7 @@ "label": "Trust Security", "status": "pass", "objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.", - "current": "152 scripts; secrets 0; help failures 0", + "current": "153 scripts; secrets 0; help failures 0", "command": "python3 scripts/yao.py trust .", "test": "python3 tests/verify_trust_check.py", "evidence": [ diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md index 315e5f69..bef747dd 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-13` +Generated at: `2026-06-17` ## Summary @@ -26,7 +26,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts, | Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` | | Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` | | Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` | -| Trust Security | `pass` | 152 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | +| Trust Security | `pass` | 153 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` | | Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` | | Registry Distribution | `pass` | archive entries 689; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` | | Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` | diff --git a/reports/skillops/daily/2026-06-17.json b/reports/skillops/daily/2026-06-17.json index 07080fcd..e12bbe23 100644 --- a/reports/skillops/daily/2026-06-17.json +++ b/reports/skillops/daily/2026-06-17.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "decision": "proposal-review", "source_supplied": false, @@ -14,7 +14,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -31,7 +31,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "writes_source_files": false, "auto_patch_enabled": false, @@ -480,7 +480,7 @@ "local_blueprint_ready": true, "public_world_class_ready": false, "world_class_pending_count": 4, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true }, "actions": [ diff --git a/reports/skillops/daily/2026-06-17.md b/reports/skillops/daily/2026-06-17.md index 65caad51..47101e50 100644 --- a/reports/skillops/daily/2026-06-17.md +++ b/reports/skillops/daily/2026-06-17.md @@ -1,6 +1,6 @@ # Daily SkillOps Report -Generated at: `2026-06-17` +Generated at: `2026-06-17T04:04:43Z` ## Summary @@ -14,7 +14,7 @@ Generated at: `2026-06-17` - local blueprint ready: `true` - public world-class ready: `false` - world-class pending: `4` -- release lock ready: `true` +- release lock ready: `false` - evidence consistency ok: `true` This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence. diff --git a/reports/skillops/weekly/2026-W25.json b/reports/skillops/weekly/2026-W25.json index 8f21344c..6653a1f9 100644 --- a/reports/skillops/weekly/2026-W25.json +++ b/reports/skillops/weekly/2026-W25.json @@ -1,7 +1,7 @@ { "schema_version": "1.0", "ok": true, - "generated_at": "2026-06-17", + "generated_at": "2026-06-17T04:04:43Z", "skill_dir": ".", "decision": "curator-review", "week_id": "2026-W25", @@ -15,7 +15,7 @@ "top_score": 88, "skill_count": 12, "actionable_portfolio_issue_count": 0, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4, @@ -35,7 +35,7 @@ "top_score": 88, "skill_count": 12, "actionable_portfolio_issue_count": 0, - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4, @@ -288,7 +288,7 @@ "no_route_opportunity_count": 0 }, "release_state": { - "release_lock_ready": true, + "release_lock_ready": false, "evidence_consistency_ok": true, "public_world_class_ready": false, "world_class_pending_count": 4 diff --git a/reports/skillops/weekly/2026-W25.md b/reports/skillops/weekly/2026-W25.md index a52113b7..aaa81368 100644 --- a/reports/skillops/weekly/2026-W25.md +++ b/reports/skillops/weekly/2026-W25.md @@ -1,6 +1,6 @@ # Weekly SkillOps Curator Report -Generated at: `2026-06-17` +Generated at: `2026-06-17T04:04:43Z` Week: `2026-W25` ## Summary @@ -13,7 +13,7 @@ Week: `2026-W25` - top_score: `88` - skill_count: `12` - actionable_portfolio_issue_count: `0` -- release_lock_ready: `True` +- release_lock_ready: `False` - evidence_consistency_ok: `True` - public_world_class_ready: `False` - world_class_pending_count: `4` diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json index 7e752697..fcee891e 100644 --- a/reports/upgrade_check.json +++ b/reports/upgrade_check.json @@ -75,7 +75,7 @@ { "field": "package_sha256", "from": "0000000000000000000000000000000000000000000000000000000000000000", - "to": "fda25ac83d07a671d3789d6b10409bee61479200101c7e3c925df9a1998e412b" + "to": "7958467751730998d7f2a8f38c9e8ef324874459e62f0c0a197232cd8386b291" } ] }, diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json index fe24ca0b..22da9491 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-13", + "generated_at": "2026-06-17", "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 5315b99a..d2d4d668 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/reports/world_class_evidence_intake.json b/reports/world_class_evidence_intake.json index 2d99eb6c..09c59584 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { "schema_present": true, diff --git a/reports/world_class_evidence_intake.md b/reports/world_class_evidence_intake.md index be6ef919..fc622f51 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/reports/world_class_evidence_ledger.json b/reports/world_class_evidence_ledger.json index 5628fc25..cab44e97 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "decision": "evidence-pending", "ready_to_claim_world_class": false, diff --git a/reports/world_class_evidence_ledger.md b/reports/world_class_evidence_ledger.md index 67e25450..82aa5c4f 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/reports/world_class_evidence_plan.json b/reports/world_class_evidence_plan.json index 6614fab9..bbb6e41e 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { "audit_decision": "continue-iteration", diff --git a/reports/world_class_evidence_plan.md b/reports/world_class_evidence_plan.md index 9477dab5..5b43964f 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/reports/world_class_evidence_preflight.json b/reports/world_class_evidence_preflight.json index 43025b10..80f304fe 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { "evidence_item_count": 4, diff --git a/reports/world_class_evidence_preflight.md b/reports/world_class_evidence_preflight.md index 1764251c..d7343ba0 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/reports/world_class_operator_runbook.html b/reports/world_class_operator_runbook.html index 874eff65..f775de1a 100644 --- a/reports/world_class_operator_runbook.html +++ b/reports/world_class_operator_runbook.html @@ -22,7 +22,7 @@ h3 { margin:4px 0 10px; font-size:22px; } h4 { margin:0 0 8px; font-size:16px; } .lede { max-width:800px; color:var(--muted); font-size:20px; } - .stats { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:12px; margin-top:26px; } + .stats { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:26px; } .stats article, .panel, .item-card { border:1px solid var(--line); border-radius:8px; background:#fff; } .stats article { padding:16px; } .stats span, .item-card span, .muted { color:var(--muted); } @@ -43,23 +43,35 @@ .mini-grid section, .panel { background:var(--soft); border-radius:8px; padding:14px; min-width:0; } .mini-grid li, .panel li { overflow-wrap:anywhere; } .source-panel { background:var(--soft); border-radius:8px; padding:14px; min-width:0; } + .table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:#fff; } + table { width:100%; min-width:980px; border-collapse:collapse; } + th, td { padding:12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; } + th { color:var(--ink); background:var(--soft); font-size:13px; } + tr:last-child td { border-bottom:0; } + .gate-summary { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin:12px 0 16px; } + .gate-summary article { border:1px solid var(--line); border-radius:8px; background:#fff; padding:14px; min-width:0; } + .gate-summary span { display:block; color:var(--muted); } + .gate-summary strong { display:block; color:var(--ink); font-size:20px; line-height:1.15; overflow-wrap:anywhere; } + tr.blocked td:first-child { border-left:3px solid var(--warn); } + tr.pass td:first-child { border-left:3px solid var(--pass); } .source-checks { list-style:none; padding:0; margin:0; display:grid; gap:8px; } .source-check { border-top:1px solid var(--line); padding-top:8px; display:grid; gap:3px; } .source-check span { color:var(--ink); } .source-check code, .source-check small { overflow-wrap:anywhere; } - @media (max-width:820px) { .stats, .mini-grid { grid-template-columns:1fr; } h1 { font-size:38px; } .topbar-inner { align-items:flex-start; flex-direction:column; } } + @media (max-width:820px) { .stats, .mini-grid, .gate-summary { grid-template-columns:1fr; } h1 { font-size:38px; } .topbar-inner { align-items:flex-start; flex-direction:column; } } - +
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
Source10/19
Queue2/2
Blocked9
Invalid0
+
Pending4
Awaiting4
Ready0
Source10/19
Queue2/2
Steps6/6
Gate4/5
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.
+

Coordination Plan

These steps tell the assistant what to run and where the user must supply real provider, reviewer, client, or telemetry input. Every row is operational guidance only and keeps counts_as_completion false.

路径Path作用Role类型Type
SKILL.mdSkill 入口文件Skill entrypoint文件file
README.md人类可读使用说明Human-readable usage guide文件file
agents/interface.yaml跨平台接口元数据Neutral interface metadata文件file
manifest.json生命周期与打包元数据Lifecycle and portability metadata文件file
references扩展指导与复用资料Extended guidance and reusable notes目录folder
scripts确定性脚本或本地工具Deterministic helpers or local tooling目录folder
evals触发与质量检查Trigger and quality checks目录folder
reports生成的证据与总结报告Generated evidence and overview artifacts目录folder
StepEvidenceOwnerUserUser actionAssistant actionCommandPass condition
prepare-evidence-sessionallassistant + usertrueConfirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.Run preflight and prepare submission drafts without accepting them as evidence.python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifactsPreflight lists the same pending evidence keys and no credential values are printed.
collect-provider-holdoutprovider-holdoutassistant + operator with provider credentialstrueProvide the provider API key through an environment variable and confirm the model to use.Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.python3 scripts/yao.py output-exec . --provider-runner openai --provider-model <model> --timeout-seconds 60reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.
collect-human-adjudicationhuman-adjudicationhuman reviewer + assistanttrueOpen the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.
collect-native-permission-enforcementnative-permission-enforcementtarget client or installer integrator + assistanttrueSelect a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.python3 scripts/yao.py runtime-permissions . --package-dir distreports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.
collect-native-client-telemetrynative-client-telemetryreal client integrator + assistanttrueInstall the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source externalreports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.
review-and-release-gateallassistant + ledger reviewertrueApprove only validated evidence packets and confirm the release wording after the claim guard passes.Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-testLedger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.

Phase Queue

Evidence Items

external · awaiting-submission

Provider Holdout

@@ -142,6 +154,14 @@

Next Source Actions

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

Source Evidence Snapshot

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

Release Gate

+
Decisionblocked-until-evidence-accepted
+
Readyfalse
+
Blocked4/5
+
Countsfalse
+
+

Run make ci-test in a clean worktree and verify GitHub Actions before converting the PR out of Draft.

+
CheckCurrentExpectedStatusArtifact
World-class ledger readyevidence-pendingready_to_claim_world_class == trueblockedreports/world_class_evidence_ledger.json
Claim guard cleanviolations 0; ledger ready Falseviolation_count == 0 and ledger_ready_to_claim_world_class == trueblockedreports/world_class_claim_guard.json
Benchmark public claim readypublic_claim_ready Falsepublic_claim_ready == trueblockedreports/benchmark_reproducibility.json
Review Studio cleanblockers 0; warnings 3blocker_count == 0 and warning_count == 0blockedreports/review-studio.json
Evidence consistency cleanconsistentdecision == consistent and fail_count == 0passreports/evidence_consistency.json

Boundary

diff --git a/reports/world_class_operator_runbook.json b/reports/world_class_operator_runbook.json index 6cb08974..9a1fcf20 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "summary": { "evidence_item_count": 4, @@ -23,6 +23,19 @@ "phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer", "phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions", "phase_queue_counts_as_completion": false, + "coordination_step_count": 6, + "coordination_user_required_step_count": 6, + "coordination_pending_evidence_keys": [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout" + ], + "coordination_counts_as_completion": false, + "release_gate_ready": false, + "release_gate_blocked_count": 4, + "release_gate_check_count": 5, + "release_gate_counts_as_completion": false, "ready_to_claim_world_class": false, "runbook_counts_as_completion": false, "decision": "collect-evidence" @@ -1186,6 +1199,182 @@ } } ], + "coordination_plan": [ + { + "step_id": "prepare-evidence-session", + "phase": "prepare", + "evidence_key": "", + "owner": "assistant + user", + "requires_user_input": true, + "user_action": "Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.", + "assistant_action": "Run preflight and prepare submission drafts without accepting them as evidence.", + "external_dependency": "User-selected provider, reviewer, and real client surfaces.", + "command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts", + "pass_condition": "Preflight lists the same pending evidence keys and no credential values are printed.", + "artifact": "reports/world_class_evidence_preflight.json", + "privacy_boundary": "Drafts and preflight are planning artifacts only; they do not count as evidence.", + "counts_as_completion": false + }, + { + "step_id": "collect-provider-holdout", + "phase": "provider-holdout", + "evidence_key": "provider-holdout", + "owner": "assistant + operator with provider credentials", + "requires_user_input": true, + "user_action": "Provide the provider API key through an environment variable and confirm the model to use.", + "assistant_action": "Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.", + "external_dependency": "Valid provider credentials and a live provider endpoint.", + "command": "python3 scripts/yao.py output-exec . --provider-runner openai --provider-model --timeout-seconds 60", + "pass_condition": "reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.", + "artifact": "reports/output_execution_runs.json", + "privacy_boundary": "Commit aggregate metadata only; do not commit API keys, raw prompts, raw outputs, or provider request payloads.", + "counts_as_completion": false + }, + { + "step_id": "collect-human-adjudication", + "phase": "human-review", + "evidence_key": "human-adjudication", + "owner": "human reviewer + assistant", + "requires_user_input": true, + "user_action": "Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.", + "assistant_action": "Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.", + "external_dependency": "A real human reviewer who can make blind A/B judgments.", + "command": "python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .", + "pass_condition": "reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.", + "artifact": "reports/output_review_adjudication.json", + "privacy_boundary": "Store reviewer choices, reasons, hashes, and attestations; do not store raw prompts or answer-key exposure before decisions.", + "counts_as_completion": false + }, + { + "step_id": "collect-native-permission-enforcement", + "phase": "native-permission", + "evidence_key": "native-permission-enforcement", + "owner": "target client or installer integrator + assistant", + "requires_user_input": true, + "user_action": "Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.", + "assistant_action": "Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.", + "external_dependency": "A real target runtime, extension, client, or installer guard that can block undeclared capabilities.", + "command": "python3 scripts/yao.py runtime-permissions . --package-dir dist", + "pass_condition": "reports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.", + "artifact": "reports/runtime_permission_probes.json", + "privacy_boundary": "Do not mark metadata fallback as native enforcement; keep residual risks visible for fallback targets.", + "counts_as_completion": false + }, + { + "step_id": "collect-native-client-telemetry", + "phase": "native-telemetry", + "evidence_key": "native-client-telemetry", + "owner": "real client integrator + assistant", + "requires_user_input": true, + "user_action": "Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.", + "assistant_action": "Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.", + "external_dependency": "A real client process that emits metadata-only telemetry through the native host.", + "command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external", + "pass_condition": "reports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.", + "artifact": "reports/adoption_drift_report.json", + "privacy_boundary": "Telemetry must remain metadata-only; do not store raw prompts, outputs, transcripts, notes, or messages.", + "counts_as_completion": false + }, + { + "step_id": "review-and-release-gate", + "phase": "release-gate", + "evidence_key": "", + "owner": "assistant + ledger reviewer", + "requires_user_input": true, + "user_action": "Approve only validated evidence packets and confirm the release wording after the claim guard passes.", + "assistant_action": "Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.", + "external_dependency": "Accepted evidence packets for every pending world-class key.", + "command": "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-test", + "pass_condition": "Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.", + "artifact": "reports/world_class_evidence_ledger.json", + "privacy_boundary": "Release evidence may include aggregate reports and hashes only; raw content and credentials remain out of git.", + "counts_as_completion": false + } + ], + "release_gate": { + "ready": false, + "decision": "blocked-until-evidence-accepted", + "check_count": 5, + "blocked_count": 4, + "checks": [ + { + "key": "world_class_ledger_ready", + "label": "World-class ledger ready", + "passed": false, + "current": "evidence-pending", + "expected": "ready_to_claim_world_class == true", + "artifact": "reports/world_class_evidence_ledger.json" + }, + { + "key": "claim_guard_clean", + "label": "Claim guard clean", + "passed": false, + "current": "violations 0; ledger ready False", + "expected": "violation_count == 0 and ledger_ready_to_claim_world_class == true", + "artifact": "reports/world_class_claim_guard.json" + }, + { + "key": "benchmark_public_claim_ready", + "label": "Benchmark public claim ready", + "passed": false, + "current": "public_claim_ready False", + "expected": "public_claim_ready == true", + "artifact": "reports/benchmark_reproducibility.json" + }, + { + "key": "review_studio_clean", + "label": "Review Studio clean", + "passed": false, + "current": "blockers 0; warnings 3", + "expected": "blocker_count == 0 and warning_count == 0", + "artifact": "reports/review-studio.json" + }, + { + "key": "evidence_consistency_clean", + "label": "Evidence consistency clean", + "passed": true, + "current": "consistent", + "expected": "decision == consistent and fail_count == 0", + "artifact": "reports/evidence_consistency.json" + } + ], + "blocked_checks": [ + { + "key": "world_class_ledger_ready", + "label": "World-class ledger ready", + "passed": false, + "current": "evidence-pending", + "expected": "ready_to_claim_world_class == true", + "artifact": "reports/world_class_evidence_ledger.json" + }, + { + "key": "claim_guard_clean", + "label": "Claim guard clean", + "passed": false, + "current": "violations 0; ledger ready False", + "expected": "violation_count == 0 and ledger_ready_to_claim_world_class == true", + "artifact": "reports/world_class_claim_guard.json" + }, + { + "key": "benchmark_public_claim_ready", + "label": "Benchmark public claim ready", + "passed": false, + "current": "public_claim_ready False", + "expected": "public_claim_ready == true", + "artifact": "reports/benchmark_reproducibility.json" + }, + { + "key": "review_studio_clean", + "label": "Review Studio clean", + "passed": false, + "current": "blockers 0; warnings 3", + "expected": "blocker_count == 0 and warning_count == 0", + "artifact": "reports/review-studio.json" + } + ], + "final_manual_check": "Run make ci-test in a clean worktree and verify GitHub Actions before converting the PR out of Draft.", + "counts_as_completion": false + }, "repair_checklist": [ { "action_id": "human-adjudication-precheck-human-reviewer", diff --git a/reports/world_class_operator_runbook.md b/reports/world_class_operator_runbook.md index b7ac4364..fa49373e 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-13` +Generated at: `2026-06-17` ## Summary @@ -14,6 +14,12 @@ Generated at: `2026-06-13` - phase queue: `2` blocked / `2` phases - phase queue rows: `13` - phase queue counts as completion: `false` +- coordination steps: `6` user-required / `6` total +- coordination pending keys: `human-adjudication, native-client-telemetry, native-permission-enforcement, provider-holdout` +- coordination counts as completion: `false` +- release gate ready: `false` +- release gate blocked checks: `4` / `5` +- release gate counts as completion: `false` This runbook coordinates evidence collection only. It does not accept submissions or make world-class completion true. @@ -24,6 +30,17 @@ This runbook coordinates evidence collection only. It does not accept submission 3. Replace template-only fields with aggregate evidence and provenance. 4. Validate intake, review the queue, refresh the ledger, then run the claim guard. +## Coordination Plan + +| Step | Evidence | Owner | Needs user | User action | Assistant action | Command | Pass condition | +| --- | --- | --- | --- | --- | --- | --- | --- | +| `prepare-evidence-session` | `all` | assistant + user | `true` | Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts. | Run preflight and prepare submission drafts without accepting them as evidence. | `python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts` | Preflight lists the same pending evidence keys and no credential values are printed. | +| `collect-provider-holdout` | `provider-holdout` | assistant + operator with provider credentials | `true` | Provide the provider API key through an environment variable and confirm the model to use. | Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet. | `python3 scripts/yao.py output-exec . --provider-runner openai --provider-model --timeout-seconds 60` | reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0. | +| `collect-human-adjudication` | `human-adjudication` | human reviewer + assistant | `true` | Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved. | Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet. | `python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .` | reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true. | +| `collect-native-permission-enforcement` | `native-permission-enforcement` | target client or installer integrator + assistant | `true` | Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback. | Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet. | `python3 scripts/yao.py runtime-permissions . --package-dir dist` | reports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0. | +| `collect-native-client-telemetry` | `native-client-telemetry` | real client integrator + assistant | `true` | Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event. | Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet. | `python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external` | reports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0. | +| `review-and-release-gate` | `all` | assistant + ledger reviewer | `true` | Approve only validated evidence packets and confirm the release wording after the claim guard passes. | Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish. | `python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-test` | Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes. | + ## Phase Queue | Phase | Status | Rows | Blocked | Owners | Next action | Verify | @@ -369,6 +386,22 @@ This runbook coordinates evidence collection only. It does not accept submission | Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. | | Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. | +## Release Gate + +- decision: `blocked-until-evidence-accepted` +- ready: `false` +- blocked checks: `4` / `5` +- counts as completion: `false` +- final manual check: Run make ci-test in a clean worktree and verify GitHub Actions before converting the PR out of Draft. + +| Check | Current | Expected | Status | Artifact | +| --- | --- | --- | --- | --- | +| World-class ledger ready | `evidence-pending` | `ready_to_claim_world_class == true` | `blocked` | `reports/world_class_evidence_ledger.json` | +| Claim guard clean | `violations 0; ledger ready False` | `violation_count == 0 and ledger_ready_to_claim_world_class == true` | `blocked` | `reports/world_class_claim_guard.json` | +| Benchmark public claim ready | `public_claim_ready False` | `public_claim_ready == true` | `blocked` | `reports/benchmark_reproducibility.json` | +| Review Studio clean | `blockers 0; warnings 3` | `blocker_count == 0 and warning_count == 0` | `blocked` | `reports/review-studio.json` | +| Evidence consistency clean | `consistent` | `decision == consistent and fail_count == 0` | `pass` | `reports/evidence_consistency.json` | + ## Boundary - Planned work, draft packets, metadata fallback, pending human decisions, and local command runners do not count as completion. diff --git a/reports/world_class_submission_review.json b/reports/world_class_submission_review.json index 70449e25..3c09e53d 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-13", + "generated_at": "2026-06-17", "skill_dir": ".", "decision": "awaiting-submissions", "ready_to_claim_world_class": false, diff --git a/reports/world_class_submission_review.md b/reports/world_class_submission_review.md index b54fcbb7..2dda5c01 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-13` +Generated at: `2026-06-17` ## Summary diff --git a/scripts/evidence_consistency_world_class.py b/scripts/evidence_consistency_world_class.py index 8f629d1b..10a6f969 100644 --- a/scripts/evidence_consistency_world_class.py +++ b/scripts/evidence_consistency_world_class.py @@ -115,8 +115,23 @@ def build_world_class_workflow_check( intake_checklist = keyed_items(world_class_intake, "operator_checklist") submission_review_items = keyed_items(world_class_submission_review, "items") operator_runbook_items = keyed_items(world_class_operator_runbook, "items") + coordination_plan = ( + world_class_operator_runbook.get("coordination_plan") + if isinstance(world_class_operator_runbook.get("coordination_plan"), list) + else [] + ) + release_gate = ( + world_class_operator_runbook.get("release_gate") + if isinstance(world_class_operator_runbook.get("release_gate"), dict) + else {} + ) review_action_steps = world_class_review_action_steps(review_studio) pending_keys = sorted(key for key, item in ledger_items.items() if item.get("status") != "accepted") + operator_coordination_keys = sorted( + key + for key in {str(step.get("evidence_key", "")) for step in coordination_plan if isinstance(step, dict)} + if key + ) actual_command_groups = { key: { @@ -138,6 +153,10 @@ def build_world_class_workflow_check( "intake_keys": pending_keys, "submission_review_keys": pending_keys, "operator_runbook_keys": pending_keys, + "operator_coordination_keys": pending_keys, + "operator_coordination_counts_as_completion": False, + "operator_release_gate_ready": ledger_summary.get("ready_to_claim_world_class") is True, + "operator_release_gate_counts_as_completion": False, "review_studio_keys": pending_keys, "intake_ready_to_claim_world_class": False, "submission_review_ready_to_claim_world_class": False, @@ -159,6 +178,12 @@ def build_world_class_workflow_check( "intake_keys": sorted(intake_checklist), "submission_review_keys": sorted(submission_review_items), "operator_runbook_keys": sorted(operator_runbook_items), + "operator_coordination_keys": operator_coordination_keys, + "operator_coordination_counts_as_completion": operator_runbook_summary.get( + "coordination_counts_as_completion" + ), + "operator_release_gate_ready": release_gate.get("ready"), + "operator_release_gate_counts_as_completion": release_gate.get("counts_as_completion"), "review_studio_keys": sorted(review_action_steps), "intake_ready_to_claim_world_class": intake_summary.get("ready_to_claim_world_class"), "submission_review_ready_to_claim_world_class": submission_review_summary.get("ready_to_claim_world_class"), diff --git a/scripts/render_world_class_operator_runbook.py b/scripts/render_world_class_operator_runbook.py index 1fba377c..33e28ff0 100644 --- a/scripts/render_world_class_operator_runbook.py +++ b/scripts/render_world_class_operator_runbook.py @@ -10,6 +10,7 @@ from render_world_class_evidence_intake import build_intake from render_world_class_evidence_ledger import build_ledger from render_world_class_preflight import build_preflight from render_world_class_submission_review import build_submission_review +from world_class_operator_runbook_coordination import build_coordination_plan, build_release_gate ROOT = Path(__file__).resolve().parent.parent @@ -125,6 +126,8 @@ def build_operator_runbook(skill_dir: Path, generated_at: str, submissions_dir: ) for entry in ledger.get("entries", []) ] + coordination_plan = build_coordination_plan(items) + release_gate = build_release_gate(skill_dir, ledger) summary = ledger.get("summary", {}) review_summary = review.get("summary", {}) preflight_summary = preflight.get("summary", {}) if isinstance(preflight.get("summary", {}), dict) else {} @@ -153,6 +156,18 @@ def build_operator_runbook(skill_dir: Path, generated_at: str, submissions_dir: "phase_queue_next_action_id": preflight_summary.get("phase_queue_next_action_id", ""), "phase_queue_next_command": preflight_summary.get("phase_queue_next_command", ""), "phase_queue_counts_as_completion": False, + "coordination_step_count": len(coordination_plan), + "coordination_user_required_step_count": sum(1 for step in coordination_plan if step.get("requires_user_input")), + "coordination_pending_evidence_keys": sorted( + key + for key in {str(step.get("evidence_key", "")) for step in coordination_plan} + if key + ), + "coordination_counts_as_completion": False, + "release_gate_ready": release_gate["ready"], + "release_gate_blocked_count": release_gate["blocked_count"], + "release_gate_check_count": release_gate["check_count"], + "release_gate_counts_as_completion": False, "ready_to_claim_world_class": summary.get("ready_to_claim_world_class") is True, "runbook_counts_as_completion": False, "decision": "ready-for-completion-audit" if summary.get("ready_to_claim_world_class") is True else "collect-evidence", @@ -162,6 +177,8 @@ def build_operator_runbook(skill_dir: Path, generated_at: str, submissions_dir: "runbook_counts_submission_as_completion": False, }, "items": items, + "coordination_plan": coordination_plan, + "release_gate": release_gate, "repair_checklist": preflight.get("repair_checklist", []) if isinstance(preflight.get("repair_checklist", []), list) else [], @@ -206,6 +223,12 @@ def render_markdown(report: dict[str, Any]) -> str: f"- phase queue: `{summary['phase_queue_blocked_count']}` blocked / `{summary['phase_queue_count']}` phases", f"- phase queue rows: `{summary['phase_queue_row_count']}`", f"- phase queue counts as completion: `{str(summary['phase_queue_counts_as_completion']).lower()}`", + f"- coordination steps: `{summary['coordination_user_required_step_count']}` user-required / `{summary['coordination_step_count']}` total", + f"- coordination pending keys: `{', '.join(summary['coordination_pending_evidence_keys'])}`", + f"- coordination counts as completion: `{str(summary['coordination_counts_as_completion']).lower()}`", + f"- release gate ready: `{str(summary['release_gate_ready']).lower()}`", + f"- release gate blocked checks: `{summary['release_gate_blocked_count']}` / `{summary['release_gate_check_count']}`", + f"- release gate counts as completion: `{str(summary['release_gate_counts_as_completion']).lower()}`", "", "This runbook coordinates evidence collection only. It does not accept submissions or make world-class completion true.", "", @@ -217,6 +240,21 @@ def render_markdown(report: dict[str, Any]) -> str: "4. Validate intake, review the queue, refresh the ledger, then run the claim guard.", "", ] + lines.extend( + [ + "## Coordination Plan", + "", + "| Step | Evidence | Owner | Needs user | User action | Assistant action | Command | Pass condition |", + "| --- | --- | --- | --- | --- | --- | --- | --- |", + ] + ) + for step in report.get("coordination_plan", []): + lines.append( + f"| `{step.get('step_id', '')}` | `{step.get('evidence_key', '') or 'all'}` | {step.get('owner', '')} | " + f"`{str(step.get('requires_user_input') is True).lower()}` | {step.get('user_action', '')} | " + f"{step.get('assistant_action', '')} | `{step.get('command', '')}` | {step.get('pass_condition', '')} |" + ) + lines.append("") lines.extend( [ "## Phase Queue", @@ -315,6 +353,28 @@ def render_markdown(report: dict[str, Any]) -> str: ) else: lines.append("| No source checks listed. | `n/a` | `n/a` | `n/a` | n/a |") + release_gate = report.get("release_gate", {}) + lines.extend( + [ + "", + "## Release Gate", + "", + f"- decision: `{release_gate.get('decision', 'missing')}`", + f"- ready: `{str(release_gate.get('ready') is True).lower()}`", + f"- blocked checks: `{release_gate.get('blocked_count', 0)}` / `{release_gate.get('check_count', 0)}`", + f"- counts as completion: `{str(release_gate.get('counts_as_completion') is True).lower()}`", + f"- final manual check: {release_gate.get('final_manual_check', '')}", + "", + "| Check | Current | Expected | Status | Artifact |", + "| --- | --- | --- | --- | --- |", + ] + ) + for check in release_gate.get("checks", []): + status = "pass" if check.get("passed") is True else "blocked" + lines.append( + f"| {check.get('label', '')} | `{check.get('current', '')}` | `{check.get('expected', '')}` | " + f"`{status}` | `{check.get('artifact', '')}` |" + ) lines.extend( [ "", @@ -366,6 +426,59 @@ def html_phase_queue(rows: list[dict[str, Any]]) -> str: return "" +def render_html_coordination_plan(steps: list[dict[str, Any]]) -> str: + if not steps: + return "

No coordination plan listed.

" + rows = [] + for step in steps: + rows.append( + "" + f"{html_text(step.get('step_id', ''))}" + f"{html_text(step.get('evidence_key', '') or 'all')}" + f"{html_text(step.get('owner', ''))}" + f"{html_text(str(step.get('requires_user_input') is True).lower())}" + f"{html_text(step.get('user_action', ''))}" + f"{html_text(step.get('assistant_action', ''))}" + f"{html_text(step.get('command', ''))}" + f"{html_text(step.get('pass_condition', ''))}" + "" + ) + return "
" + "".join(rows) + "
StepEvidenceOwnerUserUser actionAssistant actionCommandPass condition
" + + +def render_html_release_gate(release_gate: dict[str, Any]) -> str: + checks = release_gate.get("checks", []) if isinstance(release_gate.get("checks", []), list) else [] + rows = [] + for check in checks: + status = "pass" if check.get("passed") is True else "blocked" + rows.append( + f"" + f"{html_text(check.get('label', ''))}" + f"{html_text(check.get('current', ''))}" + f"{html_text(check.get('expected', ''))}" + f"{html_text(status)}" + f"{html_text(check.get('artifact', ''))}" + "" + ) + check_table = ( + "
" + + "".join(rows) + + "
CheckCurrentExpectedStatusArtifact
" + if rows + else "

No release checks listed.

" + ) + return f""" +
+
Decision{html_text(release_gate.get('decision', 'missing'))}
+
Ready{html_text(str(release_gate.get('ready') is True).lower())}
+
Blocked{html_text(release_gate.get('blocked_count', 0))}/{html_text(release_gate.get('check_count', 0))}
+
Counts{html_text(str(release_gate.get('counts_as_completion') is True).lower())}
+
+

{html_text(release_gate.get('final_manual_check', ''))}

+ {check_table} + """.strip() + + def render_html_item(item: dict[str, Any]) -> str: commands = "".join( f"
  • {html_text(label.replace('_', ' '))}{html_text(command)}
  • " @@ -405,11 +518,15 @@ def render_html(report: dict[str, Any]) -> str: ("Ready", summary["ready_for_ledger_review_count"]), ("Source", f"{summary.get('source_pass_count', 0)}/{summary.get('source_check_count', 0)}"), ("Queue", f"{summary.get('phase_queue_blocked_count', 0)}/{summary.get('phase_queue_count', 0)}"), + ("Steps", f"{summary.get('coordination_user_required_step_count', 0)}/{summary.get('coordination_step_count', 0)}"), + ("Gate", f"{summary.get('release_gate_blocked_count', 0)}/{summary.get('release_gate_check_count', 0)}"), ("Blocked", summary.get("source_blocked_count", 0)), ("Invalid", summary["invalid_submission_count"]), ] stat_html = "".join(f"
    {html_text(label)}{html_text(value)}
    " for label, value in stats) item_html = "".join(render_html_item(item) for item in report["items"]) + coordination_html = render_html_coordination_plan(report.get("coordination_plan", [])) + release_gate_html = render_html_release_gate(report.get("release_gate", {})) return f""" @@ -434,7 +551,7 @@ def render_html(report: dict[str, Any]) -> str: h3 {{ margin:4px 0 10px; font-size:22px; }} h4 {{ margin:0 0 8px; font-size:16px; }} .lede {{ max-width:800px; color:var(--muted); font-size:20px; }} - .stats {{ display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:12px; margin-top:26px; }} + .stats {{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:26px; }} .stats article, .panel, .item-card {{ border:1px solid var(--line); border-radius:8px; background:#fff; }} .stats article {{ padding:16px; }} .stats span, .item-card span, .muted {{ color:var(--muted); }} @@ -455,15 +572,26 @@ def render_html(report: dict[str, Any]) -> str: .mini-grid section, .panel {{ background:var(--soft); border-radius:8px; padding:14px; min-width:0; }} .mini-grid li, .panel li {{ overflow-wrap:anywhere; }} .source-panel {{ background:var(--soft); border-radius:8px; padding:14px; min-width:0; }} + .table-wrap {{ overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:#fff; }} + table {{ width:100%; min-width:980px; border-collapse:collapse; }} + th, td {{ padding:12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }} + th {{ color:var(--ink); background:var(--soft); font-size:13px; }} + tr:last-child td {{ border-bottom:0; }} + .gate-summary {{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin:12px 0 16px; }} + .gate-summary article {{ border:1px solid var(--line); border-radius:8px; background:#fff; padding:14px; min-width:0; }} + .gate-summary span {{ display:block; color:var(--muted); }} + .gate-summary strong {{ display:block; color:var(--ink); font-size:20px; line-height:1.15; overflow-wrap:anywhere; }} + tr.blocked td:first-child {{ border-left:3px solid var(--warn); }} + tr.pass td:first-child {{ border-left:3px solid var(--pass); }} .source-checks {{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }} .source-check {{ border-top:1px solid var(--line); padding-top:8px; display:grid; gap:3px; }} .source-check span {{ color:var(--ink); }} .source-check code, .source-check small {{ overflow-wrap:anywhere; }} - @media (max-width:820px) {{ .stats, .mini-grid {{ grid-template-columns:1fr; }} h1 {{ font-size:38px; }} .topbar-inner {{ align-items:flex-start; flex-direction:column; }} }} + @media (max-width:820px) {{ .stats, .mini-grid, .gate-summary {{ grid-template-columns:1fr; }} h1 {{ font-size:38px; }} .topbar-inner {{ align-items:flex-start; flex-direction:column; }} }} - +
    Evidence Operations @@ -472,8 +600,10 @@ def render_html(report: dict[str, Any]) -> str:
    {stat_html}

    Fast Path

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

    Coordination Plan

    These steps tell the assistant what to run and where the user must supply real provider, reviewer, client, or telemetry input. Every row is operational guidance only and keeps counts_as_completion false.

    {coordination_html}

    Phase Queue

    {html_phase_queue(report.get('phase_queue', []))}

    Evidence Items

    {item_html}
    +

    Release Gate

    {release_gate_html}

    Boundary

    • Planned work, draft packets, metadata fallback, pending human decisions, and local command runners do not count as completion.
    • Valid intake means ready for submission review; ledger review still requires passing source evidence.
    • The world-class ledger and claim guard remain the source of truth.
    diff --git a/scripts/world_class_operator_runbook_coordination.py b/scripts/world_class_operator_runbook_coordination.py new file mode 100644 index 00000000..8235d555 --- /dev/null +++ b/scripts/world_class_operator_runbook_coordination.py @@ -0,0 +1,205 @@ +#!/usr/bin/env python3 +import json +from pathlib import Path +from typing import Any + + +SCRIPT_INTERFACE = "internal-module" +SCRIPT_INTERFACE_REASON = "Builds world-class operator coordination steps and release gates for render_world_class_operator_runbook.py." + + +def load_json(path: Path) -> dict[str, Any]: + try: + return json.loads(path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError): + return {} + + +COORDINATION_GUIDANCE: dict[str, dict[str, str]] = { + "provider-holdout": { + "phase": "provider-holdout", + "owner": "assistant + operator with provider credentials", + "user_action": "Provide the provider API key through an environment variable and confirm the model to use.", + "assistant_action": "Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.", + "external_dependency": "Valid provider credentials and a live provider endpoint.", + "command": "python3 scripts/yao.py output-exec . --provider-runner openai --provider-model --timeout-seconds 60", + "pass_condition": "reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.", + "artifact": "reports/output_execution_runs.json", + "privacy_boundary": "Commit aggregate metadata only; do not commit API keys, raw prompts, raw outputs, or provider request payloads.", + }, + "human-adjudication": { + "phase": "human-review", + "owner": "human reviewer + assistant", + "user_action": "Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.", + "assistant_action": "Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.", + "external_dependency": "A real human reviewer who can make blind A/B judgments.", + "command": "python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .", + "pass_condition": "reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.", + "artifact": "reports/output_review_adjudication.json", + "privacy_boundary": "Store reviewer choices, reasons, hashes, and attestations; do not store raw prompts or answer-key exposure before decisions.", + }, + "native-permission-enforcement": { + "phase": "native-permission", + "owner": "target client or installer integrator + assistant", + "user_action": "Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.", + "assistant_action": "Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.", + "external_dependency": "A real target runtime, extension, client, or installer guard that can block undeclared capabilities.", + "command": "python3 scripts/yao.py runtime-permissions . --package-dir dist", + "pass_condition": "reports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.", + "artifact": "reports/runtime_permission_probes.json", + "privacy_boundary": "Do not mark metadata fallback as native enforcement; keep residual risks visible for fallback targets.", + }, + "native-client-telemetry": { + "phase": "native-telemetry", + "owner": "real client integrator + assistant", + "user_action": "Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.", + "assistant_action": "Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.", + "external_dependency": "A real client process that emits metadata-only telemetry through the native host.", + "command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external", + "pass_condition": "reports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.", + "artifact": "reports/adoption_drift_report.json", + "privacy_boundary": "Telemetry must remain metadata-only; do not store raw prompts, outputs, transcripts, notes, or messages.", + }, +} + + +def build_coordination_plan(items: list[dict[str, Any]]) -> list[dict[str, Any]]: + pending_keys = [str(item.get("evidence_key", "")) for item in items if item.get("ledger_status") != "accepted"] + plan: list[dict[str, Any]] = [ + { + "step_id": "prepare-evidence-session", + "phase": "prepare", + "evidence_key": "", + "owner": "assistant + user", + "requires_user_input": True, + "user_action": "Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.", + "assistant_action": "Run preflight and prepare submission drafts without accepting them as evidence.", + "external_dependency": "User-selected provider, reviewer, and real client surfaces.", + "command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts", + "pass_condition": "Preflight lists the same pending evidence keys and no credential values are printed.", + "artifact": "reports/world_class_evidence_preflight.json", + "privacy_boundary": "Drafts and preflight are planning artifacts only; they do not count as evidence.", + "counts_as_completion": False, + } + ] + for item in items: + key = str(item.get("evidence_key", "")) + if key not in pending_keys: + continue + guidance = COORDINATION_GUIDANCE.get(key, {}) + must_collect = item.get("must_collect", {}) if isinstance(item.get("must_collect", {}), dict) else {} + commands = item.get("commands", {}) if isinstance(item.get("commands", {}), dict) else {} + plan.append( + { + "step_id": f"collect-{key}", + "phase": guidance.get("phase", "collect-source"), + "evidence_key": key, + "owner": guidance.get("owner", item.get("owner", "release reviewer")), + "requires_user_input": True, + "user_action": guidance.get("user_action", item.get("blocking_reason", "")), + "assistant_action": guidance.get("assistant_action", "Validate source evidence and prepare the submission packet."), + "external_dependency": guidance.get("external_dependency", "Real external or human evidence source."), + "command": guidance.get("command", commands.get("prepare_submission", "")), + "pass_condition": guidance.get("pass_condition", "; ".join(must_collect.get("success_checks", []))), + "artifact": guidance.get("artifact", item.get("submission_path", "")), + "privacy_boundary": guidance.get("privacy_boundary", "; ".join(must_collect.get("privacy_contract", []))), + "counts_as_completion": False, + } + ) + plan.append( + { + "step_id": "review-and-release-gate", + "phase": "release-gate", + "evidence_key": "", + "owner": "assistant + ledger reviewer", + "requires_user_input": True, + "user_action": "Approve only validated evidence packets and confirm the release wording after the claim guard passes.", + "assistant_action": "Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.", + "external_dependency": "Accepted evidence packets for every pending world-class key.", + "command": "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-test", + "pass_condition": "Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.", + "artifact": "reports/world_class_evidence_ledger.json", + "privacy_boundary": "Release evidence may include aggregate reports and hashes only; raw content and credentials remain out of git.", + "counts_as_completion": False, + } + ) + return plan + + +def build_release_gate(skill_dir: Path, ledger: dict[str, Any]) -> dict[str, Any]: + reports_dir = skill_dir / "reports" + ledger_summary = ledger.get("summary", {}) if isinstance(ledger.get("summary", {}), dict) else {} + claim_guard = load_json(reports_dir / "world_class_claim_guard.json") + benchmark = load_json(reports_dir / "benchmark_reproducibility.json") + review_studio = load_json(reports_dir / "review-studio.json") + evidence_consistency = load_json(reports_dir / "evidence_consistency.json") + claim_summary = claim_guard.get("summary", {}) if isinstance(claim_guard.get("summary", {}), dict) else {} + benchmark_summary = benchmark.get("summary", {}) if isinstance(benchmark.get("summary", {}), dict) else {} + studio_summary = review_studio.get("summary", {}) if isinstance(review_studio.get("summary", {}), dict) else {} + consistency_summary = ( + evidence_consistency.get("summary", {}) + if isinstance(evidence_consistency.get("summary", {}), dict) + else {} + ) + checks = [ + { + "key": "world_class_ledger_ready", + "label": "World-class ledger ready", + "passed": ledger_summary.get("ready_to_claim_world_class") is True, + "current": ledger_summary.get("decision", "missing"), + "expected": "ready_to_claim_world_class == true", + "artifact": "reports/world_class_evidence_ledger.json", + }, + { + "key": "claim_guard_clean", + "label": "Claim guard clean", + "passed": claim_summary.get("violation_count") == 0 + and claim_summary.get("ledger_ready_to_claim_world_class") is True, + "current": ( + f"violations {claim_summary.get('violation_count', 'n/a')}; " + f"ledger ready {claim_summary.get('ledger_ready_to_claim_world_class', 'n/a')}" + ), + "expected": "violation_count == 0 and ledger_ready_to_claim_world_class == true", + "artifact": "reports/world_class_claim_guard.json", + }, + { + "key": "benchmark_public_claim_ready", + "label": "Benchmark public claim ready", + "passed": benchmark_summary.get("public_claim_ready") is True, + "current": f"public_claim_ready {benchmark_summary.get('public_claim_ready', 'n/a')}", + "expected": "public_claim_ready == true", + "artifact": "reports/benchmark_reproducibility.json", + }, + { + "key": "review_studio_clean", + "label": "Review Studio clean", + "passed": int(studio_summary.get("blocker_count", 1) or 0) == 0 + and int(studio_summary.get("warning_count", 1) or 0) == 0, + "current": ( + f"blockers {studio_summary.get('blocker_count', 'n/a')}; " + f"warnings {studio_summary.get('warning_count', 'n/a')}" + ), + "expected": "blocker_count == 0 and warning_count == 0", + "artifact": "reports/review-studio.json", + }, + { + "key": "evidence_consistency_clean", + "label": "Evidence consistency clean", + "passed": consistency_summary.get("decision") == "consistent" + and int(consistency_summary.get("fail_count", 1) or 0) == 0, + "current": consistency_summary.get("decision", "missing"), + "expected": "decision == consistent and fail_count == 0", + "artifact": "reports/evidence_consistency.json", + }, + ] + blocked = [item for item in checks if not item["passed"]] + return { + "ready": not blocked, + "decision": "ready-for-public-claim" if not blocked else "blocked-until-evidence-accepted", + "check_count": len(checks), + "blocked_count": len(blocked), + "checks": checks, + "blocked_checks": blocked, + "final_manual_check": "Run make ci-test in a clean worktree and verify GitHub Actions before converting the PR out of Draft.", + "counts_as_completion": False, + } diff --git a/skill-ir/examples/yao-meta-skill.json b/skill-ir/examples/yao-meta-skill.json index da3e3c70..998d982f 100644 --- a/skill-ir/examples/yao-meta-skill.json +++ b/skill-ir/examples/yao-meta-skill.json @@ -244,6 +244,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json index 695cbb87..45585c77 100644 --- a/skill_atlas/catalog.json +++ b/skill_atlas/catalog.json @@ -152,6 +152,7 @@ "scripts/world_class_human_evidence.py", "scripts/world_class_native_permission_evidence.py", "scripts/world_class_native_telemetry_evidence.py", + "scripts/world_class_operator_runbook_coordination.py", "scripts/world_class_phase_queue.py", "scripts/world_class_preflight_layout.py", "scripts/world_class_preflight_markdown.py", diff --git a/tests/verify_evidence_consistency.py b/tests/verify_evidence_consistency.py index 0e967e58..58c04ab8 100644 --- a/tests/verify_evidence_consistency.py +++ b/tests/verify_evidence_consistency.py @@ -240,6 +240,16 @@ def main() -> None: assert checks["world-class-evidence-workflow-coverage"]["status"] == "pass", checks[ "world-class-evidence-workflow-coverage" ] + workflow_actual = checks["world-class-evidence-workflow-coverage"]["actual"] + assert workflow_actual["operator_coordination_keys"] == [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout", + ], workflow_actual + assert workflow_actual["operator_coordination_counts_as_completion"] is False, workflow_actual + assert workflow_actual["operator_release_gate_ready"] is False, workflow_actual + assert workflow_actual["operator_release_gate_counts_as_completion"] is False, workflow_actual assert checks["skill-os-2-review-current-evidence"]["status"] == "pass", checks[ "skill-os-2-review-current-evidence" ] @@ -660,6 +670,16 @@ def main() -> None: item for item in action["evidence_steps"] if item.get("key") != "native-client-telemetry" ] studio_path.write_text(json.dumps(studio, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + operator_runbook_path = workflow_drift_root / "reports" / "world_class_operator_runbook.json" + operator_runbook = json.loads(operator_runbook_path.read_text(encoding="utf-8")) + operator_runbook["coordination_plan"] = [ + item + for item in operator_runbook["coordination_plan"] + if item.get("evidence_key") != "native-client-telemetry" + ] + operator_runbook["summary"]["coordination_counts_as_completion"] = True + operator_runbook["release_gate"]["counts_as_completion"] = True + operator_runbook_path.write_text(json.dumps(operator_runbook, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") workflow_drift_proc = run( [ sys.executable, diff --git a/tests/verify_world_class_operator_runbook.py b/tests/verify_world_class_operator_runbook.py index 132425fb..148a75e0 100644 --- a/tests/verify_world_class_operator_runbook.py +++ b/tests/verify_world_class_operator_runbook.py @@ -117,6 +117,19 @@ def main() -> None: assert summary["phase_queue_row_count"] == summary["repair_checklist_count"], summary assert summary["phase_queue_next_phase"] == "unblock-access", summary assert summary["phase_queue_counts_as_completion"] is False, summary + assert summary["coordination_step_count"] == 6, summary + assert summary["coordination_user_required_step_count"] == 6, summary + assert summary["coordination_pending_evidence_keys"] == [ + "human-adjudication", + "native-client-telemetry", + "native-permission-enforcement", + "provider-holdout", + ], summary + assert summary["coordination_counts_as_completion"] is False, summary + assert summary["release_gate_ready"] is False, summary + assert summary["release_gate_blocked_count"] == 4, summary + assert summary["release_gate_check_count"] == 5, summary + assert summary["release_gate_counts_as_completion"] is False, summary assert summary["ready_to_claim_world_class"] is False, summary assert summary["runbook_counts_as_completion"] is False, summary assert payload["repair_checklist"], payload @@ -131,6 +144,29 @@ def main() -> None: "native-permission-enforcement", "native-client-telemetry", }, items + coordination_plan = payload["coordination_plan"] + assert len(coordination_plan) == summary["coordination_step_count"], coordination_plan + assert all(step["counts_as_completion"] is False for step in coordination_plan), coordination_plan + coordination_by_key = {step["evidence_key"]: step for step in coordination_plan if step["evidence_key"]} + assert set(coordination_by_key) == set(items), coordination_by_key + assert "output-exec . --provider-runner openai" in coordination_by_key["provider-holdout"]["command"], ( + coordination_by_key + ) + assert "output-review-kit" in coordination_by_key["human-adjudication"]["command"], coordination_by_key + assert "runtime-permissions" in coordination_by_key["native-permission-enforcement"]["command"], ( + coordination_by_key + ) + assert "telemetry-import" in coordination_by_key["native-client-telemetry"]["command"], coordination_by_key + assert payload["release_gate"]["ready"] is False, payload["release_gate"] + assert payload["release_gate"]["blocked_count"] == summary["release_gate_blocked_count"], payload["release_gate"] + assert payload["release_gate"]["check_count"] == summary["release_gate_check_count"], payload["release_gate"] + assert payload["release_gate"]["counts_as_completion"] is False, payload["release_gate"] + release_checks = {item["key"]: item for item in payload["release_gate"]["checks"]} + assert release_checks["world_class_ledger_ready"]["passed"] is False, release_checks + assert release_checks["claim_guard_clean"]["passed"] is False, release_checks + assert release_checks["benchmark_public_claim_ready"]["passed"] is False, release_checks + assert release_checks["review_studio_clean"]["passed"] is False, release_checks + assert release_checks["evidence_consistency_clean"]["passed"] is True, release_checks provider = items["provider-holdout"] assert provider["review_state"] == "awaiting-submission", provider assert provider["source_accepted"] is False, provider @@ -163,6 +199,12 @@ def main() -> None: assert "World-Class Operator Runbook" in markdown, markdown assert "runbook counts as completion: `false`" in markdown, markdown assert "phase queue counts as completion: `false`" in markdown, markdown + assert "coordination counts as completion: `false`" in markdown, markdown + assert "release gate counts as completion: `false`" in markdown, markdown + assert "## Coordination Plan" in markdown, markdown + assert "`review-and-release-gate`" in markdown, markdown + assert "## Release Gate" in markdown, markdown + assert "world-class-claim-guard" in markdown, markdown assert "## Phase Queue" in markdown, markdown assert "| `unblock-access` | `blocked` |" in markdown, markdown assert "Valid intake means ready for submission review; ledger review still requires passing source evidence." in markdown, markdown @@ -189,6 +231,10 @@ def main() -> None: assert "
    Blocked
    2
    " in html, html assert "
    Queue
    2
    " in html, html assert "Phase Queue" in html, html + assert "Coordination Plan" in html, html + assert "Release Gate" in html, html + assert "review-and-release-gate" in html, html + assert "blocked-until-evidence-accepted" in html, html assert "Next Source Actions" in html, html assert "Source Runbook" in html, html assert "output-exec --provider-runner openai" in html, html