DEV Community

gracefullight
gracefullight

Posted on

oh-my-agent 15: HyperFrames replaces Remotion, Serena guard ships

oh-my-agent CLI 15.0.0 just shipped, and oma-video now renders with HyperFrames instead of Remotion. It is a breaking change, so it took a major version. The week also brought a hook that stops agents from bypassing your code-intelligence provider, and a batch of fixes for Serena daemons and schedules.

The numbers: 67 commits, 230 files touched, CLI 15.0.1 and web 7.0.0.

What's new

  • HyperFrames compositor: the managed video toolchain moves from Remotion to HyperFrames (heygen-com/hyperframes) across the video CLI, the oma-video skill resources, oma update refresh, and docs. Migration is two renames: the video.remotion config key is now video.hyperframes, and --compositor remotion becomes --compositor hyperframes.
  • Code-intelligence guard: a new PreToolUse handler denies native Grep/Glob and recursive shell search (rg, ag, fd, grep -r, find -name, git grep) while providers.code_intelligence is configured. The deny reason names the Serena or Gortex tool to use instead. Set providers.code_intelligence_guard to off in a local overlay to disable it, or prefix a command with OMA_CI_ALLOW_NATIVE=1 when the provider is down. It is registered in all seven hook variants (claude, codex, cursor, grok, kimi, kiro, qwen).
  • AGENTS.md only: Claude Code 2.1.277 and later reads AGENTS.md natively, so oma now writes its block there and never into CLAUDE.md. Migration 031 strips the legacy block, deletes the file only if the block was its sole content, and leaves an @AGENTS.md import line for user-owned files. oma doctor warns when a CLAUDE.md without the import would shadow AGENTS.md.
  • Legacy Gemini MCP cleanup: migration 030 removes matching OMA default Serena and browser entries from old project Gemini settings once Antigravity is selected. Custom settings and symlinks are preserved.

What's fixed

  • Serena daemon sprawl: a bridge that could not probe a busy daemon within 2 seconds used to start a rival on the same port. The rival died on bind and pruned the live daemon's registry record, leaving three daemons per project on one machine. Bridges now wait on a registered daemon whose pid is alive, and registry operations run under the file lock.
  • Stranded schedules: registrations written before the command rename still invoked oma schedule:run, failed on every fire, and still showed as synced. Drift detection now reads the registered command from launchd, crontab and systemd, reports a stale state, and oma schedule sync and oma update rewrite those jobs.
  • Global settings clobbered: cd $HOME && oma link claude treated HOME as a project root and rewrote the user's global hook commands. link and update now refuse project mode from HOME and point at oma link --global (closes #788).
  • Secrets check: oma verify detects hardcoded secrets more reliably.
  • Native search false positives: the guard now allows scoped searches inside provider-excluded and external paths, with Windows path normalization.
  • Repeated Serena migration: migration 007 no longer re-triggers a same-version download after browser MCP selection.

What's better

  • Import boundaries: check-boundaries now enforces every literal import. Schedule adapters and video internals moved into cli/io/schedule and cli/io/video, and agent dispatch preparation is shared between spawn and parallel.
  • Tests: the scripts/ suite (41 tests) now runs under vitest, so bun run test covers it. It previously used the bun runner, which no npm script executed.
  • Cross-post pipeline: the vendor JSON envelope is unwrapped before parsing, which fixes the weekly job failing on every run, and translated titles must now carry the same claim as the English source.
  • Docs: Korean, Japanese and Chinese harness-evolution guides landed, which unblocked the locale docs builds. Spawn docs now say --vendor instead of the removed -m/--model flag.

Installation

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
Enter fullscreen mode Exit fullscreen mode
# Windows (PowerShell)
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
Enter fullscreen mode Exit fullscreen mode

Links

oh-my-agent is built for teams who orchestrate more than they prompt. Next up: more hooks that enforce what the session primer only advises.

https://github.com/first-fluke/oh-my-agent

Top comments (0)