Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions docs/skills-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,15 @@ skills/nemo-rl-e2e-testing/SKILL
:caption: Performance Techniques
:maxdepth: 1


skills/nemo-mbridge-perf-parallelism-strategies/SKILL
skills/nemo-mbridge-perf-cuda-graphs/SKILL
skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL
skills/nemo-mbridge-perf-megatron-fsdp/SKILL
skills/nemo-mbridge-perf-sequence-packing/SKILL
skills/nemo-mbridge-perf-hierarchical-context-parallel/SKILL
skills/perf-expert-parallel-overlap/SKILL
skills/perf-moe-comm-overlap/SKILL
skills/perf-activation-recompute/SKILL
skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL
skills/nemo-mbridge-perf-moe-comm-overlap/SKILL
skills/nemo-mbridge-perf-activation-recompute/SKILL
skills/perf-memory-tuning/SKILL
skills/perf-moe-dispatcher-selection/SKILL
skills/perf-moe-hardware-configs/SKILL
Expand Down
4 changes: 2 additions & 2 deletions docs/training/activation-recomputation.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,5 +193,5 @@ up-projection modules than to enable blanket full recomputation immediately.

- [docs/training/cuda-graphs.md](cuda-graphs.md)
- [docs/training/moe-optimization.md](moe-optimization.md)
- [skills/perf-activation-recompute/SKILL.md](../skills/perf-activation-recompute/SKILL.md) — per-module cost/savings data, measured results
- [skills/perf-memory-tuning/SKILL.md](../skills/perf-memory-tuning/SKILL.md) — expandable segments, parallelism resizing, and other memory reduction strategies
- [skills/nemo-mbridge-perf-activation-recompute/SKILL.md](../skills/nemo-mbridge-perf-activation-recompute/SKILL.md) — per-module cost/savings data, measured results
- [skills/nemo-mbridge-perf-memory-tuning/SKILL.md](../skills/nemo-mbridge-perf-memory-tuning/SKILL.md) — expandable segments, parallelism resizing, and other memory reduction strategies
11 changes: 6 additions & 5 deletions docs/training/communication-overlap.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ This page is the stable guide for what communication overlap is, when it tends
to help, and which boundaries are durable across Megatron Bridge. For exact
knobs, code anchors, and verification commands, see:

- [skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md](../skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md)
- [skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md](../skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md)
- [skills/perf-expert-parallel-overlap/SKILL.md](../skills/perf-expert-parallel-overlap/SKILL.md)

## What It Is

Expand Down Expand Up @@ -122,8 +122,8 @@ on the actual bottleneck.

For config examples and minimal runnable commands, see:

- [skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md](../skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md)
- [skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md](../skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md)
- [skills/perf-expert-parallel-overlap/SKILL.md](../skills/perf-expert-parallel-overlap/SKILL.md)

## Expected Metric Changes

Expand Down Expand Up @@ -158,7 +158,8 @@ correct question is always "which communication path is exposed in this run?"
- [docs/performance-guide.md](../performance-guide.md)
- [docs/training/cuda-graphs.md](cuda-graphs.md)
- [docs/training/hierarchical-context-parallel.md](hierarchical-context-parallel.md)
- [skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md](../skills/nemo-mbridge-perf-expert-parallel-overlap/SKILL.md)
- [skills/nemo-mbridge-perf-moe-comm-overlap/SKILL.md](../skills/nemo-mbridge-perf-moe-comm-overlap/SKILL.md)
- [skills/nemo-mbridge-perf-moe-comm-overlap/card.yaml](../skills/nemo-mbridge-perf-moe-comm-overlap/card.yaml)
- [skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md](../skills/nemo-mbridge-perf-tp-dp-comm-overlap/SKILL.md)
- [skills/perf-expert-parallel-overlap/SKILL.md](../skills/perf-expert-parallel-overlap/SKILL.md)
- [skills/perf-moe-comm-overlap/SKILL.md](../skills/perf-moe-comm-overlap/SKILL.md)
- [skills/perf-moe-comm-overlap/card.yaml](../skills/perf-moe-comm-overlap/card.yaml)

2 changes: 1 addition & 1 deletion docs/training/moe-optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ For tuning knobs, hardware-specific configs, and benchmark-oriented guidance, se
- [skills/perf-moe-long-context/SKILL.md](../skills/perf-moe-long-context/SKILL.md)
- [skills/perf-moe-hardware-configs/SKILL.md](../skills/perf-moe-hardware-configs/SKILL.md)
- [skills/perf-moe-vlm-training/SKILL.md](../skills/perf-moe-vlm-training/SKILL.md)
- [skills/perf-moe-comm-overlap/SKILL.md](../skills/perf-moe-comm-overlap/SKILL.md)
- [skills/nemo-mbridge-perf-moe-comm-overlap/SKILL.md](../skills/nemo-mbridge-perf-moe-comm-overlap/SKILL.md)

## The Three Walls

Expand Down
65 changes: 65 additions & 0 deletions skills/nemo-mbridge-perf-activation-recompute/BENCHMARK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Evaluation Report

Evaluation of the `nemo-mbridge-perf-activation-recompute` skill before publication through NVSkills-Eval.

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.

## Evaluation Summary

- Skill: `nemo-mbridge-perf-activation-recompute`
- Evaluation date: 2026-05-29
- NVSkills-Eval profile: `external`
- Overall verdict: FAIL
- Tier 3 live agent evaluation: not available in this report

## Agents Used

- Tier 3 agent details were not available in this report.

## 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.

Underlying evaluation signals used in this run:

- No Tier 3 evaluation signal details were available in this report.

## Test Tasks

Tier 3 evaluation task details were not available in this report.

## Results

Tier 3 dimension rollup was not available in this report.

## Tier 1: Static Validation Summary

Tier 1 validation reported findings. NVSkills-Eval ran 9 checks and found 13 total findings.

Top findings:

- MEDIUM QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.author' (`skills/nemo-mbridge-perf-activation-recompute/SKILL.md`)
- MEDIUM QUALITY/quality_correctness: SKILL_SPEC recommended field missing: 'metadata.tags' (`skills/nemo-mbridge-perf-activation-recompute/SKILL.md`)
- MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (`skills/nemo-mbridge-perf-activation-recompute/SKILL.md`)
- MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Examples' (`skills/nemo-mbridge-perf-activation-recompute/SKILL.md`)
- MEDIUM SCHEMA/author_missing: Author not specified in metadata (`skills/nemo-mbridge-perf-activation-recompute/SKILL.md`)

## Tier 2: Deduplication Summary

Tier 2 validation reported findings. NVSkills-Eval ran 2 checks and found 1 total findings.

Top findings:

- HIGH DUPLICATE/duplicate: Duplicate content found within SKILL.md:
"### Selective recompute (default for most recipes)" in SKILL.md (lines 40-46)
vs "### Selective recompute with additional modules" in SKILL.md (lines 47-53) (`SKILL.md:40`)

## Publication Recommendation

The skill should be reviewed before NVSkills-Eval publication. Skill owners should address the findings above and rerun NVSkills-Eval to refresh this benchmark.
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
name: perf-activation-recompute
name: nemo-mbridge-perf-activation-recompute
description: Validate and use selective and full activation recompute in Megatron Bridge to reduce GPU memory usage at the cost of extra compute.
license: Apache-2.0
when_to_use: Reducing GPU memory via activation recompute, or investigating a commit that changed recompute settings and caused OOM or a regression; 'recompute_granularity', 'recompute_num_layers', 'recompute_modules', 'recompute_method', 'selective recompute', 'full recompute', 'activation memory OOM'.
---

# Activation Recompute

Stable docs: @docs/training/activation-recomputation.md
Card: @skills/perf-activation-recompute/card.yaml
Card: @skills/nemo-mbridge-perf-activation-recompute/card.yaml

## What It Is

Expand All @@ -28,7 +29,7 @@ how many layers via `recompute_num_layers`.

1. **Set `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True` first** — most
borderline OOMs are caused by memory fragmentation, not capacity. This
fixes it at zero cost. See @skills/perf-memory-tuning/SKILL.md.
fixes it at zero cost. See @skills/nemo-mbridge-perf-memory-tuning/SKILL.md.
2. Start with `recompute_granularity=selective`, `recompute_modules=[core_attn]`
(often already the default in recipes).
3. Add `layernorm` to recompute modules — nearly free compute-wise but saves
Expand Down Expand Up @@ -128,7 +129,7 @@ Key takeaways:
(hidden=28672) is expensive to recompute
- Combining `mlp` + `core_attn` is slightly worse than `mlp` alone
- For this workload, the actual OOM fix was `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`
(memory fragmentation, not capacity). See @skills/perf-memory-tuning/SKILL.md.
(memory fragmentation, not capacity). See @skills/nemo-mbridge-perf-memory-tuning/SKILL.md.

## Code Anchors

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ recommended_path:
first_try: "recompute_granularity=selective, recompute_modules=[core_attn]"
if_still_oom: "add layernorm (cheap) or mlp (expensive but saves ~3 GB)"
last_resort: "recompute_granularity=full, recompute_method=uniform"
alternative: "see skills/perf-memory-tuning/ for VPP tuning and other memory strategies"
alternative: "see skills/nemo-mbridge-perf-memory-tuning/ for VPP tuning and other memory strategies"
expected_metric_change:
- metric: peak_memory
direction: down
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[]
53 changes: 53 additions & 0 deletions skills/nemo-mbridge-perf-activation-recompute/skill-card.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
## Description: <br>
Validate and use selective and full activation recompute in Megatron Bridge to reduce GPU memory usage at the cost of extra compute. <br>

This skill is ready for commercial/non-commercial use. <br>

## Owner
NVIDIA <br>

### License/Terms of Use: <br>
Apache 2.0 <br>
## Use Case: <br>
Developers and engineers reducing GPU memory pressure during LLM training by configuring activation recompute strategies in Megatron Bridge, or diagnosing OOM failures and performance regressions related to recompute settings. <br>

### Deployment Geography for Use: <br>
Global <br>

## Known Risks and Mitigations: <br>
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>
Mitigation: Review and scan skill before deployment. <br>

## Reference(s): <br>
- [Activation Recomputation Documentation](docs/training/activation-recomputation.md) <br>
- [Performance Tuning Guide](docs/performance-guide.md) <br>
- [Megatron Bridge Documentation](https://docs.nvidia.com/nemo/megatron-bridge/latest/) <br>


## Skill Output: <br>
**Output Type(s):** [Configuration instructions, Shell commands, Analysis] <br>
**Output Format:** [Markdown with inline code blocks] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>

## Evaluation Tasks: <br>
3-Tier NVSkills-Eval evaluation covering static validation, deduplication, and live agent testing for safety, correctness, discoverability, effectiveness, and efficiency. <br>

## Evaluation Metrics Used: <br>
Reported benchmark dimensions: <br>
- Security: Checks whether skill-assisted execution avoids unsafe behavior such as secret leakage, destructive commands, or unauthorized access. <br>
- Correctness: Checks whether the agent follows the expected workflow and produces the correct final output. <br>
- Discoverability: Checks whether the agent loads the skill when relevant and avoids using it when irrelevant. <br>
- Effectiveness: Checks whether the agent performs measurably better with the skill than without it. <br>
- Efficiency: Checks whether the agent uses fewer tokens and avoids redundant work. <br>



## Skill Version(s): <br>
v0.2.0rc6-1469-g6fe590a5 (source: git tag) <br>

## Ethical Considerations: <br>
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. <br>

(For Release on NVIDIA Platforms Only) <br>
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
Original file line number Diff line number Diff line change
@@ -0,0 +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":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAibmVtby1tYnJpZGdlLXBlcmYtYWN0aXZhdGlvbi1yZWNvbXB1dGUiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjY3ODZhMTNiN2Q1NzIyNzhjNjRiNzQyYmEyZjc4OTdmNGRlOTg1ODUyYjQyYWQyMGM0MjhmMWMwMTI4MDQwMSIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZVR5cGUiOiAiaHR0cHM6Ly9tb2RlbF9zaWduaW5nL3NpZ25hdHVyZS92MS4wIiwKICAicHJlZGljYXRlIjogewogICAgInNlcmlhbGl6YXRpb24iOiB7CiAgICAgICJtZXRob2QiOiAiZmlsZXMiLAogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZSwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiLAogICAgICAiaWdub3JlX3BhdGhzIjogWwogICAgICAgICIuZ2l0IiwKICAgICAgICAiLmdpdGh1YiIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIiwKICAgICAgICAiLmdpdGlnbm9yZSIKICAgICAgXQogICAgfSwKICAgICJyZXNvdXJjZXMiOiBbCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiQkVOQ0hNQVJLLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjhmMjNlZTEzZmMyOThhM2MwODBlNmVmMTViNGUxMjg4Y2RmN2ZjMWUzMzUwZTg3NWFjMDhhYjlkMGVlZGU0NGEiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiLAogICAgICAgICJkaWdlc3QiOiAiZTY5YmQ4NzU2NDkyM2Y4OWY5MWYzMTY0MWE5MDQ0OTEwNWRjNDFhNTJjZWQyM2EzOGQxNjcwYmViZDhiODE5MyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJjYXJkLnlhbWwiLAogICAgICAgICJkaWdlc3QiOiAiMGU0MzJkNGFiNzNkNDAwOTNhZDJhNDhmZTEyZDRlNWFlY2ZlOTY5N2FhZDRkZWIwZThhMWZiYmNjMDE4M2FlYyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJldmFscy9ldmFscy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogIjM3NTE3ZTVmM2RjNjY4MTlmNjFmNWE3YmI4YWNlMTkyMTI4MjQxNWYxMDU1MWQyZGVmYTVjM2ViMDk4NWI1NzAiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI4N2Q4MDYwYzhmMjAxYzU3MGYyMzk5NmNkZDQzNzk2M2U4N2I2MjkwMjRlNTQ3MDFjMmI3NWFmYjllMTkwZjc3IgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMAp5cStPxWc7M319y40/FCLEE/6OcYEjnBjIgI423c6e1dtNYjuFNwwvA87ebc4wAgIxAPFyHCNvOn9vLL2/slR8L6pEXG+ZccygYuyN62W9BW+wmWtyb+nszsqdCcTuKAFenw==","keyid":""}]}}
Loading
Loading