From 210859aa71d8baadd6a800895c811af42bff19b0 Mon Sep 17 00:00:00 2001 From: mosheabr <257371078+mosheabr@users.noreply.github.com> Date: Mon, 26 Oct 2026 15:38:32 +0000 Subject: [PATCH] chore: sync skills (Data Designer) --- skills/data-designer/BENCHMARK.md | 173 ++++++++++++++++++++--------- skills/data-designer/SKILL.md | 2 +- skills/data-designer/skill-card.md | 66 ++++++----- skills/data-designer/skill.oms.sig | 2 +- 4 files changed, 158 insertions(+), 85 deletions(-) diff --git a/skills/data-designer/BENCHMARK.md b/skills/data-designer/BENCHMARK.md index 90d2c152c..ae9cb0e65 100644 --- a/skills/data-designer/BENCHMARK.md +++ b/skills/data-designer/BENCHMARK.md @@ -1,82 +1,145 @@ -# Evaluation Report +# Skill Benchmark: data-designer -Evaluation of the `data-designer` skill before publication through NVSkills-Eval. +> ✅ **Overall verdict: PASS — Recommended for publication** -This benchmark summarizes 3-Tier Evaluation from NVSkills-Eval results for the skill. The goal is to document whether the skill is safe, discoverable, effective, and useful for agents before it is published for broader workflow use. +## Publication Recommendation + +Recommended for publication based on the completed evaluation evidence in this report. -## Evaluation Summary +## Evaluation Metadata - Skill: `data-designer` -- Evaluation date: 2026-06-02 -- NVSkills-Eval profile: `external` -- Environment: `local` -- Dataset: 4 evaluation tasks -- Attempts per task: 2 -- Pass threshold: 50% -- Overall verdict: PASS +- Validation status: `passed` +- Evaluation date: 2026-10-26 +- Evaluator version: `1.6.2` +- Agents: Claude Code (`aws/anthropic/bedrock-claude-opus-5-5`), Codex (`openai/openai/gpt-6.1-sol`) +- Tasks: 1 evaluation tasks (1 positive) +- Dataset digest: `sha256:deb7bb002c1a418bbb6f2f9a51c88f65380e4befd2e9ccc4e83a1678dd69f436` (skill-evaluator-dataset-snapshot/1) +- Attempts per task: 1 +- Environment: `k8s-sandbox` +- Tier 2 evidence: required for publication +- Tier 3 evidence: required for publication -## Agents Used +Each task attempt ran in its own isolated sandbox pod. -- `claude-code` -- `codex` +## Tier 1 LLM Provenance -## Metrics Used +SkillSpector provider, model, analyzer revision, and determinism evidence retained for this scan. -Reported benchmark dimensions: +| Skill | Provider | Adapter | Analyzer | Model | Revision | Determinism | +| --- | --- | --- | --- | --- | --- | --- | +| data-designer | nv_inference | openai | mcp_tool_poisoning | `aws/anthropic/bedrock-claude-opus-5-5` | `2.13.1` | nondeterministic / provider_defaults | +| data-designer | nv_inference | openai | semantic_developer_intent | `aws/anthropic/bedrock-claude-opus-5-5` | `2.13.1` | nondeterministic / provider_defaults | +| data-designer | nv_inference | openai | semantic_quality_policy | `aws/anthropic/bedrock-claude-opus-5-5` | `2.13.1` | nondeterministic / provider_defaults | +| data-designer | nv_inference | openai | semantic_security_discovery | `aws/anthropic/bedrock-claude-opus-5-5` | `2.13.1` | nondeterministic / provider_defaults | +| data-designer | nv_inference | openai | meta_analyzer | `aws/anthropic/bedrock-claude-opus-5-5` | `2.13.1` | nondeterministic / provider_defaults | -- Security: checks whether skill-assisted execution avoids unsafe behavior such as secret leakage, destructive commands, or unauthorized access. -- Correctness: checks whether the agent follows the expected workflow and produces the correct final output. -- Discoverability: checks whether the agent loads the skill when relevant and avoids using it when irrelevant. -- Effectiveness: checks whether the agent performs measurably better with the skill than without it. -- Efficiency: checks whether the agent uses fewer tokens and avoids redundant work. +- Controls for `data-designer`: temperature=not set (source=provider_default, forwarded=no); seed=not set (source=unset, forwarded=no); reasoning_effort=not set (source=provider_default, forwarded=no) -Underlying evaluation signals used in this run: +## What This Report Answers -- `security` (Security): checks for unsafe operations, secret leakage, and unauthorized access. -- `skill_execution` (Skill Execution): verifies that the agent loaded the expected skill and workflow. -- `skill_efficiency` (Efficiency): checks routing quality, decoy avoidance, and redundant tool usage. -- `accuracy` (Accuracy): grades final-answer correctness against the reference answer. -- `goal_accuracy` (Goal Accuracy): checks whether the overall user task completed successfully. -- `behavior_check` (Behavior Check): verifies expected behavior steps, including safety expectations. -- `token_efficiency` (Token Efficiency): compares token usage with and without the skill. +The three-tier evaluation checks whether the skill: -## Test Tasks +- is safe to use; +- produces correct answers; +- is discovered and activated when needed; +- helps the agent complete the user's goal and expected workflow; and +- avoids wasted skill and tool usage. -The benchmark included 4 recorded Tier 3 trials, but the source evaluation dataset was not available in this report payload. +## Results at a Glance -## Results +| Measure | Claude Code (Baseline → Skill Uplift) | Codex (Baseline → Skill Uplift) | +|---|---:|---:| +| Overall | 96.8% — baseline ran, but no comparable score was available; uplift unavailable | 60.8% — baseline ran, but no comparable score was available; uplift unavailable | +| Security | 100.0% → 100.0% (±0.0 points) | 50.0% → 100.0% (+50.0 points) | +| Correctness | 80.0% → 100.0% (+20.0 points) | 100.0% → 20.0% (-80.0 points) | +| Discoverability | 95.0% — baseline ran, but no comparable score was available; uplift unavailable | 75.0% — baseline ran, but no comparable score was available; uplift unavailable | +| Effectiveness | 87.5% → 100.0% (+12.5 points) | 100.0% → 12.5% (-87.5 points) | +| Efficiency | 88.7% — baseline ran, but no comparable score was available; uplift unavailable | 96.4% — baseline ran, but no comparable score was available; uplift unavailable | -| Dimension | Num | `claude-code` | `codex` | -|---|---:|---:|---:| -| Security | 2 | 100% (+0%) | 100% (+0%) | -| Correctness | 2 | 97% (+8%) | 84% (+0%) | -| Discoverability | 2 | 86% (+28%) | 69% (+4%) | -| Effectiveness | 2 | 97% (-3%) | 97% (+7%) | -| Efficiency | 2 | 64% (+19%) | 62% (+9%) | +**How to read this table:** baseline is the same task attempted without the target skill. Scores are rounded to one decimal; threshold-adjacent values use additional precision so their displayed band matches the verdict. Uplift is derived from those displayed scores and shown in percentage points. -Score values show skill-assisted performance. Values in parentheses show uplift versus the no-skill baseline when baseline data is available. +Example: `47.0% → 92.0% (+45.0 points)` means the skill-assisted run scored 92.0%, 45.0 percentage points above its 47.0% no-skill baseline. -## Tier 1: Static Validation Summary +### Comparison details -Tier 1 validation passed with observations. NVSkills-Eval ran 9 checks and found 14 total findings. +Shared-source comparisons use the same signals and weights on both conditions. They do not replace the full dimension scores above or change the publication verdict. -Top findings: +| Agent | Dimension | Basis | Baseline → With skill (uplift) | Explanation | +| --- | --- | --- | --- | --- | +| claude-code | Discoverability | Dimension comparison | N/A | Discoverability is not applicable to the no-skill baseline; there is no installed skill to discover. | +| claude-code | Efficiency | Token-only comparison | 97.0% → 94.2% (-2.8 points) | Only Token Efficiency is comparable; the full dimension scores use different evaluator sources. | +| codex | Discoverability | Dimension comparison | N/A | Discoverability is not applicable to the no-skill baseline; there is no installed skill to discover. | +| codex | Efficiency | Token-only comparison | 83.8% → 92.8% (+9.0 points) | Only Token Efficiency is comparable; the full dimension scores use different evaluator sources. | -- MEDIUM QUALITY/quality_correctness: No documented scripts in table format (`skills/data-designer/SKILL.md`) -- MEDIUM QUALITY/quality_correctness: Instructions don't mention 'run_script' (`skills/data-designer/SKILL.md`) -- MEDIUM QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.author' (`skills/data-designer/SKILL.md`) -- MEDIUM QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.tags' (`skills/data-designer/SKILL.md`) -- MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (`skills/data-designer/SKILL.md`) +## Token Usage -## Tier 2: Deduplication Summary +Actual Tier 3 execution usage is reported for every observed agent/case pair and both conditions. -Tier 2 validation passed. NVSkills-Eval ran 2 checks and found 0 total findings. +| Agent | Dataset case | With skill | Without skill | Delta | Change | Coverage | +|---|---|---:|---:|---:|---:|---| +| claude-code | All cases | 235,484 | 146,579 | +88,905 | +60.65% | skill 1/1; base 1/1 | +| claude-code | data-designer-001 | 235,484 | 146,579 | +88,905 | +60.65% | skill 1/1; base 1/1 | +| codex | All cases | 58,193 | 288,564 | -230,371 | -79.83% | skill 1/1; base 1/1 | +| codex | data-designer-001 | 58,193 | 288,564 | -230,371 | -79.83% | skill 1/1; base 1/1 | +| ALL AGENTS | Dataset aggregate | 293,677 | 435,143 | -141,466 | -32.51% | skill 2/2; base 2/2 | -Notable observations: +Prompt tokens include cached reads, so total tokens are `prompt + completion` (cached is not added twice). The Efficiency score uses `(prompt - cached) + completion`. Change is `100 * (with - without) / without`; negative means fewer tokens. N/A comparisons include their reason in the coverage column; coverage is never estimated. -- Context Deduplication: Collected 7 file(s) -- Inter-Skill Deduplication: Parsed skill 'data-designer': 106 char description +## Tier Status -## Publication Recommendation +| Tier | Purpose | Status | Evidence | +|---|---|---|---| +| Tier 1 | Static validation | **PASSED WITH OBSERVATIONS** | 11 validator(s); 17 finding(s) | +| Tier 2 | Semantic deduplication | **PASSED** | 2 validator(s); 0 finding(s) | +| Tier 3 | Live agent evaluation | **PASS** | 2 agent(s); 1 task(s) | + +## Findings and Observations + +
+Show detailed findings and successful checks + +- **MEDIUM** QUALITY/quality_correctness: No documented scripts in table format (`skills/data-designer/SKILL.md`) +- **MEDIUM** QUALITY/quality_correctness: Instructions don't mention 'run_script' (`skills/data-designer/SKILL.md`) +- **MEDIUM** QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.author' (`skills/data-designer/SKILL.md`) +- **MEDIUM** QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.tags' (`skills/data-designer/SKILL.md`) +- **MEDIUM** SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (`skills/data-designer/SKILL.md`) +- 12 additional finding(s) are available in the full evaluation artifacts. + +
+ +## Scoring Methodology + +
+Show dimension definitions, source signals, and thresholds + +| Dimension | Question | Scored signals | +|---|---|---| +| Security | Is it safe to use? | `security` (100%) | +| Correctness | Is the answer correct? | `accuracy` (100%) | +| Discoverability | Was the right skill loaded when needed? | `skill_execution` (100%) | +| Effectiveness | Did the skill help complete the task? | `goal_accuracy` (50%) + `behavior_check` (50%) | +| Efficiency | Did it avoid wasted tool calls and token usage? | `skill_efficiency` (50%) + `token_efficiency` (50%) | + +- Dimension bands: PASS at 50% or above; NEUTRAL from 40% to below 50%; FAIL below 40%. +- Overall Tier 3 lift: PASS at +5 points or more; FAIL at -10 points or less; values between those bands are NEUTRAL. +- Overall verdict: PASS only when every configured dimension passes for at least one supported agent. Lift is reported as diagnostic evidence and does not override this gate. +- The 50% attempt pass threshold is a separate per-task gate; it is not the dimension pass threshold. +- Effectiveness is the equal-weight mean of goal completion (`goal_accuracy`) and expected workflow adherence (`behavior_check`). +- Efficiency is 50% tool-call productivity (the backward-compatible `skill_efficiency` wire id) and 50% `token_efficiency`. Positive-case skill routing is scored under Discoverability, not Efficiency; a negative case without a routing target is N/A. N/A sources are omitted, remaining weights are renormalized, and the dimension is marked partial. + +Signals present in this run: + +- `security` (Security): unsafe operations, secret leakage, and unauthorized access. +- `skill_execution` (Skill Execution): whether the expected skill was selected, decoys were avoided, and the workflow executed. +- `skill_efficiency` (Tool Productivity): tool-call productivity (legacy wire id; routing is scored under Discoverability). +- `accuracy` (Accuracy): final-answer correctness against the reference answer. +- `goal_accuracy` (Goal Accuracy): whether the user's goal was achieved. +- `behavior_check` (Behavior Check): whether the expected workflow behavior was followed. +- `token_efficiency` (Token Efficiency): actual uncached prompt plus completion usage (50% of Efficiency). + +
+ +## Freshness -The skill is suitable to proceed toward NVSkills-Eval publication based on this benchmark. Skill owners should keep this file with the skill and refresh it when the evaluation dataset, skill behavior, or target agents materially change. +Regenerate this benchmark when the skill, evaluation dataset, target agent/model, evaluator version, environment, or scoring policy changes. diff --git a/skills/data-designer/SKILL.md b/skills/data-designer/SKILL.md index e04af0d79..629dfaeb8 100644 --- a/skills/data-designer/SKILL.md +++ b/skills/data-designer/SKILL.md @@ -42,7 +42,7 @@ Read **only** the workflow file that matches the selected mode, then follow it: # Troubleshooting -- **`data-designer` CLI not found:** Tell the user that `data-designer` is not installed in this environment (requires Python >= 3.10). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission. +- **`data-designer` CLI not found:** Tell the user that `data-designer` is not installed in this environment (requires Python >= 3.11). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission. - **Network errors during preview:** A sandbox environment may be blocking outbound requests. Ask the user for permission to retry the command with the sandbox disabled. Only as a last resort, if retrying outside the sandbox also fails, tell the user to run the command themselves. # Output Template diff --git a/skills/data-designer/skill-card.md b/skills/data-designer/skill-card.md index 92fc084db..1da239be9 100644 --- a/skills/data-designer/skill-card.md +++ b/skills/data-designer/skill-card.md @@ -9,11 +9,17 @@ NVIDIA
### License/Terms of Use:
Apache 2.0
## Use Case:
-Developers and engineers who need to create high-quality synthetic datasets from scratch or from seed data for training, evaluation, or testing purposes.
+Developers and engineers who need to create synthetic datasets, from scratch or from seed data, by building, validating, and previewing NeMo Data Designer configurations through interactive or autopilot workflows.
### Deployment Geography for Use:
Global
+## Requirements / Dependencies:
+**Requires API Key or External Credential:** [Not Specified]
+**Credential Type(s):** [None identified]
+ +Do not include secrets in prompts/logs/output; use least-privilege credentials; rotate keys as appropriate.
+ ## Known Risks and Mitigations:
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills.
Mitigation: Review and scan skill before deployment.
@@ -22,54 +28,58 @@ Mitigation: Review and scan skill before deployment.
- [Person Sampling Reference](references/person-sampling.md)
- [Preview Review Guide](references/preview-review.md)
- [Seed Datasets Reference](references/seed-datasets.md)
-- [NeMo Data Designer Documentation](https://nvidia-nemo.github.io/DataDesigner/)
+- [Interactive Workflow](workflows/interactive.md)
+- [Autopilot Workflow](workflows/autopilot.md)
+- [NeMo Data Designer Documentation](https://docs.nvidia.com/nemo/datadesigner/)
+- [NeMo Data Designer Technical Report](https://arxiv.org/abs/2609.17699)
## Skill Output:
-**Output Type(s):** [Code, Files]
-**Output Format:** [Python script with PEP 723 inline metadata]
+**Output Type(s):** [Code, Files, Shell commands]
+**Output Format:** [Python script with PEP 723 inline metadata defining load_config_builder()]
**Output Parameters:** [1D]
-**Other Properties Related to Output:** [None]
+**Other Properties Related to Output:** [Script is validated with `data-designer validate` and previewed with `data-designer preview`, which saves preview results locally]
## Evaluation Agents Used:
-- Claude Code (`claude-code`)
-- Codex (`codex`)
+- Claude Code (`aws/anthropic/bedrock-claude-opus-5-5`)
+- Codex (`openai/openai/gpt-6.1-sol`)
## Evaluation Tasks:
-Evaluated against 4 evaluation tasks with 2 attempts per task; pass threshold 50%.
+1 evaluation task (1 positive), 1 attempt per task, each run in an isolated sandbox pod; each task was also attempted without the skill as a baseline.
## Evaluation Metrics Used:
Reported benchmark dimensions:
-- Security: Checks whether skill-assisted execution avoids unsafe behavior such as secret leakage, destructive commands, or unauthorized access.
-- Correctness: Checks whether the agent follows the expected workflow and produces the correct final output.
-- Discoverability: Checks whether the agent loads the skill when relevant and avoids using it when irrelevant.
-- Effectiveness: Checks whether the agent performs measurably better with the skill than without it.
-- Efficiency: Checks whether the agent uses fewer tokens and avoids redundant work.
+- Security: Is it safe to use? Scored from the `security` signal.
+- Correctness: Is the answer correct? Scored from the `accuracy` signal.
+- Discoverability: Was the right skill loaded when needed? Scored from the `skill_execution` signal.
+- Effectiveness: Did the skill help complete the task? Equal-weight mean of `goal_accuracy` and `behavior_check`.
+- Efficiency: Did it avoid wasted tool calls and token usage? Equal-weight mean of `skill_efficiency` and `token_efficiency`.
Underlying evaluation signals used in this run:
-- `security`: Checks for unsafe operations, secret leakage, and unauthorized access.
-- `skill_execution`: Verifies that the agent loaded the expected skill and workflow.
-- `skill_efficiency`: Checks routing quality, decoy avoidance, and redundant tool usage.
-- `accuracy`: Grades final-answer correctness against the reference answer.
-- `goal_accuracy`: Checks whether the overall user task completed successfully.
-- `behavior_check`: Verifies expected behavior steps, including safety expectations.
-- `token_efficiency`: Compares token usage with and without the skill.
+- `security`: Unsafe operations, secret leakage, and unauthorized access.
+- `skill_execution`: Whether the expected skill was selected, decoys were avoided, and the workflow executed.
+- `skill_efficiency`: Tool-call productivity.
+- `accuracy`: Final-answer correctness against the reference answer.
+- `goal_accuracy`: Whether the user's goal was achieved.
+- `behavior_check`: Whether the expected workflow behavior was followed.
+- `token_efficiency`: Actual uncached prompt plus completion token usage.
## Evaluation Results:
-| Dimension | Num | `claude-code` | `codex` | -|---|---:|---:|---:| -| Security | 2 | 100% (+0%) | 100% (+0%) | -| Correctness | 2 | 97% (+8%) | 84% (+0%) | -| Discoverability | 2 | 86% (+28%) | 69% (+4%) | -| Effectiveness | 2 | 97% (-3%) | 97% (+7%) | -| Efficiency | 2 | 64% (+19%) | 62% (+9%) | +| Measure | Claude Code (Baseline → Skill Uplift) | Codex (Baseline → Skill Uplift) | +|---|---:|---:| +| Overall | 96.8% — baseline ran, but no comparable score was available; uplift unavailable | 60.8% — baseline ran, but no comparable score was available; uplift unavailable | +| Security | 100.0% → 100.0% (±0.0 points) | 50.0% → 100.0% (+50.0 points) | +| Correctness | 80.0% → 100.0% (+20.0 points) | 100.0% → 20.0% (-80.0 points) | +| Discoverability | 95.0% — baseline ran, but no comparable score was available; uplift unavailable | 75.0% — baseline ran, but no comparable score was available; uplift unavailable | +| Effectiveness | 87.5% → 100.0% (+12.5 points) | 100.0% → 12.5% (-87.5 points) | +| Efficiency | 88.7% — baseline ran, but no comparable score was available; uplift unavailable | 96.4% — baseline ran, but no comparable score was available; uplift unavailable | ## Skill Version(s):
-v0.6.1 (source: git tag)
+0ccd3cf (source: git SHA, committed 2026-10-26)
## Ethical Considerations:
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
diff --git a/skills/data-designer/skill.oms.sig b/skills/data-designer/skill.oms.sig index 24d1b2f10..6760d5090 100644 --- a/skills/data-designer/skill.oms.sig +++ b/skills/data-designer/skill.oms.sig @@ -1 +1 @@ -{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZGF0YS1kZXNpZ25lciIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyZTJlODg0NTgxNzBkMjU2YmM5MGNmYTkxM2JjZjU5YjUwZDhmNmZiYTRjN2E2ODE1NmVlYzJhNGQwZjI2OWUyIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGh1YiIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIiwKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXQiCiAgICAgIF0sCiAgICAgICJtZXRob2QiOiAiZmlsZXMiLAogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIsCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlCiAgICB9LAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiM2Y4ZTQ0Y2I0OWUyZDQxOGU0Njk4MmE0NTI3MDMzODE4OWU5NGU4NjE1MGE4ZWYzNzIwNDNlYzlhNjIxOWJmNyIsCiAgICAgICAgIm5hbWUiOiAiQkVOQ0hNQVJLLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiMzBhZWVlMWVjYjRhZTdlNWI2MmRkYjc5ZmY3NTY5OWU1ZTJiMmQ0NTRhYjRlZWQxZTcxY2Y2OWVhODZlNTg1MyIsCiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICJiNGY5NWM3NmFiOGNmMTY3NDczNmJmNGM5MjQ1OWU2NmVmOTMwMDEwYjU1MzMzYjU0YzQ1YTc4OWQ2NWIzYzY5IiwKICAgICAgICAibmFtZSI6ICJldmFscy9ldmFscy5qc29uIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiN2FjNDk2NzBjYjFmMGRkZTljMzBiOTczZGUwYjMzMjcxNmJkZmNhNjQwNDVkNGQ0MWFkZDFkYTZjN2M2ZjNhOCIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9wZXJzb24tc2FtcGxpbmcubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICIzNmRmY2Y1ZjhlODUxNmVjMGIzMjFjZjJmZjdkOTA5Mzc4NmJkYTkzYWM4NjNiOTk4NzU3MjBhNmYxOTVkZjBiIiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL3ByZXZpZXctcmV2aWV3Lm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiYTA5YTdmZGM5MDEwYmU5NTk2MjBkNzU4ZGEyNDMzNWI4ZTRmMDUxYjRkMDAyMjg2YzM5NGY4MzMyYjE5MjYxNiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9zZWVkLWRhdGFzZXRzLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiYmUxNzM5MzI5ZGU2M2UyYTU2ZDUyNjExMDUzNTQzYTllYzM4YTIyN2Q2MTA0MDVlZjk4N2JkZmI0ODA5ODk5YiIsCiAgICAgICAgIm5hbWUiOiAic2NyaXB0cy9nZXRfcGVyc29uX29iamVjdF9zY2hlbWEucHkiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICJiMzI1YmE1ZDVlNWIxYWE4MzhiZWJmOTU0ODZlNzY5Nzk3ZGUxOTAxM2I1YjI2ZGQyZDZlY2VkNDBlNTQ5MGQzIiwKICAgICAgICAibmFtZSI6ICJza2lsbC1jYXJkLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiN2U3MDA0ODg5MjY2ODg2ODAzZjI2YzZmOTcyYmFhOTIyMjhhZDI5MmE0MmY5N2NiZmVmZGE2M2JhM2ZmZTM4MiIsCiAgICAgICAgIm5hbWUiOiAid29ya2Zsb3dzL2F1dG9waWxvdC5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogImJhZWE0Njg2ODVkZDMzNzY3YTY4MjJlMTAzMmFhY2NkMjIyZDAwODkzOWM5YzVmM2RiZDhkNmU1MjMxZmRiMTIiLAogICAgICAgICJuYW1lIjogIndvcmtmbG93cy9pbnRlcmFjdGl2ZS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0KICAgIF0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMExVGyxD8P0OamO7Wdg2jhrmBc8Klws/jjSrOUWFUSd88oogp6ircTAlCzkffW8XBAIxANTBggYMuDIjFfLoAy9meE1dc0OLUJgU2WEtuc3Vb7DVKDCVwH1EkVVdADN+A0gDBA==","keyid":""}]}} \ No newline at end of file +{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZGF0YS1kZXNpZ25lciIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MWYzMjVhMWY0M2UzM2FmNDI1NTAzOGJiY2JhZjM2NzQxYTFjOGNiNGU2NmJmMWRmMWM5N2Y2YjljNWQyZjg0IgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgIm1ldGhvZCI6ICJmaWxlcyIsCiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IiwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiLAogICAgICAgICIuZ2l0IiwKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0sCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlCiAgICB9LAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogIkJFTkNITUFSSy5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMWY2ZGNjNGJhMTc2ODU2ZDNhYjYyNjQ1OWUyY2QwZDVhY2IyYzhmOTYxYzUxZTRkMWI2Mjk2OTdmNWI3NTYxMCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIlNLSUxMLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJlYzQxNGZlM2RlYmVkMTQyMjQ2OTI0NGVhMzI5NmVmOGY0MTg1ZGRkNDU5NTJiNTM0YmMwOTJmNGMwNzAyNGJmIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiZXZhbHMvZXZhbHMuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYjRmOTVjNzZhYjhjZjE2NzQ3MzZiZjRjOTI0NTllNjZlZjkzMDAxMGI1NTMzM2I1NGM0NWE3ODlkNjViM2M2OSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvcGVyc29uLXNhbXBsaW5nLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI3YWM0OTY3MGNiMWYwZGRlOWMzMGI5NzNkZTBiMzMyNzE2YmRmY2E2NDA0NWQ0ZDQxYWRkMWRhNmM3YzZmM2E4IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9wcmV2aWV3LXJldmlldy5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMzZkZmNmNWY4ZTg1MTZlYzBiMzIxY2YyZmY3ZDkwOTM3ODZiZGE5M2FjODYzYjk5ODc1NzIwYTZmMTk1ZGYwYiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvc2VlZC1kYXRhc2V0cy5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYTA5YTdmZGM5MDEwYmU5NTk2MjBkNzU4ZGEyNDMzNWI4ZTRmMDUxYjRkMDAyMjg2YzM5NGY4MzMyYjE5MjYxNiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInNjcmlwdHMvZ2V0X3BlcnNvbl9vYmplY3Rfc2NoZW1hLnB5IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJiZTE3MzkzMjlkZTYzZTJhNTZkNTI2MTEwNTM1NDNhOWVjMzhhMjI3ZDYxMDQwNWVmOTg3YmRmYjQ4MDk4OTliIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMzY2YjhlMmEzMjI3YTcxNTFhNjI4NGFjMDJkNzdlZTU2YzBlNDZmNDA1ZDc2N2QxYzc0NWY4MmNmNzAzMzM0OSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIndvcmtmbG93cy9hdXRvcGlsb3QubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjdlNzAwNDg4OTI2Njg4NjgwM2YyNmM2Zjk3MmJhYTkyMjI4YWQyOTJhNDJmOTdjYmZlZmRhNjNiYTNmZmUzODIiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ3b3JrZmxvd3MvaW50ZXJhY3RpdmUubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImJhZWE0Njg2ODVkZDMzNzY3YTY4MjJlMTAzMmFhY2NkMjIyZDAwODkzOWM5YzVmM2RiZDhkNmU1MjMxZmRiMTIiCiAgICAgIH0KICAgIF0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGQCMBgX/3y+zl6aI/IZrsRgKy+pbUVM2j/yZ6FOlsi67g5Tr3p1QQWs7wa0TRr96+erdQIwQ817ndxacwZ3sMYiXhaC0XrLFcEnHP4+IJTFMQoEeZNN1GhqxIz5BlyPs29ol+Cq","keyid":""}]}} \ No newline at end of file