Skip to content

feat: OMP target (--target omp) - #171

Open
ChronodeAi wants to merge 1 commit into
jordan-gibbs:mainfrom
ChronodeAi:feat/omp-target
Open

ChronodeAi wants to merge 1 commit into
jordan-gibbs:mainfrom
ChronodeAi:feat/omp-target

Conversation

@ChronodeAi

Copy link
Copy Markdown

Adds a third runtime, OMP (oh-my-pi). OMP runs Claude and OpenAI models behind one tool set (read, write, edit, bash, web_search, task, todo), so one install serves both model families.

Layout

Project install (install . --target omp) Global install (--global --target omp)
Entry skill .omp/skills/hyperresearch/, invoked as /skill:hyperresearch <agent dir>/skills/
Step files .hyperresearch/omp/steps/ written per project on first run
Subagents (15) OMP agents in .omp/agents/ <agent dir>/agents/
Stop gate extension in .omp/extensions/hyperresearch.ts <agent dir>/extensions/

The agent dir is $PI_CODING_AGENT_DIR, else ~/.omp/agent.

No new template branches. OMP renders the Codex branches and core/omp.py translates them:

  • cat <step> becomes read <step>:raw, so step files are read in full.
  • Custom agents in .codex/agents/*.toml become OMP agents spawned with the task tool.
  • apply_patch becomes edit and update_plan becomes todo.
  • $hyperresearch becomes /skill:hyperresearch.

A test checks every OMP render for leftover Claude Code or Codex constructs, and checks that every step file and agent it references is installed.

Agents. Each is the Claude markdown agent with OMP frontmatter:

  • The tool allowlist is mapped to OMP names, and OMP enforces it the same way Claude Code does (the patcher gets [read, edit]).
  • There is no model key, so subagents run on the session's model, Claude or OpenAI.
  • thinking-level is set from the role's model class, and read-summarize: false makes reads return full text.
  • The depth investigator may spawn the fetcher.

Stop gate. The extension acts only in a session that has itself run hyperresearch run init or run step. A vault in a parent directory therefore cannot pull unrelated sessions into a run. On session_stop the extension runs hyperresearch run stop-gate --cwd <dir> --platform omp, using two new flags: --cwd skips reading stdin, and --platform omp makes the reason name the OMP step file. It returns OMP's advisory {continue, additionalContext}, which OMP caps.

Docs file. None is written for OMP: OMP's native .omp/AGENTS.md would shadow the project's own AGENTS.md.

Smaller changes

  • run resume -j gains omp_step_file.
  • hpr profile use re-renders OMP installs, and also the step files of projects bootstrapped from a global install.
  • --target all now includes OMP.

Verified

  • 13 new tests; full suite passes (1731).
  • The extension passes deno check and was exercised against a fake API.
  • Live checks in OMP:
    • A fresh omp -p session lists the skill and the agents.
    • A session that ran run step was sent back by the gate after trying to stop. It then aborted the run as instructed, and the gate let it finish.
    • A session that never ran the pipeline ended normally while a run was in progress in its vault.
    • The installed hyperresearch-fetcher agent ran with exactly bash, read, write, web_search and read a 1,779-line note in three pages.

Installs the pipeline for OMP (oh-my-pi), which runs Claude and OpenAI models behind one tool set. OMP renders the Codex branches of the templates and core/omp.py translates them (read/task/edit/todo, /skill:hyperresearch, .hyperresearch/omp/steps/). Agents become OMP agent markdown with mapped, enforced tool allowlists, no model (they run on the session's model), thinking-level by role and read-summarize: false. The stop gate is an OMP extension that acts only in a session that ran 'hyperresearch run init/step' itself and returns an advisory continuation from 'run stop-gate --cwd --platform omp'. Global installs go to OMP's agent dir (PI_CODING_AGENT_DIR or ~/.omp/agent). No docs file: .omp/AGENTS.md would shadow the project's AGENTS.md.

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