Skip to content

feat: add standalone OptSkills package - #7

Merged
ConanXu-math merged 5 commits into
mainfrom
codex/add-optskills-thin-adapter
Sep 2, 2026
Merged

feat: add standalone OptSkills package#7
ConanXu-math merged 5 commits into
mainfrom
codex/add-optskills-thin-adapter

Conversation

@ConanXu-math

@ConanXu-math ConanXu-math commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add OptSkills as a standalone package under skills/optskills/.
  • Import 103 released problem-archetype cards: all 93 NanoCO cards, then 10 learned cards whose IDs are absent from NanoCO.
  • Preserve the selected upstream card text and MIT license from fujiwaranoM0kou/OptSkills at d9e14300df4b499529c74ea1981e2c1aba0628b8.
  • Add a thin entrypoint that selects through the package index, loads only relevant cards, rebuilds the model for the user's data, checks solver status, and independently checks the objective and constraints.
  • On every normal use, compare the one recorded upstream commit with git ls-remote ... HEAD. Matching commits are silent; a changed or unavailable lookup produces at most one short note and still uses the packaged cards. This check does not fetch or inspect upstream cards.
  • Add an explicit-request-only update guide. It compares upstream content before editing, confines card paths to direct Markdown children, resolves removals and path collisions before writing, and stops separately for license or attribution changes.
  • Expose the package in the root English/Chinese documentation and acknowledge the upstream authors and paper.

This package is independent at runtime: it does not load sibling Skills. Upstream training, clustering, agent, dataset, and evaluation systems are not included.

Validation

  • quick_validate.py skills/optskills: passed.
  • python3 -m unittest discover -s tests -v: 30 tests passed with 5 existing optional OSQP/NumPy dependency skips.
  • Package structure: 103 entries, 103 unique non-empty IDs, 103 unique direct-child paths, 103 card files, no missing files or symlinks.
  • Lightweight version check: the recorded commit and official upstream HEAD both returned d9e14300df4b499529c74ea1981e2c1aba0628b8 in the successful run; a later transient TLS failure also confirmed the documented non-retry, non-blocking branch.
  • Package-only discovery: from an otherwise empty temporary Git repository containing only .agents/skills/optskills, a fresh ephemeral Codex session discovered optskills, read its entrypoint, displayed the matching assignment_problem_solver index entry, followed that indexed path, read the card, and exited 0 without formulating or solving the example. An earlier discovery run encountered WebSocket timeouts but completed after the client fell back to HTTPS.
  • Three existing public records were routed, solved, and independently checked:
    • AP_easy_1 -> assignment_problem_solver: CP-SAT OPTIMAL, objective 84; all exact-one row and column constraints passed.
    • MCF_easy_1 -> minimum_cost_network_flow: Pyomo/HiGHS ok / optimal, objective 127; all 6 node balances and 12 arc-capacity checks passed.
    • FSSP_1 -> flowshopscheduling: CP-SAT OPTIMAL, makespan 155; duration, precedence, no-overlap, makespan, and all 6 common-permutation checks passed.

These runs validate those three records only, not every example in all 103 cards. The cards remain modeling templates and may contain upstream placeholders that must be completed for a user's instance.

Review notes

  • The imported upstream text contains 126 trailing-whitespace findings across 12 cards, so a repository-wide git diff --check reports them. All VeryMath-authored adapter and root files pass the focused check. This PR leaves the released card text unchanged rather than silently normalizing it.
  • In the disposable macOS solver environment, importing CP-SAT before highspy avoided a dynamic-symbol conflict. This is an environment/import-order note, not a package runtime dependency.
  • Final adversarial and scoped re-review found no remaining Critical, Important, or Minor release blocker.

Please review before merging; this PR does not auto-merge.

@ConanXu-math
ConanXu-math merged commit 53d8b6c into main Sep 2, 2026
2 checks passed
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