Skip to content

feat(omp): add OMP (oh-my-pi) as a third pipeline runtime - #166

Open
olk wants to merge 1 commit into
jordan-gibbs:mainfrom
olk:main
Open

olk wants to merge 1 commit into
jordan-gibbs:mainfrom
olk:main

Conversation

@olk

@olk olk commented Oct 8, 2026 •

Copy link
Copy Markdown

What this changes

Adds OMP as an opt-in target alongside Claude Code and OpenAI Codex.

Why

I use OMP at daily work and I'd like to use hyperresearch in OMP.

How it was verified

pytest tests/ -q (full, twice) -> green
ruff check src/ tests/ -> clean

Adds OMP as an opt-in target alongside Claude Code and OpenAI Codex.
The same 16-step research pipeline runs on all three platforms with
runtime-specific adaptations:

- OMP keeps the browser lane via the `eval` tool's `browser` facade
  (relay mode attaches to the user's logged-in Chrome; managed
  Chromium is the fallback), while Codex queues blocked fetches and
  Claude Code has no browser lane.
- Tool locks are enforced by OMP's `tools:` frontmatter allowlist,
  not by instruction (unlike Codex where the same lock is advisory).
- The stop gate is advisory on OMP: it requests one continuation per
  stop, capped at 8, instead of Codex's uncapped refusal.
- OMP's `/hyperresearch <query>` trigger is a file command
  (`.omp/commands/hyperresearch.md`), not a skill invocation.
- Step procedures are plain files under `.hyperresearch/omp/steps/`,
  read with the `read` tool (same pattern as Codex, different path).
- Subagents are markdown task agents in `.omp/agents/`, spawned via
  the `task` tool.

`hyperresearch install . --target omp` installs the entry skill,
the `/hyperresearch` command, step files, subagents, and a stop-gate
extension. `--global --target omp` puts skill + command + agents in
`~/.omp/agent/`. `--target all` still means claude + codex only;
OMP is opt-in per project.

Includes:
- `src/hyperresearch/core/omp.py`: OMP translation layer (agent markdown
  → OMP task agents, tool vocabulary, stop-gate extension)
- `src/hyperresearch/omp/extension_template.ts`: The advisory stop-gate
  extension shipped as TypeScript
- `tests/test_cli/test_install_omp.py`, `test_omp_install.py`,
  `test_omp_skill_templates.py`: Coverage for the OMP install path,
  agent translation, and template rendering
- Updated skill templates with OMP conditional branches throughout

This branch has not been deployed

No deployments
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