Skip to content

components.d/cuopt: flat layout migration + remove orphan skills/cuopt/#122

Merged
mosheabr merged 1 commit into
mainfrom
moshea/cuopt-flat-layout
May 29, 2026
Merged

components.d/cuopt: flat layout migration + remove orphan skills/cuopt/#122
mosheabr merged 1 commit into
mainfrom
moshea/cuopt-flat-layout

Conversation

@mosheabr
Copy link
Copy Markdown
Collaborator

Summary

Atomic cutover for cuOpt to flat layout. Two changes:

  1. Restructure `components.d/cuopt.yml` to 12-entry flat layout (one entry per skill, lowercase `catalog_dir` matching skill name).
  2. Delete orphan `skills/cuopt/` directory left over from the legacy nested layout.

Source state — Ramakrishnan completed the rename + re-sign

Per his Slack confirmation, the 3 previously unprefixed skills are now properly `cuopt-` prefixed in `NVIDIA/cuopt`:

  • `numerical-optimization-formulation` → `cuopt-numerical-optimization-formulation`
  • `routing-formulation` → `cuopt-routing-formulation`
  • `skill-evolution` → `cuopt-skill-evolution`

All 12 cuOpt skills now in `NVIDIA/cuopt/skills/`:

Skill sig card evals BENCHMARK
cuopt-developer
cuopt-install
cuopt-numerical-optimization-api-c
cuopt-numerical-optimization-api-cli
cuopt-numerical-optimization-api-python
cuopt-numerical-optimization-formulation
cuopt-routing-api-python
cuopt-routing-formulation
cuopt-server-api-python
cuopt-server-common
cuopt-skill-evolution
cuopt-user-rules

Source totals: 12 sig + 12 card + 12 evals.json + 6 BENCHMARK.md. Remaining 6 BENCHMARK.md will land on subsequent per-skill `/nvskills-ci` runs.

After this merges

Next sync publishes all 12 cuOpt skills flat at top-level:

```
skills/cuopt-developer/
skills/cuopt-install/
skills/cuopt-numerical-optimization-api-c/
skills/cuopt-numerical-optimization-api-cli/
skills/cuopt-numerical-optimization-api-python/
skills/cuopt-numerical-optimization-formulation/
skills/cuopt-routing-api-python/
skills/cuopt-routing-formulation/
skills/cuopt-server-api-python/
skills/cuopt-server-common/
skills/cuopt-skill-evolution/
skills/cuopt-user-rules/
```

External impact

Catalog paths change from `skills/cuopt//` to `skills//`. Anyone with bookmarks at the old nested paths will need to repoint. cuOpt is the catalog's first product to be fully migrated to flat layout end-to-end (source rename + re-sign + catalog yml restructure + orphan cleanup).

Test plan

  • DCO + Verify Authors green
  • After merge: trigger manual sync; confirm 12 skills land flat at `skills/cuopt-*/`
  • Confirm orphan `skills/cuopt/` directory does not reappear

🤖 Generated with Claude Code

Atomic cutover for cuOpt to flat layout. Two changes:

1. components.d/cuopt.yml restructured to 12-entry flat layout (one
   entry per skill, lowercase catalog_dir matching skill name). Source
   names were renamed by Ramakrishnan in NVIDIA/cuopt — 3 previously
   unprefixed skills (numerical-optimization-formulation,
   routing-formulation, skill-evolution) now carry the cuopt- prefix,
   re-signed via /nvskills-ci.

2. skills/cuopt/ orphan directory removed. After the next sync, 12 cuOpt
   skills land directly at skills/cuopt-<name>/ at top level. The old
   nested directory is no longer referenced by any components.d entry
   and would otherwise persist as orphan content (anti-pattern #1).

Source compliance (NVIDIA/cuopt as of 2026-05-28):
- 12 skill-card.md ✓
- 12 skill.oms.sig ✓
- 13 evals.json (one additional eval beyond the per-skill set)
- 6 BENCHMARK.md (6/12 currently have Tier 3 eval; rest land on next
  per-skill /nvskills-ci runs)

Catalog path changes externally — anyone with bookmarks pointing at
skills/cuopt/<name>/ will need to repoint at skills/cuopt-<name>/.
SPDX header added per convention adopted 2026-05-28.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
@mosheabr mosheabr requested a review from sayalinvidia as a code owner May 29, 2026 01:05
@mosheabr mosheabr merged commit 2b3f481 into main May 29, 2026
3 of 4 checks passed
@mosheabr mosheabr deleted the moshea/cuopt-flat-layout branch May 29, 2026 01:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant