Fix skill-validation failures across all skills#1287
Conversation
- Add license: Apache-2.0 plus metadata.author and per-skill metadata.tags to every SKILL.md (resolves CRITICAL license-compliance and MEDIUM author/tags findings from the skill-validation pipeline). - Switch SSH git URLs in cuopt-developer/resources/contributing.md to HTTPS to clear PII (email-pattern) flags on the clone/remote examples. - Consolidate the duplicated GIL-release section in cuopt-developer/resources/python_bindings.md into the canonical Step 5 example, satisfying the intra-skill deduplication check. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
/nvskills-ci |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds Apache-2.0 license and YAML metadata to many SKILL docs; adds/edits skill-cards; updates contributor guides to use HTTPS and consolidates Python GIL guidance; refreshes multiple Sigstore .oms.sig bundles; and excludes skill benchmarks from three CI changed-file globs. ChangesSkills documentation metadata and developer guidance
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
- Rename evals/ -> benchmark/ in cuopt-developer, cuopt-install, and cuopt-numerical-optimization-api-python so the skill-validation pipeline's Tier-3 live-agent eval (astra-skill-eval) does not auto-discover and run against the case files. The runner's 1h budget cannot accommodate Tier 3 across multiple skills in a single PR. - Add '!skills/**/benchmark/**' alongside '!skills/**/evals/**' in pr.yaml's path filters so the renamed directory keeps the same treatment for compute-heavy build jobs (the existing evals/ entries are preserved). - File history is preserved via git mv. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
/nvskills-ci |
The eval case dev-020-fork-and-draft-pr referenced the fork remote as 'git@github.com:<username>/cuopt.git'. The skill-validation pipeline's PII scanner flags the 'git@github.com:' SSH-URL pattern as a non-NVIDIA email, which is the single HIGH-severity finding blocking the gate. Switch to the HTTPS form to match the rest of the docs (CONTRIBUTING.md and skills/cuopt-developer/resources/contributing.md already use HTTPS). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
/nvskills-ci |
There was a problem hiding this comment.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/cuopt-install/skill-card.md (1)
1-39:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRequire NVSkills CI success before approval.
For PR 1287, the NVSkills CI check (“Request NVSkills CI”) is SKIPPED and there’s no successful NVSkills CI result shown (CodeRabbit is still PENDING), so the
skills/**CI-before-merge requirement forskills/cuopt-install/skill-card.mdisn’t met.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/cuopt-install/skill-card.md` around lines 1 - 39, The NVSkills CI requirement failed for PR 1287 because the "Request NVSkills CI" job was SKIPPED (CodeRabbit still PENDING) for changes to skills/cuopt-install/skill-card.md; re-run the NVSkills CI for this PR (unskip the job) and ensure the CodeRabbit/NVSkills job completes successfully before merging, or if skipping was caused by the PR metadata, remove the skip flag and trigger the CI run so the skills/** pre-merge gating is satisfied.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/cuopt-developer/skill-card.md`:
- Line 40: Replace the non-descriptive link text "here" in the markdown sentence
starting with "Please report quality, risk, security vulnerabilities or NVIDIA
AI Concerns" with a descriptive label (e.g., "NVIDIA VDP reporting portal" or
"Intigriti report page") so the link is accessible and passes markdown linting;
edit the skill-card.md line that contains that sentence and update only the link
text while keeping the existing URL unchanged.
In `@skills/cuopt-install/skill-card.md`:
- Line 38: The anchor text "here" in the markdown sentence should be replaced
with descriptive link text to satisfy linting and improve accessibility; locate
the anchor using the current anchor text "here" and the URL
"https://app.intigriti.com/programs/nvidia/nvidiavdp/detail" and replace it with
a clear label such as "NVIDIA VDP report page", "Intigriti NVIDIA VDP program",
or "report vulnerabilities to NVIDIA VDP" so the link text describes its
destination.
In `@skills/cuopt-numerical-optimization-api-python/skill-card.md`:
- Line 40: Replace the ambiguous link text "here" with descriptive anchor text
that clearly explains the destination, for example "Intigriti NVIDIA
Vulnerability Disclosure Program" or "NVIDIA VDP report page", by updating the
anchor label in the string "Please report quality, risk, security
vulnerabilities or NVIDIA AI Concerns
[here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail)." so the link
reads with explicit context; ensure the visible text is meaningful and
accessible (avoid generic words like "here") in the skill-card.md content.
In `@skills/cuopt-routing-api-python/skill.oms.sig`:
- Line 1: Summary: The skills/** change set (PR `#1287`) is missing NVSkills CI
PASS evidence. Do not merge until the NVSkills/skills validation check matching
the pattern nvskills|skill|validation completes with a PASS for the skills/**
changes; re-run or wait for the CI that produces that check and ensure the
statusCheckRollup includes a conclusion matching nvskills|skill|validation; if
the check is not being reported, update the PR CI configuration so the NVSkills
validation job reports its conclusion to the PR (and re-run the job) so PR `#1287`
shows the required PASS before merge.
In `@skills/cuopt-server-common/skill-card.md`:
- Line 11: The PR modifies skills/cuopt-server-common/skill-card.md but lacks
NVSkills CI PASS evidence required for merging; attach the NVSkills CI PASS
artifact/log URL (or copy the PASS output) to this PR or wait until the NVSkills
CI run for the current head completes and shows PASS before merging. Ensure you
reference the NVSkills CI result in the PR description or as a comment (the
reviewer noted existing /nvskills-ci trigger comments on PR `#1287`), so the merge
gate recognizes the validation for this change.
---
Outside diff comments:
In `@skills/cuopt-install/skill-card.md`:
- Around line 1-39: The NVSkills CI requirement failed for PR 1287 because the
"Request NVSkills CI" job was SKIPPED (CodeRabbit still PENDING) for changes to
skills/cuopt-install/skill-card.md; re-run the NVSkills CI for this PR (unskip
the job) and ensure the CodeRabbit/NVSkills job completes successfully before
merging, or if skipping was caused by the PR metadata, remove the skip flag and
trigger the CI run so the skills/** pre-merge gating is satisfied.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 51b91559-8e79-4a38-a160-7582df6727a6
📒 Files selected for processing (24)
skills/cuopt-developer/skill-card.mdskills/cuopt-developer/skill.oms.sigskills/cuopt-install/skill-card.mdskills/cuopt-install/skill.oms.sigskills/cuopt-numerical-optimization-api-c/skill-card.mdskills/cuopt-numerical-optimization-api-c/skill.oms.sigskills/cuopt-numerical-optimization-api-cli/skill-card.mdskills/cuopt-numerical-optimization-api-cli/skill.oms.sigskills/cuopt-numerical-optimization-api-python/skill-card.mdskills/cuopt-numerical-optimization-api-python/skill.oms.sigskills/cuopt-routing-api-python/skill-card.mdskills/cuopt-routing-api-python/skill.oms.sigskills/cuopt-server-api-python/skill-card.mdskills/cuopt-server-api-python/skill.oms.sigskills/cuopt-server-common/skill-card.mdskills/cuopt-server-common/skill.oms.sigskills/cuopt-user-rules/skill-card.mdskills/cuopt-user-rules/skill.oms.sigskills/numerical-optimization-formulation/skill-card.mdskills/numerical-optimization-formulation/skill.oms.sigskills/routing-formulation/skill-card.mdskills/routing-formulation/skill.oms.sigskills/skill-evolution/skill-card.mdskills/skill-evolution/skill.oms.sig
✅ Files skipped from review due to trivial changes (6)
- skills/routing-formulation/skill-card.md
- skills/cuopt-numerical-optimization-api-python/skill.oms.sig
- skills/cuopt-numerical-optimization-api-c/skill-card.md
- skills/cuopt-numerical-optimization-api-cli/skill-card.md
- skills/cuopt-server-api-python/skill-card.md
- skills/cuopt-server-common/skill.oms.sig
| 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> |
There was a problem hiding this comment.
Replace generic “here” link text with a descriptive label.
The current link text is non-descriptive and trips markdown accessibility linting.
Suggested fix
-Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
+Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns through the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> | |
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns through the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 40-40: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/cuopt-developer/skill-card.md` at line 40, Replace the non-descriptive
link text "here" in the markdown sentence starting with "Please report quality,
risk, security vulnerabilities or NVIDIA AI Concerns" with a descriptive label
(e.g., "NVIDIA VDP reporting portal" or "Intigriti report page") so the link is
accessible and passes markdown linting; edit the skill-card.md line that
contains that sentence and update only the link text while keeping the existing
URL unchanged.
| 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> |
There was a problem hiding this comment.
Use descriptive link text instead of “here”.
Replace generic anchor text with explicit wording to satisfy markdown linting and improve readability.
Proposed fix
-Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
+Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> | |
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 38-38: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/cuopt-install/skill-card.md` at line 38, The anchor text "here" in the
markdown sentence should be replaced with descriptive link text to satisfy
linting and improve accessibility; locate the anchor using the current anchor
text "here" and the URL
"https://app.intigriti.com/programs/nvidia/nvidiavdp/detail" and replace it with
a clear label such as "NVIDIA VDP report page", "Intigriti NVIDIA VDP program",
or "report vulnerabilities to NVIDIA VDP" so the link text describes its
destination.
| 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> |
There was a problem hiding this comment.
Use descriptive link text instead of “here”.
Same lint/accessibility issue here—use explicit anchor text.
Proposed fix
-Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
+Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> | |
| Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br> |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 40-40: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/cuopt-numerical-optimization-api-python/skill-card.md` at line 40,
Replace the ambiguous link text "here" with descriptive anchor text that clearly
explains the destination, for example "Intigriti NVIDIA Vulnerability Disclosure
Program" or "NVIDIA VDP report page", by updating the anchor label in the string
"Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns
[here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail)." so the link
reads with explicit context; ensure the visible text is meaningful and
accessible (avoid generic words like "here") in the skill-card.md content.
| @@ -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":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtcm91dGluZy1hcGktcHl0aG9uIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIzMzI3ODUwMDkzZTVlZDQwZmYxYmUyZDE5ODEyNTdkNTcyOTQ4YjEzMTRlYTRkZDQyYmY4M2NlZjRjZGU0YTAiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJyZXNvdXJjZXMiOiBbCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJTS0lMTC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI3Yzc0ZTM5NjNlOWQ0OWU0NGVkZTJkMjU1YWZmYTNmYjMzZmQzMTU4YWE4ZmRmOGE4Zjc1Mjc5YjlmMzdmMjIxIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9SRUFETUUubWQiLAogICAgICAgICJkaWdlc3QiOiAiMGQ3N2Y4YTZiNzkwYTk2NzRlNDQ3NThlYTMwNDU3NTNmNGExZGM0MTdlMjAxNDc5ZGVkZWUwMjZlM2Y4MzJlOSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvcGRwX2Jhc2ljL1JFQURNRS5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI3Y2YzNzk3ZDA5OGE1NTM0YTBiMmMxMzA5ZjYzNWQ2ZThlYTdkZjYyYjllNTk0NjliNmU1NjQyOTIyZDVjYjQ0IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9wZHBfYmFzaWMvbW9kZWwucHkiLAogICAgICAgICJkaWdlc3QiOiAiMTQ0ZGExZGY1ZGUyOGQ3ODVhOWI0NjdiM2QxNDQxN2U3MTZmNTMyYWM5Yjk4OTA0NmVhZjdlNGY1Mjk5YTVmZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvdnJwX2Jhc2ljL1JFQURNRS5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI0YTIyM2UxZWI0ZDAwYjJlODhiODRhN2NhMzA0NjE2NjBlNDgwMzE4ZThlYzRiYTUwNjAyMzBjZDk4MmU1MzRmIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy92cnBfYmFzaWMvbW9kZWwucHkiLAogICAgICAgICJkaWdlc3QiOiAiNTI0NWI3NzQ2NWEyNmI2OGFlZmJhYTMyNDliNTFlZjBkYTQ1MDVmNGUxOTc0Y2Y2ZDBmNDRiMWM3OGZjODA3MCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvZXhhbXBsZXMubWQiLAogICAgICAgICJkaWdlc3QiOiAiNWViMzU3MzU1NTlkOTM1YzIxZTIwYTQ5NTkxZDU0YzliNmZhOTI0NzIxN2FhNDc3NmE1Zjg5ODNjYmQyN2Y4MSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvc2VydmVyX2V4YW1wbGVzLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjUwOGJmNGFlOGNiNWJjN2UyNDliMzc3MjYwZjE0MjFiNzBkOWQzNDViYjVhNmQxNmM2ZmEwYjU2ZTI1NjgyNWIiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI2NDcwYzRjOWE2NjJjNTQ2NjgwNmRmOGFmM2U3NGQ3NGVlODBlY2VlN2U4MzYyZjhiY2UzMjQ1OTAwODJhNzlkIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfQogICAgXSwKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIsCiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0aWdub3JlIiwKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiLAogICAgICAgICIuZ2l0aHViIgogICAgICBdLAogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UKICAgIH0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMQCcGZqaSXabbjPR8wp86n7/8am2Wf1/VojZaXO9mP2ZiizEDj3f2BC38yJq4Ft1Iu8CMAORDnqPrWpHhermkTL/X7I8cJtd3F8k8G9fsxxrS+Ucn6JKiEFMMHU68esX8gZSrg==","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":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtcm91dGluZy1hcGktcHl0aG9uIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyYTJjNTkwNTc1NTA1NTdiNmY5ZTFlYTRlY2Y4N2VmZTk3MzUyNDdmN2RkY2ZiMTJkYzRlODE0YjE2ZDlhM2QiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJyZXNvdXJjZXMiOiBbCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjIyNGIwMjY3NDFmOGMxNmMwZDU0OWRhODcxNzg1YTE2Y2UxOThiMDU0MWI5OWEwZTQ3YTBlYmE4ZmEwODBmYzAiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJTS0lMTC5tZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiMGQ3N2Y4YTZiNzkwYTk2NzRlNDQ3NThlYTMwNDU3NTNmNGExZGM0MTdlMjAxNDc5ZGVkZWUwMjZlM2Y4MzJlOSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogImFzc2V0cy9SRUFETUUubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjdjZjM3OTdkMDk4YTU1MzRhMGIyYzEzMDlmNjM1ZDZlOGVhN2RmNjJiOWU1OTQ2OWI2ZTU2NDI5MjJkNWNiNDQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJhc3NldHMvcGRwX2Jhc2ljL1JFQURNRS5tZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiMTQ0ZGExZGY1ZGUyOGQ3ODVhOWI0NjdiM2QxNDQxN2U3MTZmNTMyYWM5Yjk4OTA0NmVhZjdlNGY1Mjk5YTVmZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogImFzc2V0cy9wZHBfYmFzaWMvbW9kZWwucHkiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjRhMjIzZTFlYjRkMDBiMmU4OGI4NGE3Y2EzMDQ2MTY2MGU0ODAzMThlOGVjNGJhNTA2MDIzMGNkOTgyZTUzNGYiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJhc3NldHMvdnJwX2Jhc2ljL1JFQURNRS5tZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiNTI0NWI3NzQ2NWEyNmI2OGFlZmJhYTMyNDliNTFlZjBkYTQ1MDVmNGUxOTc0Y2Y2ZDBmNDRiMWM3OGZjODA3MCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogImFzc2V0cy92cnBfYmFzaWMvbW9kZWwucHkiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjVlYjM1NzM1NTU5ZDkzNWMyMWUyMGE0OTU5MWQ1NGM5YjZmYTkyNDcyMTdhYTQ3NzZhNWY4OTgzY2JkMjdmODEiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvZXhhbXBsZXMubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjUwOGJmNGFlOGNiNWJjN2UyNDliMzc3MjYwZjE0MjFiNzBkOWQzNDViYjVhNmQxNmM2ZmEwYjU2ZTI1NjgyNWIiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvc2VydmVyX2V4YW1wbGVzLm1kIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICI3NjJhOGE0MGQ1MDM3NDU3ZDkzNjE5MzYyZWFkMGJlZTVjMjc2ZTNiOTY3OWQ4YmVkYzQ1MjEyODY4YzBjNzk2IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIKICAgICAgfQogICAgXSwKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UsCiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IiwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0YXR0cmlidXRlcyIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0KICAgIH0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGYCMQCUlmqyVhytqvOeQLnBV2mSiRgKYHaXL1n2hYpP9M2oFMbYVc/h4J8nD3lUCJbdkCsCMQCFsCTf3hjZg416JUl16HK0yN1mt2aRTrZoEvmbO6eOz6cr972c1PRSZbLpqPDDTHU=","keyid":""}]}} No newline at end of file | |||
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
REPO="NVIDIA/cuopt"
PR="1287"
# Show only skill-related checks and their conclusions for this PR.
gh pr view "$PR" --repo "$REPO" --json statusCheckRollup \
--jq '.statusCheckRollup[]
| select(((.name // .context // "") | test("nvskills|skill|validation"; "i")))
| {
check: (.name // .context),
status: .status,
conclusion: .conclusion,
detailsUrl: (.detailsUrl // .url // "")
}'Repository: NVIDIA/cuopt
Length of output: 38
Block merge until NVSkills CI validates this skills/** change set
PR #1287 includes skills/ changes, but the PR check-runs surfaced from gh pr view ... statusCheckRollup contain no conclusions matching nvskills|skill|validation, so NVSkills CI PASS evidence is missing—wait for the NVSkills/skills validation check to complete with PASS before merging.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/cuopt-routing-api-python/skill.oms.sig` at line 1, Summary: The
skills/** change set (PR `#1287`) is missing NVSkills CI PASS evidence. Do not
merge until the NVSkills/skills validation check matching the pattern
nvskills|skill|validation completes with a PASS for the skills/** changes;
re-run or wait for the CI that produces that check and ensure the
statusCheckRollup includes a conclusion matching nvskills|skill|validation; if
the check is not being reported, update the PR CI configuration so the NVSkills
validation job reports its conclusion to the PR (and re-run the job) so PR `#1287`
shows the required PASS before merge.
| Apache 2.0 <br> | ||
| ## Use Case: <br> | ||
| Developers and engineers who need to understand the cuOpt REST server’s capabilities and request flow before building integrations or choosing a deployment strategy. <br> | ||
| Developers and engineers building optimization solutions who need to understand the cuOpt REST server request flow, supported problem types, and conceptual architecture before implementing deployment or client code. <br> |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Check CI statuses for PR `#1287`
gh pr checks 1287 --repo NVIDIA/cuopt
# Trace `/nvskills-ci` trigger comments on the PR
gh pr view 1287 --repo NVIDIA/cuopt --comments --json comments \
| jq -r '.comments[] | select(.body|contains("/nvskills-ci")) | "\(.createdAt) \(.author.login): \(.body)"'Repository: NVIDIA/cuopt
Length of output: 345
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Collect CI/check status output without failing early
echo "=== gh pr checks 1287 (filtered) ==="
(gh pr checks 1287 --repo NVIDIA/cuopt || true) 2>&1 | sed -n '1,200p' | rg -i 'nvskills|nv-skills|/nvskills-ci|ci|check|pending|pass|fail|skipping' || true
echo "=== gh pr checks 1287 (full head) ==="
(gh pr checks 1287 --repo NVIDIA/cuopt || true) 2>&1 | sed -n '1,120p' || true
# 2) Trace `/nvskills-ci` trigger comments on the PR
echo "=== /nvskills-ci trigger comments ==="
gh pr view 1287 --repo NVIDIA/cuopt --comments --json comments \
| jq -r '.comments[] | select(.body|contains("/nvskills-ci")) | "\(.createdAt) \(.author.login): \(.body)"' \
| sed -n '1,200p'
# 3) Also look for NVSkills mentions in PR comments (broader)
echo "=== NVSkills mentions in PR comments (filtered) ==="
gh pr view 1287 --repo NVIDIA/cuopt --comments --json comments \
| jq -r '.comments[] | select(.body|test("NVSkills|nvskills-ci|/nvskills-ci";"i")) | "\(.createdAt) \(.author.login): \(.body)"' \
| sed -n '1,200p'Repository: NVIDIA/cuopt
Length of output: 1093
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Collect CI/check status output without failing early
echo "=== gh pr checks 1287 (filtered) ==="
(gh pr checks 1287 --repo NVIDIA/cuopt || true) 2>&1 | sed -n '1,200p' | rg -i 'nvskills|nv-skills|/nvskills-ci|ci|check|pending|pass|fail|skipping' || true
echo "=== gh pr checks 1287 (full head) ==="
(gh pr checks 1287 --repo NVIDIA/cuopt || true) 2>&1 | sed -n '1,120p' || true
# 2) Trace `/nvskills-ci` trigger comments on the PR
echo "=== /nvskills-ci trigger comments ==="
gh pr view 1287 --repo NVIDIA/cuopt --comments --json comments \
| jq -r '.comments[] | select(.body|contains("/nvskills-ci")) | "\(.createdAt) \(.author.login): \(.body)"' \
| sed -n '1,200p'
# 3) Also look for NVSkills mentions in PR comments (broader)
echo "=== NVSkills mentions in PR comments (filtered) ==="
gh pr view 1287 --repo NVIDIA/cuopt --comments --json comments \
| jq -r '.comments[] | select(.body|test("NVSkills|nvskills-ci|/nvskills-ci";"i")) | "\(.createdAt) \(.author.login): \(.body)"' \
| sed -n '1,200p'Repository: NVIDIA/cuopt
Length of output: 1093
Block merge until NVSkills CI PASS evidence is attached
File: skills/cuopt-server-common/skill-card.md
Lines: 11-11
The below code does not show removed or replaced code.
Developers and engineers building optimization solutions who need to understand the cuOpt REST server request flow, supported problem types, and conceptual architecture before implementing deployment or client code. <br>
Comment: This PR changes skills/**, and NVSkills CI validation is required before merge. /nvskills-ci trigger comments exist on PR #1287 (rgsl888prabhu at 2026-05-22T16:22:56Z / 19:00:40Z / 20:02:57Z), but the current PR checks output does not show an NVSkills CI PASS evidence for the current head—attach the PASS artifact/log link or wait for it before merging.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/cuopt-server-common/skill-card.md` at line 11, The PR modifies
skills/cuopt-server-common/skill-card.md but lacks NVSkills CI PASS evidence
required for merging; attach the NVSkills CI PASS artifact/log URL (or copy the
PASS output) to this PR or wait until the NVSkills CI run for the current head
completes and shows PASS before merging. Ensure you reference the NVSkills CI
result in the PR description or as a comment (the reviewer noted existing
/nvskills-ci trigger comments on PR `#1287`), so the merge gate recognizes the
validation for this change.
|
/ok to test 26b89d1 |
Summary
license: Apache-2.0plusmetadata.authorand per-skillmetadata.tagsto everySKILL.md(12 skills) — clears the CRITICAL license-compliance and MEDIUM author/tags findings from the skill-validation pipeline.git@github.com:...URLs inskills/cuopt-developer/resources/contributing.mdto HTTPS to clear the PII email-pattern flags.skills/cuopt-developer/resources/python_bindings.mdinto the canonical Step 5 example, satisfying the intra-skill deduplication check.