Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f793d59cf | |||
| 5fbed1d273 | |||
| 6ccb9c86ba | |||
| f37e78def3 | |||
| 00a0a1f0c6 | |||
| ff7381948e | |||
| 21b243e0f5 | |||
| a30bb845d9 | |||
| 715fc750e0 | |||
| d3b74d78ff | |||
| 375dc490da | |||
| 31ce04c655 |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 771 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 685 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
@@ -23,6 +23,7 @@ Use `make ci-test` as the default full verification command before calling a cha
|
||||
Common focused checks:
|
||||
|
||||
- CLI changes: `python3 tests/verify_yao_cli.py`
|
||||
- Operator UX changes: `python3 tests/verify_operator_ux.py`
|
||||
- Skill overview report changes: `python3 tests/verify_skill_overview.py`
|
||||
- Review Studio changes: `python3 tests/verify_review_studio.py`
|
||||
- Trust or script inventory changes: `python3 tests/verify_trust_check.py`
|
||||
@@ -119,6 +120,8 @@ Clean test-only scratch directories after verification with `find tests -maxdept
|
||||
- `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.
|
||||
- `scripts/yao_cli_operator_commands.py`: read-only operator diagnostics for active install status, localized homepage sync, and PR review reports. Keep install checks non-mutating, docs sync explicit, and PR review free of merge/write actions.
|
||||
- `scripts/yao_cli_parser_operator.py`: argparse surface for operator UX commands. Keep command names stable and route all behavior into `yao_cli_operator_commands.py`.
|
||||
- `scripts/yao_cli_telemetry.py`: opt-in metadata-only CLI run telemetry. Keep it free of prompt, argument, output, transcript, note, or message capture.
|
||||
- `scripts/import_telemetry_events.py`: external telemetry importer. Validate the whole input before appending events, and keep raw prompt/output/transcript/message/note fields blocked.
|
||||
- `scripts/emit_telemetry_event.py`: external client telemetry emitter. It may append one normalized metadata event to a local spool, but must never accept or write raw prompt, output, transcript, message, note, argument, or private content.
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
PYTHON ?= python3
|
||||
REQUIRED_PYTHON_VERSION ?= 3.11
|
||||
LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill
|
||||
ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill
|
||||
|
||||
.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-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: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-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
|
||||
|
||||
python-version-check:
|
||||
@$(PYTHON) -c 'import sys; required=tuple(map(int, "$(REQUIRED_PYTHON_VERSION)".split("."))); actual=sys.version_info[:2]; raise SystemExit(0 if actual >= required else "Python {}.{}+ is required; {}.{} is active. Set PYTHON=/path/to/python{} or create a Python {} virtualenv.".format(*required, *actual, "$(REQUIRED_PYTHON_VERSION)", "$(REQUIRED_PYTHON_VERSION)"))'
|
||||
|
||||
eval:
|
||||
$(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt
|
||||
@@ -40,6 +44,9 @@ yao-cli-check:
|
||||
yao-cli-world-class-check:
|
||||
$(PYTHON) tests/verify_yao_cli_world_class.py
|
||||
|
||||
operator-ux-check:
|
||||
$(PYTHON) tests/verify_operator_ux.py
|
||||
|
||||
skill-overview-check:
|
||||
$(PYTHON) tests/verify_skill_overview.py
|
||||
|
||||
@@ -266,11 +273,11 @@ sync-local-install: package-check
|
||||
sync-active-install: package-check
|
||||
$(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)"
|
||||
|
||||
test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-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: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-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:
|
||||
ci-test: python-version-check
|
||||
$(PYTHON) scripts/ci_test.py
|
||||
|
||||
clean:
|
||||
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator 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_operator_ux tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator 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 {} +
|
||||
|
||||
@@ -8,11 +8,66 @@
|
||||
[](docs/README.fr-FR.md)
|
||||
[](docs/README.ru-RU.md)
|
||||
|
||||
`YAO` stands for `Yielding AI Outcomes`: the goal is not to generate more prompt text, but to produce reusable AI assets and real operational outcomes.
|
||||
`YAO` stands for `Yielding AI Outcomes` — the goal is not to generate more prompt text, but to produce reusable AI assets and real operational outcomes.
|
||||
|
||||
`yao-meta-skill` is a lightweight but rigorous system for creating, evaluating, packaging, and governing reusable agent skills.
|
||||
`yao-meta-skill` creates, evaluates, packages, and governs reusable agent skills. The 1.0 line focused on turning repeated workflows into installable, readable, cross-platform skill packages. The 2.0 line expands that factory into a Skill OS: a governed system for modeling a skill once, compiling it for multiple targets, testing its behavior, reviewing its release evidence, and tracking the next iteration.
|
||||
|
||||
[Quick Start](#quick-start) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
|
||||
[Quick Start](#quick-start) · [Skill OS 2.0](#skill-os-20-upgrade) · [1.0 vs 2.0](#from-10-to-20) · [Operator UX](#operator-ux-commands) · [Benchmark](#weighted-quality-benchmark) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
|
||||
|
||||
## Skill OS 2.0 Upgrade
|
||||
|
||||
Skill OS 2.0 keeps the original promise of `yao-meta-skill`, but makes the package lifecycle more explicit. Instead of stopping at `SKILL.md`, it adds a semantic contract, target compilers, evaluation evidence, release gates, and operation reports around the skill.
|
||||
|
||||
- **Skill IR**: a platform-neutral intermediate representation for intent, triggers, inputs, outputs, boundaries, references, and expected artifacts.
|
||||
- **Target compilers and adapters**: generated surfaces for OpenAI, Claude, generic agent skills, Agent Skills compatible packages, and VS Code-oriented workflows.
|
||||
- **Output Eval Lab**: trigger checks, output assertions, execution evidence, timing and token evidence, benchmark reproducibility, blind-review packs, answer keys, and adjudication reports.
|
||||
- **Review Studio 2.0**: a single HTML gate page for intent, triggers, output eval, context cost, runtime checks, trust, Skill Atlas signals, adoption drift, waivers, annotations, release evidence, warnings, blockers, and fix actions.
|
||||
- **Evidence and release governance**: evidence consistency checks, package verification, install simulation, runtime permission probes, world-class evidence intake, world-class ledger, operator runbook, and public claim guard.
|
||||
- **SkillOps loop**: metadata-only adoption drift, telemetry hooks, adaptive proposals, daily and weekly curator reports, and portfolio-level drift signals.
|
||||
|
||||
Current posture: the repository is ready for beta and external testing, while stronger public "world-class" claims remain evidence-gated. Provider-backed production evidence, human blind-review evidence, native permission execution, and real-client telemetry are tracked as separate evidence tasks instead of being treated as completed work.
|
||||
|
||||
See the companion artifacts:
|
||||
|
||||
- [Visual 1.0 vs 2.0 comparison report](.previews/yao-meta-skill-2-comparison/index.html)
|
||||
- [Chinese desktop preview](.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2.png)
|
||||
- [English desktop preview](.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2-en.png)
|
||||
|
||||
## From 1.0 to 2.0
|
||||
|
||||
| Dimension | 1.0 focus | 2.0 upgrade |
|
||||
| --- | --- | --- |
|
||||
| Product role | Create, refactor, evaluate, and package reusable skills. | Govern the full lifecycle of a skill: creation, compilation, evaluation, review, release, telemetry, and iteration. |
|
||||
| Architecture | `SKILL.md`, `agents/interface.yaml`, manifest files, and report artifacts. | Skill IR, target compilers, adapters, gate contracts, evidence ledgers, release locks, and action-oriented review pages. |
|
||||
| Cross-platform delivery | OpenAI, Claude, and generic package targets. | Adds broader Agent Skills and VS Code-oriented compatibility, with registry-readable compatibility records. |
|
||||
| Quality model | Trigger and structure checks plus report-based review. | Output eval, benchmark reproducibility, execution evidence, failure disclosure, blind-review packs, and evidence consistency checks. |
|
||||
| Report experience | Overview HTML and first-pass review pages. | Bilingual Skill Overview v2, Review Studio 2.0, reviewer annotations, action cards, charts, and audit-oriented report contracts. |
|
||||
| Release boundary | Package output with basic validation. | Package verification, install simulation, runtime permission probes, release locks, public claim guard, and operator runbooks. |
|
||||
| Operating loop | Manual feedback and local iteration. | Adoption drift, metadata telemetry, SkillOps reports, adaptive proposals, and portfolio-level drift detection. |
|
||||
|
||||
## 2.0 Use Cases
|
||||
|
||||
- **Create a new skill from repeated work**: start with a workflow note, prompt set, transcript, runbook, or document pattern, then generate a package with a lean entrypoint, explicit inputs and outputs, references, reports, and the lightest justified gates.
|
||||
- **Upgrade a personal skill into a team asset**: add interface contracts, manifests, target adapters, trust checks, output evals, reviewer waivers, release notes, and Review Studio evidence before other people depend on the skill.
|
||||
- **Prepare a skill for beta release**: run package verification, install simulation, compatibility checks, runtime permission probes, and evidence consistency checks, then separate beta readiness from stronger public claims.
|
||||
- **Keep a skill useful after release**: use metadata-only telemetry, adoption drift, feedback logs, SkillOps reports, and adaptive proposals to decide whether the next move should be documentation, an eval, a skill patch, or a governance update.
|
||||
- **Compare with other meta-skill approaches**: keep Anthropic/OpenAI-style conversational creation and lean instruction writing where they fit, then use `yao-meta-skill` when the package needs evidence, portability, release gates, and repeatable maintenance.
|
||||
|
||||
## Operator UX Commands
|
||||
|
||||
These read-only helper commands turn common maintainer questions into repeatable diagnostics:
|
||||
|
||||
```bash
|
||||
python3 scripts/yao.py install-status --expected-source .
|
||||
python3 scripts/yao.py localized-doc-sync-check
|
||||
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
|
||||
```
|
||||
|
||||
- `install-status` explains whether the active skill is coming from `.codex/skills`, `.agents/skills`, or the disabled mirror, and flags duplicate active installs.
|
||||
- `localized-doc-sync-check` verifies that the Chinese README carries the public homepage sections that were added to the English README.
|
||||
- `pr-review-report` reads GitHub PR metadata, changed files, status checks, and suggested local commands without merging or mutating the PR.
|
||||
|
||||
## Capability Surface
|
||||
|
||||
It turns rough workflows, transcripts, prompts, notes, and runbooks into reusable skill packages with:
|
||||
|
||||
@@ -57,30 +112,35 @@ It turns rough workflows, transcripts, prompts, notes, and runbooks into reusabl
|
||||
|
||||
## Architecture
|
||||
|
||||
Hero view: turn messy operational input into a governed, reusable skill package through one compact flow.
|
||||
Hero view: Skill OS 2.0 turns messy operational input into a governed, reusable skill package through a model, compile, evaluate, release, and operate loop.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["Inputs<br/>workflow / prompt / transcript / docs / notes"] --> B["Route<br/>SKILL.md"]
|
||||
B --> C["Design<br/>method + gates"]
|
||||
C --> D["Run<br/>create / validate / eval / promote"]
|
||||
D --> E["Outputs<br/>skill package + reports + adapters"]
|
||||
A["Inputs<br/>workflow / prompt / transcript / docs / notes"] --> B["Intent model<br/>job / outputs / exclusions / standards"]
|
||||
B --> C["Skill IR<br/>trigger / contracts / resources / evidence"]
|
||||
C --> D["Skill package<br/>SKILL.md / references / scripts / reports"]
|
||||
C --> E["Target compilers<br/>OpenAI / Claude / generic / Agent Skills / VS Code"]
|
||||
D --> F["Eval Lab<br/>trigger / output / benchmark / runtime"]
|
||||
E --> F
|
||||
F --> G["Review Studio<br/>gates / warnings / actions / waivers"]
|
||||
G --> H["Release boundary<br/>package verification / install simulation / claim guard"]
|
||||
H --> I["SkillOps loop<br/>feedback / adoption drift / next iteration"]
|
||||
I --> B
|
||||
```
|
||||
|
||||
Read it in 10 seconds:
|
||||
|
||||
- **Inputs**: start from rough operational material.
|
||||
- **Route**: define boundary and trigger in a lean `SKILL.md`.
|
||||
- **Design**: choose the right archetype, gates, and resource split.
|
||||
- **Run**: use the unified CLI to build, validate, optimize, and promote.
|
||||
- **Outputs**: ship a reusable skill plus evidence, governance signals, and portability artifacts.
|
||||
- **Inputs**: start from rough operational material instead of a polished spec.
|
||||
- **Intent model**: make the job, outputs, exclusions, constraints, and standards explicit before generating files.
|
||||
- **Skill IR**: keep the semantic contract separate from any single platform format.
|
||||
- **Package and compile**: generate the lean skill package and the target-specific adapters from the same source model.
|
||||
- **Evaluate and review**: turn trigger behavior, output quality, runtime checks, and trust signals into reviewable evidence.
|
||||
- **Release and operate**: publish only within the current evidence boundary, then feed adoption drift and reviewer feedback into the next iteration.
|
||||
|
||||
## Weighted Quality Benchmark
|
||||
|
||||
This benchmark is a project-level engineering review, scored from `0-10` per dimension and weighted to `100`. GitHub stars are intentionally excluded because they measure ecosystem heat, not meta-skill engineering quality.
|
||||
|
||||
The score is local engineering evidence, not a claim of world-class readiness. Public superiority claims still depend on accepted external and human evidence in the world-class ledger.
|
||||
|
||||
Weighted score formula: `sum(score / 10 * weight)`.
|
||||
|
||||
| Meta Skill | Method Depth 15 | Context Discipline 10 | Toolchain 15 | Eval/Test Rigor 20 | Governance 15 | Portability 10 | Onboarding/Review 5 | Local Reliability 10 | Weighted Score |
|
||||
@@ -95,20 +155,6 @@ Weighted score formula: `sum(score / 10 * weight)`.
|
||||
| 2 | Anthropic Skill Creator | 67.5 | Strong methodology and iteration loop, with weaker local execution reliability and governance coverage. |
|
||||
| 3 | OpenAI Skill Creator | 50.5 | Best treated as a concise skill-writing method guide rather than a full engineering system. |
|
||||
|
||||
## Human Blind A/B Review Snapshot
|
||||
|
||||
On 2026-06-29, a single human reviewer compared `yao-meta-skill` with the bundled OpenAI `skill-creator` across five realistic skill-creation scenarios: support triage, revenue reconciliation, webinar repurposing, incident postmortems, and PR review follow-up. The reviewer confirmed decisions were completed before the answer key was opened.
|
||||
|
||||
Result: `yao-meta-skill` was selected in `5/5` cases.
|
||||
|
||||
Evidence:
|
||||
|
||||
- Review entrypoint: [reports/blind-human-review-2026-06-29/index.html](reports/blind-human-review-2026-06-29/index.html)
|
||||
- Adjudication summary: [reports/blind-human-review-2026-06-29/adjudication.md](reports/blind-human-review-2026-06-29/adjudication.md)
|
||||
- Recorded decisions: [reports/blind-human-review-2026-06-29/review-decisions.recorded.json](reports/blind-human-review-2026-06-29/review-decisions.recorded.json)
|
||||
|
||||
Boundary: this is single-reviewer blind preference evidence. It is not provider-backed independent model execution evidence, and the per-case rationale fields are still empty.
|
||||
|
||||
## Best-Fit Scenarios
|
||||
|
||||
- Choose **Yao Meta Skill** when the target is a reusable team asset with explicit boundaries, trigger evaluation, governance, packaging, portability, and local execution checks.
|
||||
@@ -118,20 +164,6 @@ Boundary: this is single-reviewer blind preference evidence. It is not provider-
|
||||
|
||||
## Quick Start
|
||||
|
||||
Install the skill globally for Codex first:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
|
||||
```
|
||||
|
||||
To install it for every supported agent, replace `-a codex` with `-a '*'`:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
```
|
||||
|
||||
After installation, restart the client. Then ask for tasks such as "create a skill from this workflow", "improve this existing skill", "evaluate this skill", or "add evals to this skill" to trigger `yao-meta-skill`.
|
||||
|
||||
1. Describe the workflow, prompt set, or repeated task you want to turn into a skill.
|
||||
2. Start with a short, human intent dialogue so the real job, outputs, exclusions, constraints, and standards are explicit.
|
||||
3. Let `quickstart` clarify intent first, then run silent benchmark scan and reference synthesis; it only surfaces explicit questions when intent is still unclear or when there is a real design conflict.
|
||||
@@ -203,6 +235,22 @@ python3 scripts/yao.py evidence-consistency .
|
||||
|
||||
Development source: this repository is the source of truth for authoring and review.
|
||||
|
||||
Use Python 3.11 or newer for local development. GitHub Actions runs the test suite on Python 3.11, and the Makefile checks the active interpreter before running `make test` or `make ci-test`.
|
||||
|
||||
```bash
|
||||
python3.11 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install --requirement requirements-ci.txt
|
||||
make ci-test
|
||||
```
|
||||
|
||||
If `python3` points to an older system interpreter, pass the interpreter explicitly:
|
||||
|
||||
```bash
|
||||
make PYTHON=python3.11 ci-test
|
||||
```
|
||||
|
||||
Disabled mirror: `~/.agents/skills.disabled/yao-meta-skill` is the local backup mirror for this source. Keeping the mirror outside `~/.agents/skills` prevents Codex from showing a duplicate `Yao Meta Skill` while this repository is also visible in the active workspace.
|
||||
|
||||
Sync the current source into the disabled mirror:
|
||||
@@ -324,7 +372,6 @@ Full reports: [reports/eval_suite.json](reports/eval_suite.json) and [reports/fa
|
||||
- portability score: `100/100` with neutral activation, execution, trust, and degradation metadata preserved across all exported targets
|
||||
- description optimization suite: root, team frontend review, and governed incident command pass blind and adversarial holdout gates; governed incident command still carries one visible holdout miss, and adversarial calibration plus family drift are now tracked separately
|
||||
- judge-backed blind eval: root, team frontend review, and governed incident command now pass an independent rubric judge on blind holdout prompts
|
||||
- human blind A/B snapshot: a single reviewer selected `yao-meta-skill` over the bundled OpenAI `skill-creator` in `5/5` realistic skill-creation scenarios; evidence is published in [reports/blind-human-review-2026-06-29/adjudication.md](reports/blind-human-review-2026-06-29/adjudication.md)
|
||||
- packaging failure fixtures: invalid metadata, invalid YAML, and unsupported targets fail as expected
|
||||
- failure library regressions: anti-pattern families pass automated checks
|
||||
- governance and resource-boundary checks are part of the default test path
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: yao-meta-skill
|
||||
description: Create, refactor, evaluate, package, migrate, govern, and release agent skills from workflows, prompts, transcripts, docs, notes, SOPs, scripts, or repeated team practices. Use when asked to create/build a skill, turn a repeated process into a reusable agent capability, improve or migrate an existing skill, optimize trigger routing, add evals/tests, add references/scripts/interface/manifest, prepare packaging/installation/release, or make a skill team-ready. Also trigger on Chinese asks such as 做/改/重构/迁移/发布 skill, 把流程/SOP/提示词/对话记录沉淀成可复用能力, 封装成团队可复用的 skill, 优化已有 skill, 补 trigger 评测, 收紧触发边界, or 做打包发布检查. Do not use for summary-only, translation-only, brainstorming-only, or documentation-only requests that explicitly say no skill or agent execution.
|
||||
description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
|
||||
metadata:
|
||||
author: Yao Team
|
||||
---
|
||||
|
||||
@@ -69,20 +69,6 @@ Formule du score pondéré : `sum(score / 10 * poids)`.
|
||||
|
||||
## Démarrage rapide
|
||||
|
||||
Pour utiliser cette skill directement dans Codex, installez-la d'abord dans les skills globales :
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
|
||||
```
|
||||
|
||||
Pour l'installer dans tous les agents pris en charge, remplacez `-a codex` par `-a '*'` :
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
```
|
||||
|
||||
Après l'installation, redémarrez le client. Demandez ensuite des tâches comme "create a skill from this workflow", "improve this existing skill", "evaluate this skill" ou "add evals to this skill" pour déclencher `yao-meta-skill`.
|
||||
|
||||
1. Décrivez le workflow, l'ensemble de prompts ou la tâche répétée que vous voulez transformer en skill.
|
||||
2. Commencez par un court dialogue d'intention plus humain pour clarifier le vrai travail, les sorties attendues, les exclusions, les contraintes et les standards qui comptent pour vous.
|
||||
3. Laissez d'abord `quickstart` clarifier l'intention, puis lancer silencieusement benchmark scan et reference synthesis ; des questions explicites ne remontent que si l'intention reste ambiguë ou si deux directions de conception se contredisent réellement.
|
||||
|
||||
@@ -69,20 +69,6 @@ flowchart LR
|
||||
|
||||
## クイックスタート
|
||||
|
||||
Codex でこの skill を直接使う場合は、まず global skills にインストールします。
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
|
||||
```
|
||||
|
||||
対応しているすべての agent にインストールする場合は、`-a codex` を `-a '*'` に置き換えます。
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
```
|
||||
|
||||
インストール後にクライアントを再起動してください。その後、"create a skill from this workflow"、"improve this existing skill"、"evaluate this skill"、"add evals to this skill" のような依頼で `yao-meta-skill` を起動できます。
|
||||
|
||||
1. skill 化したい workflow、prompt 集合、または反復タスクを説明します。
|
||||
2. まず短いが人間味のある intent dialogue で、実際の job、outputs、boundary、constraints、重視する品質基準を明確にします。
|
||||
3. まず `quickstart` で意図を澄ませ、その後 benchmark scan と reference synthesis を静かに実行します。意図がまだ曖昧なとき、または設計ルートに本当の衝突があるときだけ、追加確認を明示します。
|
||||
|
||||
@@ -69,20 +69,6 @@ flowchart LR
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
Чтобы использовать эту skill напрямую в Codex, сначала установите ее в global skills:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
|
||||
```
|
||||
|
||||
Чтобы установить ее во все поддерживаемые agents, замените `-a codex` на `-a '*'`:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
```
|
||||
|
||||
После установки перезапустите клиент. Затем используйте запросы вроде "create a skill from this workflow", "improve this existing skill", "evaluate this skill" или "add evals to this skill", чтобы вызвать `yao-meta-skill`.
|
||||
|
||||
1. Опишите workflow, набор prompts или повторяющуюся задачу, которую хотите превратить в skill.
|
||||
2. Сначала проведите короткий, но более человечный intent dialogue, чтобы уточнить реальную job-to-be-done, outputs, exclusions, constraints и те стандарты качества, которые для вас важны.
|
||||
3. Сначала позвольте `quickstart` прояснить намерение, затем тихо выполнить benchmark scan и reference synthesis. Явные уточнения поднимаются только тогда, когда intent все еще неясен или между маршрутами проектирования есть реальный конфликт.
|
||||
|
||||
+99
-54
@@ -2,7 +2,64 @@
|
||||
|
||||
`YAO = Yielding AI Outcomes`,中文可理解为:产出 AI 结果,交付真实成果。它强调的不是生成更多 prompt 文本,而是沉淀可复用的 AI 资产与可落地的实际结果。
|
||||
|
||||
`yao-meta-skill` 是一套轻量但严谨的系统,用来创建、评估、打包和治理可复用的 agent skill。
|
||||
`yao-meta-skill` 用来创建、评估、打包和治理可复用的 agent skill。1.0 的重点是把重复工作流整理成可安装、可阅读、可跨平台的 skill 包;2.0 进一步升级为 Skill OS,把建模、跨端编译、输出评测、评审工作台、证据账本、包体验证、发布门禁和后续迭代串成一套完整流程。
|
||||
|
||||
[快速开始](#快速开始) · [Skill OS 2.0 升级](#skill-os-20-升级) · [从 1.0 到 2.0](#从-10-到-20) · [Operator UX 命令](#operator-ux-命令) · [加权质量评测](#加权质量评测) · [与其他元 Skill 的适用差异](#与其他元-skill-的适用差异)
|
||||
|
||||
## Skill OS 2.0 升级
|
||||
|
||||
Skill OS 2.0 保留 `yao-meta-skill` 原来的轻量入口,但把 skill 的生命周期说得更清楚。它不止生成 `SKILL.md`,还会围绕这个 skill 生成结构化契约、目标平台适配、评测证据、发布门禁和运营报告。
|
||||
|
||||
- **Skill IR(技能中间表示)**:用平台无关的结构记录意图、触发方式、输入输出、边界、参考资料和交付产物。
|
||||
- **目标编译与适配器**:把同一份 skill 语义编译到 OpenAI、Claude、通用 agent skill、Agent Skills 兼容包和 VS Code 使用场景。
|
||||
- **输出评测实验室**:覆盖触发评测、输出断言、执行证据、耗时与 token 证据、基准复现、盲评材料包、答案钥匙和评审裁决报告。
|
||||
- **Review Studio 2.0(评审工作台)**:把意图、触发、输出评测、上下文成本、运行时检查、信任扫描、Skill Atlas、采用漂移、豁免、批注、发布证据、警告、阻塞项和修复动作放在同一个 HTML 页面。
|
||||
- **证据与发布治理**:提供证据一致性、包体验证、安装模拟、运行时权限探测、世界级证据接收、证据账本、操作运行手册和公开宣传守卫。
|
||||
- **SkillOps 闭环**:通过元数据级采用漂移、遥测 hook、自适应建议、日报/周报和组合级漂移信号,把发布后的反馈带回下一轮迭代。
|
||||
|
||||
当前发布口径:仓库已经适合进入测试版和外部试用,但更强的“世界级”公开宣传仍然受证据门禁约束。真实生产模型证据、真人盲评证据、原生权限执行和真实客户端遥测会继续作为独立证据任务推进,不会被包装成已经完成。
|
||||
|
||||
相关产物:
|
||||
|
||||
- [1.0 vs 2.0 可视化对比报告](../.previews/yao-meta-skill-2-comparison/index.html)
|
||||
- [中文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2.png)
|
||||
- [英文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2-en.png)
|
||||
|
||||
## 从 1.0 到 2.0
|
||||
|
||||
| 维度 | 1.0 重点 | 2.0 升级 |
|
||||
| --- | --- | --- |
|
||||
| 产品定位 | 创建、重构、评估和打包可复用 skill。 | 治理 skill 的完整生命周期:创建、编译、评测、评审、发布、遥测和迭代。 |
|
||||
| 架构模型 | 以 `SKILL.md`、`agents/interface.yaml`、manifest 和报告文件为主。 | 引入 Skill IR、目标编译器、适配器、门禁契约、证据账本、发布锁和行动型评审页面。 |
|
||||
| 跨端交付 | 主要覆盖 OpenAI、Claude 和通用包体。 | 扩展到 Agent Skills 兼容包和 VS Code 使用场景,并把兼容结果写入 registry 可读记录。 |
|
||||
| 质量模型 | 触发、结构和报告式评审。 | 输出评测、基准复现、执行证据、失败披露、盲评材料包和证据一致性检查。 |
|
||||
| 报告体验 | 概览 HTML 和首次评审页面。 | 双语 Skill Overview v2、Review Studio 2.0、评审批注、行动卡片、图表和审计型报告契约。 |
|
||||
| 发布边界 | 能生成包体并做基础校验。 | 包体验证、安装模拟、运行时权限探测、发布锁、公开宣传守卫和操作运行手册。 |
|
||||
| 运营闭环 | 更多依赖手动反馈和本地迭代。 | 采用漂移、元数据遥测、SkillOps 报告、自适应建议和组合级漂移检测。 |
|
||||
|
||||
## 2.0 使用场景
|
||||
|
||||
- **从重复工作创建新 skill**:从 workflow 笔记、prompt 集合、转录、runbook 或文档模式出发,生成精简入口、明确输入输出、参考资料、报告和最轻量的必要门禁。
|
||||
- **把个人 skill 升级成团队资产**:补齐接口契约、manifest、目标适配器、信任检查、输出评测、评审豁免、发布说明和 Review Studio 证据,再交给多人复用。
|
||||
- **准备测试版发布**:运行包体验证、安装模拟、兼容检查、运行时权限探测和证据一致性检查,把测试版就绪和更强公开声明分开处理。
|
||||
- **发布后继续迭代**:用元数据级遥测、采用漂移、feedback log、SkillOps 报告和自适应建议判断下一步是补文档、补 eval、改 skill,还是调整治理规则。
|
||||
- **与其他元 skill 搭配使用**:保留 Anthropic/OpenAI 式对话创建和精简写作方法的优势,在需要证据、可移植性、发布门禁和长期维护时用 `yao-meta-skill` 加固。
|
||||
|
||||
## Operator UX 命令
|
||||
|
||||
这组只读辅助命令把维护者最常见的判断变成可复验诊断:
|
||||
|
||||
```bash
|
||||
python3 scripts/yao.py install-status --expected-source .
|
||||
python3 scripts/yao.py localized-doc-sync-check
|
||||
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
|
||||
```
|
||||
|
||||
- `install-status` 会说明当前 skill 是从 `.codex/skills`、`.agents/skills` 还是 disabled mirror(禁用镜像)被发现,并提示是否存在重复激活。
|
||||
- `localized-doc-sync-check` 会检查中文 README 是否同步包含英文 README 首页新增的公开说明模块。
|
||||
- `pr-review-report` 会只读获取 GitHub PR 元数据、变更文件、状态检查和建议本地命令,不会合并或修改 PR。
|
||||
|
||||
## 能力面
|
||||
|
||||
它把粗糙的 workflow、transcript、prompt、notes 和 runbook 转成可复用的 skill 包,并具备:
|
||||
|
||||
@@ -12,42 +69,58 @@
|
||||
- 深度起草前先做一轮更有人味的意图对话,并通过 intent confidence gate 判断理解是否足够清楚;如果不够清楚,会继续补 1 到 2 个高杠杆问题
|
||||
- 深度起草前会静默执行 GitHub benchmark scan 和 reference synthesis,优先学习高质量公开项目与世界级模式;只有遇到真实冲突或不确定性时才显式抬给用户
|
||||
- 会主动询问用户是否有希望借鉴的参考对象,只学习其中的模式抽象、结构和标准,不复制原文或私密内容
|
||||
- 新建 skill 时自动生成一份极简白底 HTML 可视化说明
|
||||
- 新建 skill 时自动生成一份默认中文、可切换英文的 HTML 可视化说明报告
|
||||
- 提供 Review Studio 2.0,把意图、触发、输出评测、上下文、运行时、信任、采用漂移、豁免、批注、发布证据和修复动作汇总到一个页面
|
||||
- 提供 Skill OS 2.0 审计,把世界级要求拆成本地证据、人类证据缺口和外部证据缺口
|
||||
- 提供证据计划、证据账本、证据接收契约、提交审查队列、操作运行手册和公开宣传守卫,避免把计划中的工作写成已经完成
|
||||
- 提供基准复现 manifest、证据一致性检查、输出评测实验室、盲评包和评审裁决报告
|
||||
- 提供运行时权限探测、Python 兼容性门禁、包体验证和安装模拟
|
||||
- 提供 prompt quality profile,把需求模型、RTF 映射、复杂度和提示词质量检查沉淀成 reviewer 可见证据,而不是塞进 `SKILL.md`
|
||||
- 提供 artifact design profile,约束报告、教程、仪表盘、截图和评审页的视觉与质量标准
|
||||
- 提供系统思考模型,记录边界、反馈环、漂移风险、复发失败模式和高杠杆改进点
|
||||
- 首次建包后会自动给出 3 个最有价值的下一步迭代方向
|
||||
- 提供一个紧凑的 HTML review viewer,方便第一次人工理解和评审
|
||||
- 提供一个轻量 feedback log,不必每次都走完整 promotion 流程
|
||||
- 提供本地优先、只记录元数据的 adoption drift 报告、CLI 运行捕获、外部客户端事件 hook、hook recipe 和 JSONL 导入
|
||||
- 提供显式来源的 adaptive proposal loop,从脱敏重复偏好里生成需要人工批准的改进建议
|
||||
- 提供 SkillOps 机会评分、决策策略、日报、周报和组合级漂移信号
|
||||
- 提供一个 with-skill vs baseline 的对比报告,便于快速看增量收益
|
||||
- 提供一个更像对话发现流程的 archetype-aware quickstart,引导新 skill 落到 scaffold、production、library 或 governed 的合适形态
|
||||
- 中性的源元数据以及面向不同客户端的适配层
|
||||
- Skill IR 作为平台无关语义契约,并提供编译报告和客户端适配层
|
||||
- registry audit 元数据,包含 package version、owner、license、checksum 和 compatibility matrix
|
||||
- 内建的治理、晋升和 portability 检查
|
||||
|
||||
## 架构图
|
||||
|
||||
Hero 版可以压缩成一条主线:把零散输入变成一个可治理、可复用的 skill 包。
|
||||
Hero 版可以压缩成一条主线:Skill OS 2.0 把零散输入变成一个可治理、可评测、可发布、可持续迭代的 skill 包。
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["路由<br/>SKILL.md"]
|
||||
B --> C["设计<br/>方法 + 质量门"]
|
||||
C --> D["执行<br/>create / validate / eval / promote"]
|
||||
D --> E["产出<br/>skill 包 + 报告 + 适配层"]
|
||||
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["意图建模<br/>任务 / 输出 / 排除项 / 标准"]
|
||||
B --> C["Skill IR<br/>触发 / 契约 / 资源 / 证据"]
|
||||
C --> D["Skill 包<br/>SKILL.md / references / scripts / reports"]
|
||||
C --> E["目标编译<br/>OpenAI / Claude / generic / Agent Skills / VS Code"]
|
||||
D --> F["评测实验<br/>触发 / 输出 / 基准 / 运行时"]
|
||||
E --> F
|
||||
F --> G["Review Studio<br/>门禁 / 警告 / 动作 / 豁免"]
|
||||
G --> H["发布边界<br/>包体验证 / 安装模拟 / 宣传守卫"]
|
||||
H --> I["SkillOps 闭环<br/>反馈 / 采用漂移 / 下一轮迭代"]
|
||||
I --> B
|
||||
```
|
||||
|
||||
10 秒理解这张图:
|
||||
|
||||
- **输入**:从零散的 workflow、prompt、文档和笔记出发。
|
||||
- **路由**:先用精简的 `SKILL.md` 定义边界和触发。
|
||||
- **设计**:选择合适的 archetype、gates 和资源拆分方式。
|
||||
- **执行**:通过统一 CLI 完成创建、校验、优化和晋升。
|
||||
- **产出**:最终得到 skill 包,以及评测、治理和 portability 证据。
|
||||
- **输入**:从零散 workflow、prompt、文档和笔记出发,不要求一开始就有完整规格。
|
||||
- **意图建模**:先把任务、输出物、排除项、约束和质量标准说清楚,再生成文件。
|
||||
- **Skill IR**:把语义契约和具体平台格式拆开,避免被某一个客户端锁死。
|
||||
- **打包与编译**:从同一份源模型生成精简 skill 包和目标平台适配产物。
|
||||
- **评测与评审**:把触发行为、输出质量、运行时检查和信任信号变成可复查证据。
|
||||
- **发布与运营**:只在当前证据边界内发布,再把采用漂移和评审反馈带回下一轮迭代。
|
||||
|
||||
## 加权质量评测
|
||||
|
||||
下面是当前项目采用的工程质量评测模型。每个维度按 `0-10` 评分,再按权重折算到 `100` 分。GitHub stars 不计入总分,因为它反映生态热度,不直接代表元 skill 工程质量。
|
||||
|
||||
这个分数是本地工程证据,不等同于 world-class ready。公开宣称“已证明优于其他方案”仍要以 world-class ledger 中已接受的外部证据和人工证据为准。
|
||||
|
||||
加权总分公式:`sum(单项评分 / 10 * 权重)`。
|
||||
|
||||
| 元 Skill | 方法论深度 15 | 上下文纪律 10 | 工具链 15 | Eval/测试 20 | 治理 15 | 可移植 10 | 上手/评审 5 | 本地可靠性 10 | 加权总分 |
|
||||
@@ -62,21 +135,7 @@ flowchart LR
|
||||
| 2 | Anthropic Skill Creator | 67.5 | 方法论和迭代闭环强,但本地执行可靠性和治理覆盖较弱。 |
|
||||
| 3 | OpenAI Skill Creator | 50.5 | 更适合作为精简 skill 写作方法论教材,而不是完整工程系统。 |
|
||||
|
||||
## 人工盲测快照
|
||||
|
||||
2026-06-29,一位人工评审者在 5 个真实常见的 skill 创建场景里,对比了 `yao-meta-skill` 和内置的 OpenAI `skill-creator`。5 个场景分别是客服工单分诊、月度收入对账、Webinar 内容复用、故障复盘和 PR Review 跟进。评审者确认:所有选择都在揭晓来源前完成。
|
||||
|
||||
结果:`yao-meta-skill` 在 `5/5` 个案例中胜出。
|
||||
|
||||
证据:
|
||||
|
||||
- 盲测入口:[reports/blind-human-review-2026-06-29/index.html](../reports/blind-human-review-2026-06-29/index.html)
|
||||
- Adjudication 摘要:[reports/blind-human-review-2026-06-29/adjudication.md](../reports/blind-human-review-2026-06-29/adjudication.md)
|
||||
- 已记录判断:[reports/blind-human-review-2026-06-29/review-decisions.recorded.json](../reports/blind-human-review-2026-06-29/review-decisions.recorded.json)
|
||||
|
||||
边界:这是单人盲测偏好证据,不是 provider-backed 的独立模型执行证据;每个案例的逐项理由仍为空。
|
||||
|
||||
## 适用场景
|
||||
## 与其他元 Skill 的适用差异
|
||||
|
||||
- 如果你要的是**团队复用、显式边界、质量门、治理、可移植性和长期维护**,更适合 `Yao Meta Skill`。
|
||||
- 如果你要的是**对话优先的创作循环和人工引导式迭代**,更适合 `Anthropic Skill Creator`。
|
||||
@@ -85,49 +144,35 @@ flowchart LR
|
||||
|
||||
## 快速开始
|
||||
|
||||
如果你想直接在 Codex 里使用这个 skill,先安装到全局 skills:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
|
||||
```
|
||||
|
||||
如果要安装到全部支持的 agent,把 `-a codex` 换成 `-a '*'`:
|
||||
|
||||
```bash
|
||||
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
```
|
||||
|
||||
安装完成后重启客户端,再用“创建 skill”“改进已有 skill”“评估 skill”“给 skill 增加 eval”这类任务触发 `yao-meta-skill`。
|
||||
|
||||
1. 先描述你想沉淀成 skill 的 workflow、prompt 集合或重复任务。
|
||||
2. 先做一轮简短但更有人味的意图对话,把真实任务、输出物、边界、约束和你在意的质量标准说清楚。
|
||||
3. 先让 `quickstart` 澄清意图,再静默跑 benchmark scan 和 reference synthesis;只有当意图还不清楚,或者设计路线真的冲突时,才会显式继续追问或让你拍板。
|
||||
4. 使用 archetype-aware 的 `quickstart` 或完整作者流,在 scaffold、production、library 或 governed 模式下生成或改进 skill 包。
|
||||
5. 新建 skill 后,会默认附带 `reports/intent-dialogue.md`、`reports/intent-confidence.md`、`reports/reference-synthesis.md`、`reports/artifact-design-profile.md`、`reports/prompt-quality-profile.md`、`reports/skill-overview.html`、`reports/review-viewer.html` 和 `reports/iteration-directions.md`;后续还可以通过 feedback log 和 baseline compare 快速收集意见、查看增量收益,而不必每次都走完整 promotion 流程。
|
||||
5. 新建 skill 后,先看 `reports/skill-interpretation.html` 理解双语解释报告,再打开 `reports/skill-overview.html` 查看概述、指标、原理、边界、质量、风险、资产和路线,最后用 `reports/review-studio.html` 检查发布阻塞、权限批准和证据路径。
|
||||
|
||||
## 当前结果
|
||||
|
||||
- 当前 `make test` 可通过
|
||||
- 当前 `make test` 和 GitHub Actions `test` 可通过
|
||||
- 当前回归集下 trigger eval 为 `0` 误触发、`0` 漏触发
|
||||
- train / dev / holdout 三层评测均通过
|
||||
- 中文真实表达已经纳入触发评测,覆盖“做一个 skill”“沉淀成可复用能力”“优化已有 skill”“补 trigger 评测”等常见说法
|
||||
- `openai`、`claude`、`generic` 三个目标的 packaging contract 校验通过
|
||||
- 单人盲测快照中,评审者在揭晓来源前完成判断,并在 `5/5` 个真实 skill 创建场景中选择 `yao-meta-skill`;证据见 [reports/blind-human-review-2026-06-29/adjudication.md](../reports/blind-human-review-2026-06-29/adjudication.md)
|
||||
- registry 记录的目标平台从 OpenAI、Claude、Generic 扩展到 Agent Skills 和 VS Code 相关适配
|
||||
- Review Studio 当前汇总 16 个门禁,包体验证、安装模拟、证据一致性和发布声明边界已经进入报告链路
|
||||
|
||||
## 当前优势
|
||||
|
||||
最新加权评测中,Yao 的总分是 `91.5/100`。最强的部分集中在团队级 skill 资产真正需要的能力上:
|
||||
最新加权评测中,Yao 的总分是 `91.5/100`。2.0 的强项集中在团队级 skill 资产真正需要的能力上:
|
||||
|
||||
- **方法论深度 `9.5`**:已经形成正式的 skill engineering doctrine,覆盖 archetype、gate selection、non-skill decision、governance 和 resource boundary。
|
||||
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
|
||||
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history 和 promotion gate。
|
||||
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decision 和 regression history。
|
||||
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、Skill IR、目标编译、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
|
||||
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history、output eval 和 promotion gate。
|
||||
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decision、regression history、release lock 和 evidence ledger。
|
||||
- **本地可执行可靠性 `9.5`**:可以通过 `make test`、`make ci-test` 和统一 CLI 在本地复验。
|
||||
- **可移植 / 分发能力 `9.0`**:源码保持中性,adapter、degradation rule、packaging contract 和 portability score 负责保留跨环境可复用语义。
|
||||
- **上下文纪律 / 精简度 `8.0`**:入口仍保持在预算内,但因为系统承载了更多报告、案例、benchmark 和证据资产,这一项被持续作为约束跟踪。
|
||||
- **上手 / 评审体验 `6.5`**:quickstart、HTML overview、side-by-side review viewer 和 feedback log 已经改善首次体验,但仍是下一阶段最值得优化的 UX 维度。
|
||||
|
||||
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化,同时继续降低首次创建和人工评审的摩擦。
|
||||
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化;测试版可以开放试用,但公开宣传会继续受证据账本约束。
|
||||
|
||||
## 为什么是 Yao
|
||||
|
||||
@@ -138,7 +183,7 @@ npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
|
||||
|
||||
## 它能做什么
|
||||
|
||||
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包的长期能力包。
|
||||
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包、可审计、可发布、可持续迭代的长期能力包。
|
||||
|
||||
它的设计逻辑很简单:
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
Create, refactor, evaluate, package, migrate, govern, and release agent skills from workflows, prompts, transcripts, docs, notes, SOPs, scripts, or repeated team practices. Use when asked to create/build a skill, turn a repeated process into a reusable agent capability, improve or migrate an existing skill, optimize trigger routing, add evals/tests, add references/scripts/interface/manifest, prepare packaging/installation/release, or make a skill team-ready. Also trigger on Chinese asks such as 做/改/重构/迁移/发布 skill, 把流程/SOP/提示词/对话记录沉淀成可复用能力, 封装成团队可复用的 skill, 优化已有 skill, 补 trigger 评测, 收紧触发边界, or 做打包发布检查. Do not use for summary-only, translation-only, brainstorming-only, or documentation-only requests that explicitly say no skill or agent execution.
|
||||
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. Also trigger on common Chinese asks such as 做一个 skill, 把流程沉淀成可复用能力, 封装成团队可复用的 skill, 优化已有 skill, 补 trigger 评测, or 收紧触发边界.
|
||||
|
||||
@@ -18,19 +18,12 @@
|
||||
"turn a repeated process into a reusable skill",
|
||||
"improve an existing skill",
|
||||
"add evals",
|
||||
"add tests",
|
||||
"package a skill for team reuse",
|
||||
"migrate an existing skill",
|
||||
"prepare packaging, installation, or release",
|
||||
"govern a reusable skill",
|
||||
"做一个 skill",
|
||||
"把流程沉淀成可复用 skill",
|
||||
"优化现有 skill",
|
||||
"补 trigger 评测",
|
||||
"封装成团队可复用 skill",
|
||||
"迁移 skill",
|
||||
"发布 skill",
|
||||
"打包发布检查"
|
||||
"封装成团队可复用 skill"
|
||||
],
|
||||
"exclusions": [
|
||||
"summary-only requests",
|
||||
@@ -82,29 +75,16 @@
|
||||
"formalize this process into a reusable capability",
|
||||
"turn this playbook into an agent capability package",
|
||||
"convert this into a maintained skill",
|
||||
"agent capability",
|
||||
"reusable agent capability",
|
||||
"skill library entry",
|
||||
"skill authoring",
|
||||
"做一个 skill",
|
||||
"创建一个 skill",
|
||||
"新建一个 skill",
|
||||
"帮我做个 skill",
|
||||
"改一个 skill",
|
||||
"重构一个 skill",
|
||||
"迁移一个 skill",
|
||||
"发布一个 skill",
|
||||
"这个 skill",
|
||||
"已有 skill",
|
||||
"现有 skill",
|
||||
"做成一个 skill",
|
||||
"封装成一个 skill",
|
||||
"沉淀成一个 skill",
|
||||
"整理成一个 skill",
|
||||
"抽成一个 skill",
|
||||
"可复用 skill",
|
||||
"可执行 skill",
|
||||
"团队 skill",
|
||||
"agent 能力包",
|
||||
"能力包",
|
||||
"skill 包"
|
||||
@@ -123,27 +103,19 @@
|
||||
"existing skill draft",
|
||||
"rough notes",
|
||||
"standard operating procedure",
|
||||
"operating procedure",
|
||||
"sop",
|
||||
"playbook",
|
||||
"transcript",
|
||||
"chat transcript",
|
||||
"meeting notes",
|
||||
"workflow fragments",
|
||||
"release notes",
|
||||
"onboarding flow",
|
||||
"support escalation routine",
|
||||
"quarterly release routine",
|
||||
"scripts",
|
||||
"repeated team practice",
|
||||
"流程",
|
||||
"工作流",
|
||||
"操作流程",
|
||||
"做事流程",
|
||||
"作业流程",
|
||||
"方法",
|
||||
"经验",
|
||||
"复盘",
|
||||
"sop 文档",
|
||||
"会议纪要",
|
||||
"对话记录",
|
||||
@@ -170,32 +142,14 @@
|
||||
"ops library",
|
||||
"maintained",
|
||||
"operationalize",
|
||||
"release-ready",
|
||||
"publish",
|
||||
"release",
|
||||
"installation",
|
||||
"installable",
|
||||
"portability",
|
||||
"registry",
|
||||
"governance",
|
||||
"review gate",
|
||||
"可复用",
|
||||
"复用",
|
||||
"封装",
|
||||
"打包",
|
||||
"沉淀",
|
||||
"标准化",
|
||||
"标准化下来",
|
||||
"团队复用",
|
||||
"给团队用",
|
||||
"团队可用",
|
||||
"安装复用",
|
||||
"可安装",
|
||||
"发布",
|
||||
"上架",
|
||||
"交付",
|
||||
"治理",
|
||||
"注册表",
|
||||
"方法包",
|
||||
"团队能力包",
|
||||
"沉淀下来",
|
||||
@@ -217,32 +171,16 @@
|
||||
"false negatives",
|
||||
"stress test",
|
||||
"route boundary",
|
||||
"routing",
|
||||
"route evals",
|
||||
"trigger routing",
|
||||
"activation",
|
||||
"description optimization",
|
||||
"tests",
|
||||
"install checks",
|
||||
"release checks",
|
||||
"hardening",
|
||||
"评测",
|
||||
"补评测",
|
||||
"补 eval",
|
||||
"补测试",
|
||||
"触发测试",
|
||||
"触发词",
|
||||
"触发范围",
|
||||
"召回",
|
||||
"收紧触发边界",
|
||||
"路由边界",
|
||||
"路由评测",
|
||||
"激活",
|
||||
"误触发",
|
||||
"漏触发",
|
||||
"质量门",
|
||||
"安装验证",
|
||||
"发布检查",
|
||||
"打包检查",
|
||||
"边界测试"
|
||||
]
|
||||
@@ -260,32 +198,11 @@
|
||||
"before sharing it with the team",
|
||||
"tighten the boundary",
|
||||
"revise this skill",
|
||||
"refactor this skill",
|
||||
"migrate this skill",
|
||||
"port this skill",
|
||||
"convert this skill",
|
||||
"release this skill",
|
||||
"publish this skill",
|
||||
"make this skill release-ready",
|
||||
"codex-ready package",
|
||||
"claude skill",
|
||||
"codex format",
|
||||
"interface metadata",
|
||||
"manifest",
|
||||
"install checks",
|
||||
"draft skill",
|
||||
"harden this skill for library reuse",
|
||||
"优化这个 skill",
|
||||
"改进这个 skill",
|
||||
"重构这个 skill",
|
||||
"扩大这个 skill",
|
||||
"调整这个 skill",
|
||||
"优化触发范围",
|
||||
"扩大触发范围",
|
||||
"迁移这个 skill",
|
||||
"发布这个 skill",
|
||||
"把这个 skill 迁移",
|
||||
"让这个 skill 可发布",
|
||||
"补一下评测",
|
||||
"补 trigger 测试",
|
||||
"加强路由判断",
|
||||
@@ -434,16 +351,12 @@
|
||||
"do not convert it into a reusable capability",
|
||||
"keep it as documentation only",
|
||||
"discussion only",
|
||||
"no agent execution",
|
||||
"先不要做成 skill",
|
||||
"先不做 skill",
|
||||
"不要做成 skill",
|
||||
"不用封装",
|
||||
"不要打包",
|
||||
"不要沉淀成能力",
|
||||
"先别做成可复用能力",
|
||||
"不需要 agent 执行",
|
||||
"不做 agent 能力",
|
||||
"只做文档",
|
||||
"只做说明"
|
||||
]
|
||||
|
||||
@@ -54,18 +54,6 @@
|
||||
"text": "Add trigger evals to this skill before sharing it with the team.",
|
||||
"family": "iterate_existing_skill"
|
||||
},
|
||||
{
|
||||
"text": "Migrate this Claude skill into a Codex-ready package with interface metadata and install checks.",
|
||||
"family": "migrate_existing_skill"
|
||||
},
|
||||
{
|
||||
"text": "Make this existing skill release-ready: add manifest/interface metadata, packaging checks, and trigger evals.",
|
||||
"family": "release_packaging"
|
||||
},
|
||||
{
|
||||
"text": "Optimize the activation wording for this skill so broader skill-authoring requests are routed correctly.",
|
||||
"family": "trigger_expansion"
|
||||
},
|
||||
{
|
||||
"text": "We have a messy release runbook, export process, and a prompt history; turn all of that into one reusable skill package with evals and packaging checks.",
|
||||
"family": "complex_multi_asset"
|
||||
@@ -145,18 +133,6 @@
|
||||
{
|
||||
"text": "把这个客服升级流程标准化成一个可执行的 skill,并加上边界测试。",
|
||||
"family": "cn_eval_and_package"
|
||||
},
|
||||
{
|
||||
"text": "把这个 Claude skill 迁移成 Codex 可用的 skill 包,补 interface、manifest 和安装验证。",
|
||||
"family": "cn_migrate_existing_skill"
|
||||
},
|
||||
{
|
||||
"text": "把这套提示词和脚本整理成团队能安装复用的 skill,并做打包发布检查。",
|
||||
"family": "cn_release_packaging"
|
||||
},
|
||||
{
|
||||
"text": "扩大这个 skill 的触发范围,同时补路由评测,避免漏触发。",
|
||||
"family": "cn_trigger_expansion"
|
||||
}
|
||||
],
|
||||
"should_not_trigger": [
|
||||
@@ -263,22 +239,6 @@
|
||||
{
|
||||
"text": "先一起头脑风暴几个方向,不要封装成 skill。",
|
||||
"family": "cn_brainstorm_only"
|
||||
},
|
||||
{
|
||||
"text": "Polish this release note for publishing, but do not do any skill work.",
|
||||
"family": "document_only"
|
||||
},
|
||||
{
|
||||
"text": "Migrate this wiki article into a new docs folder; do not create an agent skill.",
|
||||
"family": "document_only"
|
||||
},
|
||||
{
|
||||
"text": "把这篇 SOP 改成知识库文档,不需要 agent 执行。",
|
||||
"family": "cn_document_only"
|
||||
},
|
||||
{
|
||||
"text": "检查安装步骤是否清楚,只做 README,不做 skill 包。",
|
||||
"family": "cn_document_only"
|
||||
}
|
||||
],
|
||||
"near_neighbor": [
|
||||
@@ -373,18 +333,6 @@
|
||||
{
|
||||
"text": "这次只给我一个一次性 prompt,不用复用成 skill。",
|
||||
"family": "cn_one_off_vs_reusable"
|
||||
},
|
||||
{
|
||||
"text": "Create a reusable onboarding template for humans, not an agent skill.",
|
||||
"family": "document_export_vs_agent_skill"
|
||||
},
|
||||
{
|
||||
"text": "Draft a release checklist for a future skill, but do not package or evaluate the skill yet.",
|
||||
"family": "future_outline_vs_build"
|
||||
},
|
||||
{
|
||||
"text": "整理成团队发布流程文档即可,不要做成 skill,也不要做触发评测。",
|
||||
"family": "cn_document_export_vs_agent_skill"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-13",
|
||||
"generated_at": "2026-06-21",
|
||||
"package_count": 1,
|
||||
"packages": [
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -48,10 +48,10 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
},
|
||||
"generated_at": "2026-06-13"
|
||||
"generated_at": "2026-06-21"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17T08:58:54Z",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"source_patterns": "reports/user_patterns.json",
|
||||
"pattern_count": 5,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Adaptation Proposals
|
||||
|
||||
- Generated at: `2026-06-17T08:58:54Z`
|
||||
- Generated at: `2026-06-21`
|
||||
- Pattern report: `reports/user_patterns.json`
|
||||
- Proposal only: `true`
|
||||
- Writes repository files: `false`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-17T08:58:53Z",
|
||||
"generated_at": "2026-06-20T12:35:58Z",
|
||||
"skill_dir": ".",
|
||||
"privacy_contract": {
|
||||
"storage": "local-first",
|
||||
@@ -25,14 +25,14 @@
|
||||
},
|
||||
"summary": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"edited_count": 0,
|
||||
"rejected_count": 0,
|
||||
"missed_count": 0,
|
||||
"failed_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_rate": 100.0,
|
||||
"missed_trigger_count": 0,
|
||||
"wrong_trigger_count": 0,
|
||||
"bad_output_count": 0,
|
||||
@@ -41,7 +41,7 @@
|
||||
"review_overdue_count": 0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"failure_types": {},
|
||||
"source_types": {
|
||||
@@ -53,31 +53,31 @@
|
||||
{
|
||||
"skill": "yao-meta-skill",
|
||||
"events": 1,
|
||||
"adoption_events": 0,
|
||||
"accepted": 0,
|
||||
"adoption_events": 1,
|
||||
"accepted": 1,
|
||||
"edited": 0,
|
||||
"rejected": 0,
|
||||
"missed": 0,
|
||||
"adoption_rate": 0
|
||||
"adoption_rate": 100.0
|
||||
}
|
||||
],
|
||||
"next_iteration_candidates": [],
|
||||
"recent_events": [
|
||||
{
|
||||
"command": "unknown",
|
||||
"event": "review_event",
|
||||
"event": "skill_activation",
|
||||
"skill": "yao-meta-skill",
|
||||
"source": "manual",
|
||||
"version": "1.1.0",
|
||||
"activation_type": "manual",
|
||||
"outcome": "reviewed",
|
||||
"activation_type": "explicit",
|
||||
"outcome": "accepted",
|
||||
"failure_type": "none",
|
||||
"timestamp": "2026-06-13T12:00:00Z"
|
||||
"timestamp": "2026-06-13T10:00:00Z"
|
||||
}
|
||||
],
|
||||
"failures": [],
|
||||
"artifacts": {
|
||||
"events_jsonl": "reports/telemetry_events.jsonl",
|
||||
"events_jsonl": "tests/tmp_review_studio/telemetry_events.jsonl",
|
||||
"json": "reports/adoption_drift_report.json",
|
||||
"markdown": "reports/adoption_drift_report.md"
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
|
||||
## Summary
|
||||
|
||||
- Events: `1`
|
||||
- Adoption samples: `0`
|
||||
- Activation events: `0`
|
||||
- Adoption rate: `0`
|
||||
- Adoption samples: `1`
|
||||
- Activation events: `1`
|
||||
- Adoption rate: `100.0`
|
||||
- Missed trigger signals: `0`
|
||||
- Bad output signals: `0`
|
||||
- Script error signals: `0`
|
||||
@@ -25,7 +25,7 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
|
||||
|
||||
| Skill | Events | Adoption Samples | Accepted | Edited | Rejected | Missed | Adoption Rate |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||||
| `yao-meta-skill` | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
|
||||
| `yao-meta-skill` | 1 | 1 | 1 | 0 | 0 | 0 | 100.0 |
|
||||
|
||||
## Next Iteration Candidates
|
||||
|
||||
@@ -33,4 +33,4 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
|
||||
|
||||
## Recent Metadata Events
|
||||
|
||||
- `2026-06-13T12:00:00Z` `yao-meta-skill` event=`review_event` source=`manual` command=`unknown` activation=`manual` outcome=`reviewed` failure=`none`
|
||||
- `2026-06-13T10:00:00Z` `yao-meta-skill` event=`skill_activation` source=`manual` command=`unknown` activation=`explicit` outcome=`accepted` failure=`none`
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-13",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"python_file_count": 229,
|
||||
"script_file_count": 153,
|
||||
"test_file_count": 76,
|
||||
"internal_module_count": 69,
|
||||
"python_file_count": 232,
|
||||
"script_file_count": 155,
|
||||
"test_file_count": 77,
|
||||
"internal_module_count": 71,
|
||||
"cli_script_count": 86,
|
||||
"command_handler_count": 68,
|
||||
"command_handler_count": 71,
|
||||
"entrypoint_command_handler_count": 18,
|
||||
"command_module_count": 6,
|
||||
"command_module_count": 7,
|
||||
"warn_line_threshold": 900,
|
||||
"watch_line_threshold": 720,
|
||||
"early_watch_line_threshold": 600,
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# Architecture Maintainability
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-13`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `pass`
|
||||
- python files: `229`
|
||||
- scripts: `153`
|
||||
- tests: `76`
|
||||
- internal modules: `69`
|
||||
- python files: `232`
|
||||
- scripts: `155`
|
||||
- tests: `77`
|
||||
- internal modules: `71`
|
||||
- CLI scripts: `86`
|
||||
- Yao CLI command handlers: `68`
|
||||
- Yao CLI command handlers: `71`
|
||||
- entrypoint command handlers: `18`
|
||||
- command modules: `6`
|
||||
- command modules: `7`
|
||||
- largest file lines: `719`
|
||||
- early watch threshold lines: `600`
|
||||
- early watchlist: `6`
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"skill_name": "yao-meta-skill",
|
||||
"skill_name": "yao-meta-skill-operator-ux-worktree",
|
||||
"design_system": "metric editorial",
|
||||
"primary_artifact": {
|
||||
"key": "dashboard",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Artifact Design Profile
|
||||
|
||||
Skill: `yao-meta-skill`
|
||||
Skill: `yao-meta-skill-operator-ux-worktree`
|
||||
Design system: `metric editorial`
|
||||
|
||||
## Primary Artifact Direction
|
||||
|
||||
@@ -1,42 +1,24 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"git_status": {
|
||||
"available": true,
|
||||
"dirty": true,
|
||||
"changed_file_count": 29,
|
||||
"changed_file_count": 3,
|
||||
"generated_dirty": true,
|
||||
"generated_changed_file_count": 29,
|
||||
"generated_changed_file_count": 3,
|
||||
"source_dirty": false,
|
||||
"source_changed_file_count": 0,
|
||||
"sample": [
|
||||
" M registry/index.json",
|
||||
" M registry/packages/yao-meta-skill.json",
|
||||
" M reports/adaptation_proposals.json",
|
||||
" M reports/adaptation_proposals.md",
|
||||
" M reports/adoption_drift_report.json",
|
||||
" M reports/architecture_maintainability.json",
|
||||
" M reports/architecture_maintainability.md",
|
||||
" M reports/benchmark_reproducibility.json",
|
||||
" M reports/benchmark_reproducibility.md",
|
||||
" M reports/context_budget.json",
|
||||
" M reports/context_budget.md",
|
||||
" M reports/context_budget_summary.json"
|
||||
],
|
||||
"source_sample": [],
|
||||
"generated_sample": [
|
||||
" M registry/index.json",
|
||||
" M registry/packages/yao-meta-skill.json",
|
||||
" M reports/adaptation_proposals.json",
|
||||
" M reports/adaptation_proposals.md",
|
||||
" M reports/adoption_drift_report.json",
|
||||
" M reports/architecture_maintainability.json",
|
||||
" M reports/architecture_maintainability.md",
|
||||
" M reports/benchmark_reproducibility.json",
|
||||
" M reports/benchmark_reproducibility.md",
|
||||
" M reports/context_budget.json",
|
||||
" M reports/context_budget.md",
|
||||
" M reports/context_budget_summary.json"
|
||||
@@ -57,9 +39,9 @@
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -74,19 +56,19 @@
|
||||
"world_class_task_count": 4,
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
"public_claim_ready": false,
|
||||
"public_claim_blocker_count": 3,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 29,
|
||||
"changed_file_count": 3,
|
||||
"source_tree_dirty": false,
|
||||
"source_changed_file_count": 0,
|
||||
"generated_tree_dirty": true,
|
||||
"generated_changed_file_count": 29
|
||||
"generated_changed_file_count": 3
|
||||
},
|
||||
"beta_test_release": {
|
||||
"ready": true,
|
||||
@@ -123,16 +105,16 @@
|
||||
"blockers": [
|
||||
"human blind-review adjudication is incomplete",
|
||||
"world-class evidence is not accepted yet (3 open gaps, 4 ledger pending)",
|
||||
"world-class source checks are not all accepted (11/19 pass, 8 blocked)"
|
||||
"world-class source checks are not all accepted (12/19 pass, 7 blocked)"
|
||||
],
|
||||
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks."
|
||||
},
|
||||
"release_lock": {
|
||||
"ready": true,
|
||||
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"status_scope": "generation-time status before this report is written",
|
||||
"source_changed_file_count": 0,
|
||||
"generated_changed_file_count": 29,
|
||||
"generated_changed_file_count": 3,
|
||||
"reason": "only generated evidence artifacts were dirty at generation time"
|
||||
},
|
||||
"evidence_bundle": {
|
||||
@@ -141,7 +123,7 @@
|
||||
"existing_count": 25,
|
||||
"missing_count": 0,
|
||||
"missing_paths": [],
|
||||
"sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0"
|
||||
"sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad"
|
||||
},
|
||||
"methodology": {
|
||||
"path": "reports/benchmark_methodology.md",
|
||||
@@ -249,106 +231,106 @@
|
||||
"label": "trust_report",
|
||||
"path": "reports/security_trust_report.json",
|
||||
"exists": true,
|
||||
"bytes": 137787,
|
||||
"sha256": "bbff1f1bee0ce6f7014efcd4622ba11c70aacfc81f2e69e225411df7004dd616"
|
||||
"bytes": 139090,
|
||||
"sha256": "2ef43f009be68b1dd1a994b841d69b89723cf0b6d7725dc6ad86670d14235135"
|
||||
},
|
||||
{
|
||||
"label": "python_compatibility",
|
||||
"path": "reports/python_compatibility.json",
|
||||
"exists": true,
|
||||
"bytes": 30127,
|
||||
"sha256": "d31dc03c74f17242f4163b8cb3f23120fe3d0712edd08fa183cb94f8120d491c"
|
||||
"bytes": 30351,
|
||||
"sha256": "7f3fc8e785bf7007755c0b7f277967fd478ea17a5800ab14b9c23de395576cda"
|
||||
},
|
||||
{
|
||||
"label": "registry_audit",
|
||||
"path": "reports/registry_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 3137,
|
||||
"sha256": "1feb80c7cdc833a655cc0e44150f39f9f6d0633465abaa1ae29ebe7cb0649065"
|
||||
"sha256": "03cb951dc8ba71843602bffa1148d7a40095a7e109a024193422aaa8a94ba4c7"
|
||||
},
|
||||
{
|
||||
"label": "package_verification",
|
||||
"path": "reports/package_verification.json",
|
||||
"exists": true,
|
||||
"bytes": 19338,
|
||||
"sha256": "7aa6c25e8154d246ace49f7ab9159fa85f96d1d4ebb7e2bb03c7b223260a908b"
|
||||
"bytes": 19525,
|
||||
"sha256": "e2ad726ce0486be0f57d88e518ef4d265479a04756419c6f8df50cf7d05b1f14"
|
||||
},
|
||||
{
|
||||
"label": "install_simulation",
|
||||
"path": "reports/install_simulation.json",
|
||||
"exists": true,
|
||||
"bytes": 8758,
|
||||
"sha256": "c1f1122264b868c4998482c580ef94333575c6ff7c5c9c297188b225f69a131d"
|
||||
"bytes": 8793,
|
||||
"sha256": "6cf79201727352e5f92f4e1fa1697a069ab325d526065f5316ee939e84475ef5"
|
||||
},
|
||||
{
|
||||
"label": "skill_os2_audit",
|
||||
"path": "reports/skill_os2_audit.json",
|
||||
"exists": true,
|
||||
"bytes": 13824,
|
||||
"sha256": "6362e79a8cfd3ff54b1a7ca32f37de8ed1cda500b953fdf1074928c6d2d62379"
|
||||
"sha256": "1079221b5ac72e19e3e7a0f4970f133d828336f34bac82abf3fb867d18834cfa"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_plan",
|
||||
"path": "reports/world_class_evidence_plan.json",
|
||||
"exists": true,
|
||||
"bytes": 23314,
|
||||
"sha256": "8eb5e1fbaa7580f107fd9920d13a13b239edb72d50b6959fc8f6dd43150f07d7"
|
||||
"sha256": "374ee899a0ba5b84a95337de993439d78e5708be4fdf40dee4292766d0d2bf99"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_ledger",
|
||||
"path": "reports/world_class_evidence_ledger.json",
|
||||
"exists": true,
|
||||
"bytes": 26277,
|
||||
"sha256": "6038b6cd6e0667f25cfd69a5e40afa314d9efc3a93753a2a3a0509ae9b516a15"
|
||||
"bytes": 26274,
|
||||
"sha256": "565ae80a82286e912df134c88a269566ecf635f39e55618df4ed4eac69d7c7ea"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_intake",
|
||||
"path": "reports/world_class_evidence_intake.json",
|
||||
"exists": true,
|
||||
"bytes": 20922,
|
||||
"sha256": "aa262da0ecee7232974ce061a51c8966c310de0b0be9f91eb82bb28bf1c7c0a8"
|
||||
"sha256": "e36a7e753f4176e7ddd7a74fcc5b064769191baf73b5faa58752f80457ec58ff"
|
||||
},
|
||||
{
|
||||
"label": "world_class_evidence_preflight",
|
||||
"path": "reports/world_class_evidence_preflight.json",
|
||||
"exists": true,
|
||||
"bytes": 94341,
|
||||
"sha256": "95cb56581224aab06be84d0b338d6ba9aa4aef0b1ebd480801f1e2226b873b0d"
|
||||
"bytes": 90852,
|
||||
"sha256": "9e4f0bc489ca958b5a9e2854f17b847de8ee1f081de40e8c8b86cec138afe633"
|
||||
},
|
||||
{
|
||||
"label": "world_class_submission_review",
|
||||
"path": "reports/world_class_submission_review.json",
|
||||
"exists": true,
|
||||
"bytes": 17295,
|
||||
"sha256": "12fbb84926294c4bd05af526fcbe0983db26e449d2c305006094baf27332a0ba"
|
||||
"bytes": 17292,
|
||||
"sha256": "3c944b4bd27f61483e8e02aa3f3b6c8cdb4aba8dc986241e8cbe60ba64489123"
|
||||
},
|
||||
{
|
||||
"label": "world_class_operator_runbook",
|
||||
"path": "reports/world_class_operator_runbook.json",
|
||||
"exists": true,
|
||||
"bytes": 87257,
|
||||
"sha256": "f321dc118ee931a1e1510559e5e64774168a58b0446ae62d232009eb42e3b384"
|
||||
"bytes": 83712,
|
||||
"sha256": "d8678010fcfd5fb8f28d95925478496749f5498ce13a171c80f79372b874351d"
|
||||
},
|
||||
{
|
||||
"label": "world_class_operator_runbook_markdown",
|
||||
"path": "reports/world_class_operator_runbook.md",
|
||||
"exists": true,
|
||||
"bytes": 25549,
|
||||
"sha256": "858ee11bbacb143f648e9c00735bc248a0b9f3c9303dc9e0ad5c0a65d9d6e07f"
|
||||
"bytes": 25504,
|
||||
"sha256": "fe3a73bf2eb9a018ec03881c95d23d30abcbf8bc36cbb264f68daa08238d8e5f"
|
||||
},
|
||||
{
|
||||
"label": "world_class_operator_runbook_html",
|
||||
"path": "reports/world_class_operator_runbook.html",
|
||||
"exists": true,
|
||||
"bytes": 34702,
|
||||
"sha256": "31b24658c59ee1dee25aec378e72033b042af88dfdf40c325d361d0c9bec2ca7"
|
||||
"bytes": 34651,
|
||||
"sha256": "022594013b2469a0e5776e3f5f6a99fa069917c5ba5cb90256b7841b1f5fd1e3"
|
||||
},
|
||||
{
|
||||
"label": "world_class_claim_guard",
|
||||
"path": "reports/world_class_claim_guard.json",
|
||||
"exists": true,
|
||||
"bytes": 18596,
|
||||
"sha256": "abe7f7d60c0025e140373fadaefbed4063f285c140c74b9c7cfb464e354bb526"
|
||||
"bytes": 18759,
|
||||
"sha256": "556700f05a65bda9b55d829c109d1aec54ae5b4da80ffbefe1196319df86f117"
|
||||
}
|
||||
],
|
||||
"missing_artifacts": [],
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Benchmark Reproducibility
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Commit: `e79050ed12d057811d7d13ab7d8bcc5a06af76d4`
|
||||
Generated at: `2026-06-21`
|
||||
Commit: `139d0fd15ce995757d6d75fb45fb417d0b1b4e7d`
|
||||
Working tree dirty at generation: `true`
|
||||
Source tree dirty at generation: `false`
|
||||
Generated evidence dirty at generation: `true`
|
||||
Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
|
||||
Evidence bundle SHA256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -14,23 +14,23 @@ Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c7
|
||||
- methodology complete: `true`
|
||||
- required artifacts: `25`
|
||||
- missing artifacts: `0`
|
||||
- source contract sha256: `5a99ef3133b0`
|
||||
- archive sha256: `7db44f059844`
|
||||
- source contract sha256: `eddeea80a657`
|
||||
- archive sha256: `c56a8519244c`
|
||||
- output cases: `5`
|
||||
- disclosed failure cases: `3`
|
||||
- reproduction commands: `23`
|
||||
- provider evidence complete: `true`
|
||||
- human review complete: `false`
|
||||
- world-class ready: `false`
|
||||
- world-class source checks: `11` pass / `19` total; `8` blocked
|
||||
- world-class source checks: `12` pass / `19` total; `7` blocked
|
||||
- beta test ready: `true`
|
||||
- beta test blockers: `0`
|
||||
- beta deferred evidence: `4`
|
||||
- public claim ready: `false`
|
||||
- public claim blockers: `3`
|
||||
- changed files at generation: `29`
|
||||
- changed files at generation: `3`
|
||||
- source changed files at generation: `0`
|
||||
- generated changed files at generation: `29`
|
||||
- generated changed files at generation: `3`
|
||||
|
||||
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit and dirty samples are generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
|
||||
|
||||
@@ -62,7 +62,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
|
||||
| --- |
|
||||
| human blind-review adjudication is incomplete |
|
||||
| world-class evidence is not accepted yet (3 open gaps, 4 ledger pending) |
|
||||
| world-class source checks are not all accepted (11/19 pass, 8 blocked) |
|
||||
| world-class source checks are not all accepted (12/19 pass, 7 blocked) |
|
||||
|
||||
## Release Lock
|
||||
|
||||
@@ -74,7 +74,7 @@ This report proves local benchmark reproducibility only. It keeps external provi
|
||||
|
||||
- algorithm: `sha256(path,label,exists,artifact_sha256)`
|
||||
- artifacts: `25` / `25`
|
||||
- sha256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
|
||||
- sha256: `e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad`
|
||||
|
||||
## Methodology Sections
|
||||
|
||||
@@ -101,21 +101,21 @@ This report proves local benchmark reproducibility only. It keeps external provi
|
||||
| review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` |
|
||||
| trigger_scorecard | `reports/route_scorecard.json` | present | `a649547a7d3d` |
|
||||
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
|
||||
| trust_report | `reports/security_trust_report.json` | present | `bbff1f1bee0c` |
|
||||
| python_compatibility | `reports/python_compatibility.json` | present | `d31dc03c74f1` |
|
||||
| registry_audit | `reports/registry_audit.json` | present | `1feb80c7cdc8` |
|
||||
| package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` |
|
||||
| install_simulation | `reports/install_simulation.json` | present | `c1f1122264b8` |
|
||||
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `6362e79a8cfd` |
|
||||
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `8eb5e1fbaa75` |
|
||||
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `6038b6cd6e06` |
|
||||
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `aa262da0ecee` |
|
||||
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `95cb56581224` |
|
||||
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `12fbb8492629` |
|
||||
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `f321dc118ee9` |
|
||||
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `858ee11bbacb` |
|
||||
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `31b24658c59e` |
|
||||
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `abe7f7d60c00` |
|
||||
| trust_report | `reports/security_trust_report.json` | present | `2ef43f009be6` |
|
||||
| python_compatibility | `reports/python_compatibility.json` | present | `7f3fc8e785bf` |
|
||||
| registry_audit | `reports/registry_audit.json` | present | `03cb951dc8ba` |
|
||||
| package_verification | `reports/package_verification.json` | present | `e2ad726ce048` |
|
||||
| install_simulation | `reports/install_simulation.json` | present | `6cf792017273` |
|
||||
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `1079221b5ac7` |
|
||||
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `374ee899a0ba` |
|
||||
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `565ae80a8228` |
|
||||
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `e36a7e753f41` |
|
||||
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `9e4f0bc489ca` |
|
||||
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `3c944b4bd27f` |
|
||||
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `d8678010fcfd` |
|
||||
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `fe3a73bf2eb9` |
|
||||
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `022594013b24` |
|
||||
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `556700f05a65` |
|
||||
|
||||
## Reproduction Commands
|
||||
|
||||
|
||||
+126
-96
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"target_count": 5,
|
||||
@@ -291,10 +291,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
@@ -354,7 +356,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -461,7 +463,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -535,13 +537,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -554,6 +557,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -584,8 +588,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -606,8 +610,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -627,7 +631,7 @@
|
||||
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -638,7 +642,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -719,7 +723,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -793,13 +797,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -812,6 +817,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -842,8 +848,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -862,8 +868,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -883,7 +889,7 @@
|
||||
"strategy": "Ship the neutral source tree and expose OpenAI-facing interface metadata as a generated companion file.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -894,7 +900,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Keep scripts as local package resources; expose help-smoke and permission metadata for reviewer approval before execution.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -1242,10 +1248,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
@@ -1305,7 +1313,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -1412,7 +1420,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -1486,13 +1494,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -1505,6 +1514,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -1535,8 +1545,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -1557,8 +1567,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -1578,7 +1588,7 @@
|
||||
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -1589,7 +1599,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -1670,7 +1680,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -1744,13 +1754,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -1763,6 +1774,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -1793,8 +1805,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -1813,8 +1825,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -1834,7 +1846,7 @@
|
||||
"strategy": "Preserve the source tree directly; write target notes in targets/claude/README.md.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -1845,7 +1857,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local package resources and must be reviewed through trust and permission reports before use.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -2193,10 +2205,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
@@ -2256,7 +2270,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -2363,7 +2377,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -2437,13 +2451,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -2456,6 +2471,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -2486,8 +2502,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -2508,8 +2524,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -2529,7 +2545,7 @@
|
||||
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -2539,7 +2555,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -2614,7 +2630,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -2688,13 +2704,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -2707,6 +2724,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -2737,8 +2755,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -2757,8 +2775,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -2778,7 +2796,7 @@
|
||||
"strategy": "Preserve references, scripts, assets, evals, reports, and adapter metadata as relative package resources.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -2788,7 +2806,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Expose script and permission metadata for downstream clients or installers to enforce.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -3128,10 +3146,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
@@ -3191,7 +3211,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -3298,7 +3318,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -3372,13 +3392,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -3391,6 +3412,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -3421,8 +3443,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -3443,8 +3465,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -3464,7 +3486,7 @@
|
||||
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -3475,7 +3497,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -3549,7 +3571,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -3623,13 +3645,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -3642,6 +3665,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -3672,8 +3696,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -3692,8 +3716,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -3713,7 +3737,7 @@
|
||||
"strategy": "Keep optional directories as relative resources next to SKILL.md.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -3724,7 +3748,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts remain local optional resources and should advertise --help when executable.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -4063,10 +4087,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
@@ -4126,7 +4152,7 @@
|
||||
],
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
}
|
||||
@@ -4233,7 +4259,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -4307,13 +4333,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -4326,6 +4353,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -4356,8 +4384,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -4378,8 +4406,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -4399,7 +4427,7 @@
|
||||
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -4410,7 +4438,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
@@ -4488,7 +4516,7 @@
|
||||
},
|
||||
"file_write": {
|
||||
"required": true,
|
||||
"script_count": 73,
|
||||
"script_count": 74,
|
||||
"scripts": [
|
||||
"scripts/adjudicate_output_review.py",
|
||||
"scripts/apply_adaptation.py",
|
||||
@@ -4562,13 +4590,14 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"review_reason": "Scripts write local files or generated artifacts."
|
||||
},
|
||||
"subprocess": {
|
||||
"required": true,
|
||||
"script_count": 12,
|
||||
"script_count": 13,
|
||||
"scripts": [
|
||||
"scripts/apply_adaptation.py",
|
||||
"scripts/benchmark_release_lock.py",
|
||||
@@ -4581,6 +4610,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"review_reason": "Scripts spawn local commands and need operator review."
|
||||
@@ -4611,8 +4641,8 @@
|
||||
"trust_summary": {
|
||||
"secret_findings": 0,
|
||||
"network_script_count": 3,
|
||||
"file_write_script_count": 73,
|
||||
"subprocess_script_count": 12,
|
||||
"file_write_script_count": 74,
|
||||
"subprocess_script_count": 13,
|
||||
"interactive_script_count": 0,
|
||||
"help_smoke_failed_count": 0
|
||||
}
|
||||
@@ -4631,8 +4661,8 @@
|
||||
],
|
||||
"capability_counts": {
|
||||
"network": 3,
|
||||
"file_write": 73,
|
||||
"subprocess": 12,
|
||||
"file_write": 74,
|
||||
"subprocess": 13,
|
||||
"interactive": 0
|
||||
},
|
||||
"evidence": "reports/security_trust_report.json",
|
||||
@@ -4652,7 +4682,7 @@
|
||||
"strategy": "Install as project or user scoped skill source, preserving relative references and scripts.",
|
||||
"counts": {
|
||||
"references": 35,
|
||||
"scripts": 153,
|
||||
"scripts": 155,
|
||||
"assets": 6,
|
||||
"reports": 43
|
||||
},
|
||||
@@ -4663,7 +4693,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"strategy": "Scripts require workspace trust and operator/client approval outside this compiler.",
|
||||
"script_count": 153,
|
||||
"script_count": 155,
|
||||
"help_smoke_failed_count": 0
|
||||
},
|
||||
"permissions": {
|
||||
|
||||
+10
-10
@@ -6,16 +6,16 @@
|
||||
"context_budget_tier": "production",
|
||||
"context_budget_limit": 1000,
|
||||
"skill_body_tokens": 805,
|
||||
"other_text_tokens": 1156781,
|
||||
"other_text_tokens": 1169049,
|
||||
"estimated_initial_load_tokens": 998,
|
||||
"estimated_total_text_tokens": 1157586,
|
||||
"deferred_resource_tokens": 525864,
|
||||
"estimated_total_text_tokens": 1169854,
|
||||
"deferred_resource_tokens": 530871,
|
||||
"deferred_resource_warn_threshold": 120000,
|
||||
"deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 464561,
|
||||
"file_count": 153
|
||||
"estimated_tokens": 469568,
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "references",
|
||||
@@ -36,8 +36,8 @@
|
||||
"large_deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 464561,
|
||||
"file_count": 153
|
||||
"estimated_tokens": 469568,
|
||||
"file_count": 155
|
||||
}
|
||||
],
|
||||
"deferred_resource_governance": {
|
||||
@@ -59,14 +59,14 @@
|
||||
],
|
||||
"missing": [],
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 464561,
|
||||
"file_count": 153,
|
||||
"estimated_tokens": 469568,
|
||||
"file_count": 155,
|
||||
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
|
||||
}
|
||||
],
|
||||
"summary": "Large deferred resources are indexed and backed by evidence."
|
||||
},
|
||||
"relevant_file_count": 712,
|
||||
"relevant_file_count": 571,
|
||||
"unused_resource_dirs": [],
|
||||
"quality_signal_points": 140,
|
||||
"quality_density": 140.3
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
| Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status |
|
||||
| --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- |
|
||||
| root | `.` | `production` | 1000 | 998 | 805 | 525864 | `governed` | scripts:464561 | 140.3 | - | ok |
|
||||
| root | `.` | `production` | 1000 | 998 | 805 | 530871 | `governed` | scripts:469568 | 140.3 | - | ok |
|
||||
| complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok |
|
||||
| governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok |
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated_at": "2026-03-31",
|
||||
"generated_at": "2026-06-21",
|
||||
"targets": [
|
||||
{
|
||||
"label": "root",
|
||||
@@ -8,12 +8,12 @@
|
||||
"budget_limit": 1000,
|
||||
"initial_tokens": 998,
|
||||
"skill_body_tokens": 805,
|
||||
"deferred_resource_tokens": 525864,
|
||||
"deferred_resource_tokens": 530871,
|
||||
"large_deferred_resource_dirs": [
|
||||
{
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 464561,
|
||||
"file_count": 153
|
||||
"estimated_tokens": 469568,
|
||||
"file_count": 155
|
||||
}
|
||||
],
|
||||
"deferred_resource_governance": {
|
||||
@@ -35,8 +35,8 @@
|
||||
],
|
||||
"missing": [],
|
||||
"path": "scripts",
|
||||
"estimated_tokens": 464561,
|
||||
"file_count": 153,
|
||||
"estimated_tokens": 469568,
|
||||
"file_count": 155,
|
||||
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
|
||||
}
|
||||
],
|
||||
|
||||
+117
-119
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"check_count": 39,
|
||||
@@ -324,12 +324,12 @@
|
||||
"status": "pass",
|
||||
"expected": {
|
||||
"status": "pass",
|
||||
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
|
||||
"detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3",
|
||||
"evidence": "reports/context_budget.json"
|
||||
},
|
||||
"actual": {
|
||||
"status": "pass",
|
||||
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
|
||||
"detail": "initial load 998/1000; deferred 530871/120000; top deferred scripts 469568; resource governance governed; quality density 140.3",
|
||||
"evidence": "reports/context_budget.json"
|
||||
},
|
||||
"paths": [
|
||||
@@ -357,7 +357,7 @@
|
||||
"actual": {
|
||||
"available": true,
|
||||
"clean": false,
|
||||
"changed_file_count": 27
|
||||
"changed_file_count": 21
|
||||
},
|
||||
"paths": [
|
||||
"reports/benchmark_reproducibility.json"
|
||||
@@ -398,8 +398,8 @@
|
||||
"key": "overview-benchmark-commit",
|
||||
"label": "overview embeds the benchmark commit",
|
||||
"status": "pass",
|
||||
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"paths": [
|
||||
"reports/benchmark_reproducibility.json",
|
||||
"reports/skill-overview.json"
|
||||
@@ -414,12 +414,12 @@
|
||||
"release_lock_ready": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
@@ -430,12 +430,12 @@
|
||||
"release_lock_ready": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
@@ -454,13 +454,13 @@
|
||||
"status": "pass",
|
||||
"expected": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"adoption_rate": 100.0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"source_types": {
|
||||
"manual": 1
|
||||
@@ -468,13 +468,13 @@
|
||||
},
|
||||
"actual": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"adoption_rate": 100.0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"source_types": {
|
||||
"manual": 1
|
||||
@@ -497,8 +497,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"decision": "evidence-pending"
|
||||
},
|
||||
@@ -509,8 +509,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"decision": "evidence-pending"
|
||||
},
|
||||
@@ -530,7 +530,7 @@
|
||||
"pending_count": 4,
|
||||
"accepted_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11
|
||||
"source_pass_count": 12
|
||||
},
|
||||
"actual": {
|
||||
"ready": false,
|
||||
@@ -538,7 +538,7 @@
|
||||
"pending_count": 4,
|
||||
"accepted_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11
|
||||
"source_pass_count": 12
|
||||
},
|
||||
"paths": [
|
||||
"reports/world_class_evidence_ledger.json",
|
||||
@@ -550,8 +550,8 @@
|
||||
"key": "interpretation-benchmark-commit",
|
||||
"label": "interpretation embeds the benchmark commit",
|
||||
"status": "pass",
|
||||
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"expected": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"actual": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"paths": [
|
||||
"reports/benchmark_reproducibility.json",
|
||||
"reports/skill-interpretation.json"
|
||||
@@ -566,12 +566,12 @@
|
||||
"release_lock_ready": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
@@ -582,12 +582,12 @@
|
||||
"release_lock_ready": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
@@ -606,13 +606,13 @@
|
||||
"status": "pass",
|
||||
"expected": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"adoption_rate": 100.0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"source_types": {
|
||||
"manual": 1
|
||||
@@ -620,13 +620,13 @@
|
||||
},
|
||||
"actual": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"adoption_rate": 100.0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"source_types": {
|
||||
"manual": 1
|
||||
@@ -649,8 +649,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"decision": "evidence-pending"
|
||||
},
|
||||
@@ -661,8 +661,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"decision": "evidence-pending"
|
||||
},
|
||||
@@ -682,7 +682,7 @@
|
||||
"pending_count": 4,
|
||||
"accepted_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11
|
||||
"source_pass_count": 12
|
||||
},
|
||||
"actual": {
|
||||
"ready": false,
|
||||
@@ -690,7 +690,7 @@
|
||||
"pending_count": 4,
|
||||
"accepted_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11
|
||||
"source_pass_count": 12
|
||||
},
|
||||
"paths": [
|
||||
"reports/world_class_evidence_ledger.json",
|
||||
@@ -1489,7 +1489,7 @@
|
||||
"external_pending_count": 3,
|
||||
"human_pending_count": 1,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_pass_count": 12,
|
||||
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
|
||||
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
|
||||
"entries": [
|
||||
@@ -1546,8 +1546,7 @@
|
||||
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
|
||||
"summary_en": "Real external-client metadata-only events have not been imported yet.",
|
||||
"blocked_checks": [
|
||||
"External events",
|
||||
"Adoption sample"
|
||||
"External events"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1561,7 +1560,7 @@
|
||||
"external_pending_count": 3,
|
||||
"human_pending_count": 1,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_pass_count": 12,
|
||||
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
|
||||
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
|
||||
"entries": [
|
||||
@@ -1618,8 +1617,7 @@
|
||||
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
|
||||
"summary_en": "Real external-client metadata-only events have not been imported yet.",
|
||||
"blocked_checks": [
|
||||
"External events",
|
||||
"Adoption sample"
|
||||
"External events"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1670,7 +1668,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1682,10 +1680,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"file_count": 456,
|
||||
"file_count": 375,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -1710,7 +1708,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 153
|
||||
"value": 155
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -1718,7 +1716,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 235
|
||||
"value": 152
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1758,7 +1756,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -1770,10 +1768,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"file_count": 456,
|
||||
"file_count": 375,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -1798,7 +1796,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 153
|
||||
"value": 155
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -1806,7 +1804,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 235
|
||||
"value": 152
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1969,15 +1967,15 @@
|
||||
"expected": {
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"public_claim_ready": false
|
||||
},
|
||||
"actual": {
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"public_claim_ready": false
|
||||
},
|
||||
"paths": [
|
||||
@@ -2031,8 +2029,8 @@
|
||||
"expected": {
|
||||
"pending_count": 4,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"preflight_counts_as_evidence": false,
|
||||
"credential_value_exposed": false
|
||||
@@ -2040,8 +2038,8 @@
|
||||
"actual": {
|
||||
"pending_count": 4,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"preflight_counts_as_evidence": false,
|
||||
"credential_value_exposed": false
|
||||
@@ -2218,7 +2216,7 @@
|
||||
"summary": {
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -2251,8 +2249,8 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -2376,15 +2374,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -2394,7 +2392,7 @@
|
||||
"operator_runbook_summary": {
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -2427,8 +2425,8 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -2552,15 +2550,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -2674,15 +2672,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -2693,7 +2691,7 @@
|
||||
"summary": {
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -2726,8 +2724,8 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -2746,7 +2744,7 @@
|
||||
"operator_runbook_summary": {
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -2779,8 +2777,8 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -2904,15 +2902,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -3026,15 +3024,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -3148,15 +3146,15 @@
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false
|
||||
}
|
||||
@@ -3256,8 +3254,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"plan_keys": [
|
||||
"human-adjudication",
|
||||
"native-client-telemetry",
|
||||
@@ -3414,8 +3412,8 @@
|
||||
"human_pending_count": 1,
|
||||
"external_pending_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"plan_keys": [
|
||||
"human-adjudication",
|
||||
"native-client-telemetry",
|
||||
@@ -3579,16 +3577,16 @@
|
||||
"score `91`",
|
||||
"`16` gates",
|
||||
"`3` warnings",
|
||||
"`67` declared internal modules",
|
||||
"`86 / 86` CLI help smoke checks passing across `153` scripts",
|
||||
"`689` zip entries",
|
||||
"archive with `689` entries",
|
||||
"`69` declared internal modules",
|
||||
"`86 / 86` CLI help smoke checks passing across `155` scripts",
|
||||
"`580` zip entries",
|
||||
"archive with `580` entries",
|
||||
"`12` installer permission checks enforced",
|
||||
"`0` permission failures",
|
||||
"`25` required artifacts",
|
||||
"`23` reproduction commands",
|
||||
"initial load `998/1000`",
|
||||
"target count is `82`"
|
||||
"target count is `83`"
|
||||
],
|
||||
"actual": "all present",
|
||||
"paths": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Evidence Consistency
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{
|
||||
"ok": true,
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-13",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"package_dir": "tests/tmp_review_studio/dist",
|
||||
"install_root": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill",
|
||||
"installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill",
|
||||
"package_dir": "dist",
|
||||
"install_root": "dist/install-simulation/simulate-yao-meta-skill",
|
||||
"installed_skill_dir": "dist/install-simulation/simulate-yao-meta-skill/yao-meta-skill",
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 696,
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -26,13 +27,18 @@
|
||||
{
|
||||
"id": "archive-present",
|
||||
"status": "pass",
|
||||
"detail": "Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip"
|
||||
"detail": "Package archive exists: dist/yao-meta-skill.zip"
|
||||
},
|
||||
{
|
||||
"id": "archive-safe-paths",
|
||||
"status": "pass",
|
||||
"detail": "Archive has no absolute or parent-traversal entries"
|
||||
},
|
||||
{
|
||||
"id": "single-skill-entrypoint",
|
||||
"status": "pass",
|
||||
"detail": "Installed package exposes only the root SKILL.md entrypoint"
|
||||
},
|
||||
{
|
||||
"id": "single-top-level",
|
||||
"status": "pass",
|
||||
@@ -272,9 +278,9 @@
|
||||
"failures": [],
|
||||
"warnings": [],
|
||||
"artifacts": {
|
||||
"archive": "tests/tmp_review_studio/dist/yao-meta-skill.zip",
|
||||
"package_manifest": "tests/tmp_review_studio/dist/manifest.json",
|
||||
"json": "tests/tmp_review_studio/install_simulation.json",
|
||||
"markdown": "tests/tmp_review_studio/install_simulation.md"
|
||||
"archive": "dist/yao-meta-skill.zip",
|
||||
"package_manifest": "dist/manifest.json",
|
||||
"json": "reports/install_simulation.json",
|
||||
"markdown": "reports/install_simulation.md"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Install Simulation
|
||||
|
||||
- OK: `True`
|
||||
- Package directory: `tests/tmp_review_studio/dist`
|
||||
- Package directory: `dist`
|
||||
- Archive extracted: `True`
|
||||
- Nested SKILL.md entries: `0`
|
||||
- Entrypoint loaded: `True`
|
||||
- Manifest loaded: `True`
|
||||
- Interface loaded: `True`
|
||||
@@ -16,8 +17,9 @@
|
||||
|
||||
| Check | Status | Detail |
|
||||
| --- | --- | --- |
|
||||
| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip |
|
||||
| `archive-present` | `pass` | Package archive exists: dist/yao-meta-skill.zip |
|
||||
| `archive-safe-paths` | `pass` | Archive has no absolute or parent-traversal entries |
|
||||
| `single-skill-entrypoint` | `pass` | Installed package exposes only the root SKILL.md entrypoint |
|
||||
| `single-top-level` | `pass` | Archive top-level directory is yao-meta-skill |
|
||||
| `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable |
|
||||
| `entrypoint-name` | `pass` | Installed SKILL.md name matches package directory |
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
{
|
||||
"ok": true,
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"package_dir": "dist",
|
||||
"summary": {
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_entry_count": 689,
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -614,6 +615,11 @@
|
||||
"status": "pass",
|
||||
"detail": "Archive contains yao-meta-skill/agents/interface.yaml"
|
||||
},
|
||||
{
|
||||
"id": "archive-single-skill-entrypoint",
|
||||
"status": "pass",
|
||||
"detail": "Archive exposes only the root SKILL.md entrypoint"
|
||||
},
|
||||
{
|
||||
"id": "archive-excludes-generated",
|
||||
"status": "pass",
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
- Package directory: `dist`
|
||||
- Targets: `4 / 4` adapters present
|
||||
- Archive present: `True`
|
||||
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
|
||||
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
|
||||
- Nested SKILL.md entries: `0`
|
||||
- Failures: `0`
|
||||
- Warnings: `0`
|
||||
|
||||
@@ -132,6 +133,7 @@
|
||||
| `archive-entry-yao-meta-skill/SKILL.md` | `pass` | Archive contains yao-meta-skill/SKILL.md |
|
||||
| `archive-entry-yao-meta-skill/manifest.json` | `pass` | Archive contains yao-meta-skill/manifest.json |
|
||||
| `archive-entry-yao-meta-skill/agents/interface.yaml` | `pass` | Archive contains yao-meta-skill/agents/interface.yaml |
|
||||
| `archive-single-skill-entrypoint` | `pass` | Archive exposes only the root SKILL.md entrypoint |
|
||||
| `archive-excludes-generated` | `pass` | Archive excludes generated dist/, .previews/, and tests/tmp* contents |
|
||||
| `registry-ok` | `pass` | Registry audit is OK |
|
||||
| `registry-name-match` | `pass` | Registry package name matches package manifest |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"skill_name": "yao-meta-skill",
|
||||
"skill_name": "yao-meta-skill-operator-ux-worktree",
|
||||
"relevance": "prompt-aware",
|
||||
"primary_task_family": {
|
||||
"key": "execution_operation",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Prompt Quality Profile
|
||||
|
||||
Skill: `yao-meta-skill`
|
||||
Skill: `yao-meta-skill-operator-ux-worktree`
|
||||
Relevance: `prompt-aware`
|
||||
Overall quality score: `89.0/100`
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-13",
|
||||
"root": ".",
|
||||
"summary": {
|
||||
"target_python": "3.11",
|
||||
"file_count": 232,
|
||||
"file_count": 234,
|
||||
"issue_count": 0,
|
||||
"syntax_error_count": 0,
|
||||
"fstring_311_violation_count": 0,
|
||||
@@ -34,12 +34,6 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "geo-ranking-article-generator/scripts/build_html_index.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/adaptation_patch_safety.py",
|
||||
"ok": true,
|
||||
@@ -916,6 +910,12 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_operator_commands.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_output_commands.py",
|
||||
"ok": true,
|
||||
@@ -940,6 +940,12 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_parser_operator.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_report_commands.py",
|
||||
"ok": true,
|
||||
@@ -1090,6 +1096,12 @@
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_operator_ux.py",
|
||||
"ok": true,
|
||||
"issue_count": 0,
|
||||
"issues": []
|
||||
},
|
||||
{
|
||||
"path": "tests/verify_output_eval_lab.py",
|
||||
"ok": true,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Python Compatibility
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-13`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `pass`
|
||||
- target python: `3.11`
|
||||
- files scanned: `232`
|
||||
- files scanned: `234`
|
||||
- issues: `0`
|
||||
- syntax errors: `0`
|
||||
- f-string 3.11 violations: `0`
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -53,16 +53,16 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
},
|
||||
"generated_at": "2026-06-13"
|
||||
"generated_at": "2026-06-21"
|
||||
},
|
||||
"index": {
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-13",
|
||||
"generated_at": "2026-06-21",
|
||||
"package_count": 1,
|
||||
"packages": [
|
||||
{
|
||||
@@ -78,7 +78,7 @@
|
||||
"vscode"
|
||||
],
|
||||
"package_metadata": "registry/packages/yao-meta-skill.json",
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
- Maturity: `governed`
|
||||
- Owner: `Yao Team`
|
||||
- License: `MIT`
|
||||
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
|
||||
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
|
||||
- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383`
|
||||
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
|
||||
- Install simulated: `True`
|
||||
|
||||
## Compatibility
|
||||
|
||||
+21
-21
File diff suppressed because one or more lines are too long
+497
-643
File diff suppressed because it is too large
Load Diff
+54
-53
@@ -412,7 +412,7 @@
|
||||
"external_pending_count": 3,
|
||||
"human_pending_count": 1,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_pass_count": 12,
|
||||
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
|
||||
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
|
||||
"entries": [
|
||||
@@ -469,8 +469,7 @@
|
||||
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
|
||||
"summary_en": "Real external-client metadata-only events have not been imported yet.",
|
||||
"blocked_checks": [
|
||||
"External events",
|
||||
"Adoption sample"
|
||||
"External events"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -511,7 +510,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -523,10 +522,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"file_count": 456,
|
||||
"file_count": 375,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -551,7 +550,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 153
|
||||
"value": 155
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -559,7 +558,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 235
|
||||
"value": 152
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -681,7 +680,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -693,7 +692,7 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"strengths": [
|
||||
@@ -1017,9 +1016,9 @@
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -1034,21 +1033,21 @@
|
||||
"world_class_task_count": 4,
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
"public_claim_ready": false,
|
||||
"public_claim_blocker_count": 3,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 29,
|
||||
"changed_file_count": 3,
|
||||
"source_tree_dirty": false,
|
||||
"source_changed_file_count": 0,
|
||||
"generated_tree_dirty": true,
|
||||
"generated_changed_file_count": 29
|
||||
"generated_changed_file_count": 3
|
||||
},
|
||||
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"missing_artifacts": [],
|
||||
"limitations": [
|
||||
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
|
||||
@@ -1133,9 +1132,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 245,
|
||||
"script_count": 153,
|
||||
"internal_module_count": 67,
|
||||
"scanned_files": 247,
|
||||
"script_count": 155,
|
||||
"internal_module_count": 69,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1143,7 +1142,7 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 73,
|
||||
"file_write_script_count": 74,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
@@ -1153,24 +1152,24 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 245,
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_hash_file_count": 247,
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
},
|
||||
"registry_distribution": {
|
||||
"ok": true,
|
||||
@@ -1192,8 +1191,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1224,12 +1223,12 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
},
|
||||
"generated_at": "2026-06-13"
|
||||
"generated_at": "2026-06-21"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": []
|
||||
@@ -1240,8 +1239,9 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_entry_count": 689,
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1252,7 +1252,8 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 696,
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1319,12 +1320,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1341,14 +1342,14 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"edited_count": 0,
|
||||
"rejected_count": 0,
|
||||
"missed_count": 0,
|
||||
"failed_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_rate": 100.0,
|
||||
"missed_trigger_count": 0,
|
||||
"wrong_trigger_count": 0,
|
||||
"bad_output_count": 0,
|
||||
@@ -1357,7 +1358,7 @@
|
||||
"review_overdue_count": 0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"failure_types": {},
|
||||
"source_types": {
|
||||
@@ -1632,7 +1633,7 @@
|
||||
"status": "external_required",
|
||||
"category": "external",
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -1685,8 +1686,8 @@
|
||||
"missing_submission_count": 4,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"submitted_but_pending_count": 0,
|
||||
"source_accepted_without_valid_submission_count": 1,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -2112,7 +2113,7 @@
|
||||
"status": "pending",
|
||||
"source_status": "external_required",
|
||||
"source_accepted": false,
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -2149,7 +2150,7 @@
|
||||
],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -2170,8 +2171,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -2187,8 +2188,8 @@
|
||||
}
|
||||
],
|
||||
"source_check_count": 3,
|
||||
"source_pass_count": 1,
|
||||
"source_blocked_count": 2,
|
||||
"source_pass_count": 2,
|
||||
"source_blocked_count": 1,
|
||||
"submission_state": {
|
||||
"status": "missing",
|
||||
"path": "evidence/world_class/submissions/native-client-telemetry.json",
|
||||
@@ -14290,7 +14291,7 @@
|
||||
"reviewer_note": "Use this report before deepening the package and again before approving example outputs."
|
||||
},
|
||||
"artifact_design": {
|
||||
"skill_name": "yao-meta-skill",
|
||||
"skill_name": "yao-meta-skill-operator-ux-worktree",
|
||||
"design_system": "metric editorial",
|
||||
"primary_artifact": {
|
||||
"key": "dashboard",
|
||||
@@ -14410,7 +14411,7 @@
|
||||
"reviewer_note": "Use this profile to judge whether the generated artifacts feel designed for their job, not merely rendered."
|
||||
},
|
||||
"prompt_quality": {
|
||||
"skill_name": "yao-meta-skill",
|
||||
"skill_name": "yao-meta-skill-operator-ux-worktree",
|
||||
"relevance": "prompt-aware",
|
||||
"primary_task_family": {
|
||||
"key": "execution_operation",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"source": "reports/review_annotations_input.json",
|
||||
"source": "tests/tmp_review_studio/empty_review_annotations_input.json",
|
||||
"summary": {
|
||||
"annotation_count": 0,
|
||||
"open_count": 0,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-13",
|
||||
"summary": {
|
||||
"waiver_count": 0,
|
||||
"active_count": 0,
|
||||
@@ -92,7 +92,7 @@
|
||||
"Reviewer links output_review_adjudication or output_execution evidence."
|
||||
],
|
||||
"suggested_evidence": "reports/output_review_adjudication.md",
|
||||
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md",
|
||||
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md",
|
||||
"world_class_boundary": "Does not count as provider, human, or public world-class completion evidence."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
- waiver allowed: `true`
|
||||
- risk: review pending 5; model-executed 10; output failures 0
|
||||
- evidence: `reports/output_review_adjudication.md`
|
||||
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md`
|
||||
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md`
|
||||
- world-class boundary: Does not count as provider, human, or public world-class completion evidence.
|
||||
|
||||
#### Required Review
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"package_dir": "tests/tmp_review_studio/dist",
|
||||
"package_dir": "dist",
|
||||
"expected_capabilities": [
|
||||
"file_write",
|
||||
"network",
|
||||
@@ -42,7 +42,7 @@
|
||||
{
|
||||
"target": "openai",
|
||||
"status": "pass",
|
||||
"adapter": "tests/tmp_review_studio/dist/targets/openai/adapter.json",
|
||||
"adapter": "dist/targets/openai/adapter.json",
|
||||
"permission_model": "metadata-only",
|
||||
"native_enforcement": false,
|
||||
"metadata_fallback_explicit": true,
|
||||
@@ -139,7 +139,7 @@
|
||||
{
|
||||
"target": "claude",
|
||||
"status": "pass",
|
||||
"adapter": "tests/tmp_review_studio/dist/targets/claude/adapter.json",
|
||||
"adapter": "dist/targets/claude/adapter.json",
|
||||
"permission_model": "neutral-source-plus-adapter",
|
||||
"native_enforcement": false,
|
||||
"metadata_fallback_explicit": true,
|
||||
@@ -221,7 +221,7 @@
|
||||
{
|
||||
"target": "generic",
|
||||
"status": "pass",
|
||||
"adapter": "tests/tmp_review_studio/dist/targets/generic/adapter.json",
|
||||
"adapter": "dist/targets/generic/adapter.json",
|
||||
"permission_model": "agent-skills-compatible-metadata",
|
||||
"native_enforcement": false,
|
||||
"metadata_fallback_explicit": true,
|
||||
@@ -303,7 +303,7 @@
|
||||
{
|
||||
"target": "vscode",
|
||||
"status": "pass",
|
||||
"adapter": "tests/tmp_review_studio/dist/targets/vscode/adapter.json",
|
||||
"adapter": "dist/targets/vscode/adapter.json",
|
||||
"permission_model": "vscode-workspace-trust-plus-metadata",
|
||||
"native_enforcement": false,
|
||||
"metadata_fallback_explicit": true,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"ok": true,
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"scanned_files": 245,
|
||||
"script_count": 153,
|
||||
"internal_module_count": 67,
|
||||
"scanned_files": 247,
|
||||
"script_count": 155,
|
||||
"internal_module_count": 69,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -12,7 +12,7 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 73,
|
||||
"file_write_script_count": 74,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
@@ -22,8 +22,8 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 245,
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_hash_file_count": 247,
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": [],
|
||||
@@ -2092,6 +2092,20 @@
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_operator_commands.py",
|
||||
"interface": "internal-module",
|
||||
"interface_declared": true,
|
||||
"interface_reason": "Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics.",
|
||||
"has_argparse": true,
|
||||
"has_main_guard": false,
|
||||
"uses_input": false,
|
||||
"uses_network": false,
|
||||
"uses_file_write": true,
|
||||
"uses_subprocess": true,
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_output_commands.py",
|
||||
"interface": "internal-module",
|
||||
@@ -2148,6 +2162,20 @@
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_parser_operator.py",
|
||||
"interface": "internal-module",
|
||||
"interface_declared": true,
|
||||
"interface_reason": "Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module.",
|
||||
"has_argparse": true,
|
||||
"has_main_guard": false,
|
||||
"uses_input": false,
|
||||
"uses_network": false,
|
||||
"uses_file_write": false,
|
||||
"uses_subprocess": false,
|
||||
"network_urls": [],
|
||||
"network_hosts": []
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_report_commands.py",
|
||||
"interface": "internal-module",
|
||||
@@ -2225,7 +2253,7 @@
|
||||
"checked_count": 86,
|
||||
"passed_count": 86,
|
||||
"failed_count": 0,
|
||||
"skipped_count": 67,
|
||||
"skipped_count": 69,
|
||||
"failed_scripts": [],
|
||||
"results": [
|
||||
{
|
||||
@@ -3330,6 +3358,10 @@
|
||||
"path": "scripts/yao_cli_distribution_commands.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_operator_commands.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_output_commands.py",
|
||||
"reason": "internal module"
|
||||
@@ -3346,6 +3378,10 @@
|
||||
"path": "scripts/yao_cli_parser_operations.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_parser_operator.py",
|
||||
"reason": "internal module"
|
||||
},
|
||||
{
|
||||
"path": "scripts/yao_cli_report_commands.py",
|
||||
"reason": "internal module"
|
||||
@@ -3484,7 +3520,8 @@
|
||||
"scripts/telemetry_native_host.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/upgrade_check.py",
|
||||
"scripts/verify_package.py"
|
||||
"scripts/verify_package.py",
|
||||
"scripts/yao_cli_operator_commands.py"
|
||||
],
|
||||
"reviewer": "Yao Team",
|
||||
"scope": "Local generated reports, registry metadata, temporary test outputs, and package artifacts under the skill workspace.",
|
||||
@@ -3518,6 +3555,7 @@
|
||||
"scripts/sync_local_install.py",
|
||||
"scripts/trust_check.py",
|
||||
"scripts/yao.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_runtime.py"
|
||||
],
|
||||
"reviewer": "Yao Team",
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# Security Trust Report
|
||||
|
||||
- OK: `True`
|
||||
- Scanned files: `245`
|
||||
- Scripts: `153`
|
||||
- Internal script modules: `67`
|
||||
- Scanned files: `247`
|
||||
- Scripts: `155`
|
||||
- Internal script modules: `69`
|
||||
- Secret findings: `0`
|
||||
- Network-capable scripts: `3`
|
||||
- Network policy covered scripts: `3`
|
||||
- Network policy missing scripts: `0`
|
||||
- File-write scripts: `73`
|
||||
- File-write scripts: `74`
|
||||
- Permission approvals: `3 / 3`
|
||||
- Permission approval gaps: `0`
|
||||
- CLI help smoke checked: `86`
|
||||
- CLI help smoke failures: `0`
|
||||
- Interactive scripts: `0`
|
||||
- Package hash scope: `source-contract-without-generated-reports`
|
||||
- Package hash files: `245`
|
||||
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
|
||||
- Package hash files: `247`
|
||||
- Package SHA256: `eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383`
|
||||
|
||||
## Failures
|
||||
|
||||
@@ -208,10 +208,12 @@
|
||||
| scripts/yao_cli_config.py | internal-module | True | False | False | False | False | False | False | Imported by yao.py for CLI target maps and side-effect-free shaping helpers. |
|
||||
| scripts/yao_cli_create_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep skill creation and quickstart command handlers out of the CLI orchestrator. |
|
||||
| scripts/yao_cli_distribution_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep distribution and runtime gate handlers outside the thin CLI orchestrator. |
|
||||
| scripts/yao_cli_operator_commands.py | internal-module | True | True | False | False | False | True | True | Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics. |
|
||||
| scripts/yao_cli_output_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep output evaluation and review handlers outside the thin CLI orchestrator. |
|
||||
| scripts/yao_cli_parser.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep CLI parser declarations separate from command orchestration. |
|
||||
| scripts/yao_cli_parser_evidence.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep evidence command declarations out of the main parser module. |
|
||||
| scripts/yao_cli_parser_operations.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep SkillOps, telemetry, and review-loop command declarations out of the main parser module. |
|
||||
| scripts/yao_cli_parser_operator.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module. |
|
||||
| scripts/yao_cli_report_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep report and evidence command handlers out of the CLI orchestrator. |
|
||||
| scripts/yao_cli_runtime.py | internal-module | True | False | False | False | False | False | True | Imported by yao.py and command modules for shared subprocess execution and JSON payload parsing. |
|
||||
| scripts/yao_cli_telemetry.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to record opt-in metadata-only CLI run telemetry. |
|
||||
|
||||
@@ -929,7 +929,7 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
|
||||
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -940,7 +940,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 data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" 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.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456项</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" 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.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">375项</text><text data-lang="en" x="130" y="136" text-anchor="middle">375 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></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>
|
||||
|
||||
@@ -412,7 +412,7 @@
|
||||
"external_pending_count": 3,
|
||||
"human_pending_count": 1,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_pass_count": 12,
|
||||
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
|
||||
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
|
||||
"entries": [
|
||||
@@ -469,8 +469,7 @@
|
||||
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
|
||||
"summary_en": "Real external-client metadata-only events have not been imported yet.",
|
||||
"blocked_checks": [
|
||||
"External events",
|
||||
"Adoption sample"
|
||||
"External events"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -511,7 +510,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -523,10 +522,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"file_count": 456,
|
||||
"file_count": 375,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -551,7 +550,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 153
|
||||
"value": 155
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -559,7 +558,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 235
|
||||
"value": 152
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -685,7 +684,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -697,7 +696,7 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"strengths": [
|
||||
@@ -1021,9 +1020,9 @@
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -1038,21 +1037,21 @@
|
||||
"world_class_task_count": 4,
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
"public_claim_ready": false,
|
||||
"public_claim_blocker_count": 3,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 29,
|
||||
"changed_file_count": 3,
|
||||
"source_tree_dirty": false,
|
||||
"source_changed_file_count": 0,
|
||||
"generated_tree_dirty": true,
|
||||
"generated_changed_file_count": 29
|
||||
"generated_changed_file_count": 3
|
||||
},
|
||||
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"missing_artifacts": [],
|
||||
"limitations": [
|
||||
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
|
||||
@@ -1137,9 +1136,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 245,
|
||||
"script_count": 153,
|
||||
"internal_module_count": 67,
|
||||
"scanned_files": 247,
|
||||
"script_count": 155,
|
||||
"internal_module_count": 69,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1147,7 +1146,7 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 73,
|
||||
"file_write_script_count": 74,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
@@ -1157,24 +1156,24 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 245,
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_hash_file_count": 247,
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
},
|
||||
"registry_distribution": {
|
||||
"ok": true,
|
||||
@@ -1196,8 +1195,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1228,12 +1227,12 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
},
|
||||
"generated_at": "2026-06-13"
|
||||
"generated_at": "2026-06-21"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": []
|
||||
@@ -1244,8 +1243,9 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_entry_count": 689,
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1256,7 +1256,8 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 696,
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1323,12 +1324,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1345,14 +1346,14 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"edited_count": 0,
|
||||
"rejected_count": 0,
|
||||
"missed_count": 0,
|
||||
"failed_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_rate": 100.0,
|
||||
"missed_trigger_count": 0,
|
||||
"wrong_trigger_count": 0,
|
||||
"bad_output_count": 0,
|
||||
@@ -1361,7 +1362,7 @@
|
||||
"review_overdue_count": 0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"failure_types": {},
|
||||
"source_types": {
|
||||
@@ -1636,7 +1637,7 @@
|
||||
"status": "external_required",
|
||||
"category": "external",
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -1689,8 +1690,8 @@
|
||||
"missing_submission_count": 4,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"submitted_but_pending_count": 0,
|
||||
"source_accepted_without_valid_submission_count": 1,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -2116,7 +2117,7 @@
|
||||
"status": "pending",
|
||||
"source_status": "external_required",
|
||||
"source_accepted": false,
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -2153,7 +2154,7 @@
|
||||
],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -2174,8 +2175,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -2191,8 +2192,8 @@
|
||||
}
|
||||
],
|
||||
"source_check_count": 3,
|
||||
"source_pass_count": 1,
|
||||
"source_blocked_count": 2,
|
||||
"source_pass_count": 2,
|
||||
"source_blocked_count": 1,
|
||||
"submission_state": {
|
||||
"status": "missing",
|
||||
"path": "evidence/world_class/submissions/native-client-telemetry.json",
|
||||
|
||||
@@ -135,13 +135,13 @@ Next move: add real client or installer permission enforcement integration.
|
||||
| Output Eval | `5` cases, DeepSeek provider-backed execution for `10 / 10` variants, with-skill pass rate `43.67`, baseline pass rate `23.67`, delta `20.0`, with file-backed, near-neighbor, boundary coverage, `10` command execution runs, `0` recorded fixture runs, `10` provider model-executed runs in root release evidence, `10` observed token rows, `0` estimated token rows, 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, `67` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `153` scripts, source-contract hash scope explicit |
|
||||
| Trust | `0` secret findings, `1` pinned dependency file, `69` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `155` 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, `689` zip entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `689` 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, `580` zip entries, `0` nested SKILL.md entries, `0` failures, `0` warnings |
|
||||
| Install Simulation | archive with `580` entries extracted into a local verification root, `0` nested SKILL.md entries, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
|
||||
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
|
||||
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
|
||||
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
|
||||
@@ -153,8 +153,8 @@ Next move: add real client or installer permission enforcement integration.
|
||||
| World-Class Evidence Ledger | `4` evidence entries remain pending: `1` human-required and `3` external-required; anti-overclaim guards block planned work, metadata fallbacks, pending review, and local command runners from counting as completion |
|
||||
| Benchmark Reproducibility | local reproducibility ready with `25` required artifacts, `0` missing artifacts, `23` reproduction commands, and `3` disclosed failure cases; human review, native permission enforcement, native telemetry, and provider ledger approval 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 `998/1000`; deferred `512782/120000`; resource governance governed |
|
||||
| CI | `make ci-test` target count is `82` after the dedicated CLI world-class verifier split |
|
||||
| Context Budget | initial load `998/1000`; deferred `530167/120000`; resource governance governed |
|
||||
| CI | `make ci-test` target count is `83` after adding the dedicated Operator UX verifier |
|
||||
|
||||
## Next Highest-Leverage Moves
|
||||
|
||||
|
||||
@@ -929,7 +929,7 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
|
||||
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -940,7 +940,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 data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" 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.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456项</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
|
||||
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" 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.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">375项</text><text data-lang="en" x="130" y="136" text-anchor="middle">375 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></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
-51
@@ -411,7 +411,7 @@
|
||||
"external_pending_count": 3,
|
||||
"human_pending_count": 1,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_pass_count": 12,
|
||||
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
|
||||
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
|
||||
"entries": [
|
||||
@@ -468,8 +468,7 @@
|
||||
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
|
||||
"summary_en": "Real external-client metadata-only events have not been imported yet.",
|
||||
"blocked_checks": [
|
||||
"External events",
|
||||
"Adoption sample"
|
||||
"External events"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -510,7 +509,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -522,10 +521,10 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"file_count": 456,
|
||||
"file_count": 375,
|
||||
"folder_count": 4,
|
||||
"distribution": [
|
||||
{
|
||||
@@ -550,7 +549,7 @@
|
||||
},
|
||||
{
|
||||
"label": "scripts",
|
||||
"value": 153
|
||||
"value": 155
|
||||
},
|
||||
{
|
||||
"label": "evals",
|
||||
@@ -558,7 +557,7 @@
|
||||
},
|
||||
{
|
||||
"label": "reports",
|
||||
"value": 235
|
||||
"value": 152
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -680,7 +679,7 @@
|
||||
"path": "scripts",
|
||||
"label": "Deterministic helpers or local tooling",
|
||||
"kind": "folder",
|
||||
"file_count": 153
|
||||
"file_count": 155
|
||||
},
|
||||
{
|
||||
"path": "evals",
|
||||
@@ -692,7 +691,7 @@
|
||||
"path": "reports",
|
||||
"label": "Generated evidence and overview artifacts",
|
||||
"kind": "folder",
|
||||
"file_count": 235
|
||||
"file_count": 152
|
||||
}
|
||||
],
|
||||
"strengths": [
|
||||
@@ -1016,9 +1015,9 @@
|
||||
"methodology_complete": true,
|
||||
"required_artifact_count": 25,
|
||||
"missing_artifact_count": 0,
|
||||
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
|
||||
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"evidence_bundle_sha256": "e819a616c7276f6433bbcf38f30696cc0f19b6c035adf5c8cf09e64cbe8db9ad",
|
||||
"source_contract_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"output_case_count": 5,
|
||||
"failure_disclosure_count": 3,
|
||||
"command_count": 23,
|
||||
@@ -1033,21 +1032,21 @@
|
||||
"world_class_task_count": 4,
|
||||
"world_class_ledger_pending_count": 4,
|
||||
"world_class_source_check_count": 19,
|
||||
"world_class_source_pass_count": 11,
|
||||
"world_class_source_blocked_count": 8,
|
||||
"world_class_source_pass_count": 12,
|
||||
"world_class_source_blocked_count": 7,
|
||||
"beta_test_ready": true,
|
||||
"beta_test_blocker_count": 0,
|
||||
"beta_test_deferred_evidence_count": 4,
|
||||
"public_claim_ready": false,
|
||||
"public_claim_blocker_count": 3,
|
||||
"working_tree_dirty": true,
|
||||
"changed_file_count": 29,
|
||||
"changed_file_count": 3,
|
||||
"source_tree_dirty": false,
|
||||
"source_changed_file_count": 0,
|
||||
"generated_tree_dirty": true,
|
||||
"generated_changed_file_count": 29
|
||||
"generated_changed_file_count": 3
|
||||
},
|
||||
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
|
||||
"commit": "139d0fd15ce995757d6d75fb45fb417d0b1b4e7d",
|
||||
"missing_artifacts": [],
|
||||
"limitations": [
|
||||
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
|
||||
@@ -1132,9 +1131,9 @@
|
||||
"failures": []
|
||||
},
|
||||
"trust_security": {
|
||||
"scanned_files": 245,
|
||||
"script_count": 153,
|
||||
"internal_module_count": 67,
|
||||
"scanned_files": 247,
|
||||
"script_count": 155,
|
||||
"internal_module_count": 69,
|
||||
"secret_findings": 0,
|
||||
"dependency_files": [
|
||||
"requirements-ci.txt"
|
||||
@@ -1142,7 +1141,7 @@
|
||||
"network_script_count": 3,
|
||||
"network_policy_covered_count": 3,
|
||||
"network_policy_missing_count": 0,
|
||||
"file_write_script_count": 73,
|
||||
"file_write_script_count": 74,
|
||||
"permission_required_count": 3,
|
||||
"permission_approved_count": 3,
|
||||
"permission_missing_count": 0,
|
||||
@@ -1152,24 +1151,24 @@
|
||||
"help_smoke_failed_count": 0,
|
||||
"interactive_script_count": 0,
|
||||
"package_hash_scope": "source-contract-without-generated-reports",
|
||||
"package_hash_file_count": 245,
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"package_hash_file_count": 247,
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
},
|
||||
"skill_atlas": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
},
|
||||
"registry_distribution": {
|
||||
"ok": true,
|
||||
@@ -1191,8 +1190,8 @@
|
||||
"trust_level": "local",
|
||||
"license": "MIT",
|
||||
"checksums": {
|
||||
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"package_sha256": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
"compatibility": {
|
||||
"openai": "pass",
|
||||
@@ -1223,12 +1222,12 @@
|
||||
},
|
||||
"distribution": {
|
||||
"archive_verified": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"package_verification": "reports/package_verification.json",
|
||||
"install_simulated": true,
|
||||
"install_simulation": "reports/install_simulation.json"
|
||||
},
|
||||
"generated_at": "2026-06-13"
|
||||
"generated_at": "2026-06-21"
|
||||
},
|
||||
"failures": [],
|
||||
"warnings": []
|
||||
@@ -1239,8 +1238,9 @@
|
||||
"target_count": 4,
|
||||
"adapter_count": 4,
|
||||
"archive_present": true,
|
||||
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
|
||||
"archive_entry_count": 689,
|
||||
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"failure_count": 0,
|
||||
"warning_count": 0
|
||||
},
|
||||
@@ -1251,7 +1251,8 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"archive_present": true,
|
||||
"archive_entry_count": 696,
|
||||
"archive_entry_count": 580,
|
||||
"nested_skill_entry_count": 0,
|
||||
"archive_extracted": true,
|
||||
"entrypoint_loaded": true,
|
||||
"manifest_loaded": true,
|
||||
@@ -1318,12 +1319,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -1340,14 +1341,14 @@
|
||||
"ok": true,
|
||||
"summary": {
|
||||
"event_count": 1,
|
||||
"adoption_sample_count": 0,
|
||||
"activation_count": 0,
|
||||
"accepted_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"activation_count": 1,
|
||||
"accepted_count": 1,
|
||||
"edited_count": 0,
|
||||
"rejected_count": 0,
|
||||
"missed_count": 0,
|
||||
"failed_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"adoption_rate": 100.0,
|
||||
"missed_trigger_count": 0,
|
||||
"wrong_trigger_count": 0,
|
||||
"bad_output_count": 0,
|
||||
@@ -1356,7 +1357,7 @@
|
||||
"review_overdue_count": 0,
|
||||
"risk_band": "low",
|
||||
"event_types": {
|
||||
"review_event": 1
|
||||
"skill_activation": 1
|
||||
},
|
||||
"failure_types": {},
|
||||
"source_types": {
|
||||
@@ -1631,7 +1632,7 @@
|
||||
"status": "external_required",
|
||||
"category": "external",
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -1684,8 +1685,8 @@
|
||||
"missing_submission_count": 4,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"submitted_but_pending_count": 0,
|
||||
"source_accepted_without_valid_submission_count": 1,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -2111,7 +2112,7 @@
|
||||
"status": "pending",
|
||||
"source_status": "external_required",
|
||||
"source_accepted": false,
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -2148,7 +2149,7 @@
|
||||
],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -2169,8 +2170,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -2186,8 +2187,8 @@
|
||||
}
|
||||
],
|
||||
"source_check_count": 3,
|
||||
"source_pass_count": 1,
|
||||
"source_blocked_count": 2,
|
||||
"source_pass_count": 2,
|
||||
"source_blocked_count": 1,
|
||||
"submission_state": {
|
||||
"status": "missing",
|
||||
"path": "evidence/world_class/submissions/native-client-telemetry.json",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<h1>Skill Atlas</h1>
|
||||
<p>Portfolio-level review for route overlap, stale ownership, shared resources, telemetry drift, and no-route opportunities.</p>
|
||||
<section class="grid">
|
||||
<div class="card"><span>Skills</span><strong>12</strong></div>
|
||||
<div class="card"><span>Skills</span><strong>11</strong></div>
|
||||
<div class="card"><span>Actionable</span><strong>1</strong></div>
|
||||
<div class="card"><span>Route Collisions</span><strong>0</strong></div>
|
||||
<div class="card"><span>Owner Gaps</span><strong>0</strong></div>
|
||||
@@ -43,13 +43,13 @@
|
||||
</section>
|
||||
<section>
|
||||
<h2>Full Portfolio Counts</h2>
|
||||
<p>All scanned skills remain visible: 5 total route collisions, 9 total owner gaps, 10 total stale signals, and 0 telemetry drift signals.</p>
|
||||
<p>All scanned skills remain visible: 5 total route collisions, 8 total owner gaps, 9 total stale signals, and 0 telemetry drift signals.</p>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Catalog</h2>
|
||||
<table>
|
||||
<thead><tr><th>Name</th><th>Path</th><th>Owner</th><th>Maturity</th><th>Review</th><th>Scope</th></tr></thead>
|
||||
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>geo-ranking-article-generator</td><td>geo-ranking-article-generator</td><td>missing</td><td>unknown</td><td>missing</td><td>embedded-generated-skill</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
|
||||
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
|
||||
</table>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
+10
-99
@@ -2,20 +2,20 @@
|
||||
"ok": true,
|
||||
"workspace_root": ".",
|
||||
"summary": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
},
|
||||
"scope_policy": {
|
||||
"present": true,
|
||||
@@ -210,10 +210,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py",
|
||||
@@ -629,75 +631,6 @@
|
||||
"candidate_count": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"description": "Create GEO ranking-article packs from brand briefs. Use when asked to research a brand, find GEO or 生成式引擎优化 keywords and five competitors, generate timely titles, write five ~2000-character articles, and save them to a fixed knowledge-base folder with an HTML index. Do not use for generic SEO advice, one-off copy, or writing without competitor research.",
|
||||
"owner": "",
|
||||
"version": "",
|
||||
"status": "",
|
||||
"maturity": "",
|
||||
"updated_at": "",
|
||||
"review_cadence": "",
|
||||
"targets": [],
|
||||
"resources": [
|
||||
"scripts/build_html_index.py",
|
||||
"references/article-blueprint.md",
|
||||
"references/feishu-benchmark-patterns.md",
|
||||
"references/geo-research-playbook.md",
|
||||
"templates/brand-brief-template.md"
|
||||
],
|
||||
"token_set": [
|
||||
"2000-character",
|
||||
"advice",
|
||||
"articles",
|
||||
"asked",
|
||||
"brand",
|
||||
"briefs",
|
||||
"competitor",
|
||||
"competitors",
|
||||
"copy",
|
||||
"do",
|
||||
"find",
|
||||
"five",
|
||||
"fixed",
|
||||
"folder",
|
||||
"generate",
|
||||
"generic",
|
||||
"geo",
|
||||
"html",
|
||||
"index",
|
||||
"keywords",
|
||||
"knowledge-base",
|
||||
"not",
|
||||
"one-off",
|
||||
"or",
|
||||
"packs",
|
||||
"ranking-article",
|
||||
"research",
|
||||
"save",
|
||||
"seo",
|
||||
"them",
|
||||
"timely",
|
||||
"titles",
|
||||
"without",
|
||||
"write",
|
||||
"writing",
|
||||
"生成式引擎优化"
|
||||
],
|
||||
"atlas_scope": "embedded-generated-skill",
|
||||
"actionable": false,
|
||||
"scope_reason": "This nested generated skill is retained as local evidence and should not gate the root Meta Skill release.",
|
||||
"telemetry": {
|
||||
"report_present": false,
|
||||
"report": "geo-ranking-article-generator/reports/adoption_drift_report.json",
|
||||
"risk_band": "missing",
|
||||
"event_count": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"candidate_count": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
@@ -796,20 +729,20 @@
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
}
|
||||
},
|
||||
"route_collisions": [
|
||||
@@ -904,10 +837,6 @@
|
||||
"name": "frontend-review",
|
||||
"path": "examples/team-frontend-review/generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest"
|
||||
@@ -968,13 +897,6 @@
|
||||
"actionable": false,
|
||||
"scope": "example"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"reason": "missing updated_at",
|
||||
"actionable": false,
|
||||
"scope": "embedded-generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
@@ -1054,17 +976,6 @@
|
||||
"actionable": false,
|
||||
"scope": "example"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"missing": [
|
||||
"owner",
|
||||
"review_cadence",
|
||||
"maturity"
|
||||
],
|
||||
"actionable": false,
|
||||
"scope": "embedded-generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"item_count": 15,
|
||||
@@ -197,7 +197,7 @@
|
||||
"key": "trust-security",
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"current": "secrets 0; scripts 153; help failures 0",
|
||||
"current": "secrets 0; scripts 155; help failures 0",
|
||||
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -259,7 +259,7 @@
|
||||
"key": "skill-atlas",
|
||||
"label": "Skill Atlas",
|
||||
"status": "pass",
|
||||
"current": "12 skills; actionable collisions 0",
|
||||
"current": "11 skills; actionable collisions 0",
|
||||
"target": "Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -285,7 +285,7 @@
|
||||
"key": "registry-distribution",
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"current": "zip entries 689; install failures 0; permission failures 0",
|
||||
"current": "zip entries 580; install failures 0; permission failures 0",
|
||||
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -351,7 +351,7 @@
|
||||
"key": "native-client-telemetry",
|
||||
"label": "Native Client Telemetry",
|
||||
"status": "external_required",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"target": "A real Browser/Chrome/provider client sends production metadata events",
|
||||
"evidence": [
|
||||
{
|
||||
@@ -415,7 +415,7 @@
|
||||
"key": "native-client-telemetry",
|
||||
"label": "Native Client Telemetry",
|
||||
"status": "external_required",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"target": "A real Browser/Chrome/provider client sends production metadata events",
|
||||
"evidence": [
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Skill OS 2.0 Audit
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -23,14 +23,14 @@ Generated at: `2026-06-17`
|
||||
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions, blind-review attestation, and integrity fingerprints recorded before claiming output review completion | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
|
||||
| Benchmark Reproducibility | pass | artifacts 25; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
|
||||
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
|
||||
| Trust Security | pass | secrets 0; scripts 153; 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 155; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
|
||||
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. |
|
||||
| Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
|
||||
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
|
||||
| Registry Distribution | pass | zip entries 689; 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. |
|
||||
| Skill Atlas | pass | 11 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 580; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
|
||||
| Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
|
||||
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
|
||||
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
|
||||
| Native Client Telemetry | external-required | external source events 0; adoption samples 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
|
||||
|
||||
## Open Highest-Leverage Gaps
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"item_count": 21,
|
||||
@@ -130,7 +130,7 @@
|
||||
"label": "Trust Security",
|
||||
"status": "pass",
|
||||
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
|
||||
"current": "153 scripts; secrets 0; help failures 0",
|
||||
"current": "155 scripts; secrets 0; help failures 0",
|
||||
"command": "python3 scripts/yao.py trust .",
|
||||
"test": "python3 tests/verify_trust_check.py",
|
||||
"evidence": [
|
||||
@@ -167,7 +167,7 @@
|
||||
"label": "Skill Atlas",
|
||||
"status": "pass",
|
||||
"objective": "Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.",
|
||||
"current": "12 scanned skills; actionable collisions 0",
|
||||
"current": "11 scanned skills; actionable collisions 0",
|
||||
"command": "python3 scripts/yao.py skill-atlas --workspace-root .",
|
||||
"test": "python3 tests/verify_skill_atlas.py",
|
||||
"evidence": [
|
||||
@@ -204,7 +204,7 @@
|
||||
"label": "Registry Distribution",
|
||||
"status": "pass",
|
||||
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
|
||||
"current": "archive entries 689; install failures 0",
|
||||
"current": "archive entries 580; install failures 0",
|
||||
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
|
||||
"test": "python3 tests/verify_registry_audit.py",
|
||||
"evidence": [
|
||||
@@ -513,7 +513,7 @@
|
||||
"label": "Skill Atlas Generator",
|
||||
"status": "pass",
|
||||
"objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.",
|
||||
"current": "12 scanned skills",
|
||||
"current": "11 scanned skills",
|
||||
"command": "make ci-test",
|
||||
"test": "tests/verify_skill_atlas.py",
|
||||
"evidence": [
|
||||
@@ -749,11 +749,11 @@
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-17.json",
|
||||
"path": "reports/skillops/daily/2026-06-21.json",
|
||||
"exists": true
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-17.md",
|
||||
"path": "reports/skillops/daily/2026-06-21.md",
|
||||
"exists": true
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Skill OS 2.0 Blueprint Coverage
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -26,9 +26,9 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
|
||||
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
|
||||
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
|
||||
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
|
||||
| Trust Security | `pass` | 153 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
|
||||
| Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
|
||||
| Registry Distribution | `pass` | archive entries 689; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
|
||||
| Trust Security | `pass` | 155 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
|
||||
| Skill Atlas | `pass` | 11 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
|
||||
| Registry Distribution | `pass` | archive entries 580; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
|
||||
| Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
|
||||
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
|
||||
|
||||
@@ -44,7 +44,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
|
||||
| Compiler Refactor | `pass` | 5/5 compiled targets | `make ci-test` | `tests/verify_compile_skill.py` |
|
||||
| Agent Skills Conformance | `pass` | agent-skills target present | `make ci-test` | `tests/verify_conformance_suite.py` |
|
||||
| Trust Check | `pass` | secret findings 0 | `make ci-test` | `tests/verify_trust_check.py` |
|
||||
| Skill Atlas Generator | `pass` | 12 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
|
||||
| Skill Atlas Generator | `pass` | 11 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
|
||||
| Registry Package Format | `pass` | registry ok True | `make ci-test` | `tests/verify_registry_audit.py` |
|
||||
| Review Studio 2.0 | `pass` | 16 review gates | `make ci-test` | `tests/verify_review_studio.py` |
|
||||
| Migration V2 Docs | `pass` | migration guide present | `make ci-test` | `docs review` |
|
||||
@@ -235,7 +235,7 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
|
||||
|
||||
- objective: Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.
|
||||
- status: `covered`
|
||||
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-17.json`, `reports/skillops/daily/2026-06-17.md`
|
||||
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-21.json`, `reports/skillops/daily/2026-06-21.md`
|
||||
- next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves.
|
||||
|
||||
### Weekly Curator Report
|
||||
|
||||
@@ -0,0 +1,513 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-20T12:35:26Z",
|
||||
"skill_dir": ".",
|
||||
"decision": "proposal-review",
|
||||
"source_supplied": false,
|
||||
"pattern_count": 5,
|
||||
"proposal_count": 5,
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0,
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"failure_count": 0,
|
||||
"summary": {
|
||||
"decision": "proposal-review",
|
||||
"source_supplied": false,
|
||||
"pattern_count": 5,
|
||||
"proposal_count": 5,
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0,
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"failure_count": 0
|
||||
},
|
||||
"operations_contract": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "daily-skillops-report",
|
||||
"explicit_source_required_for_scan": true,
|
||||
"implicit_private_log_scan": false,
|
||||
"raw_content_stored": false,
|
||||
"redacted_excerpts_only": true,
|
||||
"proposal_only": true,
|
||||
"approval_required_for_writes": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"daily_report_counts_as_world_class_evidence": false
|
||||
},
|
||||
"report_contract": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "daily-skillops-report",
|
||||
"top_level_mirrors_summary": true,
|
||||
"summary_fields": [
|
||||
"decision",
|
||||
"source_supplied",
|
||||
"pattern_count",
|
||||
"proposal_count",
|
||||
"approval_count",
|
||||
"pending_review_count",
|
||||
"applied_count",
|
||||
"rollback_count",
|
||||
"local_blueprint_ready",
|
||||
"public_world_class_ready",
|
||||
"world_class_pending_count",
|
||||
"release_lock_ready",
|
||||
"evidence_consistency_ok",
|
||||
"writes_source_files",
|
||||
"auto_patch_enabled",
|
||||
"failure_count"
|
||||
],
|
||||
"source_of_truth": [
|
||||
"summary",
|
||||
"operations_contract"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"path": "evals/adaptation/user_signals.example.jsonl",
|
||||
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
|
||||
"record_count": 8,
|
||||
"explicit_source": true,
|
||||
"raw_content_stored": false,
|
||||
"redacted_excerpts_only": true
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"pattern_id": "language_default",
|
||||
"label": "Default language preference",
|
||||
"signal_type": "report-language",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated report-language signals.",
|
||||
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-1",
|
||||
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "report_ui",
|
||||
"label": "Report UI and visualization preference",
|
||||
"signal_type": "artifact-design",
|
||||
"support_count": 5,
|
||||
"confidence": 0.95,
|
||||
"reason": "5 redacted records matched repeated artifact-design signals.",
|
||||
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-1",
|
||||
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-3",
|
||||
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "approval_safety",
|
||||
"label": "Approval and privacy boundary",
|
||||
"signal_type": "governance",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated governance signals.",
|
||||
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-5",
|
||||
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-6",
|
||||
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "delivery_format",
|
||||
"label": "Delivery format preference",
|
||||
"signal_type": "artifact-format",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated artifact-format signals.",
|
||||
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-6",
|
||||
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "evidence_testing",
|
||||
"label": "Evidence and testing preference",
|
||||
"signal_type": "quality-gate",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated quality-gate signals.",
|
||||
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-7",
|
||||
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-8",
|
||||
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"proposals": [
|
||||
{
|
||||
"proposal_id": "adapt-18c7517f3d",
|
||||
"pattern_id": "language_default",
|
||||
"title": "Keep reports Chinese-first with optional English",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-fbfe921ba5",
|
||||
"pattern_id": "report_ui",
|
||||
"title": "Improve report layout, visual hierarchy, and chart readability",
|
||||
"risk_level": "medium",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md",
|
||||
"tests/verify_skill_overview.py"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py",
|
||||
"python3 tests/verify_skill_report_charts.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-59d219a1fb",
|
||||
"pattern_id": "approval_safety",
|
||||
"title": "Keep adaptive iteration approval-gated",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"references/user-memory-policy.md",
|
||||
"references/autonomous-adaptation.md",
|
||||
"schemas/adaptation-proposal.schema.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-457baca160",
|
||||
"pattern_id": "delivery_format",
|
||||
"title": "Make generated artifact paths explicit in CLI output",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/yao.py",
|
||||
"README.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_yao_cli.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-abfee25d3a",
|
||||
"pattern_id": "evidence_testing",
|
||||
"title": "Attach tests and evidence refresh to each upgrade",
|
||||
"risk_level": "medium",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"tests/verify_adaptation_safety.py",
|
||||
"scripts/render_skill_os2_coverage.py",
|
||||
"reports/skill_os2_coverage.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py",
|
||||
"python3 tests/verify_skill_os2_coverage.py"
|
||||
]
|
||||
}
|
||||
],
|
||||
"opportunity_summary": {
|
||||
"opportunity_count": 5,
|
||||
"top_score": 88,
|
||||
"ready_for_approval_review_count": 1,
|
||||
"proposal_review_count": 4,
|
||||
"observe_more_evidence_count": 0,
|
||||
"report_only_count": 0,
|
||||
"action_type_counts": {
|
||||
"patch_existing_skill": 3,
|
||||
"agents_update": 1,
|
||||
"add_eval": 1
|
||||
},
|
||||
"decision_counts": {
|
||||
"ready_for_approval_review": 1,
|
||||
"proposal_review": 4
|
||||
}
|
||||
},
|
||||
"opportunities": [
|
||||
{
|
||||
"opportunity_id": "skillops-4ad91c18dd",
|
||||
"proposal_id": "adapt-fbfe921ba5",
|
||||
"pattern_id": "report_ui",
|
||||
"title": "Improve report layout, visual hierarchy, and chart readability",
|
||||
"opportunity_type": "artifact-quality",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "ready_for_approval_review",
|
||||
"priority": "medium",
|
||||
"score": 88,
|
||||
"score_reasons": [
|
||||
"support_count=5",
|
||||
"confidence=0.95",
|
||||
"risk=medium",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
|
||||
"risk_level": "medium",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 5,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md",
|
||||
"tests/verify_skill_overview.py"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py",
|
||||
"python3 tests/verify_skill_report_charts.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-531e13c1c6",
|
||||
"proposal_id": "adapt-59d219a1fb",
|
||||
"pattern_id": "approval_safety",
|
||||
"title": "Keep adaptive iteration approval-gated",
|
||||
"opportunity_type": "governance",
|
||||
"action_type": "agents_update",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"references/user-memory-policy.md",
|
||||
"references/autonomous-adaptation.md",
|
||||
"schemas/adaptation-proposal.schema.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-709ef884f3",
|
||||
"proposal_id": "adapt-18c7517f3d",
|
||||
"pattern_id": "language_default",
|
||||
"title": "Keep reports Chinese-first with optional English",
|
||||
"opportunity_type": "report-experience",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-f9e43237aa",
|
||||
"proposal_id": "adapt-457baca160",
|
||||
"pattern_id": "delivery_format",
|
||||
"title": "Make generated artifact paths explicit in CLI output",
|
||||
"opportunity_type": "artifact-discoverability",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"scripts/yao.py",
|
||||
"README.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_yao_cli.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-0a3a2de7c3",
|
||||
"proposal_id": "adapt-abfee25d3a",
|
||||
"pattern_id": "evidence_testing",
|
||||
"title": "Attach tests and evidence refresh to each upgrade",
|
||||
"opportunity_type": "quality-gate",
|
||||
"action_type": "add_eval",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 74,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=medium",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
|
||||
"risk_level": "medium",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"tests/verify_adaptation_safety.py",
|
||||
"scripts/render_skill_os2_coverage.py",
|
||||
"reports/skill_os2_coverage.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py",
|
||||
"python3 tests/verify_skill_os2_coverage.py"
|
||||
]
|
||||
}
|
||||
],
|
||||
"decision_policy": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "skillops-opportunity-scoring",
|
||||
"score_range": [
|
||||
0,
|
||||
100
|
||||
],
|
||||
"score_bands": {
|
||||
"85-100": "ready_for_approval_review",
|
||||
"70-84": "proposal_review",
|
||||
"50-69": "observe_more_evidence",
|
||||
"0-49": "report_only_or_no_action"
|
||||
},
|
||||
"action_types": [
|
||||
"add_eval",
|
||||
"agents_update",
|
||||
"patch_existing_skill",
|
||||
"report_only"
|
||||
],
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"approval_required_for_writes": true
|
||||
},
|
||||
"approval": {
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0
|
||||
},
|
||||
"release_state": {
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"key": "review-adaptation-proposals",
|
||||
"priority": "high",
|
||||
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
|
||||
},
|
||||
{
|
||||
"key": "close-world-class-evidence",
|
||||
"priority": "high",
|
||||
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
|
||||
}
|
||||
],
|
||||
"failures": [],
|
||||
"source_reports": {
|
||||
"patterns": "reports/user_patterns.json",
|
||||
"proposals": "reports/adaptation_proposals.json",
|
||||
"approval_ledger": "reports/adaptation_approval_ledger.json",
|
||||
"regression": "reports/adaptation_regression_report.json",
|
||||
"skill_os2_coverage": "reports/skill_os2_coverage.json",
|
||||
"world_class_ledger": "reports/world_class_evidence_ledger.json",
|
||||
"evidence_consistency": "reports/evidence_consistency.json",
|
||||
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
|
||||
},
|
||||
"artifacts": {
|
||||
"json": "reports/skillops/daily/2026-06-20.json",
|
||||
"markdown": "reports/skillops/daily/2026-06-20.md"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
# Daily SkillOps Report
|
||||
|
||||
Generated at: `2026-06-20T12:35:26Z`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `proposal-review`
|
||||
- source supplied: `false`
|
||||
- patterns: `5`
|
||||
- proposals: `5`
|
||||
- pending approvals: `0`
|
||||
- applied patches: `0`
|
||||
- rollbacks: `0`
|
||||
- local blueprint ready: `true`
|
||||
- public world-class ready: `false`
|
||||
- world-class pending: `4`
|
||||
- release lock ready: `true`
|
||||
- evidence consistency ok: `true`
|
||||
|
||||
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
|
||||
|
||||
## Privacy Boundary
|
||||
|
||||
- explicit_source_required_for_scan: `true`
|
||||
- implicit_private_log_scan: `false`
|
||||
- raw_content_stored: `false`
|
||||
- redacted_excerpts_only: `true`
|
||||
- proposal_only: `true`
|
||||
- approval_required_for_writes: `true`
|
||||
- writes_source_files: `false`
|
||||
- auto_patch_enabled: `false`
|
||||
- daily_report_counts_as_world_class_evidence: `false`
|
||||
|
||||
## Actions
|
||||
|
||||
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
|
||||
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
|
||||
|
||||
## Opportunities
|
||||
|
||||
- count: `5`
|
||||
- top score: `88`
|
||||
- ready for approval review: `1`
|
||||
### Improve report layout, visual hierarchy, and chart readability
|
||||
|
||||
- ID: `skillops-4ad91c18dd`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `ready_for_approval_review`
|
||||
- Score: `88`
|
||||
- Risk: `medium`
|
||||
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
|
||||
### Keep adaptive iteration approval-gated
|
||||
|
||||
- ID: `skillops-531e13c1c6`
|
||||
- Action: `agents_update`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
|
||||
### Keep reports Chinese-first with optional English
|
||||
|
||||
- ID: `skillops-709ef884f3`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated language preferences can improve existing report templates after approval.
|
||||
### Make generated artifact paths explicit in CLI output
|
||||
|
||||
- ID: `skillops-f9e43237aa`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
|
||||
### Attach tests and evidence refresh to each upgrade
|
||||
|
||||
- ID: `skillops-0a3a2de7c3`
|
||||
- Action: `add_eval`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `74`
|
||||
- Risk: `medium`
|
||||
- Policy: Repeated verification and evidence requests should become focused checks.
|
||||
|
||||
## Patterns
|
||||
|
||||
- `language_default`: Default language preference (support `2`, confidence `0.79`)
|
||||
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
|
||||
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
|
||||
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
|
||||
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
|
||||
|
||||
## Proposals
|
||||
|
||||
### Keep reports Chinese-first with optional English
|
||||
|
||||
- ID: `adapt-18c7517f3d`
|
||||
- Pattern: `language_default`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/render_skill_overview.py`
|
||||
- `references/artifact-design-doctrine.md`
|
||||
- Verification:
|
||||
- `python3 tests/verify_skill_overview.py`
|
||||
|
||||
### Improve report layout, visual hierarchy, and chart readability
|
||||
|
||||
- ID: `adapt-fbfe921ba5`
|
||||
- Pattern: `report_ui`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `medium`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/render_skill_overview.py`
|
||||
- `references/artifact-design-doctrine.md`
|
||||
- `tests/verify_skill_overview.py`
|
||||
- Verification:
|
||||
- `python3 tests/verify_skill_overview.py`
|
||||
- `python3 tests/verify_skill_report_charts.py`
|
||||
|
||||
### Keep adaptive iteration approval-gated
|
||||
|
||||
- ID: `adapt-59d219a1fb`
|
||||
- Pattern: `approval_safety`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `references/user-memory-policy.md`
|
||||
- `references/autonomous-adaptation.md`
|
||||
- `schemas/adaptation-proposal.schema.json`
|
||||
- Verification:
|
||||
- `python3 tests/verify_adaptation_safety.py`
|
||||
|
||||
### Make generated artifact paths explicit in CLI output
|
||||
|
||||
- ID: `adapt-457baca160`
|
||||
- Pattern: `delivery_format`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/yao.py`
|
||||
- `README.md`
|
||||
- Verification:
|
||||
- `python3 tests/verify_yao_cli.py`
|
||||
|
||||
### Attach tests and evidence refresh to each upgrade
|
||||
|
||||
- ID: `adapt-abfee25d3a`
|
||||
- Pattern: `evidence_testing`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `medium`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `tests/verify_adaptation_safety.py`
|
||||
- `scripts/render_skill_os2_coverage.py`
|
||||
- `reports/skill_os2_coverage.json`
|
||||
- Verification:
|
||||
- `python3 tests/verify_adaptation_safety.py`
|
||||
- `python3 tests/verify_skill_os2_coverage.py`
|
||||
|
||||
## Evidence
|
||||
|
||||
- patterns: `reports/user_patterns.json`
|
||||
- proposals: `reports/adaptation_proposals.json`
|
||||
- approval_ledger: `reports/adaptation_approval_ledger.json`
|
||||
- regression: `reports/adaptation_regression_report.json`
|
||||
- skill_os2_coverage: `reports/skill_os2_coverage.json`
|
||||
- world_class_ledger: `reports/world_class_evidence_ledger.json`
|
||||
- evidence_consistency: `reports/evidence_consistency.json`
|
||||
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
|
||||
@@ -0,0 +1,513 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"decision": "proposal-review",
|
||||
"source_supplied": false,
|
||||
"pattern_count": 5,
|
||||
"proposal_count": 5,
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0,
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"failure_count": 0,
|
||||
"summary": {
|
||||
"decision": "proposal-review",
|
||||
"source_supplied": false,
|
||||
"pattern_count": 5,
|
||||
"proposal_count": 5,
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0,
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"failure_count": 0
|
||||
},
|
||||
"operations_contract": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "daily-skillops-report",
|
||||
"explicit_source_required_for_scan": true,
|
||||
"implicit_private_log_scan": false,
|
||||
"raw_content_stored": false,
|
||||
"redacted_excerpts_only": true,
|
||||
"proposal_only": true,
|
||||
"approval_required_for_writes": true,
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"daily_report_counts_as_world_class_evidence": false
|
||||
},
|
||||
"report_contract": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "daily-skillops-report",
|
||||
"top_level_mirrors_summary": true,
|
||||
"summary_fields": [
|
||||
"decision",
|
||||
"source_supplied",
|
||||
"pattern_count",
|
||||
"proposal_count",
|
||||
"approval_count",
|
||||
"pending_review_count",
|
||||
"applied_count",
|
||||
"rollback_count",
|
||||
"local_blueprint_ready",
|
||||
"public_world_class_ready",
|
||||
"world_class_pending_count",
|
||||
"release_lock_ready",
|
||||
"evidence_consistency_ok",
|
||||
"writes_source_files",
|
||||
"auto_patch_enabled",
|
||||
"failure_count"
|
||||
],
|
||||
"source_of_truth": [
|
||||
"summary",
|
||||
"operations_contract"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"path": "evals/adaptation/user_signals.example.jsonl",
|
||||
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
|
||||
"record_count": 8,
|
||||
"explicit_source": true,
|
||||
"raw_content_stored": false,
|
||||
"redacted_excerpts_only": true
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"pattern_id": "language_default",
|
||||
"label": "Default language preference",
|
||||
"signal_type": "report-language",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated report-language signals.",
|
||||
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-1",
|
||||
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "report_ui",
|
||||
"label": "Report UI and visualization preference",
|
||||
"signal_type": "artifact-design",
|
||||
"support_count": 5,
|
||||
"confidence": 0.95,
|
||||
"reason": "5 redacted records matched repeated artifact-design signals.",
|
||||
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-1",
|
||||
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-3",
|
||||
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "approval_safety",
|
||||
"label": "Approval and privacy boundary",
|
||||
"signal_type": "governance",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated governance signals.",
|
||||
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-5",
|
||||
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-6",
|
||||
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "delivery_format",
|
||||
"label": "Delivery format preference",
|
||||
"signal_type": "artifact-format",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated artifact-format signals.",
|
||||
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-2",
|
||||
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-6",
|
||||
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"pattern_id": "evidence_testing",
|
||||
"label": "Evidence and testing preference",
|
||||
"signal_type": "quality-gate",
|
||||
"support_count": 2,
|
||||
"confidence": 0.79,
|
||||
"reason": "2 redacted records matched repeated quality-gate signals.",
|
||||
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
|
||||
"evidence": [
|
||||
{
|
||||
"record_id": "line-7",
|
||||
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
|
||||
},
|
||||
{
|
||||
"record_id": "line-8",
|
||||
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"proposals": [
|
||||
{
|
||||
"proposal_id": "adapt-18c7517f3d",
|
||||
"pattern_id": "language_default",
|
||||
"title": "Keep reports Chinese-first with optional English",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-fbfe921ba5",
|
||||
"pattern_id": "report_ui",
|
||||
"title": "Improve report layout, visual hierarchy, and chart readability",
|
||||
"risk_level": "medium",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md",
|
||||
"tests/verify_skill_overview.py"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py",
|
||||
"python3 tests/verify_skill_report_charts.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-59d219a1fb",
|
||||
"pattern_id": "approval_safety",
|
||||
"title": "Keep adaptive iteration approval-gated",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"references/user-memory-policy.md",
|
||||
"references/autonomous-adaptation.md",
|
||||
"schemas/adaptation-proposal.schema.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-457baca160",
|
||||
"pattern_id": "delivery_format",
|
||||
"title": "Make generated artifact paths explicit in CLI output",
|
||||
"risk_level": "low",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"scripts/yao.py",
|
||||
"README.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_yao_cli.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"proposal_id": "adapt-abfee25d3a",
|
||||
"pattern_id": "evidence_testing",
|
||||
"title": "Attach tests and evidence refresh to each upgrade",
|
||||
"risk_level": "medium",
|
||||
"status": "proposal-only",
|
||||
"requires_approval": true,
|
||||
"target_files": [
|
||||
"tests/verify_adaptation_safety.py",
|
||||
"scripts/render_skill_os2_coverage.py",
|
||||
"reports/skill_os2_coverage.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py",
|
||||
"python3 tests/verify_skill_os2_coverage.py"
|
||||
]
|
||||
}
|
||||
],
|
||||
"opportunity_summary": {
|
||||
"opportunity_count": 5,
|
||||
"top_score": 88,
|
||||
"ready_for_approval_review_count": 1,
|
||||
"proposal_review_count": 4,
|
||||
"observe_more_evidence_count": 0,
|
||||
"report_only_count": 0,
|
||||
"action_type_counts": {
|
||||
"patch_existing_skill": 3,
|
||||
"agents_update": 1,
|
||||
"add_eval": 1
|
||||
},
|
||||
"decision_counts": {
|
||||
"ready_for_approval_review": 1,
|
||||
"proposal_review": 4
|
||||
}
|
||||
},
|
||||
"opportunities": [
|
||||
{
|
||||
"opportunity_id": "skillops-4ad91c18dd",
|
||||
"proposal_id": "adapt-fbfe921ba5",
|
||||
"pattern_id": "report_ui",
|
||||
"title": "Improve report layout, visual hierarchy, and chart readability",
|
||||
"opportunity_type": "artifact-quality",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "ready_for_approval_review",
|
||||
"priority": "medium",
|
||||
"score": 88,
|
||||
"score_reasons": [
|
||||
"support_count=5",
|
||||
"confidence=0.95",
|
||||
"risk=medium",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
|
||||
"risk_level": "medium",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 5,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md",
|
||||
"tests/verify_skill_overview.py"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py",
|
||||
"python3 tests/verify_skill_report_charts.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-531e13c1c6",
|
||||
"proposal_id": "adapt-59d219a1fb",
|
||||
"pattern_id": "approval_safety",
|
||||
"title": "Keep adaptive iteration approval-gated",
|
||||
"opportunity_type": "governance",
|
||||
"action_type": "agents_update",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"references/user-memory-policy.md",
|
||||
"references/autonomous-adaptation.md",
|
||||
"schemas/adaptation-proposal.schema.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-709ef884f3",
|
||||
"proposal_id": "adapt-18c7517f3d",
|
||||
"pattern_id": "language_default",
|
||||
"title": "Keep reports Chinese-first with optional English",
|
||||
"opportunity_type": "report-experience",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"scripts/render_skill_overview.py",
|
||||
"references/artifact-design-doctrine.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_skill_overview.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-f9e43237aa",
|
||||
"proposal_id": "adapt-457baca160",
|
||||
"pattern_id": "delivery_format",
|
||||
"title": "Make generated artifact paths explicit in CLI output",
|
||||
"opportunity_type": "artifact-discoverability",
|
||||
"action_type": "patch_existing_skill",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 82,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=low",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
|
||||
"risk_level": "low",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"scripts/yao.py",
|
||||
"README.md"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_yao_cli.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"opportunity_id": "skillops-0a3a2de7c3",
|
||||
"proposal_id": "adapt-abfee25d3a",
|
||||
"pattern_id": "evidence_testing",
|
||||
"title": "Attach tests and evidence refresh to each upgrade",
|
||||
"opportunity_type": "quality-gate",
|
||||
"action_type": "add_eval",
|
||||
"decision": "proposal_review",
|
||||
"priority": "medium",
|
||||
"score": 74,
|
||||
"score_reasons": [
|
||||
"support_count=2",
|
||||
"confidence=0.79",
|
||||
"risk=medium",
|
||||
"target_files_present",
|
||||
"verification_present",
|
||||
"approval_required"
|
||||
],
|
||||
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
|
||||
"risk_level": "medium",
|
||||
"requires_approval": true,
|
||||
"write_allowed_without_approval": false,
|
||||
"evidence_count": 2,
|
||||
"target_files": [
|
||||
"tests/verify_adaptation_safety.py",
|
||||
"scripts/render_skill_os2_coverage.py",
|
||||
"reports/skill_os2_coverage.json"
|
||||
],
|
||||
"verification_commands": [
|
||||
"python3 tests/verify_adaptation_safety.py",
|
||||
"python3 tests/verify_skill_os2_coverage.py"
|
||||
]
|
||||
}
|
||||
],
|
||||
"decision_policy": {
|
||||
"schema_version": "1.0",
|
||||
"contract": "skillops-opportunity-scoring",
|
||||
"score_range": [
|
||||
0,
|
||||
100
|
||||
],
|
||||
"score_bands": {
|
||||
"85-100": "ready_for_approval_review",
|
||||
"70-84": "proposal_review",
|
||||
"50-69": "observe_more_evidence",
|
||||
"0-49": "report_only_or_no_action"
|
||||
},
|
||||
"action_types": [
|
||||
"add_eval",
|
||||
"agents_update",
|
||||
"patch_existing_skill",
|
||||
"report_only"
|
||||
],
|
||||
"writes_source_files": false,
|
||||
"auto_patch_enabled": false,
|
||||
"approval_required_for_writes": true
|
||||
},
|
||||
"approval": {
|
||||
"approval_count": 0,
|
||||
"pending_review_count": 0,
|
||||
"applied_count": 0,
|
||||
"rollback_count": 0
|
||||
},
|
||||
"release_state": {
|
||||
"local_blueprint_ready": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true
|
||||
},
|
||||
"actions": [
|
||||
{
|
||||
"key": "review-adaptation-proposals",
|
||||
"priority": "high",
|
||||
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
|
||||
},
|
||||
{
|
||||
"key": "close-world-class-evidence",
|
||||
"priority": "high",
|
||||
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
|
||||
}
|
||||
],
|
||||
"failures": [],
|
||||
"source_reports": {
|
||||
"patterns": "reports/user_patterns.json",
|
||||
"proposals": "reports/adaptation_proposals.json",
|
||||
"approval_ledger": "reports/adaptation_approval_ledger.json",
|
||||
"regression": "reports/adaptation_regression_report.json",
|
||||
"skill_os2_coverage": "reports/skill_os2_coverage.json",
|
||||
"world_class_ledger": "reports/world_class_evidence_ledger.json",
|
||||
"evidence_consistency": "reports/evidence_consistency.json",
|
||||
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
|
||||
},
|
||||
"artifacts": {
|
||||
"json": "reports/skillops/daily/2026-06-21.json",
|
||||
"markdown": "reports/skillops/daily/2026-06-21.md"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
# Daily SkillOps Report
|
||||
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `proposal-review`
|
||||
- source supplied: `false`
|
||||
- patterns: `5`
|
||||
- proposals: `5`
|
||||
- pending approvals: `0`
|
||||
- applied patches: `0`
|
||||
- rollbacks: `0`
|
||||
- local blueprint ready: `true`
|
||||
- public world-class ready: `false`
|
||||
- world-class pending: `4`
|
||||
- release lock ready: `true`
|
||||
- evidence consistency ok: `true`
|
||||
|
||||
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
|
||||
|
||||
## Privacy Boundary
|
||||
|
||||
- explicit_source_required_for_scan: `true`
|
||||
- implicit_private_log_scan: `false`
|
||||
- raw_content_stored: `false`
|
||||
- redacted_excerpts_only: `true`
|
||||
- proposal_only: `true`
|
||||
- approval_required_for_writes: `true`
|
||||
- writes_source_files: `false`
|
||||
- auto_patch_enabled: `false`
|
||||
- daily_report_counts_as_world_class_evidence: `false`
|
||||
|
||||
## Actions
|
||||
|
||||
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
|
||||
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
|
||||
|
||||
## Opportunities
|
||||
|
||||
- count: `5`
|
||||
- top score: `88`
|
||||
- ready for approval review: `1`
|
||||
### Improve report layout, visual hierarchy, and chart readability
|
||||
|
||||
- ID: `skillops-4ad91c18dd`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `ready_for_approval_review`
|
||||
- Score: `88`
|
||||
- Risk: `medium`
|
||||
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
|
||||
### Keep adaptive iteration approval-gated
|
||||
|
||||
- ID: `skillops-531e13c1c6`
|
||||
- Action: `agents_update`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
|
||||
### Keep reports Chinese-first with optional English
|
||||
|
||||
- ID: `skillops-709ef884f3`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated language preferences can improve existing report templates after approval.
|
||||
### Make generated artifact paths explicit in CLI output
|
||||
|
||||
- ID: `skillops-f9e43237aa`
|
||||
- Action: `patch_existing_skill`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `82`
|
||||
- Risk: `low`
|
||||
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
|
||||
### Attach tests and evidence refresh to each upgrade
|
||||
|
||||
- ID: `skillops-0a3a2de7c3`
|
||||
- Action: `add_eval`
|
||||
- Decision: `proposal_review`
|
||||
- Score: `74`
|
||||
- Risk: `medium`
|
||||
- Policy: Repeated verification and evidence requests should become focused checks.
|
||||
|
||||
## Patterns
|
||||
|
||||
- `language_default`: Default language preference (support `2`, confidence `0.79`)
|
||||
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
|
||||
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
|
||||
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
|
||||
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
|
||||
|
||||
## Proposals
|
||||
|
||||
### Keep reports Chinese-first with optional English
|
||||
|
||||
- ID: `adapt-18c7517f3d`
|
||||
- Pattern: `language_default`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/render_skill_overview.py`
|
||||
- `references/artifact-design-doctrine.md`
|
||||
- Verification:
|
||||
- `python3 tests/verify_skill_overview.py`
|
||||
|
||||
### Improve report layout, visual hierarchy, and chart readability
|
||||
|
||||
- ID: `adapt-fbfe921ba5`
|
||||
- Pattern: `report_ui`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `medium`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/render_skill_overview.py`
|
||||
- `references/artifact-design-doctrine.md`
|
||||
- `tests/verify_skill_overview.py`
|
||||
- Verification:
|
||||
- `python3 tests/verify_skill_overview.py`
|
||||
- `python3 tests/verify_skill_report_charts.py`
|
||||
|
||||
### Keep adaptive iteration approval-gated
|
||||
|
||||
- ID: `adapt-59d219a1fb`
|
||||
- Pattern: `approval_safety`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `references/user-memory-policy.md`
|
||||
- `references/autonomous-adaptation.md`
|
||||
- `schemas/adaptation-proposal.schema.json`
|
||||
- Verification:
|
||||
- `python3 tests/verify_adaptation_safety.py`
|
||||
|
||||
### Make generated artifact paths explicit in CLI output
|
||||
|
||||
- ID: `adapt-457baca160`
|
||||
- Pattern: `delivery_format`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `low`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `scripts/yao.py`
|
||||
- `README.md`
|
||||
- Verification:
|
||||
- `python3 tests/verify_yao_cli.py`
|
||||
|
||||
### Attach tests and evidence refresh to each upgrade
|
||||
|
||||
- ID: `adapt-abfee25d3a`
|
||||
- Pattern: `evidence_testing`
|
||||
- Status: `proposal-only`
|
||||
- Risk: `medium`
|
||||
- Requires approval: `true`
|
||||
- Target files:
|
||||
- `tests/verify_adaptation_safety.py`
|
||||
- `scripts/render_skill_os2_coverage.py`
|
||||
- `reports/skill_os2_coverage.json`
|
||||
- Verification:
|
||||
- `python3 tests/verify_adaptation_safety.py`
|
||||
- `python3 tests/verify_skill_os2_coverage.py`
|
||||
|
||||
## Evidence
|
||||
|
||||
- patterns: `reports/user_patterns.json`
|
||||
- proposals: `reports/adaptation_proposals.json`
|
||||
- approval_ledger: `reports/adaptation_approval_ledger.json`
|
||||
- regression: `reports/adaptation_regression_report.json`
|
||||
- skill_os2_coverage: `reports/skill_os2_coverage.json`
|
||||
- world_class_ledger: `reports/world_class_evidence_ledger.json`
|
||||
- evidence_consistency: `reports/evidence_consistency.json`
|
||||
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17T08:58:54Z",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"decision": "curator-review",
|
||||
"week_id": "2026-W25",
|
||||
"daily_report_count": 2,
|
||||
"opportunity_count": 10,
|
||||
"daily_report_count": 4,
|
||||
"opportunity_count": 20,
|
||||
"unique_opportunity_count": 5,
|
||||
"ready_for_approval_review_count": 1,
|
||||
"proposal_review_count": 4,
|
||||
"observe_more_evidence_count": 0,
|
||||
"report_only_count": 0,
|
||||
"top_score": 88,
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_portfolio_issue_count": 0,
|
||||
"release_lock_ready": false,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
@@ -25,17 +25,17 @@
|
||||
"summary": {
|
||||
"decision": "curator-review",
|
||||
"week_id": "2026-W25",
|
||||
"daily_report_count": 2,
|
||||
"opportunity_count": 10,
|
||||
"daily_report_count": 4,
|
||||
"opportunity_count": 20,
|
||||
"unique_opportunity_count": 5,
|
||||
"ready_for_approval_review_count": 1,
|
||||
"proposal_review_count": 4,
|
||||
"observe_more_evidence_count": 0,
|
||||
"report_only_count": 0,
|
||||
"top_score": 88,
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_portfolio_issue_count": 0,
|
||||
"release_lock_ready": false,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4,
|
||||
@@ -90,7 +90,9 @@
|
||||
},
|
||||
"daily_reports": [
|
||||
"reports/skillops/daily/2026-06-16.json",
|
||||
"reports/skillops/daily/2026-06-17.json"
|
||||
"reports/skillops/daily/2026-06-17.json",
|
||||
"reports/skillops/daily/2026-06-20.json",
|
||||
"reports/skillops/daily/2026-06-21.json"
|
||||
],
|
||||
"opportunity_summary": {
|
||||
"action_type_counts": {
|
||||
@@ -275,20 +277,20 @@
|
||||
}
|
||||
],
|
||||
"portfolio": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_issue_count": 0,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"no_route_opportunity_count": 0
|
||||
},
|
||||
"release_state": {
|
||||
"release_lock_ready": false,
|
||||
"release_lock_ready": true,
|
||||
"evidence_consistency_ok": true,
|
||||
"public_world_class_ready": false,
|
||||
"world_class_pending_count": 4
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# Weekly SkillOps Curator Report
|
||||
|
||||
Generated at: `2026-06-17T08:58:54Z`
|
||||
Generated at: `2026-06-21`
|
||||
Week: `2026-W25`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `curator-review`
|
||||
- daily_report_count: `2`
|
||||
- daily_report_count: `4`
|
||||
- unique_opportunity_count: `5`
|
||||
- ready_for_approval_review_count: `1`
|
||||
- proposal_review_count: `4`
|
||||
- top_score: `88`
|
||||
- skill_count: `12`
|
||||
- skill_count: `11`
|
||||
- actionable_portfolio_issue_count: `0`
|
||||
- release_lock_ready: `False`
|
||||
- release_lock_ready: `True`
|
||||
- evidence_consistency_ok: `True`
|
||||
- public_world_class_ready: `False`
|
||||
- world_class_pending_count: `4`
|
||||
@@ -89,13 +89,13 @@ This report is a weekly curator cockpit for generated SkillOps evidence. It does
|
||||
|
||||
## Portfolio Signals
|
||||
|
||||
- skill_count: `12`
|
||||
- skill_count: `11`
|
||||
- actionable_issue_count: `0`
|
||||
- route_collision_count: `5`
|
||||
- actionable_route_collision_count: `0`
|
||||
- owner_gap_count: `9`
|
||||
- owner_gap_count: `8`
|
||||
- actionable_owner_gap_count: `0`
|
||||
- stale_count: `10`
|
||||
- stale_count: `9`
|
||||
- actionable_stale_count: `0`
|
||||
- drift_signal_count: `0`
|
||||
- actionable_drift_signal_count: `0`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"schema_version": "2.0",
|
||||
"generated_at": "2026-06-13",
|
||||
"generated_at": "2026-06-21",
|
||||
"previous": {
|
||||
"name": "yao-meta-skill",
|
||||
"version": "1.0.0",
|
||||
@@ -70,12 +70,12 @@
|
||||
{
|
||||
"field": "archive_sha256",
|
||||
"from": "",
|
||||
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
|
||||
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
|
||||
},
|
||||
{
|
||||
"field": "package_sha256",
|
||||
"from": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
|
||||
"to": "eddeea80a657e9c97cee2e1242d97577b886b33e2ffa6e319629ef5fcb029383"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -90,7 +90,7 @@
|
||||
"artifacts": {
|
||||
"previous_package": "registry/examples/yao-meta-skill-1.0.0.json",
|
||||
"current_package": "reports/registry_audit.json",
|
||||
"json": "tests/tmp_review_studio/upgrade_check.json",
|
||||
"markdown": "tests/tmp_review_studio/upgrade_check.md"
|
||||
"json": "reports/upgrade_check.json",
|
||||
"markdown": "reports/upgrade_check.md"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"ledger_ready_to_claim_world_class": false,
|
||||
"ledger_pending_count": 4,
|
||||
"claim_surface_count": 182,
|
||||
"json_claim_surface_count": 89,
|
||||
"metadata_claim_surface_count": 90,
|
||||
"claim_surface_count": 184,
|
||||
"json_claim_surface_count": 91,
|
||||
"metadata_claim_surface_count": 92,
|
||||
"package_claim_surface_count": 17,
|
||||
"violation_count": 0,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -286,10 +286,6 @@
|
||||
"path": "reports/family_summary.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/feishu-ranking-pattern-analysis-2026-04-01.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/github-benchmark-scan.json",
|
||||
"violation_count": 0
|
||||
@@ -626,6 +622,22 @@
|
||||
"path": "reports/skillops/daily/2026-06-17.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-20.json",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-20.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-21.json",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/daily/2026-06-21.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/skillops/weekly/2026-W25.json",
|
||||
"violation_count": 0
|
||||
@@ -726,10 +738,6 @@
|
||||
"path": "reports/world_class_submission_review.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "reports/yao-deploy-bridge-skill-research-plan.md",
|
||||
"violation_count": 0
|
||||
},
|
||||
{
|
||||
"path": "security/dependency_policy.md",
|
||||
"violation_count": 0
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# World-Class Claim Guard
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
- decision: `claim-guard-pass-evidence-pending`
|
||||
- ledger ready to claim world-class: `false`
|
||||
- ledger pending evidence: `4`
|
||||
- claim surfaces scanned: `182`
|
||||
- JSON claim surfaces scanned: `89`
|
||||
- metadata claim surfaces scanned: `90`
|
||||
- claim surfaces scanned: `184`
|
||||
- JSON claim surfaces scanned: `91`
|
||||
- metadata claim surfaces scanned: `92`
|
||||
- package/runtime claim surfaces scanned: `17`
|
||||
- violations: `0`
|
||||
- overclaim guard active: `true`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-20",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"schema_present": true,
|
||||
@@ -328,7 +328,7 @@
|
||||
"source_accepted": false,
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Evidence Intake
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-20`
|
||||
|
||||
## Summary
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-20",
|
||||
"skill_dir": ".",
|
||||
"decision": "evidence-pending",
|
||||
"ready_to_claim_world_class": false,
|
||||
@@ -16,8 +16,8 @@
|
||||
"missing_submission_count": 4,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"submitted_but_pending_count": 0,
|
||||
"source_accepted_without_valid_submission_count": 1,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -33,8 +33,8 @@
|
||||
"missing_submission_count": 4,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"submitted_but_pending_count": 0,
|
||||
"source_accepted_without_valid_submission_count": 1,
|
||||
"overclaim_guard_active": true,
|
||||
@@ -486,7 +486,7 @@
|
||||
"status": "pending",
|
||||
"source_status": "external_required",
|
||||
"source_accepted": false,
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -523,7 +523,7 @@
|
||||
],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -544,8 +544,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -561,8 +561,8 @@
|
||||
}
|
||||
],
|
||||
"source_check_count": 3,
|
||||
"source_pass_count": 1,
|
||||
"source_blocked_count": 2,
|
||||
"source_pass_count": 2,
|
||||
"source_blocked_count": 1,
|
||||
"submission_state": {
|
||||
"status": "missing",
|
||||
"path": "evidence/world_class/submissions/native-client-telemetry.json",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Evidence Ledger
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-20`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -8,8 +8,8 @@ Generated at: `2026-06-17`
|
||||
- ready to claim world-class: `false`
|
||||
- entries: `4`
|
||||
- source accepted: `1`
|
||||
- source checks: `11` pass / `19` total
|
||||
- source blocked: `8`
|
||||
- source checks: `12` pass / `19` total
|
||||
- source blocked: `7`
|
||||
- accepted: `0`
|
||||
- pending: `4`
|
||||
- human pending: `1`
|
||||
@@ -30,7 +30,7 @@ This ledger records the current evidence state. It requires both passing source
|
||||
| `provider-holdout` | `pending` | `missing` | `external` | model-executed 10; token-observed 10 | Run provider-backed holdout cases with real credentials and commit only aggregate evidence. |
|
||||
| `human-adjudication` | `pending` | `missing` | `human` | 0/5 decisions; pending 5 | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
|
||||
| `native-permission-enforcement` | `pending` | `missing` | `external` | native-enforced targets 0; installer-enforced targets 4 | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
|
||||
| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 0 | Install a real client against the native host and import production metadata-only events. |
|
||||
| `native-client-telemetry` | `pending` | `missing` | `external` | external source events 0; adoption samples 1 | Install a real client against the native host and import production metadata-only events. |
|
||||
|
||||
## Provider Holdout
|
||||
|
||||
@@ -186,8 +186,8 @@ This ledger records the current evidence state. It requires both passing source
|
||||
|
||||
- objective: Import production metadata-only events from a real external client into the local drift loop.
|
||||
- source status: `external_required`
|
||||
- observed state: `{"external_source_events": 0, "adoption_sample_count": 0, "raw_content_allowed": false, "risk_band": "low", "accepted": false}`
|
||||
- source checks: `1` pass / `3` total
|
||||
- observed state: `{"external_source_events": 0, "adoption_sample_count": 1, "raw_content_allowed": false, "risk_band": "low", "accepted": false}`
|
||||
- source checks: `2` pass / `3` total
|
||||
- submission state: `{"status": "missing", "path": "evidence/world_class/submissions/native-client-telemetry.json", "artifact_ref_count": 0, "attested_real_evidence": false, "privacy_contract_satisfied": false, "ledger_reviewer_approved": false, "ledger_reviewer": "", "ledger_reviewed_at": "", "ledger_counts_as_completion": false}`
|
||||
|
||||
### Provenance Requirements
|
||||
@@ -211,7 +211,7 @@ This ledger records the current evidence state. It requires both passing source
|
||||
| Check | Current | Expected | Status |
|
||||
| --- | --- | --- | --- |
|
||||
| External events | `0` | `>0` | `blocked` |
|
||||
| Adoption sample | `0` | `>0` | `blocked` |
|
||||
| Adoption sample | `1` | `>0` | `pass` |
|
||||
| Raw content blocked | `False` | `false` | `pass` |
|
||||
|
||||
### Completion Assertions
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-20",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"audit_decision": "continue-iteration",
|
||||
@@ -154,7 +154,7 @@
|
||||
"status": "external_required",
|
||||
"category": "external",
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
@@ -325,7 +325,7 @@
|
||||
"status": "external_required",
|
||||
"category": "external",
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Evidence Plan
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-20`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -22,7 +22,7 @@ This report is an execution plan for the remaining world-class evidence gaps. It
|
||||
| `provider-holdout` | `pass` | `external` | operator with provider credentials | model-executed 10; token-observed 10 |
|
||||
| `human-adjudication` | `human_required` | `human` | human reviewer | 0/5 decisions; pending 5 |
|
||||
| `native-permission-enforcement` | `external_required` | `external` | target client or installer integrator | native-enforced targets 0; installer-enforced targets 4 |
|
||||
| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 0 |
|
||||
| `native-client-telemetry` | `external_required` | `external` | Browser/Chrome/IDE/provider client integrator | external source events 0; adoption samples 1 |
|
||||
|
||||
## Provider Holdout
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
<span class="eyebrow">Evidence Collection</span>
|
||||
<h1>World-Class Evidence Preflight</h1>
|
||||
<p class="lede">This operator view shows which external and human evidence is still blocked, which commands prepare editable submission drafts, and why preflight never counts as accepted evidence.</p>
|
||||
<div class="stats"><article><span>Decision</span><strong>collection-preflight-blocked</strong></article><article><span>Pending</span><strong>4</strong></article><article><span>Ready</span><strong>1</strong></article><article><span>Blocked</span><strong>3</strong></article><article><span>Source</span><strong>11/19</strong></article><article><span>Repairs</span><strong>12/12</strong></article><article><span>Phases</span><strong>2/2</strong></article></div>
|
||||
<div class="stats"><article><span>Decision</span><strong>collection-preflight-blocked</strong></article><article><span>Pending</span><strong>4</strong></article><article><span>Ready</span><strong>1</strong></article><article><span>Blocked</span><strong>3</strong></article><article><span>Source</span><strong>12/19</strong></article><article><span>Repairs</span><strong>11/11</strong></article><article><span>Phases</span><strong>2/2</strong></article></div>
|
||||
</section>
|
||||
<section class="section two-col" id="handoff">
|
||||
<article class="panel">
|
||||
@@ -128,7 +128,7 @@
|
||||
</header>
|
||||
<dl>
|
||||
<dt>Phase</dt><dd><code>collect-source</code></dd>
|
||||
<dt>Rows</dt><dd>8 / 8 blocked</dd>
|
||||
<dt>Rows</dt><dd>7 / 7 blocked</dd>
|
||||
<dt>Owners</dt><dd>Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator</dd>
|
||||
<dt>Evidence</dt><dd>human-adjudication, native-client-telemetry, native-permission-enforcement</dd>
|
||||
<dt>Next</dt><dd>Set reviewer_attestation only after choices are completed before opening the answer key.</dd>
|
||||
@@ -894,15 +894,15 @@
|
||||
</dl>
|
||||
</article>
|
||||
|
||||
<article class="check-row blocked">
|
||||
<article class="check-row pass">
|
||||
<div>
|
||||
<span>adoption_sample_count</span>
|
||||
<strong>Adoption sample</strong>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>Current</dt><dd><code>0</code></dd>
|
||||
<dt>Current</dt><dd><code>1</code></dd>
|
||||
<dt>Expected</dt><dd><code>>0</code></dd>
|
||||
<dt>Status</dt><dd>blocked</dd>
|
||||
<dt>Status</dt><dd>pass</dd>
|
||||
<dt>Action</dt><dd>Telemetry must include adoption outcome evidence.</dd>
|
||||
</dl>
|
||||
</article>
|
||||
@@ -941,23 +941,6 @@
|
||||
</dl>
|
||||
</article>
|
||||
|
||||
<article class="repair-row blocked">
|
||||
<div>
|
||||
<span>source-check</span>
|
||||
<strong>adoption_sample_count</strong>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>Priority</dt><dd>40</dd>
|
||||
<dt>Phase</dt><dd>collect-source</dd>
|
||||
<dt>Owner</dt><dd>Browser/Chrome/IDE/provider client integrator</dd>
|
||||
<dt>Status</dt><dd>blocked</dd>
|
||||
<dt>Reason</dt><dd>Current value 0 does not satisfy '>0'.</dd>
|
||||
<dt>Action</dt><dd>Telemetry must include adoption outcome evidence.</dd>
|
||||
<dt>Verify</dt><dd><code>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions</code></dd>
|
||||
<dt>Evidence</dt><dd>does not count as completion</dd>
|
||||
</dl>
|
||||
</article>
|
||||
|
||||
<article class="repair-row blocked">
|
||||
<div>
|
||||
<span>source-check</span>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-21",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"evidence_item_count": 4,
|
||||
@@ -14,14 +14,14 @@
|
||||
"collection_ready_count": 1,
|
||||
"collection_blocked_count": 3,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"repair_checklist_count": 12,
|
||||
"repair_blocked_count": 12,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"repair_checklist_count": 11,
|
||||
"repair_blocked_count": 11,
|
||||
"repair_ready_count": 0,
|
||||
"repair_phase_counts": {
|
||||
"unblock-access": 4,
|
||||
"collect-source": 8
|
||||
"collect-source": 7
|
||||
},
|
||||
"next_repair_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"next_repair_phase": "unblock-access",
|
||||
@@ -30,7 +30,7 @@
|
||||
"repair_counts_as_completion": false,
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -1000,8 +1000,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -1085,21 +1085,6 @@
|
||||
"source": "prechecks",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1157,34 +1142,19 @@
|
||||
"label": "Collect source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"next_action": "Import at least one metadata-only event from a real client.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false,
|
||||
"rows": [
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1554,8 +1524,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -1706,21 +1676,6 @@
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1844,8 +1799,8 @@
|
||||
"label": "Collect source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -1936,21 +1891,6 @@
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Evidence Preflight
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-21`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -10,10 +10,10 @@ Generated at: `2026-06-17`
|
||||
- credential value exposed: `false`
|
||||
- collection ready: `1`
|
||||
- collection blocked: `3`
|
||||
- source checks: `11` pass / `19` total
|
||||
- repair rows: `12` blocked / `12` total
|
||||
- source checks: `12` pass / `19` total
|
||||
- repair rows: `11` blocked / `11` total
|
||||
- phase queue: `2` blocked / `2` phases
|
||||
- phase queue rows: `12`
|
||||
- phase queue rows: `11`
|
||||
- next repair action: `human-adjudication-precheck-human-reviewer`
|
||||
- next repair owner: `human reviewer`
|
||||
- next phase: `unblock-access`
|
||||
@@ -51,7 +51,7 @@ Phase queue rows group the same repair checklist into operator execution phases.
|
||||
| Priority | Phase | Status | Rows | Owners | Evidence | Verify | Next action |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `20` | `unblock-access` | `blocked` | 4 / 4 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, operator with provider credentials, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement, provider-holdout | `python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Assign a real reviewer identity before claiming human adjudication. |
|
||||
| `40` | `collect-source` | `blocked` | 8 / 8 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Set reviewer_attestation only after choices are completed before opening the answer key. |
|
||||
| `40` | `collect-source` | `blocked` | 7 / 7 blocked | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | human-adjudication, native-client-telemetry, native-permission-enforcement | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Set reviewer_attestation only after choices are completed before opening the answer key. |
|
||||
|
||||
## Evidence Items
|
||||
|
||||
@@ -77,7 +77,6 @@ Repair rows convert preflight and source blockers into a prioritized operator qu
|
||||
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `pending_count` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Record a reviewer choice and reason for every pair. |
|
||||
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `ready_for_human_evidence` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Complete all reviewer decisions with metadata and rationale, plus blind-review attestation and integrity fingerprints. |
|
||||
| `40` | `collect-source` | human reviewer | `human-adjudication` | `source-check` | `reviewer_metadata_present` | `blocked` | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Record reviewer and reviewed_at before adjudication can count. |
|
||||
| `40` | `collect-source` | Browser/Chrome/IDE/provider client integrator | `native-client-telemetry` | `source-check` | `adoption_sample_count` | `blocked` | `python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Telemetry must include adoption outcome evidence. |
|
||||
| `40` | `collect-source` | Browser/Chrome/IDE/provider client integrator | `native-client-telemetry` | `source-check` | `external_source_events` | `blocked` | `python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Import at least one metadata-only event from a real client. |
|
||||
| `40` | `collect-source` | target client or installer integrator | `native-permission-enforcement` | `source-check` | `native_enforcement_count` | `blocked` | `python3 scripts/yao.py runtime-permissions . --package-dir dist && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` | Collect real target-client or external runtime guard proof. |
|
||||
|
||||
@@ -191,7 +190,7 @@ Repair rows convert preflight and source blockers into a prioritized operator qu
|
||||
| Check | Current | Expected | Status | Next action |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. |
|
||||
| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. |
|
||||
| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. |
|
||||
| Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. |
|
||||
|
||||
## Boundary
|
||||
|
||||
@@ -68,11 +68,11 @@
|
||||
<span class="eyebrow">Evidence Operations</span>
|
||||
<h1>World-Class Operator Runbook</h1>
|
||||
<p class="lede">A single operating page for collecting the remaining human and external evidence. It coordinates action, but does not accept evidence or change the ledger.</p>
|
||||
<div class="stats"><article><span>Pending</span><strong>4</strong></article><article><span>Awaiting</span><strong>4</strong></article><article><span>Ready</span><strong>0</strong></article><article><span>Source</span><strong>11/19</strong></article><article><span>Queue</span><strong>2/2</strong></article><article><span>Steps</span><strong>6/6</strong></article><article><span>Gate</span><strong>4/5</strong></article><article><span>Blocked</span><strong>8</strong></article><article><span>Invalid</span><strong>0</strong></article></div>
|
||||
<div class="stats"><article><span>Pending</span><strong>4</strong></article><article><span>Awaiting</span><strong>4</strong></article><article><span>Ready</span><strong>0</strong></article><article><span>Source</span><strong>12/19</strong></article><article><span>Queue</span><strong>2/2</strong></article><article><span>Steps</span><strong>6/6</strong></article><article><span>Gate</span><strong>4/5</strong></article><article><span>Blocked</span><strong>7</strong></article><article><span>Invalid</span><strong>0</strong></article></div>
|
||||
</section>
|
||||
<section class="section panel" id="fast-path"><h2>Fast Path</h2><ol><li>Run the real external or human work for one evidence item.</li><li>Generate and fill the matching submission draft.</li><li>Validate intake and inspect the submission review queue.</li><li>Refresh the ledger and run the claim guard before making any completion claim.</li></ol></section>
|
||||
<section class="section panel" id="coordination"><h2>Coordination Plan</h2><p class="muted">These steps tell the assistant what to run and where the user must supply real provider, reviewer, client, or telemetry input. Every row is operational guidance only and keeps counts_as_completion false.</p><div class='table-wrap'><table><thead><tr><th>Step</th><th>Evidence</th><th>Owner</th><th>User</th><th>User action</th><th>Assistant action</th><th>Command</th><th>Pass condition</th></tr></thead><tbody><tr><td><code>prepare-evidence-session</code></td><td><code>all</code></td><td>assistant + user</td><td><code>true</code></td><td>Confirm provider access, reviewer availability, target client path, and telemetry client path before collection starts.</td><td>Run preflight and prepare submission drafts without accepting them as evidence.</td><td><code>python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-kit . --output-dir evidence/world_class/submissions --prefill-artifacts</code></td><td>Preflight lists the same pending evidence keys and no credential values are printed.</td></tr><tr><td><code>collect-provider-holdout</code></td><td><code>provider-holdout</code></td><td>assistant + operator with provider credentials</td><td><code>true</code></td><td>Provide the selected provider API key through an environment variable and confirm the provider, model, endpoint, and API format to use.</td><td>Run provider-backed output execution, verify aggregate timing and token metadata, then prepare the evidence packet.</td><td><code>python3 scripts/yao.py output-exec . --provider-runner <openai|deepseek> --provider-model <model> --timeout-seconds 60</code></td><td>reports/output_execution_runs.json has model_executed_count > 0 and token_observed_count > 0.</td></tr><tr><td><code>collect-human-adjudication</code></td><td><code>human-adjudication</code></td><td>human reviewer + assistant</td><td><code>true</code></td><td>Open the blind review kit, choose winners for all pairs, add reviewer metadata and reasons, and keep the answer key hidden until decisions are saved.</td><td>Generate the review kit, import decisions, validate integrity, and prepare the human evidence packet.</td><td><code>python3 scripts/yao.py output-review-kit . && python3 scripts/yao.py output-review .</code></td><td>reports/output_review_adjudication.json has pending_count == 0 and ready_for_human_evidence == true.</td></tr><tr><td><code>collect-native-permission-enforcement</code></td><td><code>native-permission-enforcement</code></td><td>target client or installer integrator + assistant</td><td><code>true</code></td><td>Select a real target client or external installer guard that can enforce declared capabilities instead of metadata-only fallback.</td><td>Run runtime permission probes, package verification, install simulation, and prepare the native enforcement evidence packet.</td><td><code>python3 scripts/yao.py runtime-permissions . --package-dir dist</code></td><td>reports/runtime_permission_probes.json has native_enforcement_count > 0 and failure_count == 0.</td></tr><tr><td><code>collect-native-client-telemetry</code></td><td><code>native-client-telemetry</code></td><td>real client integrator + assistant</td><td><code>true</code></td><td>Install the native host manifest in a real Browser, Chrome, IDE, or provider client and trigger a metadata-only event.</td><td>Generate native host assets, import the external event JSONL, refresh adoption drift, and prepare the telemetry evidence packet.</td><td><code>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl --source external</code></td><td>reports/adoption_drift_report.json has source_types.external > 0 and adoption_sample_count > 0.</td></tr><tr><td><code>review-and-release-gate</code></td><td><code>all</code></td><td>assistant + ledger reviewer</td><td><code>true</code></td><td>Approve only validated evidence packets and confirm the release wording after the claim guard passes.</td><td>Run intake, submission review, ledger, claim guard, benchmark, evidence consistency, Review Studio, and CI before final publish.</td><td><code>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions && python3 scripts/yao.py world-class-claim-guard . && make ci-test</code></td><td>Ledger ready_to_claim_world_class, benchmark public_claim_ready, claim guard violation_count == 0, Review Studio has no blockers, and CI passes.</td></tr></tbody></table></div></section>
|
||||
<section class="section panel" id="phase-queue"><h2>Phase Queue</h2><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 4 / 4</code><small>Assign a real reviewer identity before claiming human adjudication.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 8 / 8</code><small>Set reviewer_attestation only after choices are completed before opening the answer key.</small></li></ul></section>
|
||||
<section class="section panel" id="phase-queue"><h2>Phase Queue</h2><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 4 / 4</code><small>Assign a real reviewer identity before claiming human adjudication.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 7 / 7</code><small>Set reviewer_attestation only after choices are completed before opening the answer key.</small></li></ul></section>
|
||||
<section class="section" id="items"><h2>Evidence Items</h2><div class="item-grid"><article class="item-card awaiting-submission">
|
||||
<header><span>external · awaiting-submission</span><h3>Provider Holdout</h3></header>
|
||||
<p>No evidence packet has been submitted for review.</p>
|
||||
@@ -139,11 +139,11 @@
|
||||
<dl>
|
||||
<dt>Owner</dt><dd>Browser/Chrome/IDE/provider client integrator</dd>
|
||||
<dt>Ledger</dt><dd><code>pending</code></dd>
|
||||
<dt>Blocked</dt><dd><code>2</code></dd>
|
||||
<dt>Blocked</dt><dd><code>1</code></dd>
|
||||
<dt>Queue</dt><dd><code>2</code></dd>
|
||||
<dt>Submission</dt><dd><code>evidence/world_class/submissions/native-client-telemetry.json</code></dd>
|
||||
</dl>
|
||||
<section class="source-panel"><h4>Phase Queue</h4><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 1 / 1</code><small>Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 2 / 2</code><small>Telemetry must include adoption outcome evidence.</small></li></ul></section>
|
||||
<section class="source-panel"><h4>Phase Queue</h4><ul class='source-checks'><li class='source-check'><span>Unblock access</span><code>unblock-access: 1 / 1</code><small>Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events.</small></li><li class='source-check'><span>Collect source</span><code>collect-source: 1 / 1</code><small>Import at least one metadata-only event from a real client.</small></li></ul></section>
|
||||
<section class="source-panel"><h4>Source Runbook</h4><ul><li>python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/</li><li>Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.</li><li>python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl</li><li>python3 scripts/yao.py skill-atlas --workspace-root .</li><li>python3 scripts/yao.py skill-os2-audit . --generated-at <YYYY-MM-DD></li><li>Copy evidence/world_class/templates/native-client-telemetry.intake.json to evidence/world_class/submissions/native-client-telemetry.json and fill only real evidence fields.</li><li>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions</li></ul></section>
|
||||
<section><h4>Commands</h4><ul class="commands"><li><span>prepare submission</span><code>python3 scripts/yao.py world-class-submission-kit . --evidence-key native-client-telemetry --output-dir evidence/world_class/submissions</code></li><li><span>validate intake</span><code>python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions</code></li><li><span>review queue</span><code>python3 scripts/yao.py world-class-submission-review . --submissions-dir evidence/world_class/submissions</code></li><li><span>refresh ledger</span><code>python3 scripts/yao.py world-class-ledger . --submissions-dir evidence/world_class/submissions</code></li><li><span>guard claim</span><code>python3 scripts/yao.py world-class-claim-guard .</code></li></ul></section>
|
||||
<div class="mini-grid">
|
||||
@@ -151,8 +151,8 @@
|
||||
<section><h4>Success Checks</h4><ul><li>reports/adoption_drift_report.json summary.source_types.external > 0</li><li>reports/adoption_drift_report.json summary.adoption_sample_count > 0</li><li>reports/skill_os2_audit.json item native-client-telemetry status becomes pass</li></ul></section>
|
||||
<section><h4>Privacy</h4><ul><li>Telemetry must remain metadata-only and local-first.</li><li>Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field.</li></ul></section>
|
||||
</div>
|
||||
<section class="source-panel"><h4>Next Source Actions</h4><ul><li>Import at least one metadata-only event from a real client.</li><li>Telemetry must include adoption outcome evidence.</li></ul></section>
|
||||
<section class="source-panel"><h4>Source Evidence Snapshot</h4><ul class='source-checks'><li class='source-check blocked'><span>External events</span><code>external_source_events: 0 / >0</code><small>Import at least one metadata-only event from a real client.</small></li><li class='source-check blocked'><span>Adoption sample</span><code>adoption_sample_count: 0 / >0</code><small>Telemetry must include adoption outcome evidence.</small></li><li class='source-check pass'><span>Raw content blocked</span><code>raw_content_allowed: False / false</code><small>Telemetry must stay metadata-only.</small></li></ul></section>
|
||||
<section class="source-panel"><h4>Next Source Actions</h4><ul><li>Import at least one metadata-only event from a real client.</li></ul></section>
|
||||
<section class="source-panel"><h4>Source Evidence Snapshot</h4><ul class='source-checks'><li class='source-check blocked'><span>External events</span><code>external_source_events: 0 / >0</code><small>Import at least one metadata-only event from a real client.</small></li><li class='source-check pass'><span>Adoption sample</span><code>adoption_sample_count: 1 / >0</code><small>Telemetry must include adoption outcome evidence.</small></li><li class='source-check pass'><span>Raw content blocked</span><code>raw_content_allowed: False / false</code><small>Telemetry must stay metadata-only.</small></li></ul></section>
|
||||
</article></div></section>
|
||||
<section class="section panel" id="release-gate"><h2>Release Gate</h2><div class="gate-summary">
|
||||
<article><span>Decision</span><strong>blocked-until-evidence-accepted</strong></article>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-20",
|
||||
"skill_dir": ".",
|
||||
"summary": {
|
||||
"evidence_item_count": 4,
|
||||
@@ -12,13 +12,13 @@
|
||||
"valid_packet_source_incomplete_count": 0,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"repair_checklist_count": 12,
|
||||
"repair_blocked_count": 12,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"repair_checklist_count": 11,
|
||||
"repair_blocked_count": 11,
|
||||
"phase_queue_count": 2,
|
||||
"phase_queue_blocked_count": 2,
|
||||
"phase_queue_row_count": 12,
|
||||
"phase_queue_row_count": 11,
|
||||
"phase_queue_next_phase": "unblock-access",
|
||||
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
|
||||
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
@@ -900,7 +900,7 @@
|
||||
"review_state": "awaiting-submission",
|
||||
"source_accepted": false,
|
||||
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
|
||||
"current": "external source events 0; adoption samples 0",
|
||||
"current": "external source events 0; adoption samples 1",
|
||||
"execution_runbook": [
|
||||
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension://<extension-id>/",
|
||||
"Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.",
|
||||
@@ -948,7 +948,7 @@
|
||||
],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -969,8 +969,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -985,10 +985,9 @@
|
||||
"next_action": "Telemetry must stay metadata-only."
|
||||
}
|
||||
],
|
||||
"blocked_source_check_count": 2,
|
||||
"blocked_source_check_count": 1,
|
||||
"next_source_actions": [
|
||||
"Import at least one metadata-only event from a real client.",
|
||||
"Telemetry must include adoption outcome evidence."
|
||||
"Import at least one metadata-only event from a real client."
|
||||
],
|
||||
"repair_checklist": [
|
||||
{
|
||||
@@ -1006,21 +1005,6 @@
|
||||
"source": "prechecks",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1037,7 +1021,7 @@
|
||||
"counts_as_completion": false
|
||||
}
|
||||
],
|
||||
"repair_blocked_count": 3,
|
||||
"repair_blocked_count": 2,
|
||||
"repair_counts_as_completion": false,
|
||||
"phase_queue": [
|
||||
{
|
||||
@@ -1080,34 +1064,19 @@
|
||||
"label": "Collect source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 2,
|
||||
"row_count": 2,
|
||||
"blocked_count": 1,
|
||||
"row_count": 1,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator"
|
||||
],
|
||||
"evidence_keys": [
|
||||
"native-client-telemetry"
|
||||
],
|
||||
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"next_action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"next_action": "Import at least one metadata-only event from a real client.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"counts_as_completion": false,
|
||||
"rows": [
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1459,21 +1428,6 @@
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
@@ -1597,8 +1551,8 @@
|
||||
"label": "Collect source",
|
||||
"priority": 40,
|
||||
"status": "blocked",
|
||||
"blocked_count": 8,
|
||||
"row_count": 8,
|
||||
"blocked_count": 7,
|
||||
"row_count": 7,
|
||||
"owners": [
|
||||
"Browser/Chrome/IDE/provider client integrator",
|
||||
"human reviewer",
|
||||
@@ -1689,21 +1643,6 @@
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-adoption_sample_count",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
"repair_type": "source-check",
|
||||
"target": "adoption_sample_count",
|
||||
"phase": "collect-source",
|
||||
"priority": 40,
|
||||
"owner": "Browser/Chrome/IDE/provider client integrator",
|
||||
"status": "blocked",
|
||||
"blocking_reason": "Current value 0 does not satisfy '>0'.",
|
||||
"next_action": "Telemetry must include adoption outcome evidence.",
|
||||
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
|
||||
"source": "source_checklist",
|
||||
"counts_as_completion": false
|
||||
},
|
||||
{
|
||||
"action_id": "native-client-telemetry-source-check-external_source_events",
|
||||
"evidence_key": "native-client-telemetry",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Operator Runbook
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-20`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -12,7 +12,7 @@ Generated at: `2026-06-17`
|
||||
- awaiting submission: `4`
|
||||
- ready for ledger review: `0`
|
||||
- phase queue: `2` blocked / `2` phases
|
||||
- phase queue rows: `12`
|
||||
- phase queue rows: `11`
|
||||
- phase queue counts as completion: `false`
|
||||
- coordination steps: `6` user-required / `6` total
|
||||
- coordination pending keys: `human-adjudication, native-client-telemetry, native-permission-enforcement, provider-holdout`
|
||||
@@ -46,7 +46,7 @@ This runbook coordinates evidence collection only. It does not accept submission
|
||||
| Phase | Status | Rows | Blocked | Owners | Next action | Verify |
|
||||
| --- | --- | ---: | ---: | --- | --- | --- |
|
||||
| `unblock-access` | `blocked` | `4` | `4` | Browser/Chrome/IDE/provider client integrator, human reviewer, operator with provider credentials, target client or installer integrator | Assign a real reviewer identity before claiming human adjudication. | `python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
|
||||
| `collect-source` | `blocked` | `8` | `8` | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | Set reviewer_attestation only after choices are completed before opening the answer key. | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
|
||||
| `collect-source` | `blocked` | `7` | `7` | Browser/Chrome/IDE/provider client integrator, human reviewer, target client or installer integrator | Set reviewer_attestation only after choices are completed before opening the answer key. | `python3 scripts/yao.py output-review && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions` |
|
||||
|
||||
## Evidence Items
|
||||
|
||||
@@ -55,7 +55,7 @@ This runbook coordinates evidence collection only. It does not accept submission
|
||||
| `provider-holdout` | `pending` | `awaiting-submission` | `awaiting-submission` | `0` | none | operator with provider credentials |
|
||||
| `human-adjudication` | `pending` | `awaiting-submission` | `awaiting-submission` | `5` | Record a reviewer choice and reason for every pair. | human reviewer |
|
||||
| `native-permission-enforcement` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Collect real target-client or external runtime guard proof. | target client or installer integrator |
|
||||
| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `2` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator |
|
||||
| `native-client-telemetry` | `pending` | `awaiting-submission` | `awaiting-submission` | `1` | Import at least one metadata-only event from a real client. | Browser/Chrome/IDE/provider client integrator |
|
||||
|
||||
## Provider Holdout
|
||||
|
||||
@@ -313,8 +313,8 @@ This runbook coordinates evidence collection only. It does not accept submission
|
||||
|
||||
- objective: Import production metadata-only events from a real external client into the local drift loop.
|
||||
- blocking reason: No evidence packet has been submitted for review.
|
||||
- blocked source checks: `2`
|
||||
- repair rows: `3` blocked
|
||||
- blocked source checks: `1`
|
||||
- repair rows: `2` blocked
|
||||
- phase queue: `2` blocked phases
|
||||
- submission: `evidence/world_class/submissions/native-client-telemetry.json`
|
||||
- template: `evidence/world_class/templates/native-client-telemetry.intake.json`
|
||||
@@ -324,7 +324,7 @@ This runbook coordinates evidence collection only. It does not accept submission
|
||||
| Phase | Status | Rows | Blocked | Next action |
|
||||
| --- | --- | ---: | ---: | --- |
|
||||
| `unblock-access` | `blocked` | `1` | `1` | Install a real Browser, Chrome, IDE, or provider client that emits metadata-only events. |
|
||||
| `collect-source` | `blocked` | `2` | `2` | Telemetry must include adoption outcome evidence. |
|
||||
| `collect-source` | `blocked` | `1` | `1` | Import at least one metadata-only event from a real client. |
|
||||
|
||||
### Source Runbook
|
||||
|
||||
@@ -375,14 +375,13 @@ This runbook coordinates evidence collection only. It does not accept submission
|
||||
### Next Source Actions
|
||||
|
||||
- Import at least one metadata-only event from a real client.
|
||||
- Telemetry must include adoption outcome evidence.
|
||||
|
||||
### Source Evidence Snapshot
|
||||
|
||||
| Check | Current | Expected | Status | Next action |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| External events | `0` | `>0` | `blocked` | Import at least one metadata-only event from a real client. |
|
||||
| Adoption sample | `0` | `>0` | `blocked` | Telemetry must include adoption outcome evidence. |
|
||||
| Adoption sample | `1` | `>0` | `pass` | Telemetry must include adoption outcome evidence. |
|
||||
| Raw content blocked | `False` | `false` | `pass` | Telemetry must stay metadata-only. |
|
||||
|
||||
## Release Gate
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"ok": true,
|
||||
"generated_at": "2026-06-17",
|
||||
"generated_at": "2026-06-20",
|
||||
"skill_dir": ".",
|
||||
"decision": "awaiting-submissions",
|
||||
"ready_to_claim_world_class": false,
|
||||
@@ -14,8 +14,8 @@
|
||||
"unmatched_submission_count": 0,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"review_counts_submission_as_completion": false,
|
||||
"summary": {
|
||||
"review_item_count": 4,
|
||||
@@ -27,8 +27,8 @@
|
||||
"unmatched_submission_count": 0,
|
||||
"invalid_submission_count": 0,
|
||||
"source_check_count": 19,
|
||||
"source_pass_count": 11,
|
||||
"source_blocked_count": 8,
|
||||
"source_pass_count": 12,
|
||||
"source_blocked_count": 7,
|
||||
"ready_to_claim_world_class": false,
|
||||
"review_counts_submission_as_completion": false,
|
||||
"decision": "awaiting-submissions"
|
||||
@@ -378,7 +378,7 @@
|
||||
"intake_errors": [],
|
||||
"observed_state": {
|
||||
"external_source_events": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_sample_count": 1,
|
||||
"raw_content_allowed": false,
|
||||
"risk_band": "low",
|
||||
"accepted": false
|
||||
@@ -399,8 +399,8 @@
|
||||
"label": "Adoption sample",
|
||||
"field": "adoption_sample_count",
|
||||
"expected": ">0",
|
||||
"actual": 0,
|
||||
"status": "blocked",
|
||||
"actual": 1,
|
||||
"status": "pass",
|
||||
"source_accepted": false,
|
||||
"next_action": "Telemetry must include adoption outcome evidence."
|
||||
},
|
||||
@@ -416,8 +416,8 @@
|
||||
}
|
||||
],
|
||||
"source_check_count": 3,
|
||||
"source_pass_count": 1,
|
||||
"source_blocked_count": 2,
|
||||
"source_pass_count": 2,
|
||||
"source_blocked_count": 1,
|
||||
"success_checks": [
|
||||
"reports/adoption_drift_report.json summary.source_types.external > 0",
|
||||
"reports/adoption_drift_report.json summary.adoption_sample_count > 0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# World-Class Submission Review
|
||||
|
||||
Generated at: `2026-06-17`
|
||||
Generated at: `2026-06-20`
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -153,7 +153,7 @@ This report is a read-only reviewer queue. It does not accept evidence or make w
|
||||
#### Source Checks
|
||||
|
||||
- External events: 0 / >0 => blocked
|
||||
- Adoption sample: 0 / >0 => blocked
|
||||
- Adoption sample: 1 / >0 => pass
|
||||
- Raw content blocked: False / false => pass
|
||||
|
||||
#### Completion Assertions
|
||||
|
||||
@@ -34,6 +34,7 @@ DEFAULT_TARGETS = [
|
||||
"architecture-maintainability-check",
|
||||
"yao-cli-check",
|
||||
"yao-cli-world-class-check",
|
||||
"operator-ux-check",
|
||||
"skill-overview-check",
|
||||
"skill-interpretation-check",
|
||||
"skill-report-metrics-check",
|
||||
|
||||
@@ -258,6 +258,8 @@ def should_skip_archive_path(rel_path: Path) -> bool:
|
||||
parts = rel_path.parts
|
||||
if any(part in EXCLUDED_ARCHIVE_PARTS for part in parts):
|
||||
return True
|
||||
if rel_path.name == "SKILL.md" and parts != ("SKILL.md",):
|
||||
return True
|
||||
if parts == ("reports", "telemetry_events.jsonl"):
|
||||
return True
|
||||
if parts and parts[0] == "tests" and any(part.startswith("tmp") for part in parts[1:]):
|
||||
|
||||
@@ -85,6 +85,11 @@ def top_level_dirs(names: list[str]) -> list[str]:
|
||||
return sorted(roots)
|
||||
|
||||
|
||||
def non_root_skill_entries(names: list[str], package_root: str) -> list[str]:
|
||||
root_entry = f"{package_root}/SKILL.md"
|
||||
return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry)
|
||||
|
||||
|
||||
def add_check(checks: list[dict[str, str]], failures: list[str], check_id: str, passed: bool, detail: str) -> None:
|
||||
checks.append({"id": check_id, "status": "pass" if passed else "fail", "detail": detail})
|
||||
if not passed:
|
||||
@@ -221,7 +226,15 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No
|
||||
add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}")
|
||||
else:
|
||||
unsafe_entries = unsafe_zip_entries(archive_entries)
|
||||
nested_skill_entries = non_root_skill_entries(archive_entries, package_root)
|
||||
add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries")
|
||||
add_check(
|
||||
checks,
|
||||
failures,
|
||||
"single-skill-entrypoint",
|
||||
not nested_skill_entries,
|
||||
"Installed package exposes only the root SKILL.md entrypoint",
|
||||
)
|
||||
roots = top_level_dirs(archive_entries)
|
||||
add_check(checks, failures, "single-top-level", roots == [package_root], f"Archive top-level directory is {package_root}")
|
||||
if not unsafe_entries and roots:
|
||||
@@ -289,6 +302,7 @@ def simulate_install(skill_dir: Path, package_dir: Path, install_root: Path | No
|
||||
"summary": {
|
||||
"archive_present": archive_path.exists(),
|
||||
"archive_entry_count": len(archive_entries),
|
||||
"nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)),
|
||||
"archive_extracted": bool(installed_dir and installed_dir.exists()),
|
||||
"entrypoint_loaded": bool(frontmatter),
|
||||
"manifest_loaded": bool(source_manifest),
|
||||
@@ -321,6 +335,7 @@ def render_markdown(report: dict[str, Any]) -> str:
|
||||
f"- OK: `{report['ok']}`",
|
||||
f"- Package directory: `{report['package_dir']}`",
|
||||
f"- Archive extracted: `{summary['archive_extracted']}`",
|
||||
f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`",
|
||||
f"- Entrypoint loaded: `{summary['entrypoint_loaded']}`",
|
||||
f"- Manifest loaded: `{summary['manifest_loaded']}`",
|
||||
f"- Interface loaded: `{summary['interface_loaded']}`",
|
||||
|
||||
@@ -59,6 +59,11 @@ def generated_zip_entries(names: list[str]) -> list[str]:
|
||||
return generated
|
||||
|
||||
|
||||
def non_root_skill_entries(names: list[str], package_root: str) -> list[str]:
|
||||
root_entry = f"{package_root}/SKILL.md"
|
||||
return sorted(name for name in names if PurePosixPath(name).name == "SKILL.md" and name != root_entry)
|
||||
|
||||
|
||||
def required_targets(expectations: dict[str, Any], package_dir: Path) -> list[str]:
|
||||
targets = expectations.get("required_targets") or []
|
||||
if targets:
|
||||
@@ -133,6 +138,7 @@ def verify_package(
|
||||
add_check(checks, failures, "archive-readable", False, f"Archive is not a readable zip: {display_path(archive_path)}")
|
||||
else:
|
||||
unsafe_entries = unsafe_zip_entries(archive_entries)
|
||||
nested_skill_entries = non_root_skill_entries(archive_entries, package_root)
|
||||
required_entries = [
|
||||
f"{package_root}/SKILL.md",
|
||||
f"{package_root}/manifest.json",
|
||||
@@ -141,6 +147,13 @@ def verify_package(
|
||||
add_check(checks, failures, "archive-safe-paths", not unsafe_entries, "Archive has no absolute or parent-traversal entries")
|
||||
for entry in required_entries:
|
||||
add_check(checks, failures, f"archive-entry-{entry}", entry in archive_entries, f"Archive contains {entry}")
|
||||
add_check(
|
||||
checks,
|
||||
failures,
|
||||
"archive-single-skill-entrypoint",
|
||||
not nested_skill_entries,
|
||||
"Archive exposes only the root SKILL.md entrypoint",
|
||||
)
|
||||
generated_entries = generated_zip_entries(archive_entries)
|
||||
add_check(checks, failures, "archive-excludes-generated", not generated_entries, "Archive excludes generated dist/, .previews/, and tests/tmp* contents")
|
||||
elif require_zip:
|
||||
@@ -189,6 +202,7 @@ def verify_package(
|
||||
"archive_present": archive_path.exists(),
|
||||
"archive_sha256": archive_sha,
|
||||
"archive_entry_count": len(archive_entries),
|
||||
"nested_skill_entry_count": len(non_root_skill_entries(archive_entries, package_root)),
|
||||
"failure_count": len(failures),
|
||||
"warning_count": len(warnings),
|
||||
},
|
||||
@@ -213,6 +227,7 @@ def render_markdown(report: dict[str, Any]) -> str:
|
||||
f"- Targets: `{summary['adapter_count']} / {summary['target_count']}` adapters present",
|
||||
f"- Archive present: `{summary['archive_present']}`",
|
||||
f"- Archive SHA256: `{summary['archive_sha256'] or 'n/a'}`",
|
||||
f"- Nested SKILL.md entries: `{summary.get('nested_skill_entry_count', 0)}`",
|
||||
f"- Failures: `{summary['failure_count']}`",
|
||||
f"- Warnings: `{summary['warning_count']}`",
|
||||
"",
|
||||
|
||||
@@ -38,6 +38,11 @@ from yao_cli_output_commands import (
|
||||
command_output_review_import,
|
||||
command_output_review_kit,
|
||||
)
|
||||
from yao_cli_operator_commands import (
|
||||
command_install_status,
|
||||
command_localized_doc_sync_check,
|
||||
command_pr_review_report,
|
||||
)
|
||||
from yao_cli_parser import build_parser as build_cli_parser
|
||||
from yao_cli_report_commands import (
|
||||
command_artifact_design_profile,
|
||||
|
||||
@@ -0,0 +1,424 @@
|
||||
"""Operator UX commands for installation, docs sync, and PR review evidence."""
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import shutil
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from yao_cli_runtime import ROOT
|
||||
|
||||
|
||||
SCRIPT_INTERFACE = "internal-module"
|
||||
SCRIPT_INTERFACE_REASON = "Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics."
|
||||
|
||||
|
||||
DEFAULT_DOC_PAIRS = [
|
||||
{
|
||||
"key": "skill-os-2-upgrade",
|
||||
"source": "## Skill OS 2.0 Upgrade",
|
||||
"localized": "## Skill OS 2.0 升级",
|
||||
},
|
||||
{
|
||||
"key": "from-1-to-2",
|
||||
"source": "## From 1.0 to 2.0",
|
||||
"localized": "## 从 1.0 到 2.0",
|
||||
},
|
||||
{
|
||||
"key": "use-cases",
|
||||
"source": "## 2.0 Use Cases",
|
||||
"localized": "## 2.0 使用场景",
|
||||
},
|
||||
{
|
||||
"key": "operator-ux",
|
||||
"source": "## Operator UX Commands",
|
||||
"localized": "## Operator UX 命令",
|
||||
},
|
||||
{
|
||||
"key": "architecture",
|
||||
"source": "## Architecture",
|
||||
"localized": "## 架构图",
|
||||
},
|
||||
{
|
||||
"key": "benchmark",
|
||||
"source": "## Weighted Quality Benchmark",
|
||||
"localized": "## 加权质量评测",
|
||||
},
|
||||
{
|
||||
"key": "claim-boundary",
|
||||
"source": 'Current posture: the repository is ready for beta and external testing',
|
||||
"localized": "当前发布口径:仓库已经适合进入测试版和外部试用",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def _expand(path: str) -> Path:
|
||||
return Path(path).expanduser().resolve()
|
||||
|
||||
|
||||
def _display(path: Path) -> str:
|
||||
try:
|
||||
return str(path.relative_to(Path.home()))
|
||||
except ValueError:
|
||||
return str(path)
|
||||
|
||||
|
||||
def _skill_path_status(root: Path, skill_name: str, expected_source: Path) -> dict[str, Any]:
|
||||
path = root / skill_name
|
||||
exists = path.exists()
|
||||
resolved = path.resolve() if exists or path.is_symlink() else path
|
||||
has_skill_md = (path / "SKILL.md").exists()
|
||||
return {
|
||||
"root": str(root),
|
||||
"path": str(path),
|
||||
"exists": exists,
|
||||
"is_symlink": path.is_symlink(),
|
||||
"resolved": str(resolved),
|
||||
"has_skill_md": has_skill_md,
|
||||
"points_to_expected_source": resolved == expected_source,
|
||||
}
|
||||
|
||||
|
||||
def _recommend_install_status(codex: dict[str, Any], agents: dict[str, Any], disabled: dict[str, Any]) -> list[str]:
|
||||
recommendations = []
|
||||
if codex["has_skill_md"]:
|
||||
recommendations.append("Codex/Cortex can discover this skill through .codex/skills; restart the app if the list looks stale.")
|
||||
if agents["has_skill_md"]:
|
||||
recommendations.append("The skill is also active under .agents/skills; expect a duplicate entry when this repo is open.")
|
||||
if not codex["has_skill_md"] and not agents["has_skill_md"] and disabled["has_skill_md"]:
|
||||
recommendations.append("Only the disabled mirror exists; run make sync-active-install or add a .codex/skills symlink to activate it.")
|
||||
if not codex["has_skill_md"] and not agents["has_skill_md"] and not disabled["has_skill_md"]:
|
||||
recommendations.append("No active or disabled install was found for this skill name.")
|
||||
if codex["has_skill_md"] and not codex["points_to_expected_source"]:
|
||||
recommendations.append("The .codex/skills entry points somewhere else; inspect the symlink before editing or syncing.")
|
||||
if not recommendations:
|
||||
recommendations.append("No action required.")
|
||||
return recommendations
|
||||
|
||||
|
||||
def command_install_status(args: argparse.Namespace) -> int:
|
||||
skill_name = args.skill_name
|
||||
expected_source = _expand(args.expected_source)
|
||||
codex_root = _expand(args.codex_root)
|
||||
agents_root = _expand(args.agents_root)
|
||||
disabled_root = _expand(args.disabled_root)
|
||||
|
||||
codex = _skill_path_status(codex_root, skill_name, expected_source)
|
||||
agents = _skill_path_status(agents_root, skill_name, expected_source)
|
||||
disabled = _skill_path_status(disabled_root, skill_name, expected_source)
|
||||
active_locations = [name for name, item in (("codex", codex), ("agents", agents)) if item["has_skill_md"]]
|
||||
report = {
|
||||
"ok": True,
|
||||
"skill_name": skill_name,
|
||||
"expected_source": str(expected_source),
|
||||
"summary": {
|
||||
"codex_active": codex["has_skill_md"],
|
||||
"agents_active": agents["has_skill_md"],
|
||||
"disabled_mirror": disabled["has_skill_md"],
|
||||
"active_location_count": len(active_locations),
|
||||
"duplicate_active": len(active_locations) > 1,
|
||||
"active_locations": active_locations,
|
||||
},
|
||||
"locations": {
|
||||
"codex": codex,
|
||||
"agents": agents,
|
||||
"disabled": disabled,
|
||||
},
|
||||
"recommendations": _recommend_install_status(codex, agents, disabled),
|
||||
}
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 0
|
||||
|
||||
|
||||
def _load_pairs(raw_pairs: list[str]) -> list[dict[str, str]]:
|
||||
if not raw_pairs:
|
||||
return DEFAULT_DOC_PAIRS
|
||||
pairs = []
|
||||
for raw in raw_pairs:
|
||||
parts = raw.split("::")
|
||||
if len(parts) != 3:
|
||||
raise ValueError("--pair must use key::source-marker::localized-marker")
|
||||
pairs.append({"key": parts[0], "source": parts[1], "localized": parts[2]})
|
||||
return pairs
|
||||
|
||||
|
||||
def _write_json(path: str | None, payload: dict[str, Any]) -> None:
|
||||
if not path:
|
||||
return
|
||||
target = _expand(path)
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
target.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def _write_docs_sync_md(path: str | None, payload: dict[str, Any]) -> None:
|
||||
if not path:
|
||||
return
|
||||
target = _expand(path)
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
lines = [
|
||||
"# Localized Docs Sync Check",
|
||||
"",
|
||||
f"- ok: `{str(payload['ok']).lower()}`",
|
||||
f"- source: `{payload['source']}`",
|
||||
f"- localized: `{payload['localized']}`",
|
||||
f"- checked: `{payload['summary']['checked_count']}`",
|
||||
f"- missing: `{payload['summary']['missing_count']}`",
|
||||
f"- skipped: `{payload['summary']['skipped_count']}`",
|
||||
"",
|
||||
"## Pairs",
|
||||
"",
|
||||
]
|
||||
for item in payload["pairs"]:
|
||||
lines.append(f"- `{item['key']}`: `{item['status']}`")
|
||||
target.write_text("\n".join(lines) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def command_localized_doc_sync_check(args: argparse.Namespace) -> int:
|
||||
source_path = _expand(args.source)
|
||||
localized_path = _expand(args.localized)
|
||||
try:
|
||||
pairs = _load_pairs(args.pair)
|
||||
except ValueError as exc:
|
||||
report = {
|
||||
"ok": False,
|
||||
"source": str(source_path),
|
||||
"localized": str(localized_path),
|
||||
"summary": {"checked_count": 0, "missing_count": 0, "skipped_count": 0},
|
||||
"pairs": [],
|
||||
"missing": [],
|
||||
"failures": [str(exc)],
|
||||
}
|
||||
_write_json(args.output_json, report)
|
||||
_write_docs_sync_md(args.output_md, report)
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 2
|
||||
missing_paths = [str(path) for path in (source_path, localized_path) if not path.exists()]
|
||||
if missing_paths:
|
||||
report = {
|
||||
"ok": False,
|
||||
"source": str(source_path),
|
||||
"localized": str(localized_path),
|
||||
"summary": {"checked_count": 0, "missing_count": 0, "skipped_count": 0},
|
||||
"pairs": [],
|
||||
"missing": [],
|
||||
"failures": [f"Missing docs file: {path}" for path in missing_paths],
|
||||
}
|
||||
_write_json(args.output_json, report)
|
||||
_write_docs_sync_md(args.output_md, report)
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 2
|
||||
source_text = source_path.read_text(encoding="utf-8")
|
||||
localized_text = localized_path.read_text(encoding="utf-8")
|
||||
results = []
|
||||
for pair in pairs:
|
||||
source_present = pair["source"] in source_text
|
||||
localized_present = pair["localized"] in localized_text
|
||||
if not source_present:
|
||||
status = "skipped-source-missing"
|
||||
elif localized_present:
|
||||
status = "pass"
|
||||
else:
|
||||
status = "missing-localized-marker"
|
||||
results.append(
|
||||
{
|
||||
**pair,
|
||||
"source_present": source_present,
|
||||
"localized_present": localized_present,
|
||||
"status": status,
|
||||
}
|
||||
)
|
||||
missing = [item for item in results if item["status"] == "missing-localized-marker"]
|
||||
checked = [item for item in results if item["source_present"]]
|
||||
report = {
|
||||
"ok": not missing,
|
||||
"source": str(source_path),
|
||||
"localized": str(localized_path),
|
||||
"summary": {
|
||||
"checked_count": len(checked),
|
||||
"missing_count": len(missing),
|
||||
"skipped_count": len(results) - len(checked),
|
||||
},
|
||||
"pairs": results,
|
||||
"missing": missing,
|
||||
}
|
||||
_write_json(args.output_json, report)
|
||||
_write_docs_sync_md(args.output_md, report)
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 0 if report["ok"] else 2
|
||||
|
||||
|
||||
def _run_gh(args: list[str]) -> subprocess.CompletedProcess[str]:
|
||||
return subprocess.run(["gh", *args], capture_output=True, text=True)
|
||||
|
||||
|
||||
def _gh_available() -> bool:
|
||||
return shutil.which("gh") is not None
|
||||
|
||||
|
||||
def _review_depth(changed_files: int, changed_lines: int) -> str:
|
||||
if changed_files <= 5 and changed_lines < 100:
|
||||
return "quick"
|
||||
if changed_files <= 10 and changed_lines < 500:
|
||||
return "standard"
|
||||
return "deep"
|
||||
|
||||
|
||||
def _check_summary(checks: list[dict[str, Any]]) -> dict[str, Any]:
|
||||
pending = []
|
||||
failed = []
|
||||
passed = []
|
||||
for item in checks:
|
||||
name = str(item.get("name") or item.get("workflowName") or "check")
|
||||
status = str(item.get("status") or "").upper()
|
||||
conclusion = str(item.get("conclusion") or "").upper()
|
||||
if status and status != "COMPLETED":
|
||||
pending.append(name)
|
||||
elif conclusion in {"SUCCESS", "SKIPPED", "NEUTRAL"}:
|
||||
passed.append(name)
|
||||
else:
|
||||
failed.append(name)
|
||||
return {
|
||||
"present": bool(checks),
|
||||
"passed_count": len(passed),
|
||||
"pending_count": len(pending),
|
||||
"failed_count": len(failed),
|
||||
"passed": passed,
|
||||
"pending": pending,
|
||||
"failed": failed,
|
||||
}
|
||||
|
||||
|
||||
def _pr_decision(view: dict[str, Any], checks: dict[str, Any], require_checks: bool) -> str:
|
||||
if view.get("state") != "OPEN":
|
||||
return "not-open"
|
||||
if view.get("isDraft"):
|
||||
return "draft"
|
||||
if view.get("mergeable") not in {"MERGEABLE", "UNKNOWN"}:
|
||||
return "not-mergeable"
|
||||
if checks["failed_count"]:
|
||||
return "fix-failing-checks"
|
||||
if checks["pending_count"]:
|
||||
return "wait-for-checks"
|
||||
if require_checks and not checks["present"]:
|
||||
return "checks-required"
|
||||
if not checks["present"]:
|
||||
return "local-verification-required"
|
||||
return "mergeable-after-review"
|
||||
|
||||
|
||||
def _write_pr_review_md(path: str | None, payload: dict[str, Any]) -> None:
|
||||
if not path:
|
||||
return
|
||||
target = _expand(path)
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
lines = [
|
||||
"# PR Review Report",
|
||||
"",
|
||||
f"- ok: `{str(payload['ok']).lower()}`",
|
||||
f"- PR: `{payload['pr']}`",
|
||||
f"- repo: `{payload.get('repo') or 'current'}`",
|
||||
f"- decision: `{payload['decision']}`",
|
||||
f"- review depth: `{payload['review_depth']}`",
|
||||
f"- changed files: `{payload['summary']['changed_files']}`",
|
||||
f"- additions: `{payload['summary']['additions']}`",
|
||||
f"- deletions: `{payload['summary']['deletions']}`",
|
||||
f"- checks present: `{str(payload['checks']['present']).lower()}`",
|
||||
"",
|
||||
"## Files",
|
||||
"",
|
||||
]
|
||||
for path_item in payload["files"]:
|
||||
lines.append(f"- `{path_item}`")
|
||||
lines.extend(["", "## Suggested Commands", ""])
|
||||
for command in payload["suggested_commands"]:
|
||||
lines.append(f"- `{command}`")
|
||||
target.write_text("\n".join(lines) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def command_pr_review_report(args: argparse.Namespace) -> int:
|
||||
if not _gh_available():
|
||||
report = {
|
||||
"ok": False,
|
||||
"pr": args.pr,
|
||||
"repo": args.repo,
|
||||
"decision": "missing-gh-cli",
|
||||
"failures": ["GitHub CLI `gh` is not available on PATH."],
|
||||
}
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 2
|
||||
|
||||
fields = ",".join(
|
||||
[
|
||||
"number",
|
||||
"title",
|
||||
"state",
|
||||
"isDraft",
|
||||
"mergeable",
|
||||
"author",
|
||||
"baseRefName",
|
||||
"headRefName",
|
||||
"url",
|
||||
"additions",
|
||||
"deletions",
|
||||
"changedFiles",
|
||||
"commits",
|
||||
"statusCheckRollup",
|
||||
"reviewDecision",
|
||||
"maintainerCanModify",
|
||||
]
|
||||
)
|
||||
view_args = ["pr", "view", args.pr, "--json", fields]
|
||||
diff_args = ["pr", "diff", args.pr, "--name-only"]
|
||||
if args.repo:
|
||||
view_args.extend(["--repo", args.repo])
|
||||
diff_args.extend(["--repo", args.repo])
|
||||
view_proc = _run_gh(view_args)
|
||||
if view_proc.returncode != 0:
|
||||
report = {
|
||||
"ok": False,
|
||||
"pr": args.pr,
|
||||
"repo": args.repo,
|
||||
"decision": "gh-pr-view-failed",
|
||||
"returncode": view_proc.returncode,
|
||||
"stderr": view_proc.stderr.strip(),
|
||||
}
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 2
|
||||
view = json.loads(view_proc.stdout)
|
||||
diff_proc = _run_gh(diff_args)
|
||||
files = [line.strip() for line in diff_proc.stdout.splitlines() if line.strip()] if diff_proc.returncode == 0 else []
|
||||
checks = _check_summary(view.get("statusCheckRollup") or [])
|
||||
changed_lines = int(view.get("additions") or 0) + int(view.get("deletions") or 0)
|
||||
depth = _review_depth(int(view.get("changedFiles") or len(files)), changed_lines)
|
||||
decision = _pr_decision(view, checks, args.require_checks)
|
||||
report = {
|
||||
"ok": decision not in {"missing-gh-cli", "gh-pr-view-failed", "checks-required", "fix-failing-checks", "not-mergeable", "draft", "not-open"},
|
||||
"pr": str(view.get("number", args.pr)),
|
||||
"repo": args.repo,
|
||||
"url": view.get("url", ""),
|
||||
"title": view.get("title", ""),
|
||||
"state": view.get("state", ""),
|
||||
"mergeable": view.get("mergeable", ""),
|
||||
"decision": decision,
|
||||
"review_depth": depth,
|
||||
"summary": {
|
||||
"changed_files": int(view.get("changedFiles") or len(files)),
|
||||
"additions": int(view.get("additions") or 0),
|
||||
"deletions": int(view.get("deletions") or 0),
|
||||
"commit_count": len(view.get("commits") or []),
|
||||
"maintainer_can_modify": bool(view.get("maintainerCanModify")),
|
||||
},
|
||||
"checks": checks,
|
||||
"files": files,
|
||||
"suggested_commands": [
|
||||
f"gh pr view {args.pr}{' --repo ' + args.repo if args.repo else ''} --json number,title,state,mergeable,statusCheckRollup",
|
||||
f"gh pr diff {args.pr}{' --repo ' + args.repo if args.repo else ''} --name-only",
|
||||
f"git fetch origin pull/{args.pr}/head:refs/tmp/pr-{args.pr}",
|
||||
f"git diff --check origin/main...refs/tmp/pr-{args.pr}",
|
||||
],
|
||||
}
|
||||
_write_json(args.output_json, report)
|
||||
_write_pr_review_md(args.output_md, report)
|
||||
print(json.dumps(report, ensure_ascii=False, indent=2))
|
||||
return 0 if report["ok"] else 2
|
||||
@@ -5,6 +5,7 @@ import argparse
|
||||
from collections.abc import Callable
|
||||
|
||||
from yao_cli_parser_evidence import add_evidence_commands
|
||||
from yao_cli_parser_operator import add_operator_commands
|
||||
from yao_cli_parser_operations import add_operating_loop_commands
|
||||
|
||||
|
||||
@@ -299,6 +300,7 @@ def build_parser(command_handlers: dict[str, Callable[[argparse.Namespace], int]
|
||||
feedback_cmd.add_argument("--recommended-action", default="review")
|
||||
feedback_cmd.set_defaults(func=_handler(command_handlers, "command_feedback"))
|
||||
|
||||
add_operator_commands(subparsers, command_handlers)
|
||||
add_operating_loop_commands(subparsers, command_handlers)
|
||||
|
||||
baseline_compare_cmd = subparsers.add_parser(
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Operator UX command declarations for the Yao CLI parser."""
|
||||
|
||||
import argparse
|
||||
from collections.abc import Callable
|
||||
|
||||
|
||||
SCRIPT_INTERFACE = "internal-module"
|
||||
SCRIPT_INTERFACE_REASON = "Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module."
|
||||
|
||||
|
||||
def _handler(command_handlers: dict[str, Callable[[argparse.Namespace], int]], name: str) -> Callable[[argparse.Namespace], int]:
|
||||
if name not in command_handlers:
|
||||
raise KeyError(f"Missing CLI command handler: {name}")
|
||||
return command_handlers[name]
|
||||
|
||||
|
||||
def add_operator_commands(
|
||||
subparsers: argparse._SubParsersAction,
|
||||
command_handlers: dict[str, Callable[[argparse.Namespace], int]],
|
||||
) -> None:
|
||||
install_status_cmd = subparsers.add_parser(
|
||||
"install-status",
|
||||
help="Diagnose whether yao-meta-skill is active in Codex/Cortex, .agents, or a disabled mirror.",
|
||||
)
|
||||
install_status_cmd.add_argument("--skill-name", default="yao-meta-skill")
|
||||
install_status_cmd.add_argument("--expected-source", default=".")
|
||||
install_status_cmd.add_argument("--codex-root", default="~/.codex/skills")
|
||||
install_status_cmd.add_argument("--agents-root", default="~/.agents/skills")
|
||||
install_status_cmd.add_argument("--disabled-root", default="~/.agents/skills.disabled")
|
||||
install_status_cmd.set_defaults(func=_handler(command_handlers, "command_install_status"))
|
||||
|
||||
localized_docs_cmd = subparsers.add_parser(
|
||||
"localized-doc-sync-check",
|
||||
help="Check that localized README docs contain the public homepage sections introduced in README.md.",
|
||||
)
|
||||
localized_docs_cmd.add_argument("--source", default="README.md")
|
||||
localized_docs_cmd.add_argument("--localized", default="docs/README.zh-CN.md")
|
||||
localized_docs_cmd.add_argument(
|
||||
"--pair",
|
||||
action="append",
|
||||
default=[],
|
||||
help="Custom sync marker in key::source-marker::localized-marker form. Replaces defaults when present.",
|
||||
)
|
||||
localized_docs_cmd.add_argument("--output-json")
|
||||
localized_docs_cmd.add_argument("--output-md")
|
||||
localized_docs_cmd.set_defaults(func=_handler(command_handlers, "command_localized_doc_sync_check"))
|
||||
|
||||
pr_review_cmd = subparsers.add_parser(
|
||||
"pr-review-report",
|
||||
help="Build a read-only GitHub PR review report with mergeability, checks, files, and suggested commands.",
|
||||
)
|
||||
pr_review_cmd.add_argument("pr")
|
||||
pr_review_cmd.add_argument("--repo")
|
||||
pr_review_cmd.add_argument("--require-checks", action="store_true")
|
||||
pr_review_cmd.add_argument("--output-json")
|
||||
pr_review_cmd.add_argument("--output-md")
|
||||
pr_review_cmd.set_defaults(func=_handler(command_handlers, "command_pr_review_report"))
|
||||
@@ -254,10 +254,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py"
|
||||
|
||||
@@ -166,10 +166,12 @@
|
||||
"scripts/yao_cli_config.py",
|
||||
"scripts/yao_cli_create_commands.py",
|
||||
"scripts/yao_cli_distribution_commands.py",
|
||||
"scripts/yao_cli_operator_commands.py",
|
||||
"scripts/yao_cli_output_commands.py",
|
||||
"scripts/yao_cli_parser.py",
|
||||
"scripts/yao_cli_parser_evidence.py",
|
||||
"scripts/yao_cli_parser_operations.py",
|
||||
"scripts/yao_cli_parser_operator.py",
|
||||
"scripts/yao_cli_report_commands.py",
|
||||
"scripts/yao_cli_runtime.py",
|
||||
"scripts/yao_cli_telemetry.py",
|
||||
@@ -585,75 +587,6 @@
|
||||
"candidate_count": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"description": "Create GEO ranking-article packs from brand briefs. Use when asked to research a brand, find GEO or 生成式引擎优化 keywords and five competitors, generate timely titles, write five ~2000-character articles, and save them to a fixed knowledge-base folder with an HTML index. Do not use for generic SEO advice, one-off copy, or writing without competitor research.",
|
||||
"owner": "",
|
||||
"version": "",
|
||||
"status": "",
|
||||
"maturity": "",
|
||||
"updated_at": "",
|
||||
"review_cadence": "",
|
||||
"targets": [],
|
||||
"resources": [
|
||||
"scripts/build_html_index.py",
|
||||
"references/article-blueprint.md",
|
||||
"references/feishu-benchmark-patterns.md",
|
||||
"references/geo-research-playbook.md",
|
||||
"templates/brand-brief-template.md"
|
||||
],
|
||||
"token_set": [
|
||||
"2000-character",
|
||||
"advice",
|
||||
"articles",
|
||||
"asked",
|
||||
"brand",
|
||||
"briefs",
|
||||
"competitor",
|
||||
"competitors",
|
||||
"copy",
|
||||
"do",
|
||||
"find",
|
||||
"five",
|
||||
"fixed",
|
||||
"folder",
|
||||
"generate",
|
||||
"generic",
|
||||
"geo",
|
||||
"html",
|
||||
"index",
|
||||
"keywords",
|
||||
"knowledge-base",
|
||||
"not",
|
||||
"one-off",
|
||||
"or",
|
||||
"packs",
|
||||
"ranking-article",
|
||||
"research",
|
||||
"save",
|
||||
"seo",
|
||||
"them",
|
||||
"timely",
|
||||
"titles",
|
||||
"without",
|
||||
"write",
|
||||
"writing",
|
||||
"生成式引擎优化"
|
||||
],
|
||||
"atlas_scope": "embedded-generated-skill",
|
||||
"actionable": false,
|
||||
"scope_reason": "This nested generated skill is retained as local evidence and should not gate the root Meta Skill release.",
|
||||
"telemetry": {
|
||||
"report_present": false,
|
||||
"report": "geo-ranking-article-generator/reports/adoption_drift_report.json",
|
||||
"risk_band": "missing",
|
||||
"event_count": 0,
|
||||
"adoption_sample_count": 0,
|
||||
"adoption_rate": 0,
|
||||
"candidate_count": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
@@ -752,19 +685,19 @@
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"skill_count": 12,
|
||||
"skill_count": 11,
|
||||
"actionable_skill_count": 1,
|
||||
"route_collision_count": 5,
|
||||
"actionable_route_collision_count": 0,
|
||||
"owner_gap_count": 9,
|
||||
"owner_gap_count": 8,
|
||||
"actionable_owner_gap_count": 0,
|
||||
"stale_count": 10,
|
||||
"stale_count": 9,
|
||||
"actionable_stale_count": 0,
|
||||
"shared_resource_count": 0,
|
||||
"no_route_opportunity_count": 0,
|
||||
"telemetry_report_count": 1,
|
||||
"drift_signal_count": 0,
|
||||
"actionable_drift_signal_count": 0,
|
||||
"non_actionable_issue_count": 24
|
||||
"non_actionable_issue_count": 22
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
"name": "frontend-review",
|
||||
"path": "examples/team-frontend-review/generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest"
|
||||
|
||||
@@ -54,17 +54,6 @@
|
||||
"actionable": false,
|
||||
"scope": "example"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"missing": [
|
||||
"owner",
|
||||
"review_cadence",
|
||||
"maturity"
|
||||
],
|
||||
"actionable": false,
|
||||
"scope": "embedded-generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
|
||||
@@ -6,7 +6,6 @@ yao-meta-skill,frontend-review,.,examples/evolution-frontend-review/v1,0.029,cle
|
||||
yao-meta-skill,incident-command-governor,.,examples/governed-incident-command/generated-skill,0.034,clear,False,release,example
|
||||
yao-meta-skill,note-cleanup,.,examples/simple-note-cleanup/generated-skill,0.061,clear,False,release,example
|
||||
yao-meta-skill,frontend-review,.,examples/team-frontend-review/generated-skill,0.029,clear,False,release,example
|
||||
yao-meta-skill,geo-ranking-article-generator,.,geo-ranking-article-generator,0.02,clear,False,release,embedded-generated-skill
|
||||
yao-meta-skill,invalid-governance-skill,.,tests/fixtures/governance_invalid_manifest,0.0,clear,False,release,test-fixture
|
||||
yao-meta-skill,broken-yaml-skill,.,tests/fixtures/package_invalid_yaml,0.0,clear,False,release,test-fixture
|
||||
yao-meta-skill,broken-skill,.,tests/fixtures/package_missing_interface_field,0.0,clear,False,release,test-fixture
|
||||
@@ -16,7 +15,6 @@ release-orchestrator,frontend-review,examples/complex-release-orchestrator/gener
|
||||
release-orchestrator,incident-command-governor,examples/complex-release-orchestrator/generated-skill,examples/governed-incident-command/generated-skill,0.116,clear,False,example,example
|
||||
release-orchestrator,note-cleanup,examples/complex-release-orchestrator/generated-skill,examples/simple-note-cleanup/generated-skill,0.06,clear,False,example,example
|
||||
release-orchestrator,frontend-review,examples/complex-release-orchestrator/generated-skill,examples/team-frontend-review/generated-skill,0.059,clear,False,example,example
|
||||
release-orchestrator,geo-ranking-article-generator,examples/complex-release-orchestrator/generated-skill,geo-ranking-article-generator,0.094,clear,False,example,embedded-generated-skill
|
||||
release-orchestrator,invalid-governance-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
release-orchestrator,broken-yaml-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
release-orchestrator,broken-skill,examples/complex-release-orchestrator/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
@@ -25,7 +23,6 @@ frontend-review,frontend-review,examples/evolution-frontend-review/final,example
|
||||
frontend-review,incident-command-governor,examples/evolution-frontend-review/final,examples/governed-incident-command/generated-skill,0.094,clear,False,example,example
|
||||
frontend-review,note-cleanup,examples/evolution-frontend-review/final,examples/simple-note-cleanup/generated-skill,0.053,clear,False,example,example
|
||||
frontend-review,frontend-review,examples/evolution-frontend-review/final,examples/team-frontend-review/generated-skill,0.64,collision,False,example,example
|
||||
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/final,geo-ranking-article-generator,0.036,clear,False,example,embedded-generated-skill
|
||||
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/final,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/final,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-skill,examples/evolution-frontend-review/final,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
@@ -33,35 +30,27 @@ frontend-review,frontend-review,examples/evolution-frontend-review/v0,examples/e
|
||||
frontend-review,incident-command-governor,examples/evolution-frontend-review/v0,examples/governed-incident-command/generated-skill,0.056,clear,False,example,example
|
||||
frontend-review,note-cleanup,examples/evolution-frontend-review/v0,examples/simple-note-cleanup/generated-skill,0.0,clear,False,example,example
|
||||
frontend-review,frontend-review,examples/evolution-frontend-review/v0,examples/team-frontend-review/generated-skill,0.136,clear,False,example,example
|
||||
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/v0,geo-ranking-article-generator,0.0,clear,False,example,embedded-generated-skill
|
||||
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/v0,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/v0,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-skill,examples/evolution-frontend-review/v0,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
frontend-review,incident-command-governor,examples/evolution-frontend-review/v1,examples/governed-incident-command/generated-skill,0.097,clear,False,example,example
|
||||
frontend-review,note-cleanup,examples/evolution-frontend-review/v1,examples/simple-note-cleanup/generated-skill,0.054,clear,False,example,example
|
||||
frontend-review,frontend-review,examples/evolution-frontend-review/v1,examples/team-frontend-review/generated-skill,0.538,collision,False,example,example
|
||||
frontend-review,geo-ranking-article-generator,examples/evolution-frontend-review/v1,geo-ranking-article-generator,0.037,clear,False,example,embedded-generated-skill
|
||||
frontend-review,invalid-governance-skill,examples/evolution-frontend-review/v1,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-yaml-skill,examples/evolution-frontend-review/v1,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-skill,examples/evolution-frontend-review/v1,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
incident-command-governor,note-cleanup,examples/governed-incident-command/generated-skill,examples/simple-note-cleanup/generated-skill,0.065,clear,False,example,example
|
||||
incident-command-governor,frontend-review,examples/governed-incident-command/generated-skill,examples/team-frontend-review/generated-skill,0.133,clear,False,example,example
|
||||
incident-command-governor,geo-ranking-article-generator,examples/governed-incident-command/generated-skill,geo-ranking-article-generator,0.042,clear,False,example,embedded-generated-skill
|
||||
incident-command-governor,invalid-governance-skill,examples/governed-incident-command/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
incident-command-governor,broken-yaml-skill,examples/governed-incident-command/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
incident-command-governor,broken-skill,examples/governed-incident-command/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
note-cleanup,frontend-review,examples/simple-note-cleanup/generated-skill,examples/team-frontend-review/generated-skill,0.054,clear,False,example,example
|
||||
note-cleanup,geo-ranking-article-generator,examples/simple-note-cleanup/generated-skill,geo-ranking-article-generator,0.038,clear,False,example,embedded-generated-skill
|
||||
note-cleanup,invalid-governance-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
note-cleanup,broken-yaml-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
note-cleanup,broken-skill,examples/simple-note-cleanup/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
frontend-review,geo-ranking-article-generator,examples/team-frontend-review/generated-skill,geo-ranking-article-generator,0.037,clear,False,example,embedded-generated-skill
|
||||
frontend-review,invalid-governance-skill,examples/team-frontend-review/generated-skill,tests/fixtures/governance_invalid_manifest,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-yaml-skill,examples/team-frontend-review/generated-skill,tests/fixtures/package_invalid_yaml,0.0,clear,False,example,test-fixture
|
||||
frontend-review,broken-skill,examples/team-frontend-review/generated-skill,tests/fixtures/package_missing_interface_field,0.0,clear,False,example,test-fixture
|
||||
geo-ranking-article-generator,invalid-governance-skill,geo-ranking-article-generator,tests/fixtures/governance_invalid_manifest,0.0,clear,False,embedded-generated-skill,test-fixture
|
||||
geo-ranking-article-generator,broken-yaml-skill,geo-ranking-article-generator,tests/fixtures/package_invalid_yaml,0.0,clear,False,embedded-generated-skill,test-fixture
|
||||
geo-ranking-article-generator,broken-skill,geo-ranking-article-generator,tests/fixtures/package_missing_interface_field,0.0,clear,False,embedded-generated-skill,test-fixture
|
||||
invalid-governance-skill,broken-yaml-skill,tests/fixtures/governance_invalid_manifest,tests/fixtures/package_invalid_yaml,0.111,clear,False,test-fixture,test-fixture
|
||||
invalid-governance-skill,broken-skill,tests/fixtures/governance_invalid_manifest,tests/fixtures/package_missing_interface_field,0.125,clear,False,test-fixture,test-fixture
|
||||
broken-yaml-skill,broken-skill,tests/fixtures/package_invalid_yaml,tests/fixtures/package_missing_interface_field,0.833,collision,False,test-fixture,test-fixture
|
||||
|
||||
|
@@ -43,13 +43,6 @@
|
||||
"actionable": false,
|
||||
"scope": "example"
|
||||
},
|
||||
{
|
||||
"name": "geo-ranking-article-generator",
|
||||
"path": "geo-ranking-article-generator",
|
||||
"reason": "missing updated_at",
|
||||
"actionable": false,
|
||||
"scope": "embedded-generated-skill"
|
||||
},
|
||||
{
|
||||
"name": "invalid-governance-skill",
|
||||
"path": "tests/fixtures/governance_invalid_manifest",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user