diff --git a/AGENTS.md b/AGENTS.md
index 5a2b422a..e105f794 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -54,6 +54,7 @@ python3 scripts/render_world_class_evidence_intake.py . --generated-at "$GENERAT
python3 scripts/render_world_class_submission_review.py . --generated-at "$GENERATED_AT"
python3 scripts/render_world_class_operator_runbook.py . --generated-at "$GENERATED_AT"
python3 scripts/render_world_class_claim_guard.py . --generated-at "$GENERATED_AT"
+python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_os2_audit.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_os2_coverage.py . --generated-at "$GENERATED_AT"
python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"
@@ -71,6 +72,7 @@ For final release evidence, commit source and generated package evidence first,
```bash
python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"
python3 scripts/render_benchmark_reproducibility.py . --generated-at "$GENERATED_AT"
+python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"
python3 scripts/render_skill_overview.py .
python3 scripts/render_skill_interpretation.py .
python3 scripts/render_review_viewer.py .
diff --git a/Makefile b/Makefile
index 7901605a..9ee58fff 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ PYTHON ?= python3
LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill
ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill
-.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
+.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check daily-skillops-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
eval:
$(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt
@@ -140,6 +140,9 @@ feedback-check:
adaptation-safety-check:
$(PYTHON) tests/verify_adaptation_safety.py
+daily-skillops-check:
+ $(PYTHON) tests/verify_daily_skillops.py
+
adoption-drift-check:
$(PYTHON) tests/verify_adoption_drift.py
@@ -251,11 +254,11 @@ sync-local-install: package-check
sync-active-install: package-check
$(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)"
-test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
+test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check daily-skillops-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
ci-test:
$(PYTHON) scripts/ci_test.py
clean:
- rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
+ rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
find . -type d -name __pycache__ -prune -exec rm -rf {} +
diff --git a/README.md b/README.md
index 11553ebe..70c2d287 100644
--- a/README.md
+++ b/README.md
@@ -124,6 +124,7 @@ python3 scripts/yao.py system-model my-skill
python3 scripts/yao.py feedback my-skill --note "Tighten exclusions before adding scripts." --rating 4 --category boundary
python3 scripts/yao.py adapt-scan my-skill --source ./curated-user-signals.jsonl
python3 scripts/yao.py adapt-propose my-skill
+python3 scripts/yao.py daily-skillops my-skill --source ./curated-user-signals.jsonl
python3 scripts/yao.py adoption-drift my-skill --record-event skill_activation --activation-type explicit --outcome accepted
YAO_CLI_TELEMETRY=1 python3 scripts/yao.py validate my-skill
python3 scripts/yao.py telemetry-emit my-skill --event skill_activation --activation-type explicit --outcome accepted --command browser-extension
@@ -432,7 +433,7 @@ Utility scripts that make the meta-skill operational:
- `run_description_optimization_suite.py`: runs description optimization across the root skill and governed examples, then writes reusable reports and optional drift snapshots with calibration and family summaries
- `promotion_checker.py`: applies promotion policy to current description candidates, writes promotion decisions, builds candidate registries, and emits iteration bundles with review stubs
- `create_iteration_snapshot.py`: freezes the current promotion decision into a versioned release snapshot with review, route, and context evidence
-- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, python-compat, review, release-snapshot, workspace-flow, report, skill-report, skill-interpretation, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, skill-os2-coverage, world-class-evidence, world-class-ledger, world-class-intake, world-class-preflight, world-class-submission-kit, world-class-submission-review, world-class-runbook, world-class-claim-guard, benchmark-reproducibility, evidence-consistency, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint
+- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, python-compat, review, release-snapshot, workspace-flow, report, skill-report, skill-interpretation, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, skill-os2-coverage, world-class-evidence, world-class-ledger, world-class-intake, world-class-preflight, world-class-submission-kit, world-class-submission-review, world-class-runbook, world-class-claim-guard, benchmark-reproducibility, evidence-consistency, adapt-scan, adapt-propose, adapt-apply, daily-skillops, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint
- `render_description_drift_history.py`: turns description-optimization snapshots into a readable drift-history report
- `build_confusion_matrix.py`: scores route confusion across tracked sibling skills and `no_route` cases, then writes a route scorecard and optional milestone snapshot
- `render_iteration_ledger.py`: compresses regression milestones, description optimization drift, and route scorecards into one iteration-facing ledger
@@ -443,6 +444,7 @@ Utility scripts that make the meta-skill operational:
- `render_regression_history.py`: turns milestone snapshots into a readable regression history report
- `render_skill_os2_audit.py`: renders a requirement-by-requirement Skill OS 2.0 audit that separates landed local evidence from human-required and external-required gaps
- `render_skill_os2_coverage.py`: maps the Skill OS 2.0 upgrade blueprint to local artifacts, commands, tests, and remaining evidence boundaries
+- `render_daily_skillops_report.py`: renders an explicit-source Daily SkillOps operations report that summarizes redacted user patterns, proposal-only adaptations, approval state, release evidence, and world-class evidence gaps without scanning private logs or applying patches
- `render_world_class_evidence_plan.py`: renders executable evidence tasks for remaining world-class gaps without treating planned external work as completed evidence
- `render_world_class_evidence_ledger.py`: renders a machine-checkable ledger for current world-class evidence acceptance, anti-overclaim guards, provenance requirements, and privacy contracts
- `render_world_class_evidence_intake.py`: validates world-class external and human evidence packets against provenance, privacy, artifact, and anti-overclaim requirements before ledger review
diff --git a/registry/index.json b/registry/index.json
index 1c0c75d6..a9f4f97e 100644
--- a/registry/index.json
+++ b/registry/index.json
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
}
diff --git a/registry/packages/yao-meta-skill.json b/registry/packages/yao-meta-skill.json
index 7fcccb7c..ff6ab5f0 100644
--- a/registry/packages/yao-meta-skill.json
+++ b/registry/packages/yao-meta-skill.json
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -48,7 +48,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
diff --git a/reports/adaptation_proposals.json b/reports/adaptation_proposals.json
index ac00ff33..f0073bf7 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-15T00:00:00Z",
+ "generated_at": "2026-06-15T20:28:47Z",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
diff --git a/reports/adaptation_proposals.md b/reports/adaptation_proposals.md
index 95aa6b0c..153f5e9c 100644
--- a/reports/adaptation_proposals.md
+++ b/reports/adaptation_proposals.md
@@ -1,6 +1,6 @@
# Adaptation Proposals
-- Generated at: `2026-06-15T00:00:00Z`
+- Generated at: `2026-06-15T20:28:47Z`
- 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 71fe0fda..da12292f 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-16",
+ "generated_at": "2026-06-15T20:28:46Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
diff --git a/reports/architecture_maintainability.json b/reports/architecture_maintainability.json
index 03fc3a98..47a12e55 100644
--- a/reports/architecture_maintainability.json
+++ b/reports/architecture_maintainability.json
@@ -4,12 +4,12 @@
"generated_at": "2026-06-16",
"skill_dir": ".",
"summary": {
- "python_file_count": 179,
- "script_file_count": 114,
- "test_file_count": 65,
+ "python_file_count": 181,
+ "script_file_count": 115,
+ "test_file_count": 66,
"internal_module_count": 34,
- "cli_script_count": 82,
- "command_handler_count": 65,
+ "cli_script_count": 83,
+ "command_handler_count": 66,
"entrypoint_command_handler_count": 18,
"command_module_count": 6,
"warn_line_threshold": 900,
@@ -38,7 +38,7 @@
},
{
"path": "scripts/yao_cli_parser.py",
- "lines": 827,
+ "lines": 843,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
@@ -124,7 +124,7 @@
},
{
"path": "scripts/yao_cli_parser.py",
- "lines": 827,
+ "lines": 843,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
diff --git a/reports/architecture_maintainability.md b/reports/architecture_maintainability.md
index ea5b543b..cd0a19aa 100644
--- a/reports/architecture_maintainability.md
+++ b/reports/architecture_maintainability.md
@@ -5,12 +5,12 @@ Generated at: `2026-06-16`
## Summary
- decision: `pass`
-- python files: `179`
-- scripts: `114`
-- tests: `65`
+- python files: `181`
+- scripts: `115`
+- tests: `66`
- internal modules: `34`
-- CLI scripts: `82`
-- Yao CLI command handlers: `65`
+- CLI scripts: `83`
+- Yao CLI command handlers: `66`
- entrypoint command handlers: `18`
- command modules: `6`
- largest file lines: `899`
@@ -31,7 +31,7 @@ No file-size hotspots found.
| --- | ---: | --- | --- |
| `tests/verify_yao_cli.py` | `899` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. |
| `scripts/render_evidence_consistency.py` | `859` | `cli-script` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
-| `scripts/yao_cli_parser.py` | `827` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
+| `scripts/yao_cli_parser.py` | `843` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
| `scripts/skill_report_layout.py` | `808` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
| `scripts/skill_report_model.py` | `800` | `internal-module` | Watch this file before adding new responsibilities; extract a helper module when one concern dominates. |
| `tests/verify_world_class_evidence_intake.py` | `795` | `test` | Break broad integration assertions into focused verifier helpers when the next behavior change lands. |
@@ -47,7 +47,7 @@ No file-size hotspots found.
| --- | ---: | --- | --- |
| `tests/verify_yao_cli.py` | `899` | `test` | `pass` |
| `scripts/render_evidence_consistency.py` | `859` | `cli-script` | `pass` |
-| `scripts/yao_cli_parser.py` | `827` | `internal-module` | `pass` |
+| `scripts/yao_cli_parser.py` | `843` | `internal-module` | `pass` |
| `scripts/skill_report_layout.py` | `808` | `internal-module` | `pass` |
| `scripts/skill_report_model.py` | `800` | `internal-module` | `pass` |
| `tests/verify_world_class_evidence_intake.py` | `795` | `test` | `pass` |
diff --git a/reports/benchmark_reproducibility.json b/reports/benchmark_reproducibility.json
index c46e95c6..ca29ca75 100644
--- a/reports/benchmark_reproducibility.json
+++ b/reports/benchmark_reproducibility.json
@@ -3,23 +3,36 @@
"ok": true,
"generated_at": "2026-06-16",
"skill_dir": ".",
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"git_status": {
"available": true,
- "dirty": false,
- "changed_file_count": 0,
- "sample": [],
+ "dirty": true,
+ "changed_file_count": 60,
+ "sample": [
+ " M AGENTS.md",
+ " M Makefile",
+ " M 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"
+ ],
"scope": "generation-time status before this report is written"
},
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -37,14 +50,15 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
"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)",
@@ -53,10 +67,10 @@
"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": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "ready": false,
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"status_scope": "generation-time status before this report is written",
- "reason": "clean generation-time HEAD"
+ "reason": "working tree was dirty at generation time"
},
"evidence_bundle": {
"algorithm": "sha256(path,label,exists,artifact_sha256)",
@@ -64,7 +78,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
- "sha256": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31"
+ "sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -138,7 +152,7 @@
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7966,
- "sha256": "309b2847cf0db6119af307ae7bbb2d573ddfa47518fa9205143addb444a9f410"
+ "sha256": "6fa9f0b5a294f5373de752e5881c1e6c1a996b65995bd83517a10e691c5e4abd"
},
{
"label": "blind_review",
@@ -172,43 +186,43 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
- "bytes": 112030,
- "sha256": "d9f521542fc5c6a231fe875979ac2dcae170d603678935a6d8645c52a1ed669b"
+ "bytes": 113207,
+ "sha256": "ba3b69b8eb33e907fb14a4e86c70bc6dd05d666baa6b8dbce787a03a156663a7"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
- "bytes": 23652,
- "sha256": "64047e1708873e20cd99a85bca88bdd36417cbda432ba2b5cb14b84558ace814"
+ "bytes": 23905,
+ "sha256": "aa89183f58b2f29927cb6ce07465985583cb3ae410f0cbb48813cd10e6687743"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
- "sha256": "3c4b554a46465d08f18530ad004ab46f7f6b10f14f733190e4c63ce47b2c881e"
+ "sha256": "ba8c24683f0e4d89d3d77f90c3cce8fa9dea52c93f8da8f23da127abe634eda3"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
- "sha256": "eb9916629437168ba93bbc2f47bc25154442edcc458071e50e0cbbf826d4452b"
+ "sha256": "667250d991ae62ae20562fe195a7ebc8357d55e723e17a084c94fd432420da8e"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8604,
- "sha256": "e865fd484bd4eec278c36247ba60eb1496ffd9c7978cfbfb10e69ead744f04f3"
+ "sha256": "df390c15745131f8c626a0782c89c10c47a2293e8a92f84c997f477f2078bd76"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 14310,
- "sha256": "eb21ab4344a64605f6dc6cba058aa6a51cfc15113a4529b1687230cd5cbe8e60"
+ "sha256": "e12318b1e083aaa85ffc81d142bb82c1e4bdee1caf0e4bcb0879e4a3ae2faf31"
},
{
"label": "world_class_evidence_plan",
@@ -270,8 +284,8 @@
"label": "world_class_claim_guard",
"path": "reports/world_class_claim_guard.json",
"exists": true,
- "bytes": 18028,
- "sha256": "06921f060b4c800128558bccacd6096f66b8f1b8ca76d316e5b6289609d9c415"
+ "bytes": 18218,
+ "sha256": "7359ad2ef09dc0863014aab541a92a1f3e55f18f0c0446816c1c7333cba256e9"
}
],
"missing_artifacts": [],
diff --git a/reports/benchmark_reproducibility.md b/reports/benchmark_reproducibility.md
index 50d988f3..3c9ab73b 100644
--- a/reports/benchmark_reproducibility.md
+++ b/reports/benchmark_reproducibility.md
@@ -1,19 +1,19 @@
# Benchmark Reproducibility
Generated at: `2026-06-16`
-Commit: `c5165be99c8b5c2c9c07bd6017716e874567920c`
-Working tree dirty at generation: `false`
-Evidence bundle SHA256: `04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31`
+Commit: `5cb10444c49c40d58b76784e6c4bf993c863e827`
+Working tree dirty at generation: `true`
+Evidence bundle SHA256: `4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd`
## Summary
- reproducibility ready: `true`
-- release lock ready: `true`
+- release lock ready: `false`
- methodology complete: `true`
- required artifacts: `25`
- missing artifacts: `0`
-- source contract sha256: `bcfcc1a7fc34`
-- archive sha256: `feb9e0ecf839`
+- source contract sha256: `b6abceeea0f2`
+- archive sha256: `a521b75a29e5`
- output cases: `5`
- disclosed failure cases: `3`
- reproduction commands: `23`
@@ -22,8 +22,8 @@ Evidence bundle SHA256: `04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271e
- world-class ready: `false`
- world-class source checks: `6` pass / `13` total; `7` blocked
- public claim ready: `false`
-- public claim blockers: `4`
-- changed files at generation: `0`
+- public claim blockers: `5`
+- changed files at generation: `60`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit is generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
@@ -35,6 +35,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) |
@@ -42,15 +43,15 @@ This report proves local benchmark reproducibility only. It keeps external provi
## Release Lock
-- ready: `true`
-- reason: clean generation-time HEAD
+- ready: `false`
+- reason: working tree was 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: `04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31`
+- sha256: `4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd`
## Methodology Sections
@@ -72,17 +73,17 @@ 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 | `309b2847cf0d` |
+| output_execution | `reports/output_execution_runs.json` | present | `6fa9f0b5a294` |
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
| review_adjudication | `reports/output_review_adjudication.json` | present | `240485a721af` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
-| trust_report | `reports/security_trust_report.json` | present | `d9f521542fc5` |
-| python_compatibility | `reports/python_compatibility.json` | present | `64047e170887` |
-| registry_audit | `reports/registry_audit.json` | present | `3c4b554a4646` |
-| package_verification | `reports/package_verification.json` | present | `eb9916629437` |
-| install_simulation | `reports/install_simulation.json` | present | `e865fd484bd4` |
-| skill_os2_audit | `reports/skill_os2_audit.json` | present | `eb21ab4344a6` |
+| trust_report | `reports/security_trust_report.json` | present | `ba3b69b8eb33` |
+| python_compatibility | `reports/python_compatibility.json` | present | `aa89183f58b2` |
+| registry_audit | `reports/registry_audit.json` | present | `ba8c24683f0e` |
+| package_verification | `reports/package_verification.json` | present | `667250d991ae` |
+| install_simulation | `reports/install_simulation.json` | present | `df390c157451` |
+| skill_os2_audit | `reports/skill_os2_audit.json` | present | `e12318b1e083` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `76a3f8e2b12b` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `1cb74eaa978b` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `99a0ba234d59` |
@@ -91,7 +92,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `f5ca32d5ea8b` |
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `260d5e03c52e` |
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `04cc091b113f` |
-| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `06921f060b4c` |
+| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `7359ad2ef09d` |
## Reproduction Commands
diff --git a/reports/compiled_targets.json b/reports/compiled_targets.json
index c53dc830..8032bb49 100644
--- a/reports/compiled_targets.json
+++ b/reports/compiled_targets.json
@@ -421,7 +421,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -451,6 +451,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -532,14 +533,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -561,7 +562,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -674,7 +675,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -704,6 +705,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -785,14 +787,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -812,7 +814,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -1322,7 +1324,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -1352,6 +1354,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -1433,14 +1436,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -1462,7 +1465,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -1575,7 +1578,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -1605,6 +1608,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -1686,14 +1690,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -1713,7 +1717,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -2223,7 +2227,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -2253,6 +2257,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -2334,14 +2339,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -2363,7 +2368,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -2469,7 +2474,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -2499,6 +2504,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -2580,14 +2586,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -2607,7 +2613,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -3108,7 +3114,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -3138,6 +3144,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -3219,14 +3226,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -3248,7 +3255,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -3354,7 +3361,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -3384,6 +3391,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -3465,14 +3473,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -3492,7 +3500,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -3993,7 +4001,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -4023,6 +4031,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -4104,14 +4113,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -4133,7 +4142,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -4243,7 +4252,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -4273,6 +4282,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -4354,14 +4364,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -4381,7 +4391,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
diff --git a/reports/context_budget.json b/reports/context_budget.json
index bcac3a49..0d91a6b1 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": 767,
- "other_text_tokens": 987793,
+ "other_text_tokens": 1001283,
"estimated_initial_load_tokens": 960,
- "estimated_total_text_tokens": 988560,
- "deferred_resource_tokens": 454804,
+ "estimated_total_text_tokens": 1002050,
+ "deferred_resource_tokens": 461032,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114
+ "estimated_tokens": 411821,
+ "file_count": 115
},
{
"path": "references",
@@ -31,8 +31,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114
+ "estimated_tokens": 411821,
+ "file_count": 115
}
],
"deferred_resource_governance": {
@@ -54,14 +54,14 @@
],
"missing": [],
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114,
+ "estimated_tokens": 411821,
+ "file_count": 115,
"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": 563,
+ "relevant_file_count": 570,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 135.4
diff --git a/reports/context_budget.md b/reports/context_budget.md
index 7944e78a..d58edfaf 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 | 960 | 767 | 454804 | `governed` | scripts:405593 | 135.4 | - | ok |
+| root | `.` | `production` | 1000 | 960 | 767 | 461032 | `governed` | scripts:411821 | 135.4 | - | 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 7eda83a8..4d0a791e 100644
--- a/reports/context_budget_summary.json
+++ b/reports/context_budget_summary.json
@@ -1,5 +1,5 @@
{
- "generated_at": "2026-06-16",
+ "generated_at": "2026-03-31",
"targets": [
{
"label": "root",
@@ -8,12 +8,12 @@
"budget_limit": 1000,
"initial_tokens": 960,
"skill_body_tokens": 767,
- "deferred_resource_tokens": 454804,
+ "deferred_resource_tokens": 461032,
"large_deferred_resource_dirs": [
{
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114
+ "estimated_tokens": 411821,
+ "file_count": 115
}
],
"deferred_resource_governance": {
@@ -35,8 +35,8 @@
],
"missing": [],
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114,
+ "estimated_tokens": 411821,
+ "file_count": 115,
"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 ebbef32d..12711c97 100644
--- a/reports/evidence_consistency.json
+++ b/reports/evidence_consistency.json
@@ -74,6 +74,7 @@
"python3 scripts/render_world_class_submission_review.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_world_class_operator_runbook.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_world_class_claim_guard.py . --generated-at \"$GENERATED_AT\"": true,
+ "python3 scripts/render_daily_skillops_report.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_os2_audit.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_os2_coverage.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_context_reports.py --generated-at \"$GENERATED_AT\"": true,
@@ -88,6 +89,7 @@
"clean_lock_commands": {
"python3 scripts/render_context_reports.py --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_benchmark_reproducibility.py . --generated-at \"$GENERATED_AT\"": true,
+ "python3 scripts/render_daily_skillops_report.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_overview.py .": true,
"python3 scripts/render_skill_interpretation.py .": true,
"python3 scripts/render_review_viewer.py .": true,
@@ -122,6 +124,7 @@
"python3 scripts/render_world_class_submission_review.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_world_class_operator_runbook.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_world_class_claim_guard.py . --generated-at \"$GENERATED_AT\"": true,
+ "python3 scripts/render_daily_skillops_report.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_os2_audit.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_os2_coverage.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_context_reports.py --generated-at \"$GENERATED_AT\"": true,
@@ -136,6 +139,7 @@
"clean_lock_commands": {
"python3 scripts/render_context_reports.py --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_benchmark_reproducibility.py . --generated-at \"$GENERATED_AT\"": true,
+ "python3 scripts/render_daily_skillops_report.py . --generated-at \"$GENERATED_AT\"": true,
"python3 scripts/render_skill_overview.py .": true,
"python3 scripts/render_skill_interpretation.py .": true,
"python3 scripts/render_review_viewer.py .": true,
@@ -168,6 +172,7 @@
"reports/skill-interpretation.json",
"reports/review-viewer.json",
"reports/world_class_evidence_preflight.json",
+ "reports/skillops/daily",
"reports/review-studio.json",
"reports/evidence_consistency.json"
],
@@ -179,12 +184,12 @@
"status": "pass",
"expected": {
"status": "pass",
- "detail": "initial load 960/1000; deferred 454804/120000; top deferred scripts 405593; resource governance governed; quality density 135.4",
+ "detail": "initial load 960/1000; deferred 461032/120000; top deferred scripts 411821; resource governance governed; quality density 135.4",
"evidence": "reports/context_budget.json"
},
"actual": {
"status": "pass",
- "detail": "initial load 960/1000; deferred 454804/120000; top deferred scripts 405593; resource governance governed; quality density 135.4",
+ "detail": "initial load 960/1000; deferred 461032/120000; top deferred scripts 411821; resource governance governed; quality density 135.4",
"evidence": "reports/context_budget.json"
},
"paths": [
@@ -197,8 +202,8 @@
"key": "benchmark-release-lock-self-consistency",
"label": "Benchmark release lock matches git dirty state",
"status": "pass",
- "expected": true,
- "actual": true,
+ "expected": false,
+ "actual": false,
"paths": [
"reports/benchmark_reproducibility.json"
],
@@ -238,8 +243,8 @@
"key": "overview-benchmark-commit",
"label": "overview embeds the benchmark commit",
"status": "pass",
- "expected": "c5165be99c8b5c2c9c07bd6017716e874567920c",
- "actual": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "expected": "5cb10444c49c40d58b76784e6c4bf993c863e827",
+ "actual": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-overview.json"
@@ -251,30 +256,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": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"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": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4
+ "public_claim_blocker_count": 5
},
"paths": [
"reports/benchmark_reproducibility.json",
@@ -384,8 +389,8 @@
"key": "interpretation-benchmark-commit",
"label": "interpretation embeds the benchmark commit",
"status": "pass",
- "expected": "c5165be99c8b5c2c9c07bd6017716e874567920c",
- "actual": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "expected": "5cb10444c49c40d58b76784e6c4bf993c863e827",
+ "actual": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-interpretation.json"
@@ -397,30 +402,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": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"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": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4
+ "public_claim_blocker_count": 5
},
"paths": [
"reports/benchmark_reproducibility.json",
@@ -1502,7 +1507,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -1514,10 +1519,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -1542,7 +1547,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -1550,7 +1555,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -1590,7 +1595,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -1602,10 +1607,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -1630,7 +1635,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -1638,7 +1643,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -2275,15 +2280,15 @@
"`16` gates",
"`3` warnings",
"`31` declared internal modules",
- "`83 / 83` CLI help smoke checks passing across `114` scripts",
- "`626` zip entries",
- "archive with `626` entries",
+ "`84 / 84` CLI help smoke checks passing across `115` scripts",
+ "`630` zip entries",
+ "archive with `630` entries",
"`12` installer permission checks enforced",
"`0` permission failures",
"`25` required artifacts",
"`23` reproduction commands",
"initial load `960/1000`",
- "target count is `77`"
+ "target count is `78`"
],
"actual": "all present",
"paths": [
diff --git a/reports/evidence_consistency.md b/reports/evidence_consistency.md
index 1db09a2a..803d0e5a 100644
--- a/reports/evidence_consistency.md
+++ b/reports/evidence_consistency.md
@@ -17,7 +17,7 @@ This gate compares generated evidence reports against each other. It does not cr
| Check | Status | Detail | Paths |
| --- | --- | --- | --- |
| Required report artifacts are readable | `pass` | The consistency gate can only be trusted when every source JSON report parses and every source Markdown report is readable. | `reports/benchmark_reproducibility.json`, `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/adoption_drift_report.json`, `reports/world_class_evidence_ledger.json`, `reports/world_class_evidence_plan.json`, `reports/world_class_evidence_intake.json`, `reports/world_class_evidence_preflight.json`, `reports/world_class_submission_review.json`, `reports/world_class_operator_runbook.json`, `reports/skill_os2_coverage.json`, `reports/review-studio.json`, `reports/package_verification.json`, `reports/install_simulation.json`, `reports/security_trust_report.json`, `reports/context_budget.json`, `reports/world_class_claim_guard.json`, `reports/skill-os-2-review.md` |
-| Release evidence flow covers first-class reports | `pass` | Release refresh and clean-lock instructions must regenerate every first-class report before evidence consistency can be trusted. | `AGENTS.md`, `reports/output_execution_runs.json`, `reports/install_simulation.json`, `reports/security_trust_report.json`, `reports/registry_audit.json`, `reports/package_verification.json`, `reports/upgrade_check.json`, `reports/adoption_drift_report.json`, `reports/architecture_maintainability.json`, `reports/python_compatibility.json`, `reports/runtime_permission_probes.json`, `reports/review_waivers.json`, `reports/review_annotations.json`, `reports/skill_atlas.json`, `reports/skill_os2_audit.json`, `reports/skill_os2_coverage.json`, `reports/context_budget.json`, `reports/context_budget_summary.json`, `reports/benchmark_reproducibility.json`, `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/review-viewer.json`, `reports/world_class_evidence_preflight.json`, `reports/review-studio.json`, `reports/evidence_consistency.json` |
+| Release evidence flow covers first-class reports | `pass` | Release refresh and clean-lock instructions must regenerate every first-class report before evidence consistency can be trusted. | `AGENTS.md`, `reports/output_execution_runs.json`, `reports/install_simulation.json`, `reports/security_trust_report.json`, `reports/registry_audit.json`, `reports/package_verification.json`, `reports/upgrade_check.json`, `reports/adoption_drift_report.json`, `reports/architecture_maintainability.json`, `reports/python_compatibility.json`, `reports/runtime_permission_probes.json`, `reports/review_waivers.json`, `reports/review_annotations.json`, `reports/skill_atlas.json`, `reports/skill_os2_audit.json`, `reports/skill_os2_coverage.json`, `reports/context_budget.json`, `reports/context_budget_summary.json`, `reports/benchmark_reproducibility.json`, `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/review-viewer.json`, `reports/world_class_evidence_preflight.json`, `reports/skillops/daily`, `reports/review-studio.json`, `reports/evidence_consistency.json` |
| Review Studio mirrors context budget governance | `pass` | Review Studio must not keep stale context warnings after context reports prove large deferred resources are governed. | `reports/context_budget.json`, `reports/review-studio.json` |
| Benchmark release lock matches git dirty state | `pass` | The benchmark release lock must reflect the generation-time git dirty flag. | `reports/benchmark_reproducibility.json` |
| Human-facing reports expose the canonical Skill IR artifact | `pass` | Skill IR is the 2.0 platform-neutral semantic source, so user-facing reports must link to the artifact that actually exists. | `reports/skill-overview.json`, `reports/skill-interpretation.json`, `reports/review-studio.json`, `skill-ir/examples/yao-meta-skill.json` |
diff --git a/reports/install_simulation.json b/reports/install_simulation.json
index 934c04eb..fe6b31c1 100644
--- a/reports/install_simulation.json
+++ b/reports/install_simulation.json
@@ -8,7 +8,7 @@
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
diff --git a/reports/output_execution_runs.json b/reports/output_execution_runs.json
index bbe6bae4..54e058be 100644
--- a/reports/output_execution_runs.json
+++ b/reports/output_execution_runs.json
@@ -34,7 +34,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.99,
+ "duration_ms": 26.59,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -62,7 +62,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.18,
+ "duration_ms": 26.63,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -85,7 +85,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 27.21,
+ "duration_ms": 26.48,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -113,7 +113,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.96,
+ "duration_ms": 26.32,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -136,7 +136,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.52,
+ "duration_ms": 26.47,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -164,7 +164,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 27.04,
+ "duration_ms": 25.93,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -187,7 +187,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.2,
+ "duration_ms": 27.1,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -214,7 +214,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.13,
+ "duration_ms": 26.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -237,7 +237,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 37.37,
+ "duration_ms": 26.21,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -266,7 +266,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.83,
+ "duration_ms": 25.96,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
diff --git a/reports/output_execution_runs.md b/reports/output_execution_runs.md
index 44a29b86..25000e36 100644
--- a/reports/output_execution_runs.md
+++ b/reports/output_execution_runs.md
@@ -23,16 +23,16 @@ Command runner evidence is present. This proves the eval harness executed an ext
| Case | Variant | Mode | Model | Duration ms | Tokens | Score | Status |
| --- | --- | --- | --- | ---: | ---: | ---: | --- |
-| skill-package-contract | baseline | command | local-output-eval-runner | 26.99 | 33 | 0.0 | pass |
-| skill-package-contract | with_skill | command | local-output-eval-runner | 26.18 | 73 | 100.0 | pass |
-| output-eval-expectation | baseline | command | local-output-eval-runner | 27.21 | 36 | 0.0 | pass |
-| output-eval-expectation | with_skill | command | local-output-eval-runner | 29.96 | 80 | 100.0 | pass |
-| ir-before-packaging | baseline | command | local-output-eval-runner | 29.52 | 33 | 0.0 | pass |
-| ir-before-packaging | with_skill | command | local-output-eval-runner | 27.04 | 80 | 100.0 | pass |
-| near-neighbor-boundary | baseline | command | local-output-eval-runner | 26.2 | 36 | 0.0 | pass |
-| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 26.13 | 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 | 29.83 | 98 | 100.0 | pass |
+| skill-package-contract | baseline | command | local-output-eval-runner | 26.59 | 33 | 0.0 | pass |
+| skill-package-contract | with_skill | command | local-output-eval-runner | 26.63 | 73 | 100.0 | pass |
+| output-eval-expectation | baseline | command | local-output-eval-runner | 26.48 | 36 | 0.0 | pass |
+| output-eval-expectation | with_skill | command | local-output-eval-runner | 26.32 | 80 | 100.0 | pass |
+| ir-before-packaging | baseline | command | local-output-eval-runner | 26.47 | 33 | 0.0 | pass |
+| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.93 | 80 | 100.0 | pass |
+| near-neighbor-boundary | baseline | command | local-output-eval-runner | 27.1 | 36 | 0.0 | pass |
+| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 26.64 | 65 | 100.0 | pass |
+| file-backed-governed-package | baseline | command | local-output-eval-runner | 26.21 | 37 | 0.0 | pass |
+| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.96 | 98 | 100.0 | pass |
## Next Fixes
diff --git a/reports/package_verification.json b/reports/package_verification.json
index 8c9d8b9a..e5437749 100644
--- a/reports/package_verification.json
+++ b/reports/package_verification.json
@@ -8,8 +8,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
diff --git a/reports/package_verification.md b/reports/package_verification.md
index 670257dd..4cb26b4a 100644
--- a/reports/package_verification.md
+++ b/reports/package_verification.md
@@ -4,7 +4,7 @@
- Package directory: `dist`
- Targets: `4 / 4` adapters present
- Archive present: `True`
-- Archive SHA256: `feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53`
+- Archive SHA256: `a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0`
- Failures: `0`
- Warnings: `0`
diff --git a/reports/python_compatibility.json b/reports/python_compatibility.json
index 046b2c98..c97d415f 100644
--- a/reports/python_compatibility.json
+++ b/reports/python_compatibility.json
@@ -5,7 +5,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
- "file_count": 182,
+ "file_count": 184,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -274,6 +274,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/render_description_drift_history.py",
"ok": true,
@@ -778,6 +784,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "tests/verify_daily_skillops.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "tests/verify_description_optimization.py",
"ok": true,
diff --git a/reports/python_compatibility.md b/reports/python_compatibility.md
index 0a99e1b0..f81138a7 100644
--- a/reports/python_compatibility.md
+++ b/reports/python_compatibility.md
@@ -6,7 +6,7 @@ Generated at: `2026-06-16`
- decision: `pass`
- target python: `3.11`
-- files scanned: `182`
+- files scanned: `184`
- issues: `0`
- syntax errors: `0`
- f-string 3.11 violations: `0`
diff --git a/reports/registry_audit.json b/reports/registry_audit.json
index a2037dfc..a1ae29b5 100644
--- a/reports/registry_audit.json
+++ b/reports/registry_audit.json
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -53,7 +53,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/registry_audit.md b/reports/registry_audit.md
index 008deb6e..e980e7cc 100644
--- a/reports/registry_audit.md
+++ b/reports/registry_audit.md
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
-- Package SHA256: `bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf`
-- Archive SHA256: `feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53`
+- Package SHA256: `b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083`
+- Archive SHA256: `a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0`
- Install simulated: `True`
## Compatibility
diff --git a/reports/review-studio.html b/reports/review-studio.html
index 5529c829..02a8da0c 100644
--- a/reports/review-studio.html
+++ b/reports/review-studio.html
@@ -676,12 +676,12 @@
核心指标
- Skill IR 2.0.0 5 targets in platform-neutral contract
Compiler 5/5 target contracts compiled from Skill IR
Output Delta 100.0 5 cases; 1 file-backed
Exec Runs 10 command 10; model 0; recorded 0
Blind A/B 5 review pairs hide baseline vs with-skill labels
Review Kit 0/5 pending 5; answer key hidden
Review A/B 0/5 adjudication decisions; pending 5
Public Claim blocked 4 blockers; local reproducible true
Blueprint 21/21 2.0 coverage; extensions partial 0, planned 0; evidence pending 4
Runtime 5/5 target conformance pass rate
Perm Probe 4/4 0 native; 4 installer-enforced
Trust 0 114 scripts scanned; secrets found
Py Compat 0 182 files scanned for Python 3.11
Arch Debt 0 899 largest lines; 11 watchlist; 65 CLI handlers; 18 in entrypoint
Atlas 5 12 scanned skills; route collisions
Drift low 1 metadata events; 0 missed triggers
Waivers 0 0 gates covered; human risk decisions
Intake 4/4 0 valid submissions; 0 invalid
Claim Guard 0 176 public surfaces scanned
Notes 0/0 0 open blocker annotations
Registry 1.1.0 5 targets; MIT license
Archive pass 626 zip entries; package verification
Install pass 4 adapters; 12 permissions enforced; 0 permission failures
Upgrade minor declared minor; 0 breaking changes
+ Skill IR 2.0.0 5 targets in platform-neutral contract
Compiler 5/5 target contracts compiled from Skill IR
Output Delta 100.0 5 cases; 1 file-backed
Exec Runs 10 command 10; model 0; recorded 0
Blind A/B 5 review pairs hide baseline vs with-skill labels
Review Kit 0/5 pending 5; answer key hidden
Review A/B 0/5 adjudication decisions; pending 5
Public Claim blocked 5 blockers; local reproducible true
Blueprint 21/21 2.0 coverage; extensions partial 0, planned 0; evidence pending 4
Runtime 5/5 target conformance pass rate
Perm Probe 4/4 0 native; 4 installer-enforced
Trust 0 115 scripts scanned; secrets found
Py Compat 0 184 files scanned for Python 3.11
Arch Debt 0 899 largest lines; 11 watchlist; 66 CLI handlers; 18 in entrypoint
Atlas 5 12 scanned skills; route collisions
Drift low 1 metadata events; 0 missed triggers
Waivers 0 0 gates covered; human risk decisions
Intake 4/4 0 valid submissions; 0 invalid
Claim Guard 0 178 public surfaces scanned
Notes 0/0 0 open blocker annotations
Registry 1.1.0 5 targets; MIT license
Archive pass 630 zip entries; package verification
Install pass 4 adapters; 12 permissions enforced; 0 permission failures
Upgrade minor 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 960/1000; deferred 454804/120000; top deferred scripts 405593; resource governance governed; quality density 135.4
reports/context_budget.json 证据 通过
运行矩阵 5 / 5 targets pass
reports/conformance_matrix.json 证据 通过
信任报告 0 secrets; 114 scripts; 3 network-capable scripts; 0 help smoke failures
reports/security_trust_report.json 证据 通过
Python 兼容 Python 3.11; 182 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards
reports/python_compatibility.json 证据 通过
架构维护 179 Python files; 0 hotspots; 11 watchlist files; 0 blockers; largest 899 lines; 65 CLI handlers; 18 in entrypoint
reports/architecture_maintainability.json 证据 通过
权限批准 3/3 permissions approved; gaps 0; required file_write, network, subprocess
reports/security_trust_report.json + security/permission_policy.json 证据 通过
权限探针 4/4 targets probed; native 0; metadata fallback 4; installer 4; residual risks 4
reports/runtime_permission_probes.json 证据 通过
组合治理 12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues
reports/skill_atlas.json 证据 通过
运营回路 1 metadata events; adoption 0; missed 0; bad-output 0; risk low
reports/adoption_drift_report.json 证据 关注
人工批准 0 active waivers; 1 warning gates still need reviewer decision
reports/review_waivers.json 证据 关注
世界证据 4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 6/13 pass; 7 blocked; overclaim guard true
reports/world_class_evidence_ledger.json 证据 通过
注册审计 yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
reports/registry_audit.json + reports/install_simulation.json 证据 通过
发布路线 0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
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 960/1000; deferred 461032/120000; top deferred scripts 411821; resource governance governed; quality density 135.4
reports/context_budget.json 证据 通过
运行矩阵 5 / 5 targets pass
reports/conformance_matrix.json 证据 通过
信任报告 0 secrets; 115 scripts; 3 network-capable scripts; 0 help smoke failures
reports/security_trust_report.json 证据 通过
Python 兼容 Python 3.11; 184 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards
reports/python_compatibility.json 证据 通过
架构维护 181 Python files; 0 hotspots; 11 watchlist files; 0 blockers; largest 899 lines; 66 CLI handlers; 18 in entrypoint
reports/architecture_maintainability.json 证据 通过
权限批准 3/3 permissions approved; gaps 0; required file_write, network, subprocess
reports/security_trust_report.json + security/permission_policy.json 证据 通过
权限探针 4/4 targets probed; native 0; metadata fallback 4; installer 4; residual risks 4
reports/runtime_permission_probes.json 证据 通过
组合治理 12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues
reports/skill_atlas.json 证据 通过
运营回路 1 metadata events; adoption 0; missed 0; bad-output 0; risk low
reports/adoption_drift_report.json 证据 关注
人工批准 0 active waivers; 1 warning gates still need reviewer decision
reports/review_waivers.json 证据 关注
世界证据 4 pending world-class evidence entries; 1 human pending; 3 external pending; source checks 6/13 pass; 7 blocked; overclaim guard true
reports/world_class_evidence_ledger.json 证据 通过
注册审计 yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
reports/registry_audit.json + reports/install_simulation.json 证据 通过
发布路线 0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md 证据
@@ -743,17 +743,17 @@
- 上下文 initial load 960/1000; deferred 454804/120000; top deferred scripts 405593; resource governance governed; quality density 135.4
+ 上下文 initial load 960/1000; deferred 461032/120000; top deferred scripts 411821; resource governance governed; quality density 135.4
编译证据 Review reports/compiled_targets.md before packaging to inspect target adapter modes, generated files, preserved semantics, warnings, and unsupported features.
- 信任报告
Secret 0
脚本数 114
网络脚本 3
Help 失败 0
包体哈希 bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf
+ 信任报告
Secret 0
脚本数 115
网络脚本 3
Help 失败 0
包体哈希 b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083
安全边界 高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。
- Python 兼容
目标 Python 3.11
文件数 182
问题数 0
语法错误 0
F-string 3.11 0
+ Python 兼容
目标 Python 3.11
文件数 184
问题数 0
语法错误 0
F-string 3.11 0
解释器边界 CI 和发布审查以 Python 3.11 兼容为底线;本地更高版本允许的新语法不能绕过兼容门禁。
@@ -801,13 +801,13 @@
- 蓝图覆盖
项目数 21
模块数 8
建议 PR 13
通过数 21
Warn Count 0
缺失数 0
Extension Track Count 2
Extension Covered Count 2
Extension Partial Count 0
Extension Planned Count 0
Adaptive Extension Ready 是
本地蓝图 是
世界级 否
待补证据 4
+ 蓝图覆盖
项目数 21
模块数 8
建议 PR 13
通过数 21
Warn Count 0
缺失数 0
Extension Track Count 3
Extension Covered Count 3
Extension Partial Count 0
Extension Planned Count 0
Adaptive Extension Ready 是
本地蓝图 是
世界级 否
待补证据 4
覆盖边界 蓝图覆盖只证明 2.0 模块、建议 PR、脚本、报告和测试在本地闭环;public world-class 仍以 world-class evidence ledger 的真人和外部证据为准。
- 公开声明
本地复现 是
发布锁 是
可公开声明 否
声明阻断 4
Provider 证据 否
人审完成 否
世界级就绪 否
- 声明阻断 阻断 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) 阻断 world-class source checks are not all accepted (6/13 pass, 7 blocked)
+ 公开声明
本地复现 是
发布锁 否
可公开声明 否
声明阻断 5
Provider 证据 否
人审完成 否
世界级就绪 否
+ 声明阻断 阻断 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) 阻断 world-class source checks are not all accepted (6/13 pass, 7 blocked)
- 声明守卫
台账可声明 否
台账待补 4
声明面 176
违规数 0
Overclaim Guard Active 是
+ 声明守卫
台账可声明 否
台账待补 4
声明面 178
违规数 0
Overclaim Guard Active 是
声明边界 claim guard 扫描 README、docs 和 reports 中的完成态表述;ledger 未 ready 时,任何英文完成断言、true 状态声明或中文完成态都会阻断发布审查。
注册审计 yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures
- 包体元数据
名称 yao-meta-skill
版本 1.1.0
Maturity governed
Owner Yao Team
License MIT
信任级别 local
目标平台 openai, claude, generic, agent-skills-compatible, vscode
兼容通过 6/6
归档哈希 feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53
+ 包体元数据
名称 yao-meta-skill
版本 1.1.0
Maturity governed
Owner Yao Team
License MIT
信任级别 local
目标平台 openai, claude, generic, agent-skills-compatible, vscode
兼容通过 6/6
归档哈希 a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0
发布路线 0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended
- 包体验证
目标数 4
Adapter 4
归档存在 是
Zip 条目 626
失败数 0
警告数 0
归档哈希 feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53
+ 包体验证
目标数 4
Adapter 4
归档存在 是
Zip 条目 630
失败数 0
警告数 0
归档哈希 a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0
diff --git a/reports/review-studio.json b/reports/review-studio.json
index 3c40acb1..abd24050 100644
--- a/reports/review-studio.json
+++ b/reports/review-studio.json
@@ -43,7 +43,7 @@
"key": "context-budget",
"label": "上下文",
"status": "pass",
- "detail": "initial load 960/1000; deferred 454804/120000; top deferred scripts 405593; resource governance governed; quality density 135.4",
+ "detail": "initial load 960/1000; deferred 461032/120000; top deferred scripts 411821; resource governance governed; quality density 135.4",
"evidence": "reports/context_budget.json",
"link": "context_budget.md"
},
@@ -59,7 +59,7 @@
"key": "trust-report",
"label": "信任报告",
"status": "pass",
- "detail": "0 secrets; 114 scripts; 3 network-capable scripts; 0 help smoke failures",
+ "detail": "0 secrets; 115 scripts; 3 network-capable scripts; 0 help smoke failures",
"evidence": "reports/security_trust_report.json",
"link": "security_trust_report.md"
},
@@ -67,7 +67,7 @@
"key": "python-compat",
"label": "Python 兼容",
"status": "pass",
- "detail": "Python 3.11; 182 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
+ "detail": "Python 3.11; 184 files; 0 compatibility issues; 0 syntax; 0 f-string 3.11 hazards",
"evidence": "reports/python_compatibility.json",
"link": "python_compatibility.md"
},
@@ -75,7 +75,7 @@
"key": "architecture-maintainability",
"label": "架构维护",
"status": "pass",
- "detail": "179 Python files; 0 hotspots; 11 watchlist files; 0 blockers; largest 899 lines; 65 CLI handlers; 18 in entrypoint",
+ "detail": "181 Python files; 0 hotspots; 11 watchlist files; 0 blockers; largest 899 lines; 66 CLI handlers; 18 in entrypoint",
"evidence": "reports/architecture_maintainability.json",
"link": "architecture_maintainability.md"
},
@@ -1194,7 +1194,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -1206,10 +1206,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -1234,7 +1234,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -1242,7 +1242,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -1364,7 +1364,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -1376,7 +1376,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
"strengths": [
@@ -1678,13 +1678,13 @@
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1702,11 +1702,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1790,8 +1790,8 @@
"failures": []
},
"trust_security": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -1800,18 +1800,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"skill_atlas": {
"skill_count": 12,
@@ -1849,8 +1849,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -1881,7 +1881,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1897,8 +1897,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
@@ -1909,7 +1909,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1976,12 +1976,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
@@ -4348,7 +4348,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.99,
+ "duration_ms": 26.59,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4376,7 +4376,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.18,
+ "duration_ms": 26.63,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4399,7 +4399,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 27.21,
+ "duration_ms": 26.48,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4427,7 +4427,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.96,
+ "duration_ms": 26.32,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4450,7 +4450,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.52,
+ "duration_ms": 26.47,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4478,7 +4478,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 27.04,
+ "duration_ms": 25.93,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4501,7 +4501,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.2,
+ "duration_ms": 27.1,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4528,7 +4528,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 26.13,
+ "duration_ms": 26.64,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4551,7 +4551,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 37.37,
+ "duration_ms": 26.21,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -4580,7 +4580,7 @@
"execution_mode": "command",
"model_executed": false,
"command_executed": true,
- "duration_ms": 29.83,
+ "duration_ms": 25.96,
"provider": "local-output-eval-runner",
"model": "",
"usage": {
@@ -5301,23 +5301,36 @@
"ok": true,
"generated_at": "2026-06-16",
"skill_dir": ".",
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"git_status": {
"available": true,
- "dirty": false,
- "changed_file_count": 0,
- "sample": [],
+ "dirty": true,
+ "changed_file_count": 60,
+ "sample": [
+ " M AGENTS.md",
+ " M Makefile",
+ " M 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"
+ ],
"scope": "generation-time status before this report is written"
},
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -5335,14 +5348,15 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
"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)",
@@ -5351,10 +5365,10 @@
"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": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "ready": false,
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"status_scope": "generation-time status before this report is written",
- "reason": "clean generation-time HEAD"
+ "reason": "working tree was dirty at generation time"
},
"evidence_bundle": {
"algorithm": "sha256(path,label,exists,artifact_sha256)",
@@ -5362,7 +5376,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
- "sha256": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31"
+ "sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -5436,7 +5450,7 @@
"path": "reports/output_execution_runs.json",
"exists": true,
"bytes": 7966,
- "sha256": "309b2847cf0db6119af307ae7bbb2d573ddfa47518fa9205143addb444a9f410"
+ "sha256": "6fa9f0b5a294f5373de752e5881c1e6c1a996b65995bd83517a10e691c5e4abd"
},
{
"label": "blind_review",
@@ -5470,43 +5484,43 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
- "bytes": 112030,
- "sha256": "d9f521542fc5c6a231fe875979ac2dcae170d603678935a6d8645c52a1ed669b"
+ "bytes": 113207,
+ "sha256": "ba3b69b8eb33e907fb14a4e86c70bc6dd05d666baa6b8dbce787a03a156663a7"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
- "bytes": 23652,
- "sha256": "64047e1708873e20cd99a85bca88bdd36417cbda432ba2b5cb14b84558ace814"
+ "bytes": 23905,
+ "sha256": "aa89183f58b2f29927cb6ce07465985583cb3ae410f0cbb48813cd10e6687743"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3183,
- "sha256": "3c4b554a46465d08f18530ad004ab46f7f6b10f14f733190e4c63ce47b2c881e"
+ "sha256": "ba8c24683f0e4d89d3d77f90c3cce8fa9dea52c93f8da8f23da127abe634eda3"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
- "sha256": "eb9916629437168ba93bbc2f47bc25154442edcc458071e50e0cbbf826d4452b"
+ "sha256": "667250d991ae62ae20562fe195a7ebc8357d55e723e17a084c94fd432420da8e"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8604,
- "sha256": "e865fd484bd4eec278c36247ba60eb1496ffd9c7978cfbfb10e69ead744f04f3"
+ "sha256": "df390c15745131f8c626a0782c89c10c47a2293e8a92f84c997f477f2078bd76"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 14310,
- "sha256": "eb21ab4344a64605f6dc6cba058aa6a51cfc15113a4529b1687230cd5cbe8e60"
+ "sha256": "e12318b1e083aaa85ffc81d142bb82c1e4bdee1caf0e4bcb0879e4a3ae2faf31"
},
{
"label": "world_class_evidence_plan",
@@ -5568,8 +5582,8 @@
"label": "world_class_claim_guard",
"path": "reports/world_class_claim_guard.json",
"exists": true,
- "bytes": 18028,
- "sha256": "06921f060b4c800128558bccacd6096f66b8f1b8ca76d316e5b6289609d9c415"
+ "bytes": 18218,
+ "sha256": "7359ad2ef09dc0863014aab541a92a1f3e55f18f0c0446816c1c7333cba256e9"
}
],
"missing_artifacts": [],
@@ -5718,10 +5732,10 @@
"pass_count": 21,
"warn_count": 0,
"missing_count": 0,
- "extension_track_count": 2,
+ "extension_track_count": 3,
"extension_partial_count": 0,
"extension_planned_count": 0,
- "extension_covered_count": 2,
+ "extension_covered_count": 3,
"adaptive_extension_ready": true,
"local_blueprint_ready": true,
"public_world_class_ready": false,
@@ -5734,7 +5748,7 @@
"missing": 0
},
"extension_status_counts": {
- "covered": 2
+ "covered": 3
},
"modules": [
{
@@ -5838,7 +5852,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
- "current": "114 scripts; secrets 0; help failures 0",
+ "current": "115 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -5912,7 +5926,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
- "current": "archive entries 626; install failures 0",
+ "current": "archive entries 630; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
@@ -6439,22 +6453,50 @@
}
],
"next_action": "Start with policy and read-only scan tests; do not read shell history or private logs unless the user provides an explicit source path."
+ },
+ {
+ "key": "daily-skillops-report",
+ "label": "Daily SkillOps Report",
+ "status": "covered",
+ "objective": "Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.",
+ "current": "Daily SkillOps report is a CLI-backed, explicit-source operations cockpit with tests and committed dated evidence.",
+ "target": "Generate reports/skillops/daily/YYYY-MM-DD.* from explicit sources without private log scanning, source writes, auto-patching, or world-class overclaiming.",
+ "evidence": [
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "exists": true
+ },
+ {
+ "path": "tests/verify_daily_skillops.py",
+ "exists": true
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.json",
+ "exists": true
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.md",
+ "exists": true
+ }
+ ],
+ "next_action": "Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves."
}
],
"next_highest_leverage": [
"Close the four world-class evidence ledger entries with accepted human or external evidence.",
"Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.",
- "Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.",
+ "Use Daily SkillOps with explicit curated sources to review adaptation proposals without scanning private logs or auto-patching.",
"Keep the blueprint coverage report in CI so 2.0 plan drift is visible."
],
"source_blueprint": {
"title": "Skill Overview / Skill OS 2.0 upgrade plan",
"core_module_count": 8,
"recommended_pr_count": 13,
- "reference_extension_count": 2,
+ "reference_extension_count": 3,
"reference_extensions": [
"Skill interpretation report",
- "Adaptive self-iteration with local preference memory and approval gates"
+ "Adaptive self-iteration with local preference memory and approval gates",
+ "Daily SkillOps operations report"
]
},
"artifacts": {
@@ -6885,7 +6927,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -6915,6 +6957,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -6996,14 +7039,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -7025,7 +7068,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -7138,7 +7181,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -7168,6 +7211,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -7249,14 +7293,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -7276,7 +7320,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -7786,7 +7830,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -7816,6 +7860,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -7897,14 +7942,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -7926,7 +7971,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -8039,7 +8084,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -8069,6 +8114,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -8150,14 +8196,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -8177,7 +8223,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -8687,7 +8733,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -8717,6 +8763,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -8798,14 +8845,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -8827,7 +8874,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -8933,7 +8980,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -8963,6 +9010,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -9044,14 +9092,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -9071,7 +9119,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -9572,7 +9620,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -9602,6 +9650,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -9683,14 +9732,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -9712,7 +9761,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -9818,7 +9867,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -9848,6 +9897,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -9929,14 +9979,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -9956,7 +10006,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -10457,7 +10507,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -10487,6 +10537,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -10568,14 +10619,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -10597,7 +10648,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -10707,7 +10758,7 @@
},
"file_write": {
"required": true,
- "script_count": 70,
+ "script_count": 71,
"scripts": [
"scripts/adjudicate_output_review.py",
"scripts/apply_adaptation.py",
@@ -10737,6 +10788,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -10818,14 +10870,14 @@
},
"help_smoke": {
"enabled": true,
- "checked_count": 83,
+ "checked_count": 84,
"failed_count": 0,
"failed_scripts": []
},
"trust_summary": {
"secret_findings": 0,
"network_script_count": 3,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"subprocess_script_count": 10,
"interactive_script_count": 0,
"help_smoke_failed_count": 0
@@ -10845,7 +10897,7 @@
],
"capability_counts": {
"network": 3,
- "file_write": 70,
+ "file_write": 71,
"subprocess": 10,
"interactive": 0
},
@@ -11585,8 +11637,8 @@
"ok": true,
"skill_dir": ".",
"summary": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -11595,18 +11647,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"failures": [],
"warnings": [],
@@ -12171,6 +12223,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "interface": "cli",
+ "interface_declared": true,
+ "interface_reason": "Renders a Daily SkillOps report that summarizes explicit-source patterns, proposals, approval state, and release evidence without scanning private logs or applying patches.",
+ "has_argparse": true,
+ "has_main_guard": true,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": true,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/render_description_drift_history.py",
"interface": "cli",
@@ -13256,9 +13322,9 @@
"help_smoke": {
"enabled": true,
"timeout_seconds": 5.0,
- "candidate_count": 83,
- "checked_count": 83,
- "passed_count": 83,
+ "candidate_count": 84,
+ "checked_count": 84,
+ "passed_count": 84,
"failed_count": 0,
"skipped_count": 31,
"failed_scripts": [],
@@ -13623,6 +13689,16 @@
"stdout_excerpt": "usage: render_context_reports.py [-h] [--generated-at GENERATED_AT]\n\nRender context budget reports for root and example skills.\n\noptions:\n -h, --help show this help message and exit\n --generated-at GENERATED_AT\n ",
"stderr_excerpt": ""
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "command": "python3 scripts/render_daily_skillops_report.py --help",
+ "returncode": 0,
+ "timed_out": false,
+ "passed": true,
+ "has_help_text": true,
+ "stdout_excerpt": "usage: render_daily_skillops_report.py [-h] [--source SOURCE]\n [--patterns-json PATTERNS_JSON]\n [--proposals-json PROPOSALS_JSON]\n ",
+ "stderr_excerpt": ""
+ },
{
"path": "scripts/render_description_drift_history.py",
"command": "python3 scripts/render_description_drift_history.py --help",
@@ -14301,6 +14377,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -14411,7 +14488,7 @@
"root": ".",
"summary": {
"target_python": "3.11",
- "file_count": 182,
+ "file_count": 184,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -14680,6 +14757,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "scripts/render_description_drift_history.py",
"ok": true,
@@ -15184,6 +15267,12 @@
"issue_count": 0,
"issues": []
},
+ {
+ "path": "tests/verify_daily_skillops.py",
+ "ok": true,
+ "issue_count": 0,
+ "issues": []
+ },
{
"path": "tests/verify_description_optimization.py",
"ok": true,
@@ -15533,12 +15622,12 @@
"generated_at": "2026-06-16",
"skill_dir": ".",
"summary": {
- "python_file_count": 179,
- "script_file_count": 114,
- "test_file_count": 65,
+ "python_file_count": 181,
+ "script_file_count": 115,
+ "test_file_count": 66,
"internal_module_count": 34,
- "cli_script_count": 82,
- "command_handler_count": 65,
+ "cli_script_count": 83,
+ "command_handler_count": 66,
"entrypoint_command_handler_count": 18,
"command_module_count": 6,
"warn_line_threshold": 900,
@@ -15567,7 +15656,7 @@
},
{
"path": "scripts/yao_cli_parser.py",
- "lines": 827,
+ "lines": 843,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
@@ -15653,7 +15742,7 @@
},
{
"path": "scripts/yao_cli_parser.py",
- "lines": 827,
+ "lines": 843,
"kind": "internal-module",
"severity": "pass",
"recommendation": "Watch this file before adding new responsibilities; extract a helper module when one concern dominates."
@@ -15730,16 +15819,16 @@
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 767,
- "other_text_tokens": 987793,
+ "other_text_tokens": 1001283,
"estimated_initial_load_tokens": 960,
- "estimated_total_text_tokens": 988560,
- "deferred_resource_tokens": 454804,
+ "estimated_total_text_tokens": 1002050,
+ "deferred_resource_tokens": 461032,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114
+ "estimated_tokens": 411821,
+ "file_count": 115
},
{
"path": "references",
@@ -15755,8 +15844,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114
+ "estimated_tokens": 411821,
+ "file_count": 115
}
],
"deferred_resource_governance": {
@@ -15778,14 +15867,14 @@
],
"missing": [],
"path": "scripts",
- "estimated_tokens": 405593,
- "file_count": 114,
+ "estimated_tokens": 411821,
+ "file_count": 115,
"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": 563,
+ "relevant_file_count": 570,
"unused_resource_dirs": [],
"quality_signal_points": 130,
"quality_density": 135.4
@@ -16688,6 +16777,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
@@ -17660,7 +17750,7 @@
"adoption_drift": {
"ok": true,
"schema_version": "2.0",
- "generated_at": "2026-06-16",
+ "generated_at": "2026-06-15T20:28:46Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -17848,7 +17938,7 @@
"adaptation_proposals": {
"schema_version": "1.0",
"ok": true,
- "generated_at": "2026-06-15T00:00:00Z",
+ "generated_at": "2026-06-15T20:28:47Z",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
@@ -20013,9 +20103,9 @@
"summary": {
"ledger_ready_to_claim_world_class": false,
"ledger_pending_count": 4,
- "claim_surface_count": 176,
- "json_claim_surface_count": 86,
- "metadata_claim_surface_count": 87,
+ "claim_surface_count": 178,
+ "json_claim_surface_count": 87,
+ "metadata_claim_surface_count": 88,
"package_claim_surface_count": 17,
"violation_count": 0,
"overclaim_guard_active": true,
@@ -20617,6 +20707,14 @@
"path": "reports/skill_os2_coverage.md",
"violation_count": 0
},
+ {
+ "path": "reports/skillops/daily/2026-06-16.json",
+ "violation_count": 0
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.md",
+ "violation_count": 0
+ },
{
"path": "reports/system-model.json",
"violation_count": 0
@@ -20787,8 +20885,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -20819,7 +20917,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -20844,7 +20942,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
@@ -20867,8 +20965,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
@@ -21533,7 +21631,7 @@
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -21875,12 +21973,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/review-viewer.json b/reports/review-viewer.json
index 8981e326..5739f1a3 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": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -525,10 +525,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -553,7 +553,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -561,7 +561,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -683,7 +683,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -695,7 +695,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
"strengths": [
@@ -997,13 +997,13 @@
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1021,11 +1021,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1109,8 +1109,8 @@
"failures": []
},
"trust_security": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -1119,18 +1119,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"skill_atlas": {
"skill_count": 12,
@@ -1168,8 +1168,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -1200,7 +1200,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1216,8 +1216,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
@@ -1228,7 +1228,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1295,12 +1295,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/security_trust_report.json b/reports/security_trust_report.json
index 158b068d..2394d2c5 100644
--- a/reports/security_trust_report.json
+++ b/reports/security_trust_report.json
@@ -2,8 +2,8 @@
"ok": true,
"skill_dir": ".",
"summary": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -12,18 +12,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"failures": [],
"warnings": [],
@@ -588,6 +588,20 @@
"network_urls": [],
"network_hosts": []
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "interface": "cli",
+ "interface_declared": true,
+ "interface_reason": "Renders a Daily SkillOps report that summarizes explicit-source patterns, proposals, approval state, and release evidence without scanning private logs or applying patches.",
+ "has_argparse": true,
+ "has_main_guard": true,
+ "uses_input": false,
+ "uses_network": false,
+ "uses_file_write": true,
+ "uses_subprocess": false,
+ "network_urls": [],
+ "network_hosts": []
+ },
{
"path": "scripts/render_description_drift_history.py",
"interface": "cli",
@@ -1673,9 +1687,9 @@
"help_smoke": {
"enabled": true,
"timeout_seconds": 5.0,
- "candidate_count": 83,
- "checked_count": 83,
- "passed_count": 83,
+ "candidate_count": 84,
+ "checked_count": 84,
+ "passed_count": 84,
"failed_count": 0,
"skipped_count": 31,
"failed_scripts": [],
@@ -2040,6 +2054,16 @@
"stdout_excerpt": "usage: render_context_reports.py [-h] [--generated-at GENERATED_AT]\n\nRender context budget reports for root and example skills.\n\noptions:\n -h, --help show this help message and exit\n --generated-at GENERATED_AT\n ",
"stderr_excerpt": ""
},
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "command": "python3 scripts/render_daily_skillops_report.py --help",
+ "returncode": 0,
+ "timed_out": false,
+ "passed": true,
+ "has_help_text": true,
+ "stdout_excerpt": "usage: render_daily_skillops_report.py [-h] [--source SOURCE]\n [--patterns-json PATTERNS_JSON]\n [--proposals-json PROPOSALS_JSON]\n ",
+ "stderr_excerpt": ""
+ },
{
"path": "scripts/render_description_drift_history.py",
"command": "python3 scripts/render_description_drift_history.py --help",
@@ -2718,6 +2742,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
diff --git a/reports/security_trust_report.md b/reports/security_trust_report.md
index d4815883..a835f0df 100644
--- a/reports/security_trust_report.md
+++ b/reports/security_trust_report.md
@@ -1,22 +1,22 @@
# Security Trust Report
- OK: `True`
-- Scanned files: `201`
-- Scripts: `114`
+- Scanned files: `202`
+- Scripts: `115`
- Internal script modules: `31`
- Secret findings: `0`
- Network-capable scripts: `3`
- Network policy covered scripts: `3`
- Network policy missing scripts: `0`
-- File-write scripts: `70`
+- File-write scripts: `71`
- Permission approvals: `3 / 3`
- Permission approval gaps: `0`
-- CLI help smoke checked: `83`
+- CLI help smoke checked: `84`
- CLI help smoke failures: `0`
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
-- Package hash files: `201`
-- Package SHA256: `bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf`
+- Package hash files: `202`
+- Package SHA256: `b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083`
## Failures
@@ -54,8 +54,8 @@
- Enabled: `True`
- Timeout seconds: `5.0`
-- Checked scripts: `83`
-- Passed scripts: `83`
+- Checked scripts: `84`
+- Passed scripts: `84`
- Failed scripts: `none`
## Script Surface
@@ -101,6 +101,7 @@
| scripts/render_baseline_compare.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/render_benchmark_reproducibility.py | cli | True | True | True | False | False | True | True | Renders a release-facing benchmark reproducibility manifest and Markdown report. |
| scripts/render_context_reports.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
+| scripts/render_daily_skillops_report.py | cli | True | True | True | False | False | True | False | Renders a Daily SkillOps report that summarizes explicit-source patterns, proposals, approval state, and release evidence without scanning private logs or applying patches. |
| scripts/render_description_drift_history.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/render_eval_dashboard.py | cli | False | True | True | False | False | True | True | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
| scripts/render_evidence_consistency.py | cli | True | True | True | False | False | True | False | Renders a cross-report evidence consistency gate for generated Skill OS reports. |
diff --git a/reports/skill-interpretation.html b/reports/skill-interpretation.html
index 63517181..e0a39f16 100644
--- a/reports/skill-interpretation.html
+++ b/reports/skill-interpretation.html
@@ -930,7 +930,7 @@
让 reviewer 快速确认关键文件、目录和资产分布。 Lets reviewers confirm key files, directories, and asset distribution quickly.
-
资产分布 Asset Distribution 406项 406 items SKILL.md SKILL.md README.md README.md agents/interface.yaml agents/interface.yaml manifest.json manifest.json references references scripts scripts 资产分布图展示当前包体的文件和目录重心。 The asset distribution chart shows where files and directories are concentrated.
+
资产分布 Asset Distribution 411项 411 items SKILL.md SKILL.md README.md README.md agents/interface.yaml agents/interface.yaml manifest.json manifest.json references references scripts scripts 资产分布图展示当前包体的文件和目录重心。 The asset distribution chart shows where files and directories are concentrated.
路径 Path 作用 Role 类型 Type
SKILL.md Skill 入口文件 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-interpretation.json b/reports/skill-interpretation.json
index f2e84859..cf2d4393 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": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -525,10 +525,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -553,7 +553,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -561,7 +561,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -687,7 +687,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -699,7 +699,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
"strengths": [
@@ -1001,13 +1001,13 @@
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1025,11 +1025,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1113,8 +1113,8 @@
"failures": []
},
"trust_security": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -1123,18 +1123,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"skill_atlas": {
"skill_count": 12,
@@ -1172,8 +1172,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -1204,7 +1204,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1220,8 +1220,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
@@ -1232,7 +1232,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1299,12 +1299,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/skill-os-2-review.md b/reports/skill-os-2-review.md
index 220007eb..bb9e4786 100644
--- a/reports/skill-os-2-review.md
+++ b/reports/skill-os-2-review.md
@@ -114,13 +114,13 @@ 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, `31` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `83 / 83` CLI help smoke checks passing across `114` scripts, source-contract hash scope explicit |
+| Trust | `0` secret findings, `1` pinned dependency file, `31` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `84 / 84` CLI help smoke checks passing across `115` scripts, source-contract hash scope explicit |
| Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired |
| Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility |
| Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility |
| Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix |
-| Package Verification | `4 / 4` target adapters present, archive verified, `626` zip entries, `0` failures, `0` warnings |
-| Install Simulation | archive with `626` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
+| Package Verification | `4 / 4` target adapters present, archive verified, `630` zip entries, `0` failures, `0` warnings |
+| Install Simulation | archive with `630` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
@@ -133,7 +133,7 @@ Next move: add real client or installer permission enforcement integration.
| Benchmark Reproducibility | local reproducibility ready with `25` required artifacts, `0` missing artifacts, `23` reproduction commands, and `3` disclosed failure cases; provider and human evidence remain explicit limitations |
| IR-first Packaging | `openai`, `claude`, `generic`, and `vscode` adapters include compiler contracts, permission contracts, target-native behavior contracts, IR provenance, semantic parity checks, and install-scope notes where applicable |
| Context Budget | initial load `960/1000`, under the production budget |
-| CI | `make ci-test` target count is `77` after the world-class preflight gate update |
+| CI | `make ci-test` target count is `78` after the Daily SkillOps gate update |
## Next Highest-Leverage Moves
diff --git a/reports/skill-overview.html b/reports/skill-overview.html
index bb580ada..01fbe5aa 100644
--- a/reports/skill-overview.html
+++ b/reports/skill-overview.html
@@ -930,7 +930,7 @@
让 reviewer 快速确认关键文件、目录和资产分布。 Lets reviewers confirm key files, directories, and asset distribution quickly.
-
资产分布 Asset Distribution 406项 406 items SKILL.md SKILL.md README.md README.md agents/interface.yaml agents/interface.yaml manifest.json manifest.json references references scripts scripts 资产分布图展示当前包体的文件和目录重心。 The asset distribution chart shows where files and directories are concentrated.
+
资产分布 Asset Distribution 411项 411 items SKILL.md SKILL.md README.md README.md agents/interface.yaml agents/interface.yaml manifest.json manifest.json references references scripts scripts 资产分布图展示当前包体的文件和目录重心。 The asset distribution chart shows where files and directories are concentrated.
路径 Path 作用 Role 类型 Type
SKILL.md Skill 入口文件 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 7f0e9461..6593ffde 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": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -524,10 +524,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
- "file_count": 406,
+ "file_count": 411,
"folder_count": 4,
"distribution": [
{
@@ -552,7 +552,7 @@
},
{
"label": "scripts",
- "value": 114
+ "value": 115
},
{
"label": "evals",
@@ -560,7 +560,7 @@
},
{
"label": "reports",
- "value": 225
+ "value": 229
}
]
},
@@ -682,7 +682,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 114
+ "file_count": 115
},
{
"path": "evals",
@@ -694,7 +694,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 225
+ "file_count": 229
}
],
"strengths": [
@@ -996,13 +996,13 @@
"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": "04bfae8616aaeae0f2d12d92db024b7609b242428a81a40f6ac271ef42aa3f31",
- "source_contract_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "evidence_bundle_sha256": "4e46ec51849a179cd6db9ea908a7d49df080b3f10463d4a98e54aaa5968e37cd",
+ "source_contract_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1020,11 +1020,11 @@
"world_class_source_pass_count": 6,
"world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 60
},
- "commit": "c5165be99c8b5c2c9c07bd6017716e874567920c",
+ "commit": "5cb10444c49c40d58b76784e6c4bf993c863e827",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1108,8 +1108,8 @@
"failures": []
},
"trust_security": {
- "scanned_files": 201,
- "script_count": 114,
+ "scanned_files": 202,
+ "script_count": 115,
"internal_module_count": 31,
"secret_findings": 0,
"dependency_files": [
@@ -1118,18 +1118,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 70,
+ "file_write_script_count": 71,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 83,
+ "help_smoke_checked_count": 84,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 201,
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "package_hash_file_count": 202,
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
},
"skill_atlas": {
"skill_count": 12,
@@ -1167,8 +1167,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf",
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "package_sha256": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
"compatibility": {
"openai": "pass",
@@ -1199,7 +1199,7 @@
},
"distribution": {
"archive_verified": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1215,8 +1215,8 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
- "archive_sha256": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53",
- "archive_entry_count": 626,
+ "archive_sha256": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0",
+ "archive_entry_count": 630,
"failure_count": 0,
"warning_count": 0
},
@@ -1227,7 +1227,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 626,
+ "archive_entry_count": 630,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1294,12 +1294,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json
index f12ead15..ca6de4a8 100644
--- a/reports/skill_atlas.json
+++ b/reports/skill_atlas.json
@@ -103,6 +103,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json
index 7ad7693d..5ef6a807 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 114; help failures 0",
+ "current": "secrets 0; scripts 115; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
@@ -285,7 +285,7 @@
"key": "registry-distribution",
"label": "Registry Distribution",
"status": "pass",
- "current": "zip entries 626; install failures 0; permission failures 0",
+ "current": "zip entries 630; install failures 0; permission failures 0",
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
"evidence": [
{
diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md
index ba924770..106717e6 100644
--- a/reports/skill_os2_audit.md
+++ b/reports/skill_os2_audit.md
@@ -23,11 +23,11 @@ Generated at: `2026-06-16`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 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 114; 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 115; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. |
| Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
-| Registry Distribution | pass | zip entries 626; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
+| Registry Distribution | pass | zip entries 630; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json
index 04732a25..fb135df5 100644
--- a/reports/skill_os2_coverage.json
+++ b/reports/skill_os2_coverage.json
@@ -10,10 +10,10 @@
"pass_count": 21,
"warn_count": 0,
"missing_count": 0,
- "extension_track_count": 2,
+ "extension_track_count": 3,
"extension_partial_count": 0,
"extension_planned_count": 0,
- "extension_covered_count": 2,
+ "extension_covered_count": 3,
"adaptive_extension_ready": true,
"local_blueprint_ready": true,
"public_world_class_ready": false,
@@ -26,7 +26,7 @@
"missing": 0
},
"extension_status_counts": {
- "covered": 2
+ "covered": 3
},
"modules": [
{
@@ -130,7 +130,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
- "current": "114 scripts; secrets 0; help failures 0",
+ "current": "115 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -204,7 +204,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
- "current": "archive entries 626; install failures 0",
+ "current": "archive entries 630; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
@@ -731,22 +731,50 @@
}
],
"next_action": "Start with policy and read-only scan tests; do not read shell history or private logs unless the user provides an explicit source path."
+ },
+ {
+ "key": "daily-skillops-report",
+ "label": "Daily SkillOps Report",
+ "status": "covered",
+ "objective": "Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.",
+ "current": "Daily SkillOps report is a CLI-backed, explicit-source operations cockpit with tests and committed dated evidence.",
+ "target": "Generate reports/skillops/daily/YYYY-MM-DD.* from explicit sources without private log scanning, source writes, auto-patching, or world-class overclaiming.",
+ "evidence": [
+ {
+ "path": "scripts/render_daily_skillops_report.py",
+ "exists": true
+ },
+ {
+ "path": "tests/verify_daily_skillops.py",
+ "exists": true
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.json",
+ "exists": true
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.md",
+ "exists": true
+ }
+ ],
+ "next_action": "Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves."
}
],
"next_highest_leverage": [
"Close the four world-class evidence ledger entries with accepted human or external evidence.",
"Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.",
- "Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.",
+ "Use Daily SkillOps with explicit curated sources to review adaptation proposals without scanning private logs or auto-patching.",
"Keep the blueprint coverage report in CI so 2.0 plan drift is visible."
],
"source_blueprint": {
"title": "Skill Overview / Skill OS 2.0 upgrade plan",
"core_module_count": 8,
"recommended_pr_count": 13,
- "reference_extension_count": 2,
+ "reference_extension_count": 3,
"reference_extensions": [
"Skill interpretation report",
- "Adaptive self-iteration with local preference memory and approval gates"
+ "Adaptive self-iteration with local preference memory and approval gates",
+ "Daily SkillOps operations report"
]
},
"artifacts": {
diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md
index be57746d..a68bd477 100644
--- a/reports/skill_os2_coverage.md
+++ b/reports/skill_os2_coverage.md
@@ -10,8 +10,8 @@ Generated at: `2026-06-16`
- pass: `21` / `21`
- missing: `0`
- warn: `0`
-- reference extensions: `2`
-- extension covered: `2`
+- reference extensions: `3`
+- extension covered: `3`
- extension partial: `0`
- extension planned: `0`
- adaptive extension ready: `true`
@@ -26,9 +26,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
-| Trust Security | `pass` | 114 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
+| Trust Security | `pass` | 115 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 626; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
+| Registry Distribution | `pass` | archive entries 630; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
| Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
@@ -56,6 +56,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| --- | --- | --- | --- | --- |
| Skill Interpretation Report | `covered` | Skill Overview v2 is canonical and mirrored as first-class skill-interpretation HTML/JSON with schema and tests. | Either keep skill-overview as the canonical interpretation report with an explicit contract, or split a dedicated reports/skill-interpretation.* renderer and tests. | Keep overview and interpretation contracts in lockstep when report sections, metrics, or layout semantics change. |
| Adaptive Self-Iteration | `covered` | Full adaptive loop includes proposal, approval, patch application, regression evidence, and rollback metadata. | Proposal-only adaptation with explicit input source, redaction, allowlisted write targets, approval ledger, regression report, and rollback plan. | Start with policy and read-only scan tests; do not read shell history or private logs unless the user provides an explicit source path. |
+| Daily SkillOps Report | `covered` | Daily SkillOps report is a CLI-backed, explicit-source operations cockpit with tests and committed dated evidence. | Generate reports/skillops/daily/YYYY-MM-DD.* from explicit sources without private log scanning, source writes, auto-patching, or world-class overclaiming. | Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves. |
These extension tracks come from the user-supplied 2.0 reference plan. They are tracked separately from the formal Skill OS blueprint so the report can distinguish landed local architecture from planned explainer/adaptor evolution.
@@ -63,7 +64,7 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
- Close the four world-class evidence ledger entries with accepted human or external evidence.
- Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.
-- Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.
+- Use Daily SkillOps with explicit curated sources to review adaptation proposals without scanning private logs or auto-patching.
- Keep the blueprint coverage report in CI so 2.0 plan drift is visible.
## Evidence Detail
@@ -228,3 +229,10 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
- status: `covered`
- existing evidence: `references/autonomous-adaptation.md`, `references/user-memory-policy.md`, `schemas/adaptation-proposal.schema.json`, `scripts/summarize_user_signals.py`, `scripts/propose_adaptation.py`, `tests/verify_adaptation_safety.py`, `scripts/apply_adaptation.py`, `reports/adaptation_approval_ledger.json`, `reports/adaptation_regression_report.json`, `reports/user_patterns.json`, `reports/adaptation_proposals.json`, `reports/iteration-directions.md`, `reports/adoption_drift_report.md`
- next action: Start with policy and read-only scan tests; do not read shell history or private logs unless the user provides an explicit source path.
+
+### Daily SkillOps Report
+
+- objective: Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.
+- status: `covered`
+- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-16.json`, `reports/skillops/daily/2026-06-16.md`
+- next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves.
diff --git a/reports/skillops/daily/2026-06-16.json b/reports/skillops/daily/2026-06-16.json
new file mode 100644
index 00000000..6716c49e
--- /dev/null
+++ b/reports/skillops/daily/2026-06-16.json
@@ -0,0 +1,311 @@
+{
+ "schema_version": "1.0",
+ "ok": true,
+ "generated_at": "2026-06-16",
+ "skill_dir": ".",
+ "decision": "proposal-review",
+ "source_supplied": false,
+ "pattern_count": 5,
+ "proposal_count": 5,
+ "approval_count": 0,
+ "pending_review_count": 0,
+ "applied_count": 0,
+ "rollback_count": 0,
+ "local_blueprint_ready": true,
+ "public_world_class_ready": false,
+ "world_class_pending_count": 4,
+ "release_lock_ready": false,
+ "evidence_consistency_ok": true,
+ "writes_source_files": false,
+ "auto_patch_enabled": false,
+ "failure_count": 0,
+ "summary": {
+ "decision": "proposal-review",
+ "source_supplied": false,
+ "pattern_count": 5,
+ "proposal_count": 5,
+ "approval_count": 0,
+ "pending_review_count": 0,
+ "applied_count": 0,
+ "rollback_count": 0,
+ "local_blueprint_ready": true,
+ "public_world_class_ready": false,
+ "world_class_pending_count": 4,
+ "release_lock_ready": false,
+ "evidence_consistency_ok": true,
+ "writes_source_files": false,
+ "auto_patch_enabled": false,
+ "failure_count": 0
+ },
+ "operations_contract": {
+ "schema_version": "1.0",
+ "contract": "daily-skillops-report",
+ "explicit_source_required_for_scan": true,
+ "implicit_private_log_scan": false,
+ "raw_content_stored": false,
+ "redacted_excerpts_only": true,
+ "proposal_only": true,
+ "approval_required_for_writes": true,
+ "writes_source_files": false,
+ "auto_patch_enabled": false,
+ "daily_report_counts_as_world_class_evidence": false
+ },
+ "report_contract": {
+ "schema_version": "1.0",
+ "contract": "daily-skillops-report",
+ "top_level_mirrors_summary": true,
+ "summary_fields": [
+ "decision",
+ "source_supplied",
+ "pattern_count",
+ "proposal_count",
+ "approval_count",
+ "pending_review_count",
+ "applied_count",
+ "rollback_count",
+ "local_blueprint_ready",
+ "public_world_class_ready",
+ "world_class_pending_count",
+ "release_lock_ready",
+ "evidence_consistency_ok",
+ "writes_source_files",
+ "auto_patch_enabled",
+ "failure_count"
+ ],
+ "source_of_truth": [
+ "summary",
+ "operations_contract"
+ ]
+ },
+ "source": {
+ "path": "evals/adaptation/user_signals.example.jsonl",
+ "fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
+ "record_count": 8,
+ "explicit_source": true,
+ "raw_content_stored": false,
+ "redacted_excerpts_only": true
+ },
+ "patterns": [
+ {
+ "pattern_id": "language_default",
+ "label": "Default language preference",
+ "signal_type": "report-language",
+ "support_count": 2,
+ "confidence": 0.79,
+ "reason": "2 redacted records matched repeated report-language signals.",
+ "recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
+ "evidence": [
+ {
+ "record_id": "line-1",
+ "excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
+ },
+ {
+ "record_id": "line-2",
+ "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
+ }
+ ]
+ },
+ {
+ "pattern_id": "report_ui",
+ "label": "Report UI and visualization preference",
+ "signal_type": "artifact-design",
+ "support_count": 5,
+ "confidence": 0.95,
+ "reason": "5 redacted records matched repeated artifact-design signals.",
+ "recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
+ "evidence": [
+ {
+ "record_id": "line-1",
+ "excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
+ },
+ {
+ "record_id": "line-2",
+ "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
+ },
+ {
+ "record_id": "line-3",
+ "excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
+ }
+ ]
+ },
+ {
+ "pattern_id": "approval_safety",
+ "label": "Approval and privacy boundary",
+ "signal_type": "governance",
+ "support_count": 2,
+ "confidence": 0.79,
+ "reason": "2 redacted records matched repeated governance signals.",
+ "recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
+ "evidence": [
+ {
+ "record_id": "line-5",
+ "excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
+ },
+ {
+ "record_id": "line-6",
+ "excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
+ }
+ ]
+ },
+ {
+ "pattern_id": "delivery_format",
+ "label": "Delivery format preference",
+ "signal_type": "artifact-format",
+ "support_count": 2,
+ "confidence": 0.79,
+ "reason": "2 redacted records matched repeated artifact-format signals.",
+ "recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
+ "evidence": [
+ {
+ "record_id": "line-2",
+ "excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
+ },
+ {
+ "record_id": "line-6",
+ "excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
+ }
+ ]
+ },
+ {
+ "pattern_id": "evidence_testing",
+ "label": "Evidence and testing preference",
+ "signal_type": "quality-gate",
+ "support_count": 2,
+ "confidence": 0.79,
+ "reason": "2 redacted records matched repeated quality-gate signals.",
+ "recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
+ "evidence": [
+ {
+ "record_id": "line-7",
+ "excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
+ },
+ {
+ "record_id": "line-8",
+ "excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
+ }
+ ]
+ }
+ ],
+ "proposals": [
+ {
+ "proposal_id": "adapt-18c7517f3d",
+ "pattern_id": "language_default",
+ "title": "Keep reports Chinese-first with optional English",
+ "risk_level": "low",
+ "status": "proposal-only",
+ "requires_approval": true,
+ "target_files": [
+ "scripts/render_skill_overview.py",
+ "references/artifact-design-doctrine.md"
+ ],
+ "verification_commands": [
+ "python3 tests/verify_skill_overview.py"
+ ]
+ },
+ {
+ "proposal_id": "adapt-fbfe921ba5",
+ "pattern_id": "report_ui",
+ "title": "Improve report layout, visual hierarchy, and chart readability",
+ "risk_level": "medium",
+ "status": "proposal-only",
+ "requires_approval": true,
+ "target_files": [
+ "scripts/render_skill_overview.py",
+ "references/artifact-design-doctrine.md",
+ "tests/verify_skill_overview.py"
+ ],
+ "verification_commands": [
+ "python3 tests/verify_skill_overview.py",
+ "python3 tests/verify_skill_report_charts.py"
+ ]
+ },
+ {
+ "proposal_id": "adapt-59d219a1fb",
+ "pattern_id": "approval_safety",
+ "title": "Keep adaptive iteration approval-gated",
+ "risk_level": "low",
+ "status": "proposal-only",
+ "requires_approval": true,
+ "target_files": [
+ "references/user-memory-policy.md",
+ "references/autonomous-adaptation.md",
+ "schemas/adaptation-proposal.schema.json"
+ ],
+ "verification_commands": [
+ "python3 tests/verify_adaptation_safety.py"
+ ]
+ },
+ {
+ "proposal_id": "adapt-457baca160",
+ "pattern_id": "delivery_format",
+ "title": "Make generated artifact paths explicit in CLI output",
+ "risk_level": "low",
+ "status": "proposal-only",
+ "requires_approval": true,
+ "target_files": [
+ "scripts/yao.py",
+ "README.md"
+ ],
+ "verification_commands": [
+ "python3 tests/verify_yao_cli.py"
+ ]
+ },
+ {
+ "proposal_id": "adapt-abfee25d3a",
+ "pattern_id": "evidence_testing",
+ "title": "Attach tests and evidence refresh to each upgrade",
+ "risk_level": "medium",
+ "status": "proposal-only",
+ "requires_approval": true,
+ "target_files": [
+ "tests/verify_adaptation_safety.py",
+ "scripts/render_skill_os2_coverage.py",
+ "reports/skill_os2_coverage.json"
+ ],
+ "verification_commands": [
+ "python3 tests/verify_adaptation_safety.py",
+ "python3 tests/verify_skill_os2_coverage.py"
+ ]
+ }
+ ],
+ "approval": {
+ "approval_count": 0,
+ "pending_review_count": 0,
+ "applied_count": 0,
+ "rollback_count": 0
+ },
+ "release_state": {
+ "local_blueprint_ready": true,
+ "public_world_class_ready": false,
+ "world_class_pending_count": 4,
+ "release_lock_ready": false,
+ "evidence_consistency_ok": true
+ },
+ "actions": [
+ {
+ "key": "review-adaptation-proposals",
+ "priority": "high",
+ "action": "Review proposal-only adaptation items before preparing any approval ledger entry."
+ },
+ {
+ "key": "close-world-class-evidence",
+ "priority": "high",
+ "action": "Collect accepted external or human evidence for the pending world-class ledger entries."
+ }
+ ],
+ "failures": [],
+ "source_reports": {
+ "patterns": "reports/user_patterns.json",
+ "proposals": "reports/adaptation_proposals.json",
+ "approval_ledger": "reports/adaptation_approval_ledger.json",
+ "regression": "reports/adaptation_regression_report.json",
+ "skill_os2_coverage": "reports/skill_os2_coverage.json",
+ "world_class_ledger": "reports/world_class_evidence_ledger.json",
+ "evidence_consistency": "reports/evidence_consistency.json",
+ "benchmark_reproducibility": "reports/benchmark_reproducibility.json"
+ },
+ "artifacts": {
+ "json": "reports/skillops/daily/2026-06-16.json",
+ "markdown": "reports/skillops/daily/2026-06-16.md"
+ }
+}
diff --git a/reports/skillops/daily/2026-06-16.md b/reports/skillops/daily/2026-06-16.md
new file mode 100644
index 00000000..419683ec
--- /dev/null
+++ b/reports/skillops/daily/2026-06-16.md
@@ -0,0 +1,128 @@
+# Daily SkillOps Report
+
+Generated at: `2026-06-16`
+
+## Summary
+
+- decision: `proposal-review`
+- source supplied: `false`
+- patterns: `5`
+- proposals: `5`
+- pending approvals: `0`
+- applied patches: `0`
+- rollbacks: `0`
+- local blueprint ready: `true`
+- public world-class ready: `false`
+- world-class pending: `4`
+- release lock ready: `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.
+
+## Privacy Boundary
+
+- explicit_source_required_for_scan: `true`
+- implicit_private_log_scan: `false`
+- raw_content_stored: `false`
+- redacted_excerpts_only: `true`
+- proposal_only: `true`
+- approval_required_for_writes: `true`
+- writes_source_files: `false`
+- auto_patch_enabled: `false`
+- daily_report_counts_as_world_class_evidence: `false`
+
+## Actions
+
+- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
+- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
+
+## Patterns
+
+- `language_default`: Default language preference (support `2`, confidence `0.79`)
+- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
+- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
+- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
+- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
+
+## Proposals
+
+### Keep reports Chinese-first with optional English
+
+- ID: `adapt-18c7517f3d`
+- Pattern: `language_default`
+- Status: `proposal-only`
+- Risk: `low`
+- Requires approval: `true`
+- Target files:
+ - `scripts/render_skill_overview.py`
+ - `references/artifact-design-doctrine.md`
+- Verification:
+ - `python3 tests/verify_skill_overview.py`
+
+### Improve report layout, visual hierarchy, and chart readability
+
+- ID: `adapt-fbfe921ba5`
+- Pattern: `report_ui`
+- Status: `proposal-only`
+- Risk: `medium`
+- Requires approval: `true`
+- Target files:
+ - `scripts/render_skill_overview.py`
+ - `references/artifact-design-doctrine.md`
+ - `tests/verify_skill_overview.py`
+- Verification:
+ - `python3 tests/verify_skill_overview.py`
+ - `python3 tests/verify_skill_report_charts.py`
+
+### Keep adaptive iteration approval-gated
+
+- ID: `adapt-59d219a1fb`
+- Pattern: `approval_safety`
+- Status: `proposal-only`
+- Risk: `low`
+- Requires approval: `true`
+- Target files:
+ - `references/user-memory-policy.md`
+ - `references/autonomous-adaptation.md`
+ - `schemas/adaptation-proposal.schema.json`
+- Verification:
+ - `python3 tests/verify_adaptation_safety.py`
+
+### Make generated artifact paths explicit in CLI output
+
+- ID: `adapt-457baca160`
+- Pattern: `delivery_format`
+- Status: `proposal-only`
+- Risk: `low`
+- Requires approval: `true`
+- Target files:
+ - `scripts/yao.py`
+ - `README.md`
+- Verification:
+ - `python3 tests/verify_yao_cli.py`
+
+### Attach tests and evidence refresh to each upgrade
+
+- ID: `adapt-abfee25d3a`
+- Pattern: `evidence_testing`
+- Status: `proposal-only`
+- Risk: `medium`
+- Requires approval: `true`
+- Target files:
+ - `tests/verify_adaptation_safety.py`
+ - `scripts/render_skill_os2_coverage.py`
+ - `reports/skill_os2_coverage.json`
+- Verification:
+ - `python3 tests/verify_adaptation_safety.py`
+ - `python3 tests/verify_skill_os2_coverage.py`
+
+## Evidence
+
+- patterns: `reports/user_patterns.json`
+- proposals: `reports/adaptation_proposals.json`
+- approval_ledger: `reports/adaptation_approval_ledger.json`
+- regression: `reports/adaptation_regression_report.json`
+- skill_os2_coverage: `reports/skill_os2_coverage.json`
+- world_class_ledger: `reports/world_class_evidence_ledger.json`
+- evidence_consistency: `reports/evidence_consistency.json`
+- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json
index 6d4c7317..706ec20f 100644
--- a/reports/upgrade_check.json
+++ b/reports/upgrade_check.json
@@ -70,12 +70,12 @@
{
"field": "archive_sha256",
"from": "",
- "to": "feb9e0ecf8390c4541b91b78c664d15dfffe7e8999a0602dcf9a44fd03afeb53"
+ "to": "a521b75a29e5761e4a90df6055d0c0316e615add8d32168960f80bf89a99c8a0"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "bcfcc1a7fc34bd4b70746355ca3627bebc8a3c57a4703c014192aabbf8296ddf"
+ "to": "b6abceeea0f2329299123b8e295469602f9e742298f729e60d9b56ef49b48083"
}
]
},
diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json
index 91fcc32f..a4f2f9c3 100644
--- a/reports/world_class_claim_guard.json
+++ b/reports/world_class_claim_guard.json
@@ -6,9 +6,9 @@
"summary": {
"ledger_ready_to_claim_world_class": false,
"ledger_pending_count": 4,
- "claim_surface_count": 176,
- "json_claim_surface_count": 86,
- "metadata_claim_surface_count": 87,
+ "claim_surface_count": 178,
+ "json_claim_surface_count": 87,
+ "metadata_claim_surface_count": 88,
"package_claim_surface_count": 17,
"violation_count": 0,
"overclaim_guard_active": true,
@@ -610,6 +610,14 @@
"path": "reports/skill_os2_coverage.md",
"violation_count": 0
},
+ {
+ "path": "reports/skillops/daily/2026-06-16.json",
+ "violation_count": 0
+ },
+ {
+ "path": "reports/skillops/daily/2026-06-16.md",
+ "violation_count": 0
+ },
{
"path": "reports/system-model.json",
"violation_count": 0
diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md
index e1467637..ee6c3083 100644
--- a/reports/world_class_claim_guard.md
+++ b/reports/world_class_claim_guard.md
@@ -7,9 +7,9 @@ Generated at: `2026-06-16`
- decision: `claim-guard-pass-evidence-pending`
- ledger ready to claim world-class: `false`
- ledger pending evidence: `4`
-- claim surfaces scanned: `176`
-- JSON claim surfaces scanned: `86`
-- metadata claim surfaces scanned: `87`
+- claim surfaces scanned: `178`
+- JSON claim surfaces scanned: `87`
+- metadata claim surfaces scanned: `88`
- package/runtime claim surfaces scanned: `17`
- violations: `0`
- overclaim guard active: `true`
diff --git a/scripts/ci_test.py b/scripts/ci_test.py
index 7a34f501..70c726d2 100644
--- a/scripts/ci_test.py
+++ b/scripts/ci_test.py
@@ -67,6 +67,7 @@ DEFAULT_TARGETS = [
"evidence-consistency-check",
"feedback-check",
"adaptation-safety-check",
+ "daily-skillops-check",
"adoption-drift-check",
"telemetry-import-check",
"telemetry-emit-check",
diff --git a/scripts/evidence_consistency_release.py b/scripts/evidence_consistency_release.py
index ca797060..bca6a9f7 100644
--- a/scripts/evidence_consistency_release.py
+++ b/scripts/evidence_consistency_release.py
@@ -31,6 +31,7 @@ SOURCE_REFRESH_REPORT_COMMANDS = [
'python3 scripts/render_world_class_submission_review.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_world_class_operator_runbook.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_world_class_claim_guard.py . --generated-at "$GENERATED_AT"',
+ 'python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_skill_os2_audit.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_skill_os2_coverage.py . --generated-at "$GENERATED_AT"',
'python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"',
@@ -45,6 +46,7 @@ SOURCE_REFRESH_REPORT_COMMANDS = [
CLEAN_LOCK_REPORT_COMMANDS = [
'python3 scripts/render_context_reports.py --generated-at "$GENERATED_AT"',
'python3 scripts/render_benchmark_reproducibility.py . --generated-at "$GENERATED_AT"',
+ 'python3 scripts/render_daily_skillops_report.py . --generated-at "$GENERATED_AT"',
"python3 scripts/render_skill_overview.py .",
"python3 scripts/render_skill_interpretation.py .",
"python3 scripts/render_review_viewer.py .",
@@ -116,6 +118,7 @@ def build_release_evidence_flow_check(skill_dir: Path) -> dict[str, Any]:
"reports/skill-interpretation.json",
"reports/review-viewer.json",
"reports/world_class_evidence_preflight.json",
+ "reports/skillops/daily",
"reports/review-studio.json",
"reports/evidence_consistency.json",
],
diff --git a/scripts/render_daily_skillops_report.py b/scripts/render_daily_skillops_report.py
new file mode 100644
index 00000000..f49ff8d1
--- /dev/null
+++ b/scripts/render_daily_skillops_report.py
@@ -0,0 +1,455 @@
+#!/usr/bin/env python3
+import argparse
+import json
+from datetime import date, datetime, timezone
+from pathlib import Path
+from tempfile import TemporaryDirectory
+from typing import Any
+
+from propose_adaptation import build_report as build_proposal_report
+from propose_adaptation import render_markdown as render_proposals_markdown
+from summarize_user_signals import build_report as build_pattern_report
+from summarize_user_signals import render_markdown as render_patterns_markdown
+
+
+ROOT = Path(__file__).resolve().parent.parent
+SCRIPT_INTERFACE = "cli"
+SCRIPT_INTERFACE_REASON = "Renders a Daily SkillOps report that summarizes explicit-source patterns, proposals, approval state, and release evidence without scanning private logs or applying patches."
+
+SUMMARY_FIELDS = [
+ "decision",
+ "source_supplied",
+ "pattern_count",
+ "proposal_count",
+ "approval_count",
+ "pending_review_count",
+ "applied_count",
+ "rollback_count",
+ "local_blueprint_ready",
+ "public_world_class_ready",
+ "world_class_pending_count",
+ "release_lock_ready",
+ "evidence_consistency_ok",
+ "writes_source_files",
+ "auto_patch_enabled",
+ "failure_count",
+]
+
+
+def utc_now() -> str:
+ return datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z")
+
+
+def report_date(generated_at: str) -> str:
+ if len(generated_at) >= 10:
+ candidate = generated_at[:10]
+ try:
+ date.fromisoformat(candidate)
+ return candidate
+ except ValueError:
+ pass
+ return date.today().isoformat()
+
+
+def display_path(path: Path, root: Path) -> str:
+ try:
+ return str(path.resolve().relative_to(root.resolve()))
+ except ValueError:
+ return f"[external-explicit-source]/{path.name}"
+
+
+def resolve_output(skill_dir: Path, value: str) -> Path:
+ path = Path(value)
+ return path if path.is_absolute() else skill_dir / path
+
+
+def load_json(path: Path) -> dict[str, Any]:
+ if not path.exists():
+ return {}
+ try:
+ payload = json.loads(path.read_text(encoding="utf-8"))
+ except json.JSONDecodeError:
+ return {}
+ return payload if isinstance(payload, dict) else {}
+
+
+def write_json(path: Path, payload: dict[str, Any]) -> None:
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
+
+
+def write_text(path: Path, text: str) -> None:
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(text, encoding="utf-8")
+
+
+def default_daily_path(skill_dir: Path, generated_at: str, suffix: str) -> Path:
+ return skill_dir / "reports" / "skillops" / "daily" / f"{report_date(generated_at)}.{suffix}"
+
+
+def source_summary(patterns: dict[str, Any]) -> dict[str, Any]:
+ source = patterns.get("source", {}) if isinstance(patterns.get("source"), dict) else {}
+ privacy = patterns.get("privacy_contract", {}) if isinstance(patterns.get("privacy_contract"), dict) else {}
+ return {
+ "path": source.get("path", ""),
+ "fingerprint_sha256": source.get("fingerprint_sha256", ""),
+ "record_count": source.get("record_count", 0),
+ "explicit_source": privacy.get("explicit_source_required") is True,
+ "raw_content_stored": privacy.get("raw_content_stored") is True,
+ "redacted_excerpts_only": privacy.get("redacted_excerpts_only") is True,
+ }
+
+
+def compact_proposals(proposals: dict[str, Any]) -> list[dict[str, Any]]:
+ rows = []
+ for item in proposals.get("proposals", []):
+ if not isinstance(item, dict):
+ continue
+ rows.append(
+ {
+ "proposal_id": item.get("proposal_id", ""),
+ "pattern_id": item.get("pattern_id", ""),
+ "title": item.get("title", ""),
+ "risk_level": item.get("risk_level", ""),
+ "status": item.get("status", ""),
+ "requires_approval": item.get("requires_approval") is True,
+ "target_files": item.get("target_files", []),
+ "verification_commands": item.get("verification_commands", []),
+ }
+ )
+ return rows
+
+
+def build_actions(summary: dict[str, Any], proposal_rows: list[dict[str, Any]]) -> list[dict[str, str]]:
+ actions: list[dict[str, str]] = []
+ if summary["source_supplied"] is False and summary["pattern_count"] == 0:
+ actions.append(
+ {
+ "key": "provide-explicit-source",
+ "priority": "medium",
+ "action": "Run daily-skillops with --source pointing to a curated JSONL or Markdown conversation summary.",
+ }
+ )
+ if proposal_rows:
+ actions.append(
+ {
+ "key": "review-adaptation-proposals",
+ "priority": "high",
+ "action": "Review proposal-only adaptation items before preparing any approval ledger entry.",
+ }
+ )
+ if summary["pending_review_count"]:
+ actions.append(
+ {
+ "key": "resolve-pending-approvals",
+ "priority": "high",
+ "action": "Approve, reject, or expire pending adaptive approval ledger entries before applying patches.",
+ }
+ )
+ if summary["world_class_pending_count"]:
+ actions.append(
+ {
+ "key": "close-world-class-evidence",
+ "priority": "high",
+ "action": "Collect accepted external or human evidence for the pending world-class ledger entries.",
+ }
+ )
+ if summary["evidence_consistency_ok"] is not True:
+ actions.append(
+ {
+ "key": "refresh-evidence-consistency",
+ "priority": "high",
+ "action": "Regenerate evidence-consistency before using this report for release decisions.",
+ }
+ )
+ if not actions:
+ actions.append(
+ {
+ "key": "monitor",
+ "priority": "low",
+ "action": "No action required beyond routine daily monitoring.",
+ }
+ )
+ return actions
+
+
+def build_report(
+ skill_dir: Path,
+ generated_at: str,
+ source: Path | None = None,
+ min_support: int = 2,
+ allow_history_source: bool = False,
+ patterns_json: Path | None = None,
+ proposals_json: Path | None = None,
+ write_source_reports: bool = True,
+) -> dict[str, Any]:
+ skill_dir = skill_dir.resolve()
+ reports = skill_dir / "reports"
+ patterns_path = resolve_output(skill_dir, str(patterns_json or "reports/user_patterns.json"))
+ proposals_path = resolve_output(skill_dir, str(proposals_json or "reports/adaptation_proposals.json"))
+ failures: list[str] = []
+
+ if source is not None:
+ pattern_report = build_pattern_report(
+ skill_dir,
+ source,
+ min_support=max(2, min_support),
+ generated_at=generated_at,
+ allow_history_source=allow_history_source,
+ )
+ if pattern_report.get("ok") is True and write_source_reports:
+ pattern_report["artifacts"] = {
+ "json": display_path(patterns_path, skill_dir),
+ "markdown": display_path(patterns_path.with_suffix(".md"), skill_dir),
+ }
+ write_json(patterns_path, pattern_report)
+ write_text(patterns_path.with_suffix(".md"), render_patterns_markdown(pattern_report))
+ else:
+ failures.extend(pattern_report.get("failures", []))
+ else:
+ pattern_report = load_json(patterns_path)
+
+ if pattern_report and pattern_report.get("ok") is True:
+ proposal_source_path = patterns_path
+ with TemporaryDirectory() as temp_dir:
+ if source is not None and not write_source_reports:
+ proposal_source_path = Path(temp_dir) / "user_patterns.json"
+ write_json(proposal_source_path, pattern_report)
+ proposal_report = build_proposal_report(skill_dir, proposal_source_path, generated_at)
+ if proposal_report.get("ok") is True and write_source_reports:
+ proposal_report["artifacts"] = {
+ "json": display_path(proposals_path, skill_dir),
+ "markdown": display_path(proposals_path.with_suffix(".md"), skill_dir),
+ }
+ write_json(proposals_path, proposal_report)
+ write_text(proposals_path.with_suffix(".md"), render_proposals_markdown(proposal_report))
+ elif proposal_report.get("ok") is not True:
+ failures.extend(proposal_report.get("failures", []))
+ else:
+ proposal_report = load_json(proposals_path)
+ if source is not None and not pattern_report:
+ failures.append("Pattern report could not be built from the explicit source.")
+
+ approval = load_json(reports / "adaptation_approval_ledger.json")
+ regression = load_json(reports / "adaptation_regression_report.json")
+ coverage = load_json(reports / "skill_os2_coverage.json")
+ ledger = load_json(reports / "world_class_evidence_ledger.json")
+ consistency = load_json(reports / "evidence_consistency.json")
+ benchmark = load_json(reports / "benchmark_reproducibility.json")
+
+ pattern_summary = pattern_report.get("summary", {}) if isinstance(pattern_report.get("summary"), dict) else {}
+ proposal_summary = proposal_report.get("summary", {}) if isinstance(proposal_report.get("summary"), dict) else {}
+ approval_summary = approval.get("summary", {}) if isinstance(approval.get("summary"), dict) else {}
+ regression_summary = regression.get("summary", {}) if isinstance(regression.get("summary"), dict) else {}
+ coverage_summary = coverage.get("summary", {}) if isinstance(coverage.get("summary"), dict) else {}
+ ledger_summary = ledger.get("summary", {}) if isinstance(ledger.get("summary"), dict) else {}
+ benchmark_summary = benchmark.get("summary", {}) if isinstance(benchmark.get("summary"), dict) else {}
+ proposal_contract = proposal_report.get("proposal_contract", {}) if isinstance(proposal_report.get("proposal_contract"), dict) else {}
+
+ proposal_rows = compact_proposals(proposal_report)
+ failure_count = len(failures)
+ summary = {
+ "decision": "blocked" if failure_count else "proposal-review" if proposal_rows else "monitor",
+ "source_supplied": source is not None,
+ "pattern_count": int(pattern_summary.get("pattern_count", 0) or 0),
+ "proposal_count": int(proposal_summary.get("proposal_count", 0) or len(proposal_rows)),
+ "approval_count": int(approval_summary.get("approval_count", 0) or 0),
+ "pending_review_count": int(approval_summary.get("pending_review_count", 0) or 0),
+ "applied_count": int(approval_summary.get("applied_count", 0) or regression_summary.get("applied_count", 0) or 0),
+ "rollback_count": int(approval_summary.get("rollback_count", 0) or regression_summary.get("rollback_count", 0) or 0),
+ "local_blueprint_ready": coverage_summary.get("local_blueprint_ready") is True,
+ "public_world_class_ready": coverage_summary.get("public_world_class_ready") is True,
+ "world_class_pending_count": int(ledger_summary.get("pending_count", coverage_summary.get("world_class_evidence_pending_count", 0)) or 0),
+ "release_lock_ready": benchmark_summary.get("release_lock_ready") is True,
+ "evidence_consistency_ok": consistency.get("ok") is True,
+ "writes_source_files": False,
+ "auto_patch_enabled": False,
+ "failure_count": failure_count,
+ }
+ actions = build_actions(summary, proposal_rows)
+ operations_contract = {
+ "schema_version": "1.0",
+ "contract": "daily-skillops-report",
+ "explicit_source_required_for_scan": True,
+ "implicit_private_log_scan": False,
+ "raw_content_stored": False,
+ "redacted_excerpts_only": True,
+ "proposal_only": proposal_contract.get("proposal_only") is not False,
+ "approval_required_for_writes": True,
+ "writes_source_files": False,
+ "auto_patch_enabled": False,
+ "daily_report_counts_as_world_class_evidence": False,
+ }
+ report = {
+ "schema_version": "1.0",
+ "ok": failure_count == 0,
+ "generated_at": generated_at,
+ "skill_dir": display_path(skill_dir, skill_dir),
+ **{key: summary[key] for key in SUMMARY_FIELDS},
+ "summary": summary,
+ "operations_contract": operations_contract,
+ "report_contract": {
+ "schema_version": "1.0",
+ "contract": "daily-skillops-report",
+ "top_level_mirrors_summary": True,
+ "summary_fields": SUMMARY_FIELDS,
+ "source_of_truth": ["summary", "operations_contract"],
+ },
+ "source": source_summary(pattern_report) if pattern_report else {},
+ "patterns": pattern_report.get("patterns", []) if isinstance(pattern_report.get("patterns"), list) else [],
+ "proposals": proposal_rows,
+ "approval": {
+ "approval_count": summary["approval_count"],
+ "pending_review_count": summary["pending_review_count"],
+ "applied_count": summary["applied_count"],
+ "rollback_count": summary["rollback_count"],
+ },
+ "release_state": {
+ "local_blueprint_ready": summary["local_blueprint_ready"],
+ "public_world_class_ready": summary["public_world_class_ready"],
+ "world_class_pending_count": summary["world_class_pending_count"],
+ "release_lock_ready": summary["release_lock_ready"],
+ "evidence_consistency_ok": summary["evidence_consistency_ok"],
+ },
+ "actions": actions,
+ "failures": failures,
+ "source_reports": {
+ "patterns": display_path(patterns_path, skill_dir),
+ "proposals": display_path(proposals_path, skill_dir),
+ "approval_ledger": "reports/adaptation_approval_ledger.json",
+ "regression": "reports/adaptation_regression_report.json",
+ "skill_os2_coverage": "reports/skill_os2_coverage.json",
+ "world_class_ledger": "reports/world_class_evidence_ledger.json",
+ "evidence_consistency": "reports/evidence_consistency.json",
+ "benchmark_reproducibility": "reports/benchmark_reproducibility.json",
+ },
+ "artifacts": {
+ "json": str(default_daily_path(skill_dir, generated_at, "json").relative_to(skill_dir)),
+ "markdown": str(default_daily_path(skill_dir, generated_at, "md").relative_to(skill_dir)),
+ },
+ }
+ return report
+
+
+def render_markdown(report: dict[str, Any]) -> str:
+ summary = report["summary"]
+ lines = [
+ "# Daily SkillOps Report",
+ "",
+ f"Generated at: `{report['generated_at']}`",
+ "",
+ "## Summary",
+ "",
+ f"- decision: `{summary['decision']}`",
+ f"- source supplied: `{str(summary['source_supplied']).lower()}`",
+ f"- patterns: `{summary['pattern_count']}`",
+ f"- proposals: `{summary['proposal_count']}`",
+ f"- pending approvals: `{summary['pending_review_count']}`",
+ f"- applied patches: `{summary['applied_count']}`",
+ f"- rollbacks: `{summary['rollback_count']}`",
+ f"- local blueprint ready: `{str(summary['local_blueprint_ready']).lower()}`",
+ f"- public world-class ready: `{str(summary['public_world_class_ready']).lower()}`",
+ f"- world-class pending: `{summary['world_class_pending_count']}`",
+ f"- release lock ready: `{str(summary['release_lock_ready']).lower()}`",
+ f"- evidence consistency ok: `{str(summary['evidence_consistency_ok']).lower()}`",
+ "",
+ "This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.",
+ "",
+ "## Privacy Boundary",
+ "",
+ ]
+ contract = report["operations_contract"]
+ for key in [
+ "explicit_source_required_for_scan",
+ "implicit_private_log_scan",
+ "raw_content_stored",
+ "redacted_excerpts_only",
+ "proposal_only",
+ "approval_required_for_writes",
+ "writes_source_files",
+ "auto_patch_enabled",
+ "daily_report_counts_as_world_class_evidence",
+ ]:
+ lines.append(f"- {key}: `{str(contract[key]).lower()}`")
+ lines.extend(["", "## Actions", ""])
+ for action in report["actions"]:
+ lines.append(f"- `{action['priority']}` {action['action']}")
+ lines.extend(["", "## Patterns", ""])
+ patterns = report.get("patterns", [])
+ if not patterns:
+ lines.append("- No repeated pattern met the support threshold.")
+ for pattern in patterns:
+ lines.append(
+ f"- `{pattern.get('pattern_id', '')}`: {pattern.get('label', '')} "
+ f"(support `{pattern.get('support_count', 0)}`, confidence `{pattern.get('confidence', '')}`)"
+ )
+ lines.extend(["", "## Proposals", ""])
+ proposals = report.get("proposals", [])
+ if not proposals:
+ lines.append("- No adaptation proposals are waiting for review.")
+ for proposal in proposals:
+ lines.extend(
+ [
+ f"### {proposal['title']}",
+ "",
+ f"- ID: `{proposal['proposal_id']}`",
+ f"- Pattern: `{proposal['pattern_id']}`",
+ f"- Status: `{proposal['status']}`",
+ f"- Risk: `{proposal['risk_level']}`",
+ f"- Requires approval: `{str(proposal['requires_approval']).lower()}`",
+ "- Target files:",
+ ]
+ )
+ lines.extend(f" - `{path}`" for path in proposal.get("target_files", []))
+ lines.append("- Verification:")
+ lines.extend(f" - `{command}`" for command in proposal.get("verification_commands", []))
+ lines.append("")
+ lines.extend(["## Evidence", ""])
+ for label, path in report["source_reports"].items():
+ lines.append(f"- {label}: `{path}`")
+ if report["failures"]:
+ lines.extend(["", "## Failures", ""])
+ lines.extend(f"- {failure}" for failure in report["failures"])
+ return "\n".join(lines).rstrip() + "\n"
+
+
+def main() -> None:
+ parser = argparse.ArgumentParser(description="Render a Daily SkillOps report from explicit-source adaptive evidence.")
+ parser.add_argument("skill_dir", nargs="?", default=".")
+ parser.add_argument("--source", help="Explicit curated source file to scan before rendering the daily report.")
+ parser.add_argument("--patterns-json", default="reports/user_patterns.json")
+ parser.add_argument("--proposals-json", default="reports/adaptation_proposals.json")
+ parser.add_argument("--output-json")
+ parser.add_argument("--output-md")
+ parser.add_argument("--min-support", type=int, default=2)
+ parser.add_argument("--generated-at", default=utc_now())
+ parser.add_argument("--allow-history-source", action="store_true")
+ parser.add_argument("--no-refresh-source-reports", action="store_true")
+ args = parser.parse_args()
+
+ skill_dir = Path(args.skill_dir).resolve()
+ report = build_report(
+ skill_dir,
+ args.generated_at,
+ source=Path(args.source) if args.source else None,
+ min_support=args.min_support,
+ allow_history_source=args.allow_history_source,
+ patterns_json=Path(args.patterns_json),
+ proposals_json=Path(args.proposals_json),
+ write_source_reports=not args.no_refresh_source_reports,
+ )
+ output_json = resolve_output(skill_dir, args.output_json) if args.output_json else default_daily_path(skill_dir, args.generated_at, "json")
+ output_md = resolve_output(skill_dir, args.output_md) if args.output_md else default_daily_path(skill_dir, args.generated_at, "md")
+ report["artifacts"] = {
+ "json": display_path(output_json, skill_dir),
+ "markdown": display_path(output_md, skill_dir),
+ }
+ write_json(output_json, report)
+ write_text(output_md, render_markdown(report))
+ print(json.dumps(report, ensure_ascii=False, indent=2))
+ if not report["ok"]:
+ raise SystemExit(2)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/render_skill_os2_coverage.py b/scripts/render_skill_os2_coverage.py
index 80124acd..76a96cfe 100644
--- a/scripts/render_skill_os2_coverage.py
+++ b/scripts/render_skill_os2_coverage.py
@@ -55,6 +55,24 @@ def paths_exist(skill_dir: Path, paths: list[str]) -> bool:
return all((skill_dir / item).exists() for item in paths)
+def latest_daily_skillops_paths(skill_dir: Path) -> list[str]:
+ base_paths = [
+ "scripts/render_daily_skillops_report.py",
+ "tests/verify_daily_skillops.py",
+ ]
+ daily_dir = skill_dir / "reports" / "skillops" / "daily"
+ daily_json_reports = sorted(daily_dir.glob("*.json")) if daily_dir.exists() else []
+ if not daily_json_reports:
+ return [
+ *base_paths,
+ "reports/skillops/daily/YYYY-MM-DD.json",
+ "reports/skillops/daily/YYYY-MM-DD.md",
+ ]
+ latest_json = daily_json_reports[-1]
+ latest_md = latest_json.with_suffix(".md")
+ return [*base_paths, rel_path(latest_json, skill_dir), rel_path(latest_md, skill_dir)]
+
+
def condition_status(condition: bool, evidence_items: list[dict[str, Any]]) -> str:
if not all_exist(evidence_items):
return "missing"
@@ -387,6 +405,26 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]:
skill_dir=skill_dir,
)
)
+ daily_skillops_paths = latest_daily_skillops_paths(skill_dir)
+ daily_skillops_ready = paths_exist(skill_dir, daily_skillops_paths)
+ daily_skillops_status = "covered" if daily_skillops_ready else "partial"
+ extension_tracks.append(
+ build_extension_track(
+ key="daily-skillops-report",
+ label="Daily SkillOps Report",
+ status=daily_skillops_status,
+ objective="Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.",
+ current=(
+ "Daily SkillOps report is a CLI-backed, explicit-source operations cockpit with tests and committed dated evidence."
+ if daily_skillops_ready
+ else "Adaptive scan/propose exists, but the daily operations report is not fully wired into scripts, tests, and evidence artifacts."
+ ),
+ target="Generate reports/skillops/daily/YYYY-MM-DD.* from explicit sources without private log scanning, source writes, auto-patching, or world-class overclaiming.",
+ artifact_paths=daily_skillops_paths,
+ next_action="Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves.",
+ skill_dir=skill_dir,
+ )
+ )
extension_counts: dict[str, int] = {}
for item in extension_tracks:
extension_counts[item["status"]] = extension_counts.get(item["status"], 0) + 1
@@ -429,7 +467,7 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]:
"next_highest_leverage": [
"Close the four world-class evidence ledger entries with accepted human or external evidence.",
"Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.",
- "Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.",
+ "Use Daily SkillOps with explicit curated sources to review adaptation proposals without scanning private logs or auto-patching.",
"Keep the blueprint coverage report in CI so 2.0 plan drift is visible.",
],
"source_blueprint": {
@@ -440,6 +478,7 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]:
"reference_extensions": [
"Skill interpretation report",
"Adaptive self-iteration with local preference memory and approval gates",
+ "Daily SkillOps operations report",
],
},
"artifacts": {
diff --git a/scripts/yao.py b/scripts/yao.py
index 0113d5d5..5dd33f93 100644
--- a/scripts/yao.py
+++ b/scripts/yao.py
@@ -10,7 +10,7 @@ from yao_cli_config import (
resolve_promotion_target,
resolve_target,
)
-from yao_cli_adaptation_commands import command_adapt_apply, command_adapt_propose, command_adapt_scan
+from yao_cli_adaptation_commands import command_adapt_apply, command_adapt_propose, command_adapt_scan, command_daily_skillops
from yao_cli_create_commands import command_init, command_quickstart
from yao_cli_distribution_commands import (
command_compile_skill,
diff --git a/scripts/yao_cli_adaptation_commands.py b/scripts/yao_cli_adaptation_commands.py
index f55c3ec3..9450f462 100644
--- a/scripts/yao_cli_adaptation_commands.py
+++ b/scripts/yao_cli_adaptation_commands.py
@@ -77,3 +77,29 @@ def command_adapt_apply(args: argparse.Namespace) -> int:
result = run_script("apply_adaptation.py", cmd)
print(json.dumps(result["payload"] if result["payload"] is not None else result, ensure_ascii=False, indent=2))
return 0 if result["ok"] else 2
+
+
+def command_daily_skillops(args: argparse.Namespace) -> int:
+ skill_dir = str(Path(args.skill_dir).resolve())
+ cmd = [skill_dir]
+ if args.source:
+ cmd.extend(["--source", args.source])
+ if args.patterns_json:
+ cmd.extend(["--patterns-json", args.patterns_json])
+ if args.proposals_json:
+ cmd.extend(["--proposals-json", args.proposals_json])
+ if args.output_json:
+ cmd.extend(["--output-json", args.output_json])
+ if args.output_md:
+ cmd.extend(["--output-md", args.output_md])
+ if args.min_support is not None:
+ cmd.extend(["--min-support", str(args.min_support)])
+ if args.generated_at:
+ cmd.extend(["--generated-at", args.generated_at])
+ if args.allow_history_source:
+ cmd.append("--allow-history-source")
+ if args.no_refresh_source_reports:
+ cmd.append("--no-refresh-source-reports")
+ result = run_script("render_daily_skillops_report.py", cmd)
+ print(json.dumps(result["payload"] if result["payload"] is not None else result, ensure_ascii=False, indent=2))
+ return 0 if result["ok"] else 2
diff --git a/scripts/yao_cli_parser.py b/scripts/yao_cli_parser.py
index 4ad7c453..3c69114a 100644
--- a/scripts/yao_cli_parser.py
+++ b/scripts/yao_cli_parser.py
@@ -459,6 +459,22 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int]
adapt_apply_cmd.set_defaults(rollback_on_failure=True)
adapt_apply_cmd.set_defaults(func=_handler(command_handlers, "command_adapt_apply"))
+ daily_skillops_cmd = subparsers.add_parser(
+ "daily-skillops",
+ help="Render a Daily SkillOps report from explicit-source adaptive evidence without scanning private logs or applying patches.",
+ )
+ daily_skillops_cmd.add_argument("skill_dir", nargs="?", default=".")
+ daily_skillops_cmd.add_argument("--source")
+ daily_skillops_cmd.add_argument("--patterns-json", default="reports/user_patterns.json")
+ daily_skillops_cmd.add_argument("--proposals-json", default="reports/adaptation_proposals.json")
+ daily_skillops_cmd.add_argument("--output-json")
+ daily_skillops_cmd.add_argument("--output-md")
+ daily_skillops_cmd.add_argument("--min-support", type=int, default=2)
+ daily_skillops_cmd.add_argument("--generated-at")
+ daily_skillops_cmd.add_argument("--allow-history-source", action="store_true")
+ daily_skillops_cmd.add_argument("--no-refresh-source-reports", action="store_true")
+ daily_skillops_cmd.set_defaults(func=_handler(command_handlers, "command_daily_skillops"))
+
adoption_drift_cmd = subparsers.add_parser(
"adoption-drift",
help="Render local-first metadata-only adoption and drift telemetry for a skill package.",
diff --git a/scripts/yao_cli_report_commands.py b/scripts/yao_cli_report_commands.py
index e77698c4..703638db 100644
--- a/scripts/yao_cli_report_commands.py
+++ b/scripts/yao_cli_report_commands.py
@@ -76,6 +76,7 @@ def command_report(args: argparse.Namespace) -> int:
run_script("render_world_class_submission_review.py", [str(ROOT)]),
run_script("render_world_class_operator_runbook.py", [str(ROOT)]),
run_script("render_world_class_claim_guard.py", [str(ROOT)]),
+ run_script("render_daily_skillops_report.py", [str(ROOT)]),
run_script("render_skill_os2_coverage.py", [str(ROOT)]),
run_script("render_benchmark_reproducibility.py", [str(ROOT)]),
run_script("render_skill_overview.py", [str(ROOT)]),
@@ -120,6 +121,7 @@ def command_report(args: argparse.Namespace) -> int:
"world_class_submission_review": "reports/world_class_submission_review.json",
"world_class_operator_runbook": "reports/world_class_operator_runbook.json",
"world_class_claim_guard": "reports/world_class_claim_guard.json",
+ "daily_skillops": "reports/skillops/daily",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json",
"skill_overview": "reports/skill-overview.json",
diff --git a/skill_atlas/catalog.json b/skill_atlas/catalog.json
index 6fc29338..29e6f30d 100644
--- a/skill_atlas/catalog.json
+++ b/skill_atlas/catalog.json
@@ -59,6 +59,7 @@
"scripts/render_baseline_compare.py",
"scripts/render_benchmark_reproducibility.py",
"scripts/render_context_reports.py",
+ "scripts/render_daily_skillops_report.py",
"scripts/render_description_drift_history.py",
"scripts/render_eval_dashboard.py",
"scripts/render_evidence_consistency.py",
diff --git a/tests/verify_daily_skillops.py b/tests/verify_daily_skillops.py
new file mode 100644
index 00000000..9c9a830f
--- /dev/null
+++ b/tests/verify_daily_skillops.py
@@ -0,0 +1,236 @@
+#!/usr/bin/env python3
+import json
+import shutil
+import subprocess
+import sys
+from pathlib import Path
+
+
+ROOT = Path(__file__).resolve().parent.parent
+SCRIPT = ROOT / "scripts" / "render_daily_skillops_report.py"
+CLI = ROOT / "scripts" / "yao.py"
+TMP = ROOT / "tests" / "tmp_daily_skillops"
+
+
+def run_command(*args: str) -> subprocess.CompletedProcess[str]:
+ return subprocess.run(
+ [sys.executable, *args],
+ cwd=ROOT,
+ capture_output=True,
+ text=True,
+ )
+
+
+def write_json(path: Path, payload: dict) -> None:
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
+
+
+def seed_release_reports(skill_dir: Path) -> None:
+ reports = skill_dir / "reports"
+ write_json(
+ reports / "skill_os2_coverage.json",
+ {
+ "ok": True,
+ "summary": {
+ "local_blueprint_ready": True,
+ "public_world_class_ready": False,
+ "world_class_evidence_pending_count": 4,
+ },
+ },
+ )
+ write_json(
+ reports / "world_class_evidence_ledger.json",
+ {
+ "ok": True,
+ "summary": {
+ "pending_count": 4,
+ "accepted_count": 0,
+ "ready_to_claim_world_class": False,
+ },
+ },
+ )
+ write_json(reports / "evidence_consistency.json", {"ok": True, "checks": [{"status": "pass"}]})
+ write_json(reports / "benchmark_reproducibility.json", {"ok": True, "summary": {"release_lock_ready": True}})
+ write_json(
+ reports / "adaptation_approval_ledger.json",
+ {
+ "ok": True,
+ "summary": {
+ "approval_count": 1,
+ "pending_review_count": 1,
+ "applied_count": 0,
+ "rollback_count": 0,
+ },
+ },
+ )
+ write_json(
+ reports / "adaptation_regression_report.json",
+ {
+ "ok": True,
+ "summary": {
+ "attempt_count": 1,
+ "dry_run_count": 1,
+ "applied_count": 0,
+ "rollback_count": 0,
+ },
+ },
+ )
+
+
+def write_signal_source(path: Path) -> None:
+ path.write_text(
+ "\n".join(
+ [
+ json.dumps({"text": "报告默认中文简体,同时右上角提供英文切换;敏感内容 token=abc123456789、sk-1234567890abcdef 和 /Users/laoyao/private/path 必须脱敏。"}, ensure_ascii=False),
+ json.dumps({"message": "新的 HTML 报告要双语,但默认中文简体。"}, ensure_ascii=False),
+ json.dumps({"content": "报告 UI 需要 Kami 白底排版、图表模块和清晰导航。"}, ensure_ascii=False),
+ json.dumps({"excerpt": "HTML 报告还是白底 Kami 风格,图表不要挤在一起。"}, ensure_ascii=False),
+ json.dumps({"note": "不要自动扫描私人日志;必须由用户提供明确路径。"}, ensure_ascii=False),
+ json.dumps({"body": "自适应升级需要先输出提案,授权后再修改,并能回滚。"}, ensure_ascii=False),
+ json.dumps({"text": "每次升级都要有测试、证据报告和 GitHub push。"}, ensure_ascii=False),
+ json.dumps({"text": "敏感内容也不能直接进入公开日报。"}, ensure_ascii=False),
+ ]
+ )
+ + "\n",
+ encoding="utf-8",
+ )
+
+
+def assert_daily_contract(payload: dict) -> None:
+ assert payload["schema_version"] == "1.0", payload
+ assert payload["ok"] is True, payload
+ assert payload["report_contract"]["contract"] == "daily-skillops-report", payload
+ assert payload["report_contract"]["top_level_mirrors_summary"] is True, payload
+ for field in payload["report_contract"]["summary_fields"]:
+ assert payload[field] == payload["summary"][field], (field, payload.get(field), payload["summary"].get(field))
+ contract = payload["operations_contract"]
+ assert contract["explicit_source_required_for_scan"] is True, payload
+ assert contract["implicit_private_log_scan"] is False, payload
+ assert contract["raw_content_stored"] is False, payload
+ assert contract["redacted_excerpts_only"] is True, payload
+ assert contract["proposal_only"] is True, payload
+ assert contract["approval_required_for_writes"] is True, payload
+ assert contract["writes_source_files"] is False, payload
+ assert contract["auto_patch_enabled"] is False, payload
+ assert contract["daily_report_counts_as_world_class_evidence"] is False, payload
+
+
+def main() -> None:
+ shutil.rmtree(TMP, ignore_errors=True)
+ skill_dir = TMP / "daily-skillops-demo"
+ skill_dir.mkdir(parents=True)
+ seed_release_reports(skill_dir)
+ source = TMP / "curated-signals.jsonl"
+ write_signal_source(source)
+ source_before = source.read_text(encoding="utf-8")
+
+ output_json = skill_dir / "reports" / "skillops" / "daily" / "2026-06-16.json"
+ output_md = skill_dir / "reports" / "skillops" / "daily" / "2026-06-16.md"
+ proc = run_command(
+ str(SCRIPT),
+ str(skill_dir),
+ "--source",
+ str(source),
+ "--output-json",
+ str(output_json),
+ "--output-md",
+ str(output_md),
+ "--generated-at",
+ "2026-06-16T08:00:00Z",
+ )
+ assert proc.returncode == 0, proc.stderr
+ payload = json.loads(proc.stdout)
+ assert_daily_contract(payload)
+ assert payload["summary"]["source_supplied"] is True, payload
+ assert payload["summary"]["pattern_count"] >= 4, payload
+ assert payload["summary"]["proposal_count"] >= 4, payload
+ assert payload["summary"]["pending_review_count"] == 1, payload
+ assert payload["summary"]["world_class_pending_count"] == 4, payload
+ assert payload["summary"]["public_world_class_ready"] is False, payload
+ assert payload["summary"]["release_lock_ready"] is True, payload
+ assert payload["summary"]["evidence_consistency_ok"] is True, payload
+ action_keys = {item["key"] for item in payload["actions"]}
+ assert {"review-adaptation-proposals", "resolve-pending-approvals", "close-world-class-evidence"} <= action_keys, payload
+ assert output_json.exists(), output_json
+ assert output_md.exists(), output_md
+ assert (skill_dir / "reports" / "user_patterns.json").exists(), skill_dir
+ assert (skill_dir / "reports" / "adaptation_proposals.json").exists(), skill_dir
+ assert source.read_text(encoding="utf-8") == source_before, source
+
+ serialized = json.dumps(payload, ensure_ascii=False)
+ assert "sk-1234567890abcdef" not in serialized, serialized
+ assert "token=abc123456789" not in serialized, serialized
+ assert "/Users/laoyao/private" not in serialized, serialized
+ assert "[REDACTED_SECRET]" in serialized, serialized
+ assert "[LOCAL_PATH]" in serialized, serialized
+ markdown = output_md.read_text(encoding="utf-8")
+ assert "Daily SkillOps Report" in markdown, markdown
+ assert "does not scan private logs" in markdown, markdown
+ assert "daily_report_counts_as_world_class_evidence: `false`" in markdown, markdown
+
+ cli_dir = TMP / "cli-daily-skillops-demo"
+ cli_dir.mkdir(parents=True)
+ seed_release_reports(cli_dir)
+ cli_output_json = cli_dir / "reports" / "skillops" / "daily" / "cli.json"
+ cli_output_md = cli_dir / "reports" / "skillops" / "daily" / "cli.md"
+ cli_proc = run_command(
+ str(CLI),
+ "daily-skillops",
+ str(cli_dir),
+ "--source",
+ str(source),
+ "--output-json",
+ str(cli_output_json),
+ "--output-md",
+ str(cli_output_md),
+ "--generated-at",
+ "2026-06-16T08:00:00Z",
+ )
+ assert cli_proc.returncode == 0, cli_proc.stderr
+ cli_payload = json.loads(cli_proc.stdout)
+ assert_daily_contract(cli_payload)
+ assert cli_payload["summary"]["proposal_count"] >= 4, cli_payload
+ assert cli_output_json.exists(), cli_output_json
+ assert cli_output_md.exists(), cli_output_md
+
+ history_source = TMP / ".zsh_history"
+ history_source.write_text("报告默认中文\n报告默认中文\n", encoding="utf-8")
+ history_proc = run_command(str(SCRIPT), str(skill_dir), "--source", str(history_source))
+ assert history_proc.returncode == 2, history_proc.stdout
+ history_payload = json.loads(history_proc.stdout)
+ assert history_payload["ok"] is False, history_payload
+ assert any("Refusing private history source" in item for item in history_payload["failures"]), history_payload
+
+ no_refresh_dir = TMP / "no-refresh-daily-skillops-demo"
+ no_refresh_dir.mkdir(parents=True)
+ seed_release_reports(no_refresh_dir)
+ write_json(
+ no_refresh_dir / "reports" / "user_patterns.json",
+ {"ok": True, "summary": {"pattern_count": 0}, "patterns": []},
+ )
+ no_refresh_output_json = no_refresh_dir / "reports" / "skillops" / "daily" / "no-refresh.json"
+ no_refresh_proc = run_command(
+ str(SCRIPT),
+ str(no_refresh_dir),
+ "--source",
+ str(source),
+ "--no-refresh-source-reports",
+ "--output-json",
+ str(no_refresh_output_json),
+ "--generated-at",
+ "2026-06-16T08:00:00Z",
+ )
+ assert no_refresh_proc.returncode == 0, no_refresh_proc.stderr
+ no_refresh_payload = json.loads(no_refresh_proc.stdout)
+ assert_daily_contract(no_refresh_payload)
+ assert no_refresh_payload["summary"]["source_supplied"] is True, no_refresh_payload
+ assert no_refresh_payload["summary"]["pattern_count"] >= 4, no_refresh_payload
+ assert no_refresh_payload["summary"]["proposal_count"] >= 4, no_refresh_payload
+ assert not (no_refresh_dir / "reports" / "adaptation_proposals.json").exists(), no_refresh_dir
+
+ print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tests/verify_skill_os2_coverage.py b/tests/verify_skill_os2_coverage.py
index c01d96e3..4b648de3 100644
--- a/tests/verify_skill_os2_coverage.py
+++ b/tests/verify_skill_os2_coverage.py
@@ -44,10 +44,10 @@ def main() -> None:
assert summary["pass_count"] == 21, summary
assert summary["warn_count"] == 0, summary
assert summary["missing_count"] == 0, summary
- assert summary["extension_track_count"] == 2, summary
+ assert summary["extension_track_count"] == 3, summary
assert summary["extension_partial_count"] == 0, summary
assert summary["extension_planned_count"] == 0, summary
- assert summary["extension_covered_count"] == 2, summary
+ assert summary["extension_covered_count"] == 3, summary
assert summary["adaptive_extension_ready"] is True, summary
assert summary["local_blueprint_ready"] is True, summary
assert summary["public_world_class_ready"] is False, summary
@@ -88,10 +88,11 @@ def main() -> None:
assert any(entry["path"] == "reports/benchmark_reproducibility.json" and entry["exists"] for entry in prs["benchmark-methodology"]["evidence"])
assert payload["source_blueprint"]["core_module_count"] == 8, payload
assert payload["source_blueprint"]["recommended_pr_count"] == 13, payload
- assert payload["source_blueprint"]["reference_extension_count"] == 2, payload
+ assert payload["source_blueprint"]["reference_extension_count"] == 3, payload
extension_tracks = {item["key"]: item for item in payload["reference_extension_tracks"]}
assert extension_tracks["skill-interpretation-report"]["status"] == "covered", extension_tracks
assert extension_tracks["adaptive-self-iteration"]["status"] == "covered", extension_tracks
+ assert extension_tracks["daily-skillops-report"]["status"] == "covered", extension_tracks
assert any(
entry["path"] == "reports/skill-overview.html" and entry["exists"]
for entry in extension_tracks["skill-interpretation-report"]["evidence"]
@@ -120,14 +121,34 @@ def main() -> None:
entry["path"] == "reports/adaptation_regression_report.json" and entry["exists"]
for entry in extension_tracks["adaptive-self-iteration"]["evidence"]
), extension_tracks["adaptive-self-iteration"]
+ assert any(
+ entry["path"] == "scripts/render_daily_skillops_report.py" and entry["exists"]
+ for entry in extension_tracks["daily-skillops-report"]["evidence"]
+ ), extension_tracks["daily-skillops-report"]
+ assert any(
+ entry["path"] == "tests/verify_daily_skillops.py" and entry["exists"]
+ for entry in extension_tracks["daily-skillops-report"]["evidence"]
+ ), extension_tracks["daily-skillops-report"]
+ assert any(
+ entry["path"].startswith("reports/skillops/daily/")
+ and entry["path"].endswith(".json")
+ and entry["exists"]
+ for entry in extension_tracks["daily-skillops-report"]["evidence"]
+ ), extension_tracks["daily-skillops-report"]
+ assert any(
+ entry["path"].startswith("reports/skillops/daily/")
+ and entry["path"].endswith(".md")
+ and entry["exists"]
+ for entry in extension_tracks["daily-skillops-report"]["evidence"]
+ ), extension_tracks["daily-skillops-report"]
assert "Close the four world-class evidence ledger entries" in payload["next_highest_leverage"][0], payload
assert "skill interpretation report" in " ".join(payload["next_highest_leverage"]), payload
- assert "adaptive self-iteration" in " ".join(payload["next_highest_leverage"]), payload
+ assert "Daily SkillOps" in " ".join(payload["next_highest_leverage"]), payload
markdown = output_md.read_text(encoding="utf-8")
assert "Skill OS 2.0 Blueprint Coverage" in markdown, markdown
assert "local blueprint ready: `true`" in markdown, markdown
assert "public world-class ready: `false`" in markdown, markdown
- assert "extension covered: `2`" in markdown, markdown
+ assert "extension covered: `3`" in markdown, markdown
assert "extension partial: `0`" in markdown, markdown
assert "## Core Modules" in markdown, markdown
assert "## Recommended PR Coverage" in markdown, markdown
@@ -135,6 +156,7 @@ def main() -> None:
assert "## Reference Extension Tracks" in markdown, markdown
assert "Skill Interpretation Report" in markdown, markdown
assert "Adaptive Self-Iteration" in markdown, markdown
+ assert "Daily SkillOps Report" in markdown, markdown
assert "user-supplied 2.0 reference plan" in markdown, markdown
assert "`agent-skills-conformance`" not in markdown, markdown
assert "Agent Skills Conformance" in markdown, markdown