feat: add benchmark reproducibility gate
This commit is contained in:
@@ -68,6 +68,7 @@ Clean test-only scratch directories after verification with `find tests -maxdept
|
||||
- `scripts/review_studio_gates.py`: Review Studio gate evaluation, release decision scoring, and gate status labels.
|
||||
- `scripts/render_skill_os2_audit.py`: requirement-by-requirement Skill OS 2.0 completion audit. Keep local evidence, human-required gaps, and external-required gaps separate so reports do not overclaim world-class readiness.
|
||||
- `scripts/render_world_class_evidence_plan.py`: executable evidence task plan for the remaining world-class readiness gaps. Keep provider, human, native-permission, and real-client telemetry evidence requirements concrete without marking planned work as complete.
|
||||
- `scripts/render_benchmark_reproducibility.py`: release-facing benchmark reproducibility manifest. Keep methodology sections, required artifacts, failure disclosure, reproduction commands, and world-class limitations machine-checkable.
|
||||
- `scripts/skill_report_model.py`, `scripts/skill_report_metrics.py`, `scripts/skill_report_charts.py`: skill overview data model, scoring, and inline SVG chart generation.
|
||||
- `scripts/yao_cli_config.py`: CLI target maps, archetype heuristics, diagnosis copy, and side-effect-free shaping helpers.
|
||||
- `scripts/yao_cli_parser.py`: CLI argparse command surface, flags, choices, and command handler binding.
|
||||
|
||||
@@ -2,7 +2,7 @@ PYTHON ?= python3
|
||||
LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill
|
||||
ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill
|
||||
|
||||
.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
|
||||
.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
|
||||
|
||||
eval:
|
||||
$(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt
|
||||
@@ -91,6 +91,9 @@ skill-os2-audit-check:
|
||||
world-class-evidence-check:
|
||||
$(PYTHON) tests/verify_world_class_evidence_plan.py
|
||||
|
||||
benchmark-reproducibility-check:
|
||||
$(PYTHON) tests/verify_benchmark_reproducibility.py
|
||||
|
||||
feedback-check:
|
||||
$(PYTHON) tests/verify_feedback.py
|
||||
|
||||
@@ -205,11 +208,11 @@ sync-local-install: package-check
|
||||
sync-active-install: package-check
|
||||
$(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)"
|
||||
|
||||
test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
|
||||
test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check yao-cli-check skill-overview-check skill-report-metrics-check skill-report-charts-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check world-class-evidence-check benchmark-reproducibility-check feedback-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
|
||||
|
||||
ci-test:
|
||||
$(PYTHON) scripts/ci_test.py
|
||||
|
||||
clean:
|
||||
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_skill_overview tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_world_class_evidence tests/tmp_feedback tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
|
||||
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_skill_overview tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_world_class_evidence tests/tmp_benchmark_reproducibility tests/tmp_feedback tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
|
||||
find . -type d -name __pycache__ -prune -exec rm -rf {} +
|
||||
|
||||
@@ -25,6 +25,7 @@ It turns rough workflows, transcripts, prompts, notes, and runbooks into reusabl
|
||||
- a Review Studio 2.0 HTML gate page that combines intent, trigger, output eval, context, runtime, trust, atlas, adoption drift, reviewer waivers, reviewer annotations, release evidence, and per-warning fix actions
|
||||
- a Skill OS 2.0 audit that maps each world-class requirement to current evidence, human-required gaps, and external-required gaps
|
||||
- a world-class evidence plan that turns remaining provider, human, native-permission, and real-client telemetry gaps into executable evidence tasks
|
||||
- a benchmark reproducibility manifest that checks methodology sections, required artifacts, failure disclosure, and reproduction commands
|
||||
- Output Eval Lab evidence with assertion grading, execution/timing/token evidence, a blind A/B review pack, a separate answer key, and reviewer adjudication reports
|
||||
- a runtime permission probe report that checks packaged target adapters for explicit permission metadata, native-enforcement flags, metadata fallback notes, and residual risks
|
||||
- a side-by-side HTML review studio for first-pass human review
|
||||
@@ -280,6 +281,7 @@ Full reports: [reports/eval_suite.json](reports/eval_suite.json) and [reports/fa
|
||||
- Review Studio fix actions are embedded in [reports/review-studio.json](reports/review-studio.json)
|
||||
- reviewer waiver evidence is published in [reports/review_waivers.md](reports/review_waivers.md)
|
||||
- remaining world-class evidence tasks are published in [reports/world_class_evidence_plan.md](reports/world_class_evidence_plan.md)
|
||||
- benchmark reproducibility evidence is published in [reports/benchmark_reproducibility.md](reports/benchmark_reproducibility.md)
|
||||
- target compiler evidence is published in [reports/compiled_targets.md](reports/compiled_targets.md)
|
||||
- registry package metadata and audit status are published in [reports/registry_audit.md](reports/registry_audit.md)
|
||||
- package archive verification is published in [reports/package_verification.md](reports/package_verification.md)
|
||||
@@ -395,7 +397,7 @@ Utility scripts that make the meta-skill operational:
|
||||
- `run_description_optimization_suite.py`: runs description optimization across the root skill and governed examples, then writes reusable reports and optional drift snapshots with calibration and family summaries
|
||||
- `promotion_checker.py`: applies promotion policy to current description candidates, writes promotion decisions, builds candidate registries, and emits iteration bundles with review stubs
|
||||
- `create_iteration_snapshot.py`: freezes the current promotion decision into a versioned release snapshot with review, route, and context evidence
|
||||
- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, world-class-evidence, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint
|
||||
- `yao.py`: unified authoring CLI that exposes init, validate, optimize-description, promote-check, review, release-snapshot, workspace-flow, report, skill-ir, compile-skill, output-exec, output-review, skill-os2-audit, world-class-evidence, benchmark-reproducibility, telemetry-emit, telemetry-hooks, telemetry-import, package, registry-audit, package-verify, install-simulate, upgrade-check, review-waivers, and test as one entrypoint
|
||||
- `render_description_drift_history.py`: turns description-optimization snapshots into a readable drift-history report
|
||||
- `build_confusion_matrix.py`: scores route confusion across tracked sibling skills and `no_route` cases, then writes a route scorecard and optional milestone snapshot
|
||||
- `render_iteration_ledger.py`: compresses regression milestones, description optimization drift, and route scorecards into one iteration-facing ledger
|
||||
@@ -406,6 +408,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_world_class_evidence_plan.py`: renders executable evidence tasks for remaining world-class gaps without treating planned external work as completed evidence
|
||||
- `render_benchmark_reproducibility.py`: renders methodology, artifact, failure-disclosure, and reproduction-command evidence for public benchmark claims
|
||||
- `cross_packager.py`: builds client-specific export artifacts from Skill IR plus neutral metadata, with explicit platform contracts and validation
|
||||
- `render_portability_report.py`: scores cross-environment portability from neutral metadata, degradation rules, and consumer validation coverage
|
||||
- `render_skill_overview.py`: generates the white-background bilingual HTML skill audit report with sticky four-character Chinese navigation, top-right language switch, v2 scorecard, inline SVG charts, contract boundary, quality review, risk governance, assets, and iteration roadmap
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726"
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726",
|
||||
"archive_sha256": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66"
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -48,7 +48,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-13T15:09:29Z",
|
||||
"generated_at": "2026-06-13T00:00:00Z",
|
||||
"skill_dir": ".",
|
||||
"privacy_contract": {
|
||||
"storage": "local-first",
|
||||
|
||||
@@ -60,6 +60,7 @@ Recommended release evidence:
|
||||
git rev-parse HEAD
|
||||
python3 scripts/run_output_eval.py
|
||||
python3 scripts/export_skill_ir.py . --output-json skill-ir/examples/yao-meta-skill.json
|
||||
python3 scripts/yao.py benchmark-reproducibility .
|
||||
make ci-test
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-13",
|
||||
"skill_dir": ".",
|
||||
"commit": "c2507af5267e3c1eb6802449f74236c5ab649742",
|
||||
"git_status": {
|
||||
"available": true,
|
||||
"dirty": true,
|
||||
"changed_file_count": 43,
|
||||
"sample": [
|
||||
" M AGENTS.md",
|
||||
" M Makefile",
|
||||
" M README.md",
|
||||
" M registry/index.json",
|
||||
" M registry/packages/yao-meta-skill.json",
|
||||
" M reports/adoption_drift_report.json",
|
||||
" M reports/benchmark_methodology.md",
|
||||
" M reports/compiled_targets.json",
|
||||
" M reports/context_budget.json",
|
||||
" M reports/install_simulation.json",
|
||||
" M reports/output_execution_runs.json",
|
||||
" M reports/output_execution_runs.md"
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"reproducibility_ready": true,
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 16,
|
||||
"missing_artifact_count": 0,
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 15,
|
||||
"command_executed_count": 10,
|
||||
"timing_observed_count": 10,
|
||||
"model_executed_count": 0,
|
||||
"token_observed_count": 0,
|
||||
"human_review_complete": false,
|
||||
"provider_evidence_complete": false,
|
||||
"world_class_ready": false,
|
||||
"world_class_open_gap_count": 4,
|
||||
"world_class_task_count": 4,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 43
|
||||
},
|
||||
"methodology": {
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
"exists": true,
|
||||
"sections": [
|
||||
{
|
||||
"heading": "## Benchmark Types",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"heading": "## Sample Sources",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"heading": "## Evaluation Dimensions",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"heading": "## Weighting Rule",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"heading": "## Failure Disclosure",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"heading": "## Reproduction",
|
||||
"exists": true
|
||||
}
|
||||
],
|
||||
"missing_sections": []
|
||||
},
|
||||
"artifacts_checked": [
|
||||
{
|
||||
"label": "methodology",
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
"exists": true,
|
||||
"bytes": 2715,
|
||||
"sha256": "57025e0123ce5d10401c5bff376d2eeeac7943c83897ae1ad3fb22cadf790f92"
|
||||
},
|
||||
{
|
||||
"label": "failure_disclosure",
|
||||
"path": "evals/failure-cases.md",
|
||||
"exists": true,
|
||||
"bytes": 889,
|
||||
"sha256": "28833c0d4a217d612879d193fb5de199880dd5b3093ab5757e4315600fa4fb08"
|
||||
},
|
||||
{
|
||||
"label": "output_cases",
|
||||
"path": "evals/output/cases.jsonl",
|
||||
"exists": true,
|
||||
"bytes": 6555,
|
||||
"sha256": "a6ae9685711620d7203b73ace4412194ae287689f945b5139ec8ad75b9eefe04"
|
||||
},
|
||||
{
|
||||
"label": "output_schema",
|
||||
"path": "evals/output/schema.json",
|
||||
"exists": true,
|
||||
"bytes": 2193,
|
||||
"sha256": "8ee340c95064260c5e952be614e19841ac676162c6bf01d21b107e38cb04e0b9"
|
||||
},
|
||||
{
|
||||
"label": "output_scorecard",
|
||||
"path": "reports/output_quality_scorecard.json",
|
||||
"exists": true,
|
||||
"bytes": 25530,
|
||||
"sha256": "0806258a8e084b27e112537faff0de64a8519ca90cfdc78b57c0e4c08a514cca"
|
||||
},
|
||||
{
|
||||
"label": "output_execution",
|
||||
"path": "reports/output_execution_runs.json",
|
||||
"exists": true,
|
||||
"bytes": 7967,
|
||||
"sha256": "b3fecad2a0c31f48238a2be03e10a870d4e9b83c9af3bdfaba4f14514e44eb71"
|
||||
},
|
||||
{
|
||||
"label": "blind_review",
|
||||
"path": "reports/output_blind_review_pack.json",
|
||||
"exists": true,
|
||||
"bytes": 7804,
|
||||
"sha256": "bbe2db8ec2776fe289cd7d6bb78d48c2b8baa106ad37f79c15e43669b10c9390"
|
||||
},
|
||||
{
|
||||
"label": "review_adjudication",
|
||||
"path": "reports/output_review_adjudication.json",
|
||||
"exists": true,
|
||||
"bytes": 2431,
|
||||
"sha256": "ddd9af90d42e2858d629ebe3f1d7505a675f7d95517fcd9a965c80102a63158d"
|
||||
},
|
||||
{
|
||||
"label": "trigger_scorecard",
|
||||
"path": "reports/route_scorecard.json",
|
||||
"exists": true,
|
||||
"bytes": 16961,
|
||||
"sha256": "c164e83e36d0af276b6af2de2a5e026d7f0711b83eef2b5dcd0e760bd8bb28fc"
|
||||
},
|
||||
{
|
||||
"label": "runtime_conformance",
|
||||
"path": "reports/conformance_matrix.json",
|
||||
"exists": true,
|
||||
"bytes": 10313,
|
||||
"sha256": "8251329e663dda51472f29b7721e73d72ccbec9760d96fda022f6218a5a6e347"
|
||||
},
|
||||
{
|
||||
"label": "trust_report",
|
||||
"path": "reports/security_trust_report.json",
|
||||
"exists": true,
|
||||
"bytes": 81801,
|
||||
"sha256": "b3513361608feadd78ceeda13b047aa6aa933ba6f8f94687e92831843e710075"
|
||||
},
|
||||
{
|
||||
"label": "registry_audit",
|
||||
"path": "reports/registry_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 3183,
|
||||
"sha256": "f1ec4e2f7e8c0bab0c9e2fd5c1007d9cd368f5d4a2a05c94dbc1bce12cb67e63"
|
||||
},
|
||||
{
|
||||
"label": "package_verification",
|
||||
"path": "reports/package_verification.json",
|
||||
"exists": true,
|
||||
"bytes": 19325,
|
||||
"sha256": "3183e66db7e31d4188dac8bab9f42e6fe52b5e98fdb8009655caa8468d18c9d9"
|
||||
},
|
||||
{
|
||||
"label": "install_simulation",
|
||||
"path": "reports/install_simulation.json",
|
||||
"exists": true,
|
||||
"bytes": 8557,
|
||||
"sha256": "0befebd76310b0f02d131814003ff2c918802f5f6c1f356c139479ed1c1b87c6"
|
||||
},
|
||||
{
|
||||
"label": "skill_os2_audit",
|
||||
"path": "reports/skill_os2_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 13946,
|
||||
"sha256": "7e17b3a890f92d7268b26ed15035ed191d1b478b7f96029628c9168a0a09dc33"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_plan",
|
||||
"path": "reports/world_class_evidence_plan.json",
|
||||
"exists": true,
|
||||
"bytes": 7555,
|
||||
"sha256": "f8b28a7b02b738153ce25e4a1fc47c2b3c8236cf26ff1d53e6425816a3e48a78"
|
||||
}
|
||||
],
|
||||
"missing_artifacts": [],
|
||||
"reproduction_commands": [
|
||||
{
|
||||
"label": "source commit",
|
||||
"command": "git rev-parse HEAD",
|
||||
"evidence": "git commit hash"
|
||||
},
|
||||
{
|
||||
"label": "trigger eval",
|
||||
"command": "make eval-suite",
|
||||
"evidence": "reports/eval_suite.json"
|
||||
},
|
||||
{
|
||||
"label": "output eval",
|
||||
"command": "python3 scripts/yao.py output-eval",
|
||||
"evidence": "reports/output_quality_scorecard.json"
|
||||
},
|
||||
{
|
||||
"label": "output execution",
|
||||
"command": "python3 scripts/yao.py output-exec --runner-command '[\"python3\",\"scripts/local_output_eval_runner.py\"]'",
|
||||
"evidence": "reports/output_execution_runs.json"
|
||||
},
|
||||
{
|
||||
"label": "blind review adjudication",
|
||||
"command": "python3 scripts/yao.py output-review",
|
||||
"evidence": "reports/output_review_adjudication.json"
|
||||
},
|
||||
{
|
||||
"label": "skill ir",
|
||||
"command": "python3 scripts/yao.py skill-ir . --output-json skill-ir/examples/yao-meta-skill.json",
|
||||
"evidence": "skill-ir/examples/yao-meta-skill.json"
|
||||
},
|
||||
{
|
||||
"label": "runtime conformance",
|
||||
"command": "python3 scripts/yao.py conformance .",
|
||||
"evidence": "reports/conformance_matrix.json"
|
||||
},
|
||||
{
|
||||
"label": "trust report",
|
||||
"command": "python3 scripts/yao.py trust .",
|
||||
"evidence": "reports/security_trust_report.json"
|
||||
},
|
||||
{
|
||||
"label": "package",
|
||||
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --expectations evals/packaging_expectations.json --output-dir dist --zip",
|
||||
"evidence": "dist/yao-meta-skill.zip"
|
||||
},
|
||||
{
|
||||
"label": "package verify",
|
||||
"command": "python3 scripts/yao.py package-verify . --package-dir dist --require-zip",
|
||||
"evidence": "reports/package_verification.json"
|
||||
},
|
||||
{
|
||||
"label": "install simulate",
|
||||
"command": "python3 scripts/yao.py install-simulate . --package-dir dist",
|
||||
"evidence": "reports/install_simulation.json"
|
||||
},
|
||||
{
|
||||
"label": "registry audit",
|
||||
"command": "python3 scripts/yao.py registry-audit .",
|
||||
"evidence": "reports/registry_audit.json"
|
||||
},
|
||||
{
|
||||
"label": "skill os audit",
|
||||
"command": "python3 scripts/yao.py skill-os2-audit .",
|
||||
"evidence": "reports/skill_os2_audit.json"
|
||||
},
|
||||
{
|
||||
"label": "world-class evidence plan",
|
||||
"command": "python3 scripts/yao.py world-class-evidence .",
|
||||
"evidence": "reports/world_class_evidence_plan.json"
|
||||
},
|
||||
{
|
||||
"label": "full ci",
|
||||
"command": "make ci-test",
|
||||
"evidence": "CI target output"
|
||||
}
|
||||
],
|
||||
"failure_disclosure": {
|
||||
"path": "evals/failure-cases.md",
|
||||
"case_count": 3,
|
||||
"policy": "Keep representative failures visible and tied to regression checks."
|
||||
},
|
||||
"limitations": [
|
||||
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
|
||||
"Pending blind-review decisions are visible but do not count as human adjudication.",
|
||||
"World-class readiness remains false until external and human evidence gaps close."
|
||||
],
|
||||
"artifacts": {
|
||||
"json": "reports/benchmark_reproducibility.json",
|
||||
"markdown": "reports/benchmark_reproducibility.md"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
# Benchmark Reproducibility
|
||||
|
||||
Generated at: `2026-06-13`
|
||||
Commit: `c2507af5267e3c1eb6802449f74236c5ab649742`
|
||||
Working tree dirty at generation: `true`
|
||||
|
||||
## Summary
|
||||
|
||||
- reproducibility ready: `true`
|
||||
- methodology complete: `true`
|
||||
- required artifacts: `16`
|
||||
- missing artifacts: `0`
|
||||
- output cases: `5`
|
||||
- disclosed failure cases: `3`
|
||||
- reproduction commands: `15`
|
||||
- provider evidence complete: `false`
|
||||
- human review complete: `false`
|
||||
- world-class ready: `false`
|
||||
- changed files at generation: `43`
|
||||
|
||||
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete.
|
||||
|
||||
## Methodology Sections
|
||||
|
||||
| Section | Status |
|
||||
| --- | --- |
|
||||
| `## Benchmark Types` | present |
|
||||
| `## Sample Sources` | present |
|
||||
| `## Evaluation Dimensions` | present |
|
||||
| `## Weighting Rule` | present |
|
||||
| `## Failure Disclosure` | present |
|
||||
| `## Reproduction` | present |
|
||||
|
||||
## Required Artifacts
|
||||
|
||||
| Label | Path | Status | SHA256 |
|
||||
| --- | --- | --- | --- |
|
||||
| methodology | `reports/benchmark_methodology.md` | present | `57025e0123ce` |
|
||||
| failure_disclosure | `evals/failure-cases.md` | present | `28833c0d4a21` |
|
||||
| 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 | `b3fecad2a0c3` |
|
||||
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
|
||||
| review_adjudication | `reports/output_review_adjudication.json` | present | `ddd9af90d42e` |
|
||||
| trigger_scorecard | `reports/route_scorecard.json` | present | `c164e83e36d0` |
|
||||
| runtime_conformance | `reports/conformance_matrix.json` | present | `8251329e663d` |
|
||||
| trust_report | `reports/security_trust_report.json` | present | `b3513361608f` |
|
||||
| registry_audit | `reports/registry_audit.json` | present | `f1ec4e2f7e8c` |
|
||||
| package_verification | `reports/package_verification.json` | present | `3183e66db7e3` |
|
||||
| install_simulation | `reports/install_simulation.json` | present | `0befebd76310` |
|
||||
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `7e17b3a890f9` |
|
||||
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `f8b28a7b02b7` |
|
||||
|
||||
## Reproduction Commands
|
||||
|
||||
- `git rev-parse HEAD`
|
||||
- evidence: `git commit hash`
|
||||
- `make eval-suite`
|
||||
- evidence: `reports/eval_suite.json`
|
||||
- `python3 scripts/yao.py output-eval`
|
||||
- evidence: `reports/output_quality_scorecard.json`
|
||||
- `python3 scripts/yao.py output-exec --runner-command '["python3","scripts/local_output_eval_runner.py"]'`
|
||||
- evidence: `reports/output_execution_runs.json`
|
||||
- `python3 scripts/yao.py output-review`
|
||||
- evidence: `reports/output_review_adjudication.json`
|
||||
- `python3 scripts/yao.py skill-ir . --output-json skill-ir/examples/yao-meta-skill.json`
|
||||
- evidence: `skill-ir/examples/yao-meta-skill.json`
|
||||
- `python3 scripts/yao.py conformance .`
|
||||
- evidence: `reports/conformance_matrix.json`
|
||||
- `python3 scripts/yao.py trust .`
|
||||
- evidence: `reports/security_trust_report.json`
|
||||
- `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --expectations evals/packaging_expectations.json --output-dir dist --zip`
|
||||
- evidence: `dist/yao-meta-skill.zip`
|
||||
- `python3 scripts/yao.py package-verify . --package-dir dist --require-zip`
|
||||
- evidence: `reports/package_verification.json`
|
||||
- `python3 scripts/yao.py install-simulate . --package-dir dist`
|
||||
- evidence: `reports/install_simulation.json`
|
||||
- `python3 scripts/yao.py registry-audit .`
|
||||
- evidence: `reports/registry_audit.json`
|
||||
- `python3 scripts/yao.py skill-os2-audit .`
|
||||
- evidence: `reports/skill_os2_audit.json`
|
||||
- `python3 scripts/yao.py world-class-evidence .`
|
||||
- evidence: `reports/world_class_evidence_plan.json`
|
||||
- `make ci-test`
|
||||
- evidence: `CI target output`
|
||||
|
||||
## Failure Disclosure
|
||||
|
||||
- path: `evals/failure-cases.md`
|
||||
- disclosed cases: `3`
|
||||
- policy: Keep representative failures visible and tied to regression checks.
|
||||
|
||||
## Limits
|
||||
|
||||
- Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.
|
||||
- Pending blind-review decisions are visible but do not count as human adjudication.
|
||||
- World-class readiness remains false until external and human evidence gaps close.
|
||||
+120
-95
@@ -173,6 +173,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -273,7 +274,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -379,7 +380,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -401,6 +402,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -439,9 +441,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -470,15 +473,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -499,8 +502,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -520,7 +523,7 @@
|
||||
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -531,7 +534,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -612,7 +615,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -634,6 +637,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -672,9 +676,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -703,15 +708,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -730,8 +735,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -751,7 +756,7 @@
|
||||
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -762,7 +767,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -992,6 +997,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -1092,7 +1098,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -1198,7 +1204,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -1220,6 +1226,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -1258,9 +1265,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -1289,15 +1297,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -1318,8 +1326,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -1339,7 +1347,7 @@
|
||||
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -1350,7 +1358,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -1431,7 +1439,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -1453,6 +1461,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -1491,9 +1500,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -1522,15 +1532,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -1549,8 +1559,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -1570,7 +1580,7 @@
|
||||
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -1581,7 +1591,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -1811,6 +1821,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -1911,7 +1922,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -2017,7 +2028,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -2039,6 +2050,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -2077,9 +2089,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -2108,15 +2121,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -2137,8 +2150,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -2158,7 +2171,7 @@
|
||||
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -2168,7 +2181,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -2243,7 +2256,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -2265,6 +2278,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -2303,9 +2317,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -2334,15 +2349,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -2361,8 +2376,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -2382,7 +2397,7 @@
|
||||
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -2392,7 +2407,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -2614,6 +2629,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -2714,7 +2730,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -2820,7 +2836,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -2842,6 +2858,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -2880,9 +2897,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -2911,15 +2929,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -2940,8 +2958,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -2961,7 +2979,7 @@
|
||||
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -2972,7 +2990,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -3046,7 +3064,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -3068,6 +3086,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -3106,9 +3125,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -3137,15 +3157,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -3164,8 +3184,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -3185,7 +3205,7 @@
|
||||
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -3196,7 +3216,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -3417,6 +3437,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -3517,7 +3538,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -3623,7 +3644,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -3645,6 +3666,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -3683,9 +3705,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -3714,15 +3737,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -3743,8 +3766,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -3764,7 +3787,7 @@
|
||||
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -3775,7 +3798,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -3853,7 +3876,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 53,
|
||||
"script_count": 54,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/build_confusion_matrix.py",
|
||||
@@ -3875,6 +3898,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -3913,9 +3937,10 @@
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 7,
|
||||
"script_count": 8,
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
@@ -3944,15 +3969,15 @@
|
||||
},
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"checked_count": 66,
|
||||
"checked_count": 67,
|
||||
"failed_count": 0,
|
||||
"failed_scripts": []
|
||||
},
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 53,
|
||||
"subprocess_script_count": 7,
|
||||
"file_write_script_count": 54,
|
||||
"subprocess_script_count": 8,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -3971,8 +3996,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 53,
|
||||
"subprocess": 7,
|
||||
"file_write": 54,
|
||||
"subprocess": 8,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -3992,7 +4017,7 @@
|
||||
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
|
||||
"counts": {
|
||||
"references": 32,
|
||||
"scripts": 76,
|
||||
"scripts": 77,
|
||||
"assets": 2,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -4003,7 +4028,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
|
||||
"script_count": 76,
|
||||
"script_count": 77,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
"context_budget_tier": "production",
|
||||
"context_budget_limit": 1000,
|
||||
"skill_body_tokens": 751,
|
||||
"other_text_tokens": 974109,
|
||||
"other_text_tokens": 985553,
|
||||
"estimated_initial_load_tokens": 944,
|
||||
"estimated_total_text_tokens": 974860,
|
||||
"relevant_file_count": 425,
|
||||
"estimated_total_text_tokens": 986304,
|
||||
"relevant_file_count": 431,
|
||||
"unused_resource_dirs": [],
|
||||
"quality_signal_points": 130,
|
||||
"quality_density": 137.7
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"installed_skill_dir": "[temporary-install-root]/yao-meta-skill",
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 513,
|
||||
"archive_entry_count": 517,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 27.18,
|
||||
"duration_ms": 26.11,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -62,7 +62,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 26.61,
|
||||
"duration_ms": 27.48,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -85,7 +85,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 26.45,
|
||||
"duration_ms": 26.22,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -113,7 +113,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 26.3,
|
||||
"duration_ms": 26.36,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -136,7 +136,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 25.92,
|
||||
"duration_ms": 25.99,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -164,7 +164,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 25.87,
|
||||
"duration_ms": 26.13,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -187,7 +187,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 25.89,
|
||||
"duration_ms": 26.35,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -214,7 +214,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 25.97,
|
||||
"duration_ms": 25.95,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -237,7 +237,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 26.08,
|
||||
"duration_ms": 26.04,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
@@ -266,7 +266,7 @@
|
||||
"execution_mode": "command",
|
||||
"model_executed": false,
|
||||
"command_executed": true,
|
||||
"duration_ms": 26.13,
|
||||
"duration_ms": 25.98,
|
||||
"provider": "local-output-eval-runner",
|
||||
"model": "",
|
||||
"usage": {
|
||||
|
||||
@@ -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 | 27.18 | 33 | 0.0 | pass |
|
||||
| skill-package-contract | with_skill | command | local-output-eval-runner | 26.61 | 73 | 100.0 | pass |
|
||||
| output-eval-expectation | baseline | command | local-output-eval-runner | 26.45 | 36 | 0.0 | pass |
|
||||
| output-eval-expectation | with_skill | command | local-output-eval-runner | 26.3 | 80 | 100.0 | pass |
|
||||
| ir-before-packaging | baseline | command | local-output-eval-runner | 25.92 | 33 | 0.0 | pass |
|
||||
| ir-before-packaging | with_skill | command | local-output-eval-runner | 25.87 | 80 | 100.0 | pass |
|
||||
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 25.89 | 36 | 0.0 | pass |
|
||||
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 25.97 | 65 | 100.0 | pass |
|
||||
| file-backed-governed-package | baseline | command | local-output-eval-runner | 26.08 | 37 | 0.0 | pass |
|
||||
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 26.13 | 98 | 100.0 | pass |
|
||||
| skill-package-contract | baseline | command | local-output-eval-runner | 26.11 | 33 | 0.0 | pass |
|
||||
| skill-package-contract | with_skill | command | local-output-eval-runner | 27.48 | 73 | 100.0 | pass |
|
||||
| output-eval-expectation | baseline | command | local-output-eval-runner | 26.22 | 36 | 0.0 | pass |
|
||||
| output-eval-expectation | with_skill | command | local-output-eval-runner | 26.36 | 80 | 100.0 | pass |
|
||||
| ir-before-packaging | baseline | command | local-output-eval-runner | 25.99 | 33 | 0.0 | pass |
|
||||
| ir-before-packaging | with_skill | command | local-output-eval-runner | 26.13 | 80 | 100.0 | pass |
|
||||
| near-neighbor-boundary | baseline | command | local-output-eval-runner | 26.35 | 36 | 0.0 | pass |
|
||||
| near-neighbor-boundary | with_skill | command | local-output-eval-runner | 25.95 | 65 | 100.0 | pass |
|
||||
| file-backed-governed-package | baseline | command | local-output-eval-runner | 26.04 | 37 | 0.0 | pass |
|
||||
| file-backed-governed-package | with_skill | command | local-output-eval-runner | 25.98 | 98 | 100.0 | pass |
|
||||
|
||||
## Next Fixes
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66",
|
||||
"archive_entry_count": 513,
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a",
|
||||
"archive_entry_count": 517,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
- Package directory: `dist`
|
||||
- Targets: `4 / 4` adapters present
|
||||
- Archive present: `True`
|
||||
- Archive SHA256: `1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66`
|
||||
- Archive SHA256: `4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a`
|
||||
- Failures: `0`
|
||||
- Warnings: `0`
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726",
|
||||
"archive_sha256": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66"
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -53,7 +53,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a",
|
||||
"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": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726"
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
- Maturity: `governed`
|
||||
- Owner: `Yao Team`
|
||||
- License: `MIT`
|
||||
- Package SHA256: `14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726`
|
||||
- Archive SHA256: `1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66`
|
||||
- Package SHA256: `fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c`
|
||||
- Archive SHA256: `4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a`
|
||||
- Install simulated: `True`
|
||||
|
||||
## Compatibility
|
||||
|
||||
@@ -242,12 +242,12 @@
|
||||
|
||||
<section>
|
||||
<h2>核心指标</h2>
|
||||
<div class="metrics"><article class='metric'><span>Skill IR</span><strong>2.0.0</strong><p>5 targets in platform-neutral contract</p></article><article class='metric'><span>Compiler</span><strong>5/5</strong><p>target contracts compiled from Skill IR</p></article><article class='metric'><span>Output Delta</span><strong>100.0</strong><p>5 cases; 1 file-backed</p></article><article class='metric'><span>Exec Runs</span><strong>10</strong><p>command 10; model 0; recorded 0</p></article><article class='metric'><span>Blind A/B</span><strong>5</strong><p>review pairs hide baseline vs with-skill labels</p></article><article class='metric'><span>Review A/B</span><strong>0/5</strong><p>adjudication decisions; pending 5</p></article><article class='metric'><span>Runtime</span><strong>5/5</strong><p>target conformance pass rate</p></article><article class='metric'><span>Perm Probe</span><strong>4/4</strong><p>0 native enforcement targets</p></article><article class='metric'><span>Trust</span><strong>0</strong><p>76 scripts scanned; secrets found</p></article><article class='metric'><span>Atlas</span><strong>5</strong><p>12 scanned skills; route collisions</p></article><article class='metric'><span>Drift</span><strong>low</strong><p>1 metadata events; 0 missed triggers</p></article><article class='metric'><span>Waivers</span><strong>0</strong><p>0 gates covered; human risk decisions</p></article><article class='metric'><span>Notes</span><strong>0/0</strong><p>0 open blocker annotations</p></article><article class='metric'><span>Registry</span><strong>1.1.0</strong><p>5 targets; MIT license</p></article><article class='metric'><span>Archive</span><strong>pass</strong><p>513 zip entries; package verification</p></article><article class='metric'><span>Install</span><strong>pass</strong><p>4 adapters; 12 permissions enforced; 0 permission failures</p></article><article class='metric'><span>Upgrade</span><strong>minor</strong><p>declared minor; 0 breaking changes</p></article></div>
|
||||
<div class="metrics"><article class='metric'><span>Skill IR</span><strong>2.0.0</strong><p>5 targets in platform-neutral contract</p></article><article class='metric'><span>Compiler</span><strong>5/5</strong><p>target contracts compiled from Skill IR</p></article><article class='metric'><span>Output Delta</span><strong>100.0</strong><p>5 cases; 1 file-backed</p></article><article class='metric'><span>Exec Runs</span><strong>10</strong><p>command 10; model 0; recorded 0</p></article><article class='metric'><span>Blind A/B</span><strong>5</strong><p>review pairs hide baseline vs with-skill labels</p></article><article class='metric'><span>Review A/B</span><strong>0/5</strong><p>adjudication decisions; pending 5</p></article><article class='metric'><span>Runtime</span><strong>5/5</strong><p>target conformance pass rate</p></article><article class='metric'><span>Perm Probe</span><strong>4/4</strong><p>0 native enforcement targets</p></article><article class='metric'><span>Trust</span><strong>0</strong><p>77 scripts scanned; secrets found</p></article><article class='metric'><span>Atlas</span><strong>5</strong><p>12 scanned skills; route collisions</p></article><article class='metric'><span>Drift</span><strong>low</strong><p>1 metadata events; 0 missed triggers</p></article><article class='metric'><span>Waivers</span><strong>0</strong><p>0 gates covered; human risk decisions</p></article><article class='metric'><span>Notes</span><strong>0/0</strong><p>0 open blocker annotations</p></article><article class='metric'><span>Registry</span><strong>1.1.0</strong><p>5 targets; MIT license</p></article><article class='metric'><span>Archive</span><strong>pass</strong><p>517 zip entries; package verification</p></article><article class='metric'><span>Install</span><strong>pass</strong><p>4 adapters; 12 permissions enforced; 0 permission failures</p></article><article class='metric'><span>Upgrade</span><strong>minor</strong><p>declared minor; 0 breaking changes</p></article></div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>审查闸门</h2>
|
||||
<div class="gates"><article class='gate pass'><div><span>通过</span><h3>意图画布</h3></div><p>intent confidence 100/100; Intent is clear enough to package the first routeable version.</p><footer>reports/intent-confidence.json <a href='intent-confidence.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>触发实验</h3></div><p>13 trigger cases; 0 misroutes; 0 ambiguous</p><footer>reports/route_scorecard.json <a href='route_scorecard.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>输出实验</h3></div><p>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</p><footer>reports/output_quality_scorecard.json <a href='output_quality_scorecard.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>上下文</h3></div><p>initial load 944/1000; quality density 137.7</p><footer>reports/context_budget.json <a href='context_budget.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运行矩阵</h3></div><p>5 / 5 targets pass</p><footer>reports/conformance_matrix.json <a href='conformance_matrix.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>信任报告</h3></div><p>0 secrets; 76 scripts; 3 network-capable scripts; 0 help smoke failures</p><footer>reports/security_trust_report.json <a href='security_trust_report.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限批准</h3></div><p>3/3 permissions approved; gaps 0; required file_write, network, subprocess</p><footer>reports/security_trust_report.json + security/permission_policy.json <a href='../security/permission_policy.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限探针</h3></div><p>4/4 targets probed; native 0; metadata fallback 4; residual risks 4</p><footer>reports/runtime_permission_probes.json <a href='runtime_permission_probes.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>组合治理</h3></div><p>12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues</p><footer>reports/skill_atlas.json <a href='skill_atlas.html'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运营回路</h3></div><p>1 metadata events; adoption 0; missed 0; bad-output 0; risk low</p><footer>reports/adoption_drift_report.json <a href='adoption_drift_report.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>人工批准</h3></div><p>0 active waivers; 1 warning gates still need reviewer decision</p><footer>reports/review_waivers.json <a href='review_waivers.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>注册审计</h3></div><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p><footer>reports/registry_audit.json + reports/install_simulation.json <a href='registry_audit.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>发布路线</h3></div><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p><footer>reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md <a href='promotion_decisions.md'>证据</a></footer></article></div>
|
||||
<div class="gates"><article class='gate pass'><div><span>通过</span><h3>意图画布</h3></div><p>intent confidence 100/100; Intent is clear enough to package the first routeable version.</p><footer>reports/intent-confidence.json <a href='intent-confidence.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>触发实验</h3></div><p>13 trigger cases; 0 misroutes; 0 ambiguous</p><footer>reports/route_scorecard.json <a href='route_scorecard.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>输出实验</h3></div><p>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</p><footer>reports/output_quality_scorecard.json <a href='output_quality_scorecard.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>上下文</h3></div><p>initial load 944/1000; quality density 137.7</p><footer>reports/context_budget.json <a href='context_budget.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运行矩阵</h3></div><p>5 / 5 targets pass</p><footer>reports/conformance_matrix.json <a href='conformance_matrix.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>信任报告</h3></div><p>0 secrets; 77 scripts; 3 network-capable scripts; 0 help smoke failures</p><footer>reports/security_trust_report.json <a href='security_trust_report.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限批准</h3></div><p>3/3 permissions approved; gaps 0; required file_write, network, subprocess</p><footer>reports/security_trust_report.json + security/permission_policy.json <a href='../security/permission_policy.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>权限探针</h3></div><p>4/4 targets probed; native 0; metadata fallback 4; residual risks 4</p><footer>reports/runtime_permission_probes.json <a href='runtime_permission_probes.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>组合治理</h3></div><p>12 skills, 1 actionable; 0 actionable route collisions; 0 actionable owner gaps; 0 actionable stale; 0 actionable drift; 24 scoped non-actionable issues</p><footer>reports/skill_atlas.json <a href='skill_atlas.html'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>运营回路</h3></div><p>1 metadata events; adoption 0; missed 0; bad-output 0; risk low</p><footer>reports/adoption_drift_report.json <a href='adoption_drift_report.md'>证据</a></footer></article><article class='gate warn'><div><span>关注</span><h3>人工批准</h3></div><p>0 active waivers; 1 warning gates still need reviewer decision</p><footer>reports/review_waivers.json <a href='review_waivers.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>注册审计</h3></div><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p><footer>reports/registry_audit.json + reports/install_simulation.json <a href='registry_audit.md'>证据</a></footer></article><article class='gate pass'><div><span>通过</span><h3>发布路线</h3></div><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p><footer>reports/promotion_decisions.json + reports/upgrade_check.json + docs/migration-v2.md <a href='promotion_decisions.md'>证据</a></footer></article></div>
|
||||
</section>
|
||||
|
||||
<div class="twocol">
|
||||
@@ -273,7 +273,7 @@
|
||||
</div>
|
||||
<div class="panel">
|
||||
<h2>证据路径</h2>
|
||||
<ul class="evidence"><li><strong>skill_overview</strong><span>reports/skill-overview.html</span></li><li><strong>review_viewer</strong><span>reports/review-viewer.html</span></li><li><strong>output_eval</strong><span>reports/output_quality_scorecard.md</span></li><li><strong>output_execution</strong><span>reports/output_execution_runs.md</span></li><li><strong>output_blind_review</strong><span>reports/output_blind_review_pack.md</span></li><li><strong>output_review_decisions</strong><span>reports/output_review_decisions.json</span></li><li><strong>output_review_adjudication</strong><span>reports/output_review_adjudication.md</span></li><li><strong>runtime_conformance</strong><span>reports/conformance_matrix.md</span></li><li><strong>trust_report</strong><span>reports/security_trust_report.md</span></li><li><strong>permission_policy</strong><span>security/permission_policy.md</span></li><li><strong>runtime_permissions</strong><span>reports/runtime_permission_probes.md</span></li><li><strong>skill_atlas</strong><span>reports/skill_atlas.html</span></li><li><strong>compiled_targets</strong><span>reports/compiled_targets.md</span></li><li><strong>adoption_drift</strong><span>reports/adoption_drift_report.md</span></li><li><strong>review_waivers</strong><span>reports/review_waivers.md</span></li><li><strong>review_annotations</strong><span>reports/review_annotations.md</span></li><li><strong>world_class_evidence_plan</strong><span>reports/world_class_evidence_plan.md</span></li><li><strong>registry_audit</strong><span>reports/registry_audit.md</span></li><li><strong>package_verification</strong><span>reports/package_verification.md</span></li><li><strong>install_simulation</strong><span>reports/install_simulation.md</span></li><li><strong>upgrade_check</strong><span>reports/upgrade_check.md</span></li><li><strong>migration</strong><span>docs/migration-v2.md</span></li></ul>
|
||||
<ul class="evidence"><li><strong>skill_overview</strong><span>reports/skill-overview.html</span></li><li><strong>review_viewer</strong><span>reports/review-viewer.html</span></li><li><strong>output_eval</strong><span>reports/output_quality_scorecard.md</span></li><li><strong>output_execution</strong><span>reports/output_execution_runs.md</span></li><li><strong>output_blind_review</strong><span>reports/output_blind_review_pack.md</span></li><li><strong>output_review_decisions</strong><span>reports/output_review_decisions.json</span></li><li><strong>output_review_adjudication</strong><span>reports/output_review_adjudication.md</span></li><li><strong>benchmark_reproducibility</strong><span>reports/benchmark_reproducibility.md</span></li><li><strong>runtime_conformance</strong><span>reports/conformance_matrix.md</span></li><li><strong>trust_report</strong><span>reports/security_trust_report.md</span></li><li><strong>permission_policy</strong><span>security/permission_policy.md</span></li><li><strong>runtime_permissions</strong><span>reports/runtime_permission_probes.md</span></li><li><strong>skill_atlas</strong><span>reports/skill_atlas.html</span></li><li><strong>compiled_targets</strong><span>reports/compiled_targets.md</span></li><li><strong>adoption_drift</strong><span>reports/adoption_drift_report.md</span></li><li><strong>review_waivers</strong><span>reports/review_waivers.md</span></li><li><strong>review_annotations</strong><span>reports/review_annotations.md</span></li><li><strong>world_class_evidence_plan</strong><span>reports/world_class_evidence_plan.md</span></li><li><strong>registry_audit</strong><span>reports/registry_audit.md</span></li><li><strong>package_verification</strong><span>reports/package_verification.md</span></li><li><strong>install_simulation</strong><span>reports/install_simulation.md</span></li><li><strong>upgrade_check</strong><span>reports/upgrade_check.md</span></li><li><strong>migration</strong><span>docs/migration-v2.md</span></li></ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -313,7 +313,7 @@
|
||||
</section>
|
||||
|
||||
<section id="trust" class="twocol">
|
||||
<div class="panel"><h2>信任报告</h2><dl class='kv-grid'><div><dt>Secret</dt><dd>0</dd></div><div><dt>脚本数</dt><dd>76</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726</code></dd></div></dl></div>
|
||||
<div class="panel"><h2>信任报告</h2><dl class='kv-grid'><div><dt>Secret</dt><dd>0</dd></div><div><dt>脚本数</dt><dd>77</dd></div><div><dt>网络脚本</dt><dd>3</dd></div><div><dt>Help 失败</dt><dd>0</dd></div><div><dt>包体哈希</dt><dd><code>fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c</code></dd></div></dl></div>
|
||||
<div class="panel"><h2>安全边界</h2><p>高风险 secret、远程 inline execution、缺失依赖策略或无法解释的脚本接口应阻断 governed release。</p></div>
|
||||
</section>
|
||||
|
||||
@@ -344,12 +344,12 @@
|
||||
|
||||
<section id="registry" class="twocol">
|
||||
<div class="panel"><h2>注册审计</h2><p>yao-meta-skill 1.1.0; 6/6 compatibility entries pass; install pass with 4 adapters; installer permissions 12 enforced / 0 failures</p></div>
|
||||
<div class="panel"><h2>包体元数据</h2><dl class='kv-grid'><div><dt>名称</dt><dd>yao-meta-skill</dd></div><div><dt>版本</dt><dd>1.1.0</dd></div><div><dt>Maturity</dt><dd>governed</dd></div><div><dt>Owner</dt><dd>Yao Team</dd></div><div><dt>License</dt><dd>MIT</dd></div><div><dt>信任级别</dt><dd>local</dd></div><div><dt>目标平台</dt><dd>openai, claude, generic, agent-skills-compatible, vscode</dd></div><div><dt>兼容通过</dt><dd>6/6</dd></div><div><dt>归档哈希</dt><dd><code>1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66</code></dd></div></dl></div>
|
||||
<div class="panel"><h2>包体元数据</h2><dl class='kv-grid'><div><dt>名称</dt><dd>yao-meta-skill</dd></div><div><dt>版本</dt><dd>1.1.0</dd></div><div><dt>Maturity</dt><dd>governed</dd></div><div><dt>Owner</dt><dd>Yao Team</dd></div><div><dt>License</dt><dd>MIT</dd></div><div><dt>信任级别</dt><dd>local</dd></div><div><dt>目标平台</dt><dd>openai, claude, generic, agent-skills-compatible, vscode</dd></div><div><dt>兼容通过</dt><dd>6/6</dd></div><div><dt>归档哈希</dt><dd><code>4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a</code></dd></div></dl></div>
|
||||
</section>
|
||||
|
||||
<section id="release" class="twocol">
|
||||
<div class="panel"><h2>发布路线</h2><p>0 promote; 3 keep current; 0 blocked; upgrade minor declared / minor recommended</p></div>
|
||||
<div class="panel"><h2>包体验证</h2><dl class='kv-grid'><div><dt>目标数</dt><dd>4</dd></div><div><dt>Adapter</dt><dd>4</dd></div><div><dt>归档存在</dt><dd>是</dd></div><div><dt>Zip 条目</dt><dd>513</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66</code></dd></div></dl></div>
|
||||
<div class="panel"><h2>包体验证</h2><dl class='kv-grid'><div><dt>目标数</dt><dd>4</dd></div><div><dt>Adapter</dt><dd>4</dd></div><div><dt>归档存在</dt><dd>是</dd></div><div><dt>Zip 条目</dt><dd>517</dd></div><div><dt>失败数</dt><dd>0</dd></div><div><dt>警告数</dt><dd>0</dd></div><div><dt>归档哈希</dt><dd><code>4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a</code></dd></div></dl></div>
|
||||
</section>
|
||||
|
||||
<section class="twocol">
|
||||
|
||||
+233
-149
File diff suppressed because it is too large
Load Diff
@@ -2,8 +2,8 @@
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"scanned_files": 160,
|
||||
"script_count": 76,
|
||||
"scanned_files": 161,
|
||||
"script_count": 77,
|
||||
"internal_module_count": 10,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
@@ -12,18 +12,18 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 53,
|
||||
"file_write_script_count": 54,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
"permission_invalid_count": 0,
|
||||
"permission_expired_count": 0,
|
||||
"help_smoke_checked_count": 66,
|
||||
"help_smoke_checked_count": 67,
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 160,
|
||||
"package_sha256": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726"
|
||||
"package_hash_file_count": 161,
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": [],
|
||||
@@ -434,6 +434,20 @@
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/render_benchmark_reproducibility.py",
|
||||
"interface": "cli",
|
||||
"interface_declared": true,
|
||||
"interface_reason": "Renders a release-facing benchmark reproducibility manifest and Markdown report.",
|
||||
"has_argparse": true,
|
||||
"has_main_guard": true,
|
||||
"uses_input": false,
|
||||
"uses_network": false,
|
||||
"uses_file_write": true,
|
||||
"uses_subprocess": true,
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/render_context_reports.py",
|
||||
"interface": "cli",
|
||||
@@ -1141,9 +1155,9 @@
|
||||
"help_smoke": {
|
||||
"enabled": true,
|
||||
"timeout_seconds": 5.0,
|
||||
"candidate_count": 66,
|
||||
"checked_count": 66,
|
||||
"passed_count": 66,
|
||||
"candidate_count": 67,
|
||||
"checked_count": 67,
|
||||
"passed_count": 67,
|
||||
"failed_count": 0,
|
||||
"skipped_count": 10,
|
||||
"failed_scripts": [],
|
||||
@@ -1428,6 +1442,16 @@
|
||||
"stdout_excerpt": "usage: render_baseline_compare.py [-h] --entry ENTRY\n [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n\nRender a baseline comparison report from description optimization ",
|
||||
"stderr_excerpt": ""
|
||||
},
|
||||
{
|
||||
"path": "scripts/render_benchmark_reproducibility.py",
|
||||
"command": "python3 scripts/render_benchmark_reproducibility.py --help",
|
||||
"returncode": 0,
|
||||
"timed_out": false,
|
||||
"passed": true,
|
||||
"has_help_text": true,
|
||||
"stdout_excerpt": "usage: render_benchmark_reproducibility.py [-h] [--output-json OUTPUT_JSON]\n [--output-md OUTPUT_MD]\n [--generated-at GENERATED_AT]\n ",
|
||||
"stderr_excerpt": ""
|
||||
},
|
||||
{
|
||||
"path": "scripts/render_context_reports.py",
|
||||
"command": "python3 scripts/render_context_reports.py --help",
|
||||
@@ -1924,6 +1948,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
@@ -1980,6 +2005,7 @@
|
||||
"status": "approved",
|
||||
"scripts": [
|
||||
"scripts/ci_test.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
"scripts/run_eval_suite.py",
|
||||
"scripts/run_output_execution.py",
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# Security Trust Report
|
||||
|
||||
- OK: `True`
|
||||
- Scanned files: `160`
|
||||
- Scripts: `76`
|
||||
- Scanned files: `161`
|
||||
- Scripts: `77`
|
||||
- Internal script modules: `10`
|
||||
- Secret findings: `0`
|
||||
- Network-capable scripts: `3`
|
||||
- Network policy covered scripts: `3`
|
||||
- Network policy missing scripts: `0`
|
||||
- File-write scripts: `53`
|
||||
- File-write scripts: `54`
|
||||
- Permission approvals: `3 / 3`
|
||||
- Permission approval gaps: `0`
|
||||
- CLI help smoke checked: `66`
|
||||
- CLI help smoke checked: `67`
|
||||
- CLI help smoke failures: `0`
|
||||
- Interactive scripts: `0`
|
||||
- Package hash scope: `source-contract-without-generated-reports`
|
||||
- Package hash files: `160`
|
||||
- Package SHA256: `14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726`
|
||||
- Package hash files: `161`
|
||||
- Package SHA256: `fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c`
|
||||
|
||||
## Failures
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
|
||||
- Enabled: `True`
|
||||
- Timeout seconds: `5.0`
|
||||
- Checked scripts: `66`
|
||||
- Passed scripts: `66`
|
||||
- Checked scripts: `67`
|
||||
- Passed scripts: `67`
|
||||
- Failed scripts: `none`
|
||||
|
||||
## Script Surface
|
||||
@@ -90,6 +90,7 @@
|
||||
| scripts/render_adoption_drift_report.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
|
||||
| scripts/render_artifact_design_profile.py | cli | False | True | True | False | False | True | False | Default CLI classification; add SCRIPT_INTERFACE for internal modules. |
|
||||
| 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_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. |
|
||||
|
||||
@@ -15,6 +15,7 @@ Yao Meta Skill is no longer only a Meta Skill factory. The current working tree
|
||||
- Bilingual Skill Overview v2 that includes these evidence surfaces.
|
||||
- Skill OS 2.0 Audit v0 for requirement-by-requirement evidence mapping, with explicit separation between local evidence, human-required review, and external-required provider/client integrations.
|
||||
- World-Class Evidence Plan v0 that turns the remaining provider holdout, human adjudication, native permission enforcement, and native client telemetry gaps into executable runbooks with success checks and privacy contracts.
|
||||
- Benchmark Reproducibility v0 that turns public benchmark methodology, required artifacts, failure disclosure, and reproduction commands into machine-checkable release evidence.
|
||||
- Review Studio 2.0 v0 for one-page blocker, warning, evidence-path, review-action, and release-gate review.
|
||||
- Review Studio Source Refs v0 so every non-pass review action can expose structured relative source/report links with best-effort line numbers.
|
||||
- Target Compiler v0 so Skill IR compiles into OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot target contracts before packaging, including target-specific permission contracts and native behavior contracts.
|
||||
@@ -50,6 +51,7 @@ This is still not the final world-class state. Target-native behavior contracts
|
||||
| Target Compiler | `scripts/compile_skill.py`, `reports/compiled_targets.md`, `tests/verify_compile_skill.py` | v0 landed |
|
||||
| Output Eval Lab | `evals/output/cases.jsonl`, `scripts/run_output_eval.py`, `scripts/run_output_execution.py`, `scripts/local_output_eval_runner.py`, `scripts/provider_output_eval_runner.py`, `scripts/adjudicate_output_review.py`, `reports/output_quality_scorecard.md`, `reports/output_execution_runs.md`, `reports/output_blind_review_pack.md`, `reports/output_blind_answer_key.json`, `reports/output_review_decisions.json`, `reports/output_review_adjudication.md` | v0 landed |
|
||||
| Benchmark methodology | `reports/benchmark_methodology.md` | v0 landed |
|
||||
| Benchmark Reproducibility | `scripts/render_benchmark_reproducibility.py`, `reports/benchmark_reproducibility.md`, `tests/verify_benchmark_reproducibility.py` | v0 landed |
|
||||
| Skill OS 2.0 Audit | `scripts/render_skill_os2_audit.py`, `reports/skill_os2_audit.md`, `tests/verify_skill_os2_audit.py` | v0 landed |
|
||||
| World-Class Evidence Plan | `scripts/render_world_class_evidence_plan.py`, `reports/world_class_evidence_plan.md`, `tests/verify_world_class_evidence_plan.py` | v0 landed |
|
||||
| Runtime Conformance | `scripts/run_conformance_suite.py`, `reports/conformance_matrix.md` | v0 landed |
|
||||
@@ -110,24 +112,25 @@ 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, `10` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `66 / 66` CLI help smoke checks passing across `76` scripts, source-contract hash scope explicit |
|
||||
| Trust | `0` secret findings, `1` pinned dependency file, `10` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `67 / 67` CLI help smoke checks passing across `77` 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, `513` zip entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `513` 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, `517` zip entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `517` 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, `0` adoption samples, adoption `0`, 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 |
|
||||
| Review Waivers | ledger generated; current release has `1` warning gate that still needs reviewer decision or a time-bounded waiver; blockers remain non-waivable in v0 |
|
||||
| Review Annotations | ledger generated; current release has `0` reviewer annotations and `0` open annotation blockers |
|
||||
| Review Studio | decision `review`, world-class score `92`, `13` gates, `0` blockers, `2` warnings, `2` review actions, `0` open annotation blockers |
|
||||
| Skill OS 2.0 Audit | `14` audited areas, with local foundation evidence separated from human-required and external-required gaps |
|
||||
| Skill OS 2.0 Audit | `15` audited areas, with local foundation evidence separated from human-required and external-required gaps |
|
||||
| World-Class Evidence Plan | `4` remaining evidence tasks: `1` human-required and `3` external-required, all with runbooks, success checks, and privacy contracts |
|
||||
| Benchmark Reproducibility | local reproducibility ready with `16` required artifacts, `0` missing artifacts, `15` 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 `944/1000`, under the production budget |
|
||||
| CI | `make ci-test` target count is `62` after the World-Class Evidence Plan gate update |
|
||||
| CI | `make ci-test` target count is `63` after the Benchmark Reproducibility gate update |
|
||||
|
||||
## Next Highest-Leverage Moves
|
||||
|
||||
|
||||
@@ -621,7 +621,7 @@
|
||||
<div class="two-col">
|
||||
<article class="panel">
|
||||
<h3><span data-lang="zh-CN">作用定位</span><span data-lang="en">Role</span></h3>
|
||||
<ul class="list"><li><span data-lang="zh-CN">从工作流、提示词、对话记录、文档或笔记中创建、重构、评估和打包 agent skill;适用于新建 Skill、沉淀重复流程、改进现有 Skill、补充 eval 或团队复用打包。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, reports/skill-ir.json, reports/compiled_targets.md, reports/output_quality_scorecard.md, reports/output_execution_runs.md, reports/output_blind_review_pack.md, reports/output_blind_answer_key.json, reports/output_review_adjudication.md, reports/conformance_matrix.md, reports/security_trust_report.md, reports/runtime_permission_probes.md, reports/skill_atlas.html, reports/registry_audit.md, reports/package_verification.md, reports/install_simulation.md, reports/upgrade_check.md, reports/adoption_drift_report.md, reports/review_waivers.md, reports/world_class_evidence_plan.md, reports/review_annotations.md, reports/review-studio.html, reports/skill-overview.html</span><span data-lang="en">交付结果:SKILL.md, agents/interface.yaml, reports/skill-ir.json, reports/compiled_targets.md, reports/output_quality_scorecard.md, reports/output_execution_runs.md, reports/output_blind_review_pack.md, reports/output_blind_answer_key.json, reports/output_review_adjudication.md, reports/conformance_matrix.md, reports/security_trust_report.md, reports/runtime_permission_probes.md, reports/skill_atlas.html, reports/registry_audit.md, reports/package_verification.md, reports/install_simulation.md, reports/upgrade_check.md, reports/adoption_drift_report.md, reports/review_waivers.md, reports/world_class_evidence_plan.md, reports/review_annotations.md, reports/review-studio.html, reports/skill-overview.html</span></li></ul>
|
||||
<ul class="list"><li><span data-lang="zh-CN">从工作流、提示词、对话记录、文档或笔记中创建、重构、评估和打包 agent skill;适用于新建 Skill、沉淀重复流程、改进现有 Skill、补充 eval 或团队复用打包。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, reports/skill-ir.json, reports/compiled_targets.md, reports/output_quality_scorecard.md, reports/output_execution_runs.md, reports/output_blind_review_pack.md, reports/output_blind_answer_key.json, reports/output_review_adjudication.md, reports/benchmark_reproducibility.md, reports/conformance_matrix.md, reports/security_trust_report.md, reports/runtime_permission_probes.md, reports/skill_atlas.html, reports/registry_audit.md, reports/package_verification.md, reports/install_simulation.md, reports/upgrade_check.md, reports/adoption_drift_report.md, reports/review_waivers.md, reports/world_class_evidence_plan.md, reports/review_annotations.md, reports/review-studio.html, reports/skill-overview.html</span><span data-lang="en">交付结果:SKILL.md, agents/interface.yaml, reports/skill-ir.json, reports/compiled_targets.md, reports/output_quality_scorecard.md, reports/output_execution_runs.md, reports/output_blind_review_pack.md, reports/output_blind_answer_key.json, reports/output_review_adjudication.md, reports/benchmark_reproducibility.md, reports/conformance_matrix.md, reports/security_trust_report.md, reports/runtime_permission_probes.md, reports/skill_atlas.html, reports/registry_audit.md, reports/package_verification.md, reports/install_simulation.md, reports/upgrade_check.md, reports/adoption_drift_report.md, reports/review_waivers.md, reports/world_class_evidence_plan.md, reports/review_annotations.md, reports/review-studio.html, reports/skill-overview.html</span></li></ul>
|
||||
</article>
|
||||
<figure class="chart-figure" data-chart="flow"><svg viewBox="0 0 620 170" role="img" aria-label="交付流程"><text x="20" y="28" class="chart-title">交付流程</text><path d="M188 93 H248 M398 93 H458" class="chart-line"/><g><rect x="38" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text x="113" y="99" text-anchor="middle">输入材料</text></g><g><rect x="248" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text x="323" y="99" text-anchor="middle">Skill 包体</text></g><g><rect x="458" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text x="533" y="99" text-anchor="middle">可复用能力</text></g></svg><figcaption>交付流程把用户输入、生成的包体和可复用能力放在一条线上。</figcaption></figure>
|
||||
</div>
|
||||
@@ -771,7 +771,7 @@
|
||||
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
|
||||
</div>
|
||||
<div class="two-col">
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text x="20" y="30" class="chart-title">资产分布</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-0.9" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-2.7" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="28.6 71.4" stroke-dashoffset="-3.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="67.9 32.1" stroke-dashoffset="-32.1" pathLength="100" transform="rotate(-90 130 130)"/><text x="130" y="136" text-anchor="middle">317项</text><text x="235" y="78">SKILL.md</text><text x="235" y="100">README.md</text><text x="235" y="122">agents/interface.yaml</text><text x="235" y="144">manifest.json</text><text x="235" y="166">references</text><text x="235" y="188">scripts</text></svg><figcaption>资产分布图展示当前包体的文件和目录重心。</figcaption></figure>
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text x="20" y="30" class="chart-title">资产分布</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-0.9" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-1.8" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.9 99.1" stroke-dashoffset="-2.7" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="28.3 71.7" stroke-dashoffset="-3.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="68.1 31.9" stroke-dashoffset="-31.9" pathLength="100" transform="rotate(-90 130 130)"/><text x="130" y="136" text-anchor="middle">320项</text><text x="235" y="78">SKILL.md</text><text x="235" y="100">README.md</text><text x="235" y="122">agents/interface.yaml</text><text x="235" y="144">manifest.json</text><text x="235" y="166">references</text><text x="235" y="188">scripts</text></svg><figcaption>资产分布图展示当前包体的文件和目录重心。</figcaption></figure>
|
||||
<table>
|
||||
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
|
||||
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
|
||||
|
||||
+52
-21
@@ -18,6 +18,7 @@
|
||||
"reports/output_blind_review_pack.md",
|
||||
"reports/output_blind_answer_key.json",
|
||||
"reports/output_review_adjudication.md",
|
||||
"reports/benchmark_reproducibility.md",
|
||||
"reports/conformance_matrix.md",
|
||||
"reports/security_trust_report.md",
|
||||
"reports/runtime_permission_probes.md",
|
||||
@@ -434,7 +435,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 76
|
||||
"file_count": 77
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -446,10 +447,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 177
|
||||
"file_count": 179
|
||||
}
|
||||
],
|
||||
"file_count": 317,
|
||||
"file_count": 320,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -474,7 +475,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 76
|
||||
"value": 77
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -482,7 +483,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 177
|
||||
"value": 179
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -603,7 +604,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 76
|
||||
"file_count": 77
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -615,7 +616,7 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 177
|
||||
"file_count": 179
|
||||
}
|
||||
],
|
||||
"strengths": [
|
||||
@@ -882,6 +883,36 @@
|
||||
"reviewed_at": "",
|
||||
"failures": []
|
||||
},
|
||||
"benchmark_reproducibility": {
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"reproducibility_ready": true,
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 16,
|
||||
"missing_artifact_count": 0,
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 15,
|
||||
"command_executed_count": 10,
|
||||
"timing_observed_count": 10,
|
||||
"model_executed_count": 0,
|
||||
"token_observed_count": 0,
|
||||
"human_review_complete": false,
|
||||
"provider_evidence_complete": false,
|
||||
"world_class_ready": false,
|
||||
"world_class_open_gap_count": 4,
|
||||
"world_class_task_count": 4,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 43
|
||||
},
|
||||
"commit": "c2507af5267e3c1eb6802449f74236c5ab649742",
|
||||
"missing_artifacts": [],
|
||||
"limitations": [
|
||||
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
|
||||
"Pending blind-review decisions are visible but do not count as human adjudication.",
|
||||
"World-class readiness remains false until external and human evidence gaps close."
|
||||
]
|
||||
},
|
||||
"runtime_conformance": {
|
||||
"target_count": 5,
|
||||
"pass_count": 5,
|
||||
@@ -949,8 +980,8 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 160,
|
||||
"script_count": 76,
|
||||
"scanned_files": 161,
|
||||
"script_count": 77,
|
||||
"internal_module_count": 10,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
@@ -959,18 +990,18 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 53,
|
||||
"file_write_script_count": 54,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
"permission_invalid_count": 0,
|
||||
"permission_expired_count": 0,
|
||||
"help_smoke_checked_count": 66,
|
||||
"help_smoke_checked_count": 67,
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 160,
|
||||
"package_sha256": "f328af72fb868e5d1d246d07b131a9372b30f781b3f887c306951cdf15a20315"
|
||||
"package_hash_file_count": 161,
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
@@ -1008,8 +1039,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "f328af72fb868e5d1d246d07b131a9372b30f781b3f887c306951cdf15a20315",
|
||||
"archive_sha256": "665b58c8a8b1ea1983a50c160e28453d7a2255ac17d4b56bb7d31f2d89a3850f"
|
||||
"package_sha256": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1040,7 +1071,7 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "665b58c8a8b1ea1983a50c160e28453d7a2255ac17d4b56bb7d31f2d89a3850f",
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
@@ -1056,8 +1087,8 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "665b58c8a8b1ea1983a50c160e28453d7a2255ac17d4b56bb7d31f2d89a3850f",
|
||||
"archive_entry_count": 513,
|
||||
"archive_sha256": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a",
|
||||
"archive_entry_count": 517,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1068,7 +1099,7 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 513,
|
||||
"archive_entry_count": 517,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1135,12 +1166,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "665b58c8a8b1ea1983a50c160e28453d7a2255ac17d4b56bb7d31f2d89a3850f"
|
||||
"to": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "f328af72fb868e5d1d246d07b131a9372b30f781b3f887c306951cdf15a20315"
|
||||
"to": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"generated_at": "2026-06-13",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"item_count": 14,
|
||||
"pass_count": 10,
|
||||
"item_count": 15,
|
||||
"pass_count": 11,
|
||||
"warn_count": 0,
|
||||
"human_required_count": 1,
|
||||
"external_required_count": 3,
|
||||
@@ -16,7 +16,7 @@
|
||||
"decision": "continue-iteration"
|
||||
},
|
||||
"status_counts": {
|
||||
"pass": 10,
|
||||
"pass": 11,
|
||||
"warn": 0,
|
||||
"human_required": 1,
|
||||
"external_required": 3,
|
||||
@@ -141,6 +141,36 @@
|
||||
],
|
||||
"next_action": "Record real A/B choices in the decision template, then regenerate adjudication."
|
||||
},
|
||||
{
|
||||
"key": "benchmark-reproducibility",
|
||||
"label": "Benchmark Reproducibility",
|
||||
"status": "pass",
|
||||
"current": "artifacts 16; missing 0; failures 3",
|
||||
"target": "Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable",
|
||||
"evidence": [
|
||||
{
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "reports/benchmark_reproducibility.json",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "reports/benchmark_reproducibility.md",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "evals/failure-cases.md",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_benchmark_reproducibility.py",
|
||||
"exists": true
|
||||
}
|
||||
],
|
||||
"next_action": "Keep the manifest current with every benchmark, package, and release evidence change."
|
||||
},
|
||||
{
|
||||
"key": "runtime-conformance",
|
||||
"label": "Runtime Conformance",
|
||||
@@ -167,7 +197,7 @@
|
||||
"key": "trust-security",
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"current": "secrets 0; scripts 76; help failures 0",
|
||||
"current": "secrets 0; scripts 77; help failures 0",
|
||||
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -251,7 +281,7 @@
|
||||
"key": "registry-distribution",
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"current": "zip entries 513; install failures 0; permission failures 0",
|
||||
"current": "zip entries 517; install failures 0; permission failures 0",
|
||||
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
|
||||
"evidence": [
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ Generated at: `2026-06-13`
|
||||
## Summary
|
||||
|
||||
- decision: `continue-iteration`
|
||||
- pass: `10` / `14`
|
||||
- pass: `11` / `15`
|
||||
- human required: `1`
|
||||
- external required: `3`
|
||||
- missing: `0`
|
||||
@@ -21,12 +21,13 @@ Generated at: `2026-06-13`
|
||||
| Output Eval Lab | pass | 5 cases; delta 100.0; exec 10; blind 5 | with-skill/baseline, assertions, execution evidence, blind A/B, failure taxonomy | Add more real-file and adversarial holdout cases as usage grows. |
|
||||
| Provider Holdout | external-required | model-executed 0; token-observed 0 | At least one real provider-backed holdout run with observed model/timing/token metadata | Run provider-backed holdout cases with real credentials and commit only aggregate evidence. |
|
||||
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. |
|
||||
| Benchmark Reproducibility | pass | artifacts 16; 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 76; 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 77; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
|
||||
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4 | Packaged adapters expose explicit permission metadata and residual risks | Preserve residual-risk notes until real native enforcement exists. |
|
||||
| Native Permission Enforcement | external-required | native-enforced targets 0 | At least one target/client enforces approved permissions at runtime | Integrate a real client or installer runtime guard before claiming native permission enforcement. |
|
||||
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
|
||||
| Registry Distribution | pass | zip entries 513; 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 517; 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 2; score 92 | 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. |
|
||||
@@ -60,6 +61,10 @@ Generated at: `2026-06-13`
|
||||
|
||||
- existing evidence: `reports/output_review_decisions.json`, `reports/output_review_adjudication.json`, `scripts/adjudicate_output_review.py`
|
||||
|
||||
### Benchmark Reproducibility
|
||||
|
||||
- existing evidence: `reports/benchmark_methodology.md`, `reports/benchmark_reproducibility.json`, `reports/benchmark_reproducibility.md`, `evals/failure-cases.md`, `tests/verify_benchmark_reproducibility.py`
|
||||
|
||||
### Runtime Conformance
|
||||
|
||||
- existing evidence: `runtime/conformance/schema.json`, `scripts/run_conformance_suite.py`, `reports/conformance_matrix.json`
|
||||
|
||||
@@ -70,12 +70,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "1220ca743cc885c1818fbd10b0e24dc9b451a932ed51282e1f801eb598526a66"
|
||||
"to": "4d87b1f2b91c08d6d2110342dff3ec7c46d9f58f652abace97270c708191a86a"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "14948119733df8546f5c30e0131428ea95c4866a3bdc8151a3e1ab9c7a4f1726"
|
||||
"to": "fcc89390653cca0e31cb56be360951474028409c160fb0d975b361aad557e96c"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -50,6 +50,7 @@ DEFAULT_TARGETS = [
|
||||
"review-studio-check",
|
||||
"skill-os2-audit-check",
|
||||
"world-class-evidence-check",
|
||||
"benchmark-reproducibility-check",
|
||||
"feedback-check",
|
||||
"adoption-drift-check",
|
||||
"telemetry-import-check",
|
||||
|
||||
@@ -0,0 +1,368 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import subprocess
|
||||
from datetime import date
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
SCRIPT_INTERFACE = "cli"
|
||||
SCRIPT_INTERFACE_REASON = "Renders a release-facing benchmark reproducibility manifest and Markdown report."
|
||||
|
||||
METHODOLOGY_SECTIONS = [
|
||||
"## Benchmark Types",
|
||||
"## Sample Sources",
|
||||
"## Evaluation Dimensions",
|
||||
"## Weighting Rule",
|
||||
"## Failure Disclosure",
|
||||
"## Reproduction",
|
||||
]
|
||||
|
||||
REQUIRED_ARTIFACTS = [
|
||||
("methodology", "reports/benchmark_methodology.md"),
|
||||
("failure_disclosure", "evals/failure-cases.md"),
|
||||
("output_cases", "evals/output/cases.jsonl"),
|
||||
("output_schema", "evals/output/schema.json"),
|
||||
("output_scorecard", "reports/output_quality_scorecard.json"),
|
||||
("output_execution", "reports/output_execution_runs.json"),
|
||||
("blind_review", "reports/output_blind_review_pack.json"),
|
||||
("review_adjudication", "reports/output_review_adjudication.json"),
|
||||
("trigger_scorecard", "reports/route_scorecard.json"),
|
||||
("runtime_conformance", "reports/conformance_matrix.json"),
|
||||
("trust_report", "reports/security_trust_report.json"),
|
||||
("registry_audit", "reports/registry_audit.json"),
|
||||
("package_verification", "reports/package_verification.json"),
|
||||
("install_simulation", "reports/install_simulation.json"),
|
||||
("skill_os2_audit", "reports/skill_os2_audit.json"),
|
||||
("world_class_evidence_plan", "reports/world_class_evidence_plan.json"),
|
||||
]
|
||||
|
||||
REPRODUCTION_COMMANDS = [
|
||||
{
|
||||
"label": "source commit",
|
||||
"command": "git rev-parse HEAD",
|
||||
"evidence": "git commit hash",
|
||||
},
|
||||
{
|
||||
"label": "trigger eval",
|
||||
"command": "make eval-suite",
|
||||
"evidence": "reports/eval_suite.json",
|
||||
},
|
||||
{
|
||||
"label": "output eval",
|
||||
"command": "python3 scripts/yao.py output-eval",
|
||||
"evidence": "reports/output_quality_scorecard.json",
|
||||
},
|
||||
{
|
||||
"label": "output execution",
|
||||
"command": "python3 scripts/yao.py output-exec --runner-command '[\"python3\",\"scripts/local_output_eval_runner.py\"]'",
|
||||
"evidence": "reports/output_execution_runs.json",
|
||||
},
|
||||
{
|
||||
"label": "blind review adjudication",
|
||||
"command": "python3 scripts/yao.py output-review",
|
||||
"evidence": "reports/output_review_adjudication.json",
|
||||
},
|
||||
{
|
||||
"label": "skill ir",
|
||||
"command": "python3 scripts/yao.py skill-ir . --output-json skill-ir/examples/yao-meta-skill.json",
|
||||
"evidence": "skill-ir/examples/yao-meta-skill.json",
|
||||
},
|
||||
{
|
||||
"label": "runtime conformance",
|
||||
"command": "python3 scripts/yao.py conformance .",
|
||||
"evidence": "reports/conformance_matrix.json",
|
||||
},
|
||||
{
|
||||
"label": "trust report",
|
||||
"command": "python3 scripts/yao.py trust .",
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
},
|
||||
{
|
||||
"label": "package",
|
||||
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --expectations evals/packaging_expectations.json --output-dir dist --zip",
|
||||
"evidence": "dist/yao-meta-skill.zip",
|
||||
},
|
||||
{
|
||||
"label": "package verify",
|
||||
"command": "python3 scripts/yao.py package-verify . --package-dir dist --require-zip",
|
||||
"evidence": "reports/package_verification.json",
|
||||
},
|
||||
{
|
||||
"label": "install simulate",
|
||||
"command": "python3 scripts/yao.py install-simulate . --package-dir dist",
|
||||
"evidence": "reports/install_simulation.json",
|
||||
},
|
||||
{
|
||||
"label": "registry audit",
|
||||
"command": "python3 scripts/yao.py registry-audit .",
|
||||
"evidence": "reports/registry_audit.json",
|
||||
},
|
||||
{
|
||||
"label": "skill os audit",
|
||||
"command": "python3 scripts/yao.py skill-os2-audit .",
|
||||
"evidence": "reports/skill_os2_audit.json",
|
||||
},
|
||||
{
|
||||
"label": "world-class evidence plan",
|
||||
"command": "python3 scripts/yao.py world-class-evidence .",
|
||||
"evidence": "reports/world_class_evidence_plan.json",
|
||||
},
|
||||
{
|
||||
"label": "full ci",
|
||||
"command": "make ci-test",
|
||||
"evidence": "CI target output",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def load_json(path: Path) -> dict[str, Any]:
|
||||
if not path.exists():
|
||||
return {}
|
||||
try:
|
||||
payload = json.loads(path.read_text(encoding="utf-8"))
|
||||
except json.JSONDecodeError:
|
||||
return {}
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
|
||||
|
||||
def rel_path(path: Path, root: Path) -> str:
|
||||
try:
|
||||
return str(path.resolve().relative_to(root.resolve()))
|
||||
except ValueError:
|
||||
return str(path.resolve())
|
||||
|
||||
|
||||
def sha256_file(path: Path) -> str:
|
||||
digest = hashlib.sha256()
|
||||
with path.open("rb") as handle:
|
||||
for chunk in iter(lambda: handle.read(1024 * 1024), b""):
|
||||
digest.update(chunk)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def git_commit(skill_dir: Path) -> str:
|
||||
try:
|
||||
proc = subprocess.run(
|
||||
["git", "rev-parse", "HEAD"],
|
||||
cwd=skill_dir,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
)
|
||||
except (OSError, subprocess.CalledProcessError):
|
||||
return "unknown"
|
||||
return proc.stdout.strip() or "unknown"
|
||||
|
||||
|
||||
def git_status(skill_dir: Path) -> dict[str, Any]:
|
||||
try:
|
||||
proc = subprocess.run(
|
||||
["git", "status", "--short", "--untracked-files=all"],
|
||||
cwd=skill_dir,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
)
|
||||
except (OSError, subprocess.CalledProcessError):
|
||||
return {"available": False, "dirty": None, "changed_file_count": None}
|
||||
lines = [line for line in proc.stdout.splitlines() if line.strip()]
|
||||
return {
|
||||
"available": True,
|
||||
"dirty": bool(lines),
|
||||
"changed_file_count": len(lines),
|
||||
"sample": lines[:12],
|
||||
}
|
||||
|
||||
|
||||
def count_jsonl(path: Path) -> int:
|
||||
if not path.exists():
|
||||
return 0
|
||||
return sum(1 for line in path.read_text(encoding="utf-8").splitlines() if line.strip())
|
||||
|
||||
|
||||
def count_failure_cases(path: Path) -> int:
|
||||
if not path.exists():
|
||||
return 0
|
||||
return sum(1 for line in path.read_text(encoding="utf-8").splitlines() if line.startswith("### "))
|
||||
|
||||
|
||||
def methodology_check(path: Path) -> dict[str, Any]:
|
||||
text = path.read_text(encoding="utf-8") if path.exists() else ""
|
||||
sections = [{"heading": heading, "exists": heading in text} for heading in METHODOLOGY_SECTIONS]
|
||||
return {
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
"exists": path.exists(),
|
||||
"sections": sections,
|
||||
"missing_sections": [item["heading"] for item in sections if not item["exists"]],
|
||||
}
|
||||
|
||||
|
||||
def artifact_record(skill_dir: Path, label: str, rel: str) -> dict[str, Any]:
|
||||
path = skill_dir / rel
|
||||
record: dict[str, Any] = {
|
||||
"label": label,
|
||||
"path": rel,
|
||||
"exists": path.exists(),
|
||||
}
|
||||
if path.exists() and path.is_file():
|
||||
record["bytes"] = path.stat().st_size
|
||||
record["sha256"] = sha256_file(path)
|
||||
return record
|
||||
|
||||
|
||||
def build_report(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
reports = skill_dir / "reports"
|
||||
output_quality = load_json(reports / "output_quality_scorecard.json")
|
||||
output_execution = load_json(reports / "output_execution_runs.json")
|
||||
output_review = load_json(reports / "output_review_adjudication.json")
|
||||
skill_os2 = load_json(reports / "skill_os2_audit.json")
|
||||
world_class_plan = load_json(reports / "world_class_evidence_plan.json")
|
||||
methodology = methodology_check(reports / "benchmark_methodology.md")
|
||||
artifacts = [artifact_record(skill_dir, label, rel) for label, rel in REQUIRED_ARTIFACTS]
|
||||
missing_artifacts = [item["path"] for item in artifacts if not item["exists"]]
|
||||
output_summary = output_quality.get("summary", {})
|
||||
execution_summary = output_execution.get("summary", {})
|
||||
review_summary = output_review.get("summary", {})
|
||||
failure_case_count = count_failure_cases(skill_dir / "evals" / "failure-cases.md")
|
||||
output_case_count = count_jsonl(skill_dir / "evals" / "output" / "cases.jsonl")
|
||||
status = git_status(skill_dir)
|
||||
local_reproducibility_ready = (
|
||||
not methodology["missing_sections"]
|
||||
and not missing_artifacts
|
||||
and output_case_count >= 5
|
||||
and failure_case_count > 0
|
||||
and output_summary.get("gate_pass") is True
|
||||
and execution_summary.get("command_executed_count", 0) > 0
|
||||
and execution_summary.get("timing_observed_count", 0) > 0
|
||||
)
|
||||
human_review_complete = review_summary.get("pair_count", 0) > 0 and review_summary.get("pending_count", 0) == 0
|
||||
provider_evidence_complete = execution_summary.get("model_executed_count", 0) > 0 and execution_summary.get("token_observed_count", 0) > 0
|
||||
return {
|
||||
"schema_version": "1.0",
|
||||
"ok": local_reproducibility_ready,
|
||||
"generated_at": generated_at,
|
||||
"skill_dir": rel_path(skill_dir, ROOT),
|
||||
"commit": git_commit(skill_dir),
|
||||
"git_status": status,
|
||||
"summary": {
|
||||
"reproducibility_ready": local_reproducibility_ready,
|
||||
"methodology_complete": not methodology["missing_sections"],
|
||||
"required_artifact_count": len(artifacts),
|
||||
"missing_artifact_count": len(missing_artifacts),
|
||||
"output_case_count": output_case_count,
|
||||
"failure_disclosure_count": failure_case_count,
|
||||
"command_count": len(REPRODUCTION_COMMANDS),
|
||||
"command_executed_count": execution_summary.get("command_executed_count", 0),
|
||||
"timing_observed_count": execution_summary.get("timing_observed_count", 0),
|
||||
"model_executed_count": execution_summary.get("model_executed_count", 0),
|
||||
"token_observed_count": execution_summary.get("token_observed_count", 0),
|
||||
"human_review_complete": human_review_complete,
|
||||
"provider_evidence_complete": provider_evidence_complete,
|
||||
"world_class_ready": bool(skill_os2.get("summary", {}).get("world_class_ready", False)),
|
||||
"world_class_open_gap_count": skill_os2.get("summary", {}).get("open_gap_count", 0),
|
||||
"world_class_task_count": world_class_plan.get("summary", {}).get("task_count", 0),
|
||||
"working_tree_dirty": status.get("dirty"),
|
||||
"changed_file_count": status.get("changed_file_count"),
|
||||
},
|
||||
"methodology": methodology,
|
||||
"artifacts_checked": artifacts,
|
||||
"missing_artifacts": missing_artifacts,
|
||||
"reproduction_commands": REPRODUCTION_COMMANDS,
|
||||
"failure_disclosure": {
|
||||
"path": "evals/failure-cases.md",
|
||||
"case_count": failure_case_count,
|
||||
"policy": "Keep representative failures visible and tied to regression checks.",
|
||||
},
|
||||
"limitations": [
|
||||
"Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
|
||||
"Pending blind-review decisions are visible but do not count as human adjudication.",
|
||||
"World-class readiness remains false until external and human evidence gaps close.",
|
||||
],
|
||||
"artifacts": {
|
||||
"json": "reports/benchmark_reproducibility.json",
|
||||
"markdown": "reports/benchmark_reproducibility.md",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def render_markdown(report: dict[str, Any]) -> str:
|
||||
summary = report["summary"]
|
||||
lines = [
|
||||
"# Benchmark Reproducibility",
|
||||
"",
|
||||
f"Generated at: `{report['generated_at']}`",
|
||||
f"Commit: `{report['commit']}`",
|
||||
f"Working tree dirty at generation: `{str(summary.get('working_tree_dirty')).lower()}`",
|
||||
"",
|
||||
"## Summary",
|
||||
"",
|
||||
f"- reproducibility ready: `{str(summary['reproducibility_ready']).lower()}`",
|
||||
f"- methodology complete: `{str(summary['methodology_complete']).lower()}`",
|
||||
f"- required artifacts: `{summary['required_artifact_count']}`",
|
||||
f"- missing artifacts: `{summary['missing_artifact_count']}`",
|
||||
f"- output cases: `{summary['output_case_count']}`",
|
||||
f"- disclosed failure cases: `{summary['failure_disclosure_count']}`",
|
||||
f"- reproduction commands: `{summary['command_count']}`",
|
||||
f"- provider evidence complete: `{str(summary['provider_evidence_complete']).lower()}`",
|
||||
f"- human review complete: `{str(summary['human_review_complete']).lower()}`",
|
||||
f"- world-class ready: `{str(summary['world_class_ready']).lower()}`",
|
||||
f"- changed files at generation: `{summary.get('changed_file_count')}`",
|
||||
"",
|
||||
"This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete.",
|
||||
"",
|
||||
"## Methodology Sections",
|
||||
"",
|
||||
"| Section | Status |",
|
||||
"| --- | --- |",
|
||||
]
|
||||
for section in report["methodology"]["sections"]:
|
||||
lines.append(f"| `{section['heading']}` | {'present' if section['exists'] else 'missing'} |")
|
||||
lines.extend(["", "## Required Artifacts", "", "| Label | Path | Status | SHA256 |", "| --- | --- | --- | --- |"])
|
||||
for artifact in report["artifacts_checked"]:
|
||||
digest = artifact.get("sha256", "")
|
||||
lines.append(
|
||||
f"| {artifact['label']} | `{artifact['path']}` | {'present' if artifact['exists'] else 'missing'} | `{digest[:12]}` |"
|
||||
)
|
||||
lines.extend(["", "## Reproduction Commands", ""])
|
||||
for command in report["reproduction_commands"]:
|
||||
lines.append(f"- `{command['command']}`")
|
||||
lines.append(f" - evidence: `{command['evidence']}`")
|
||||
lines.extend(["", "## Failure Disclosure", ""])
|
||||
disclosure = report["failure_disclosure"]
|
||||
lines.append(f"- path: `{disclosure['path']}`")
|
||||
lines.append(f"- disclosed cases: `{disclosure['case_count']}`")
|
||||
lines.append(f"- policy: {disclosure['policy']}")
|
||||
lines.extend(["", "## Limits", ""])
|
||||
lines.extend(f"- {item}" for item in report["limitations"])
|
||||
return "\n".join(lines).rstrip() + "\n"
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Render benchmark reproducibility evidence.")
|
||||
parser.add_argument("skill_dir", nargs="?", default=".")
|
||||
parser.add_argument("--output-json", default="reports/benchmark_reproducibility.json")
|
||||
parser.add_argument("--output-md", default="reports/benchmark_reproducibility.md")
|
||||
parser.add_argument("--generated-at", default=date.today().isoformat())
|
||||
args = parser.parse_args()
|
||||
|
||||
skill_dir = Path(args.skill_dir).resolve()
|
||||
report = build_report(skill_dir, args.generated_at)
|
||||
output_json = Path(args.output_json)
|
||||
output_md = Path(args.output_md)
|
||||
if not output_json.is_absolute():
|
||||
output_json = skill_dir / output_json
|
||||
if not output_md.is_absolute():
|
||||
output_md = skill_dir / output_md
|
||||
output_json.parent.mkdir(parents=True, exist_ok=True)
|
||||
output_md.parent.mkdir(parents=True, exist_ok=True)
|
||||
output_json.write_text(json.dumps(report, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
output_md.write_text(render_markdown(report), encoding="utf-8")
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -124,6 +124,7 @@ def evidence_paths(skill_dir: Path) -> dict[str, str]:
|
||||
"output_blind_review": "reports/output_blind_review_pack.md",
|
||||
"output_review_decisions": "reports/output_review_decisions.json",
|
||||
"output_review_adjudication": "reports/output_review_adjudication.md",
|
||||
"benchmark_reproducibility": "reports/benchmark_reproducibility.md",
|
||||
"runtime_conformance": "reports/conformance_matrix.md",
|
||||
"trust_report": "reports/security_trust_report.md",
|
||||
"permission_policy": "security/permission_policy.md",
|
||||
|
||||
@@ -77,6 +77,7 @@ def build_audit(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
output_quality = load_json(reports / "output_quality_scorecard.json")
|
||||
output_execution = load_json(reports / "output_execution_runs.json")
|
||||
output_review = load_json(reports / "output_review_adjudication.json")
|
||||
benchmark_reproducibility = load_json(reports / "benchmark_reproducibility.json")
|
||||
conformance = load_json(reports / "conformance_matrix.json")
|
||||
trust = load_json(reports / "security_trust_report.json")
|
||||
runtime_permissions = load_json(reports / "runtime_permission_probes.json")
|
||||
@@ -92,6 +93,7 @@ def build_audit(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
output_summary = output_quality.get("summary", {})
|
||||
execution_summary = output_execution.get("summary", {})
|
||||
review_summary = output_review.get("summary", {})
|
||||
benchmark_summary = benchmark_reproducibility.get("summary", {})
|
||||
conformance_summary = conformance.get("summary", {})
|
||||
trust_summary = trust.get("summary", {})
|
||||
permission_summary = runtime_permissions.get("summary", {})
|
||||
@@ -171,6 +173,31 @@ def build_audit(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
evidence(skill_dir, "reports/output_review_decisions.json", "reports/output_review_adjudication.json", "scripts/adjudicate_output_review.py"),
|
||||
"Record real A/B choices in the decision template, then regenerate adjudication.",
|
||||
),
|
||||
audit_item(
|
||||
"benchmark-reproducibility",
|
||||
"Benchmark Reproducibility",
|
||||
status_from(
|
||||
benchmark_reproducibility.get("ok") is True
|
||||
and benchmark_summary.get("reproducibility_ready") is True
|
||||
and benchmark_summary.get("failure_disclosure_count", 0) > 0
|
||||
and benchmark_summary.get("missing_artifact_count", 1) == 0
|
||||
),
|
||||
(
|
||||
f"artifacts {benchmark_summary.get('required_artifact_count', 0)}; "
|
||||
f"missing {benchmark_summary.get('missing_artifact_count', 'n/a')}; "
|
||||
f"failures {benchmark_summary.get('failure_disclosure_count', 0)}"
|
||||
),
|
||||
"Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable",
|
||||
evidence(
|
||||
skill_dir,
|
||||
"reports/benchmark_methodology.md",
|
||||
"reports/benchmark_reproducibility.json",
|
||||
"reports/benchmark_reproducibility.md",
|
||||
"evals/failure-cases.md",
|
||||
"tests/verify_benchmark_reproducibility.py",
|
||||
),
|
||||
"Keep the manifest current with every benchmark, package, and release evidence change.",
|
||||
),
|
||||
audit_item(
|
||||
"runtime-conformance",
|
||||
"Runtime Conformance",
|
||||
|
||||
@@ -476,6 +476,7 @@ def build_report_model(skill_dir: Path) -> dict:
|
||||
output_execution = load_json(skill_dir / "reports" / "output_execution_runs.json")
|
||||
output_blind_review = load_json(skill_dir / "reports" / "output_blind_review_pack.json")
|
||||
output_review_adjudication = load_json(skill_dir / "reports" / "output_review_adjudication.json")
|
||||
benchmark_reproducibility = load_json(skill_dir / "reports" / "benchmark_reproducibility.json")
|
||||
conformance = load_json(skill_dir / "reports" / "conformance_matrix.json")
|
||||
runtime_permissions = load_json(skill_dir / "reports" / "runtime_permission_probes.json")
|
||||
trust_report = load_json(skill_dir / "reports" / "security_trust_report.json")
|
||||
@@ -551,6 +552,9 @@ def build_report_model(skill_dir: Path) -> dict:
|
||||
if (skill_dir / "reports" / "output_review_adjudication.md").exists():
|
||||
insert_after = deliverables.index("reports/output_blind_answer_key.json") + 1 if "reports/output_blind_answer_key.json" in deliverables else deliverables.index("reports/output_quality_scorecard.md") + 1
|
||||
deliverables.insert(insert_after, "reports/output_review_adjudication.md")
|
||||
if (skill_dir / "reports" / "benchmark_reproducibility.md").exists():
|
||||
insert_after = deliverables.index("reports/output_review_adjudication.md") + 1 if "reports/output_review_adjudication.md" in deliverables else deliverables.index("reports/output_quality_scorecard.md") + 1
|
||||
deliverables.insert(insert_after, "reports/benchmark_reproducibility.md")
|
||||
if (skill_dir / "reports" / "world_class_evidence_plan.md").exists():
|
||||
insert_after = deliverables.index("reports/review_waivers.md") + 1
|
||||
deliverables.insert(insert_after, "reports/world_class_evidence_plan.md")
|
||||
@@ -675,6 +679,13 @@ def build_report_model(skill_dir: Path) -> dict:
|
||||
"reviewed_at": output_review_adjudication.get("reviewed_at", ""),
|
||||
"failures": output_review_adjudication.get("failures", []),
|
||||
},
|
||||
"benchmark_reproducibility": {
|
||||
"ok": benchmark_reproducibility.get("ok", False),
|
||||
"summary": benchmark_reproducibility.get("summary", {}),
|
||||
"commit": benchmark_reproducibility.get("commit", ""),
|
||||
"missing_artifacts": benchmark_reproducibility.get("missing_artifacts", []),
|
||||
"limitations": benchmark_reproducibility.get("limitations", []),
|
||||
},
|
||||
"runtime_conformance": conformance.get("summary", {}),
|
||||
"runtime_permissions": {
|
||||
"ok": runtime_permissions.get("ok", False),
|
||||
|
||||
@@ -465,6 +465,7 @@ def command_report(args: argparse.Namespace) -> int:
|
||||
run_script("render_telemetry_hook_recipes.py", [str(ROOT)]),
|
||||
run_script("render_review_waivers.py", [str(ROOT)]),
|
||||
run_script("render_review_annotations.py", [str(ROOT)]),
|
||||
run_script("render_benchmark_reproducibility.py", [str(ROOT)]),
|
||||
]
|
||||
)
|
||||
report = {
|
||||
@@ -561,6 +562,20 @@ def command_world_class_evidence(args: argparse.Namespace) -> int:
|
||||
return 0 if result["ok"] else 2
|
||||
|
||||
|
||||
def command_benchmark_reproducibility(args: argparse.Namespace) -> int:
|
||||
skill_dir = str(Path(args.skill_dir).resolve())
|
||||
cmd = [skill_dir]
|
||||
if args.output_json:
|
||||
cmd.extend(["--output-json", args.output_json])
|
||||
if args.output_md:
|
||||
cmd.extend(["--output-md", args.output_md])
|
||||
if args.generated_at:
|
||||
cmd.extend(["--generated-at", args.generated_at])
|
||||
result = run_script("render_benchmark_reproducibility.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_reference_scan(args: argparse.Namespace) -> int:
|
||||
skill_dir = str(Path(args.skill_dir).resolve())
|
||||
cmd = [skill_dir]
|
||||
@@ -1181,6 +1196,7 @@ def command_workspace_flow(args: argparse.Namespace) -> int:
|
||||
{"phase": "report-refresh", "result": run_script("render_telemetry_hook_recipes.py", [str(ROOT)])},
|
||||
{"phase": "report-refresh", "result": run_script("render_review_waivers.py", [str(ROOT)])},
|
||||
{"phase": "report-refresh", "result": run_script("render_review_annotations.py", [str(ROOT)])},
|
||||
{"phase": "report-refresh", "result": run_script("render_benchmark_reproducibility.py", [str(ROOT)])},
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@@ -152,6 +152,16 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int]
|
||||
world_class_evidence_cmd.add_argument("--generated-at")
|
||||
world_class_evidence_cmd.set_defaults(func=_handler(command_handlers, "command_world_class_evidence"))
|
||||
|
||||
benchmark_reproducibility_cmd = subparsers.add_parser(
|
||||
"benchmark-reproducibility",
|
||||
help="Render benchmark methodology, artifact, failure-disclosure, and reproduction-command evidence.",
|
||||
)
|
||||
benchmark_reproducibility_cmd.add_argument("skill_dir", nargs="?", default=".")
|
||||
benchmark_reproducibility_cmd.add_argument("--output-json")
|
||||
benchmark_reproducibility_cmd.add_argument("--output-md")
|
||||
benchmark_reproducibility_cmd.add_argument("--generated-at")
|
||||
benchmark_reproducibility_cmd.set_defaults(func=_handler(command_handlers, "command_benchmark_reproducibility"))
|
||||
|
||||
reference_scan_cmd = subparsers.add_parser(
|
||||
"reference-scan",
|
||||
help="Render a controlled benchmark scan report for a skill package.",
|
||||
|
||||
@@ -136,6 +136,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
"scripts/render_adoption_drift_report.py",
|
||||
"scripts/render_artifact_design_profile.py",
|
||||
"scripts/render_baseline_compare.py",
|
||||
"scripts/render_benchmark_reproducibility.py",
|
||||
"scripts/render_context_reports.py",
|
||||
"scripts/render_description_drift_history.py",
|
||||
"scripts/render_eval_dashboard.py",
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
#!/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_benchmark_reproducibility.py"
|
||||
TMP = ROOT / "tests" / "tmp_benchmark_reproducibility"
|
||||
|
||||
|
||||
def main() -> None:
|
||||
shutil.rmtree(TMP, ignore_errors=True)
|
||||
TMP.mkdir(parents=True, exist_ok=True)
|
||||
output_json = TMP / "benchmark_reproducibility.json"
|
||||
output_md = TMP / "benchmark_reproducibility.md"
|
||||
proc = subprocess.run(
|
||||
[
|
||||
sys.executable,
|
||||
str(SCRIPT),
|
||||
str(ROOT),
|
||||
"--output-json",
|
||||
str(output_json),
|
||||
"--output-md",
|
||||
str(output_md),
|
||||
"--generated-at",
|
||||
"2026-06-13",
|
||||
],
|
||||
cwd=ROOT,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
)
|
||||
payload = json.loads(proc.stdout)
|
||||
assert payload["schema_version"] == "1.0", payload
|
||||
assert payload["ok"] is True, payload
|
||||
assert payload["summary"]["reproducibility_ready"] is True, payload
|
||||
assert payload["summary"]["methodology_complete"] is True, payload
|
||||
assert payload["summary"]["missing_artifact_count"] == 0, payload
|
||||
assert payload["summary"]["output_case_count"] >= 5, payload
|
||||
assert payload["summary"]["failure_disclosure_count"] >= 1, payload
|
||||
assert payload["summary"]["command_count"] >= 10, payload
|
||||
assert "working_tree_dirty" in payload["summary"], payload
|
||||
assert payload["git_status"]["available"] is True, payload
|
||||
assert payload["summary"]["provider_evidence_complete"] is False, payload
|
||||
assert payload["summary"]["human_review_complete"] is False, payload
|
||||
assert payload["summary"]["world_class_ready"] is False, payload
|
||||
headings = {item["heading"]: item["exists"] for item in payload["methodology"]["sections"]}
|
||||
assert headings["## Benchmark Types"], headings
|
||||
assert headings["## Failure Disclosure"], headings
|
||||
artifacts = {item["path"]: item for item in payload["artifacts_checked"]}
|
||||
assert artifacts["reports/benchmark_methodology.md"]["exists"], artifacts
|
||||
assert artifacts["evals/failure-cases.md"]["exists"], artifacts
|
||||
assert artifacts["reports/world_class_evidence_plan.json"]["exists"], artifacts
|
||||
assert any(command["command"] == "make ci-test" for command in payload["reproduction_commands"]), payload
|
||||
assert any("provider-backed" in item for item in payload["limitations"]), payload["limitations"]
|
||||
markdown = output_md.read_text(encoding="utf-8")
|
||||
assert "Benchmark Reproducibility" in markdown, markdown
|
||||
assert "reports/benchmark_methodology.md" in markdown, markdown
|
||||
assert "make ci-test" in markdown, markdown
|
||||
print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -303,6 +303,8 @@ def main() -> None:
|
||||
assert full_payload["evidence_paths"]["output_blind_review"] == "reports/output_blind_review_pack.md", full_payload["evidence_paths"]
|
||||
assert full_payload["evidence_paths"]["output_review_decisions"] == "reports/output_review_decisions.json", full_payload["evidence_paths"]
|
||||
assert full_payload["evidence_paths"]["output_review_adjudication"] == "reports/output_review_adjudication.md", full_payload["evidence_paths"]
|
||||
if (ROOT / "reports" / "benchmark_reproducibility.md").exists():
|
||||
assert full_payload["evidence_paths"]["benchmark_reproducibility"] == "reports/benchmark_reproducibility.md", full_payload["evidence_paths"]
|
||||
assert full_payload["evidence_paths"]["review_annotations"] == "reports/review_annotations.md", full_payload["evidence_paths"]
|
||||
if (ROOT / "reports" / "world_class_evidence_plan.md").exists():
|
||||
assert full_payload["evidence_paths"]["world_class_evidence_plan"] == "reports/world_class_evidence_plan.md", full_payload["evidence_paths"]
|
||||
|
||||
@@ -39,7 +39,8 @@ def main() -> None:
|
||||
assert payload["summary"]["decision"] == "continue-iteration", payload
|
||||
assert payload["summary"]["world_class_ready"] is False, payload
|
||||
assert payload["summary"]["missing_count"] == 0, payload
|
||||
assert payload["summary"]["pass_count"] >= 10, payload
|
||||
assert payload["summary"]["item_count"] >= 15, payload
|
||||
assert payload["summary"]["pass_count"] >= 11, payload
|
||||
assert payload["summary"]["human_required_count"] >= 1, payload
|
||||
assert payload["summary"]["external_required_count"] >= 3, payload
|
||||
assert payload["artifacts"]["world_class_evidence_plan"] == "reports/world_class_evidence_plan.md", payload
|
||||
@@ -47,16 +48,19 @@ def main() -> None:
|
||||
assert items["skill-ir"]["status"] == "pass", items["skill-ir"]
|
||||
assert items["target-compiler"]["status"] == "pass", items["target-compiler"]
|
||||
assert items["output-eval-lab"]["status"] == "pass", items["output-eval-lab"]
|
||||
assert items["benchmark-reproducibility"]["status"] == "pass", items["benchmark-reproducibility"]
|
||||
assert items["provider-holdout"]["status"] == "external_required", items["provider-holdout"]
|
||||
assert items["human-adjudication"]["status"] == "human_required", items["human-adjudication"]
|
||||
assert items["native-permission-enforcement"]["status"] == "external_required", items["native-permission-enforcement"]
|
||||
assert items["native-client-telemetry"]["status"] == "external_required", items["native-client-telemetry"]
|
||||
assert any(entry["path"] == "scripts/provider_output_eval_runner.py" and entry["exists"] for entry in items["provider-holdout"]["evidence"])
|
||||
assert any(entry["path"] == "reports/benchmark_reproducibility.json" and entry["exists"] for entry in items["benchmark-reproducibility"]["evidence"])
|
||||
assert any(entry["path"] == "scripts/telemetry_native_host.py" and entry["exists"] for entry in items["native-client-telemetry"]["evidence"])
|
||||
markdown = output_md.read_text(encoding="utf-8")
|
||||
assert "Skill OS 2.0 Audit" in markdown, markdown
|
||||
assert "reports/world_class_evidence_plan.md" in markdown, markdown
|
||||
assert "`provider-holdout`" in markdown, markdown
|
||||
assert "Benchmark Reproducibility" in markdown, markdown
|
||||
assert "`human-adjudication`" in markdown, markdown
|
||||
assert "`native-client-telemetry`" in markdown, markdown
|
||||
print(json.dumps({"ok": True}, ensure_ascii=False, indent=2))
|
||||
|
||||
@@ -116,6 +116,7 @@ def main() -> None:
|
||||
assert "reports/compiled_targets.md" in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/output_quality_scorecard.md" in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/output_blind_review_pack.md" not in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/benchmark_reproducibility.md" not in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/conformance_matrix.md" in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/security_trust_report.md" in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
assert "reports/runtime_permission_probes.md" not in overview_json["skill_summary"]["deliverables"], overview_json["skill_summary"]
|
||||
@@ -137,6 +138,8 @@ def main() -> None:
|
||||
assert overview_json["output_blind_review"]["summary"] == {}, overview_json["output_blind_review"]
|
||||
assert "output_review_adjudication" in overview_json, overview_json.keys()
|
||||
assert overview_json["output_review_adjudication"]["summary"] == {}, overview_json["output_review_adjudication"]
|
||||
assert "benchmark_reproducibility" in overview_json, overview_json.keys()
|
||||
assert overview_json["benchmark_reproducibility"]["summary"] == {}, overview_json["benchmark_reproducibility"]
|
||||
assert "runtime_conformance" in overview_json, overview_json.keys()
|
||||
assert "runtime_permissions" in overview_json, overview_json.keys()
|
||||
assert overview_json["runtime_permissions"]["summary"] == {}, overview_json["runtime_permissions"]
|
||||
|
||||
@@ -75,6 +75,7 @@ def main() -> None:
|
||||
assert "review-studio" in parser_help, parser_help
|
||||
assert "skill-os2-audit" in parser_help, parser_help
|
||||
assert "world-class-evidence" in parser_help, parser_help
|
||||
assert "benchmark-reproducibility" in parser_help, parser_help
|
||||
assert "telemetry-import" in parser_help, parser_help
|
||||
assert "telemetry-emit" in parser_help, parser_help
|
||||
assert "telemetry-hooks" in parser_help, parser_help
|
||||
@@ -179,6 +180,20 @@ def main() -> None:
|
||||
assert world_class_evidence_result["payload"]["summary"]["decision"] == "collect-external-evidence", world_class_evidence_result
|
||||
assert world_class_evidence_result["payload"]["summary"]["ready_to_claim_world_class"] is False, world_class_evidence_result
|
||||
|
||||
benchmark_reproducibility_result = run(
|
||||
"benchmark-reproducibility",
|
||||
str(ROOT),
|
||||
"--output-json",
|
||||
str(tmp_root / "benchmark_reproducibility.json"),
|
||||
"--output-md",
|
||||
str(tmp_root / "benchmark_reproducibility.md"),
|
||||
"--generated-at",
|
||||
"2026-06-13",
|
||||
)
|
||||
assert benchmark_reproducibility_result["ok"], benchmark_reproducibility_result
|
||||
assert benchmark_reproducibility_result["payload"]["summary"]["reproducibility_ready"] is True, benchmark_reproducibility_result
|
||||
assert benchmark_reproducibility_result["payload"]["summary"]["world_class_ready"] is False, benchmark_reproducibility_result
|
||||
|
||||
quickstart_result = run(
|
||||
"quickstart",
|
||||
"--output-dir",
|
||||
|
||||
Reference in New Issue
Block a user