feat(omnigent): register all 22 canonical Omnigent harnesses#36
Merged
Conversation
The 7 registered before were a subset. The upstream source of truth (github.com/omnigent-ai/omnigent: omnigent/inner/*_harness.py + harness_aliases.py) defines 22 canonical harnesses — far more than omnigent's own README example. Register one `omnigent-<slug>` agent per canonical `--harness` value, adding: antigravity (+native), claude-native, codex-native, copilot, cursor-native, goose (+native), hermes-native, kimi (+native), kiro-native, pi-native, qwen (+native); and switch opencode to its canonical `opencode-native` value. Data-driven: extends `register.HARNESSES` + `agent._HARNESS_VALUES`; the per-harness `session_factory` generation + harness threading already supported it (register↔agent factory names cross-check clean, no missing/extra). Only `omnigent-pi` is fully worked; the other 21 are listed-not-wired (each harness's own CLI install + model routing = next step). Docs updated: omnigent/README (grouped vendor + native status tables, 22 rows, provenance/refresh note), root README (Agents row + layout), test docstring. The data-driven tests cover every HARNESSES entry; ruff + link-check clean.
…istered text ruff format --check (pinned 0.15.15) wraps the HARNESSES tuples; also remove the leftover docstring/comment lines that still described the pre-22 world (the '-native run-modes documented not registered' note and the 7-agent list).
…harnesses The pinned by_slug assertion still encoded the old 7-harness mapping (incl. the pre-canonical opencode→opencode). Update it to the full 22 (AST-verified == HARNESSES).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expands omnigent from 7 → all 22 canonical harnesses. The 7 were a subset; the upstream source of truth (
omnigent/inner/*_harness.py+harness_aliases.py) defines 22 — far more than omnigent's own README example.Added (15): antigravity (+native), claude-native, codex-native, copilot, cursor-native, goose (+native), hermes-native, kimi (+native), kiro-native, pi-native, qwen (+native). Also switched
omnigent-opencodeto its canonicalopencode-nativevalue.Mechanism: data-driven — extends
register.HARNESSES+agent._HARNESS_VALUES; the per-harnesssession_factorygeneration (build_omnigent_<slug>) + harness threading already supported it. register↔agent factory cross-check: no missing/extra, no value mismatches.Status: only
omnigent-piis fully worked; the other 21 are 🧪 listed-not-wired (each harness's own CLI install + model routing = next step). Documented per agent inomnigent/README(grouped vendor + native status tables + provenance/refresh note), the root README, and the test docstring.ruff + markdown-link-check clean; the data-driven
test_registercovers everyHARNESSESentry. Follow-up to #34.