Skip to content

OpenRig 0.6.14

Latest

Choose a tag to compare

@mvschwarz mvschwarz released this 21 Oct 05:59
· 162 commits to main since this release

OpenRig 0.6.14

0.6.14 is the last planned release of the 0.6 line: a small set of stability fixes on top of 0.6.13. Agents launched by an older OpenRig that
stopped receiving messages after an upgrade can be repaired in place, and the error now tells you how. A manual compaction waits while its
preparation sits at an approval, refocus does less work on a busy machine, and the inventory read behind rig ps and the TUI uses an index
instead of scanning the event log. New users get a getting-started page written for people.

npm install -g @openrig/cli

Before you upgrade

  1. Restart the daemon after upgrading the CLI. The running daemon keeps its old build until it restarts:

    rig daemon stop
    rig daemon start
    

    No database migration runs. Coming from 0.6.12 or earlier, read 0.6.13's notes
    first: its migration runs on the first start.

  2. If messages to an agent are refused with "Managed pane identity unavailable or changed; no input written.", and that seat's pane was
    never recorded (seats an older OpenRig launched are often in this state), repair it in place, keeping its session and resume token:

    rig reconcile-session <seat> --repair-missing-pane --no-launch
    

    Then send again. The repair needs typing protection off for that seat, so turn it off only if the person agrees, and back on afterwards.
    If it refuses, see Known issues.

What's new and fixed

  • Agents with no recorded pane can be repaired. rig reconcile-session <seat> --repair-missing-pane --no-launch fills in only the
    missing pane after looking at the session twice. It keeps the seat's session, resume token and history, and adopts nothing. It refuses,
    changing nothing, when there's more than one pane or window, the pane changes between its two looks, a seat operation is running, or
    typing protection is on (#1564).
  • The refusals name the fix. The send refusal and the compaction refusal for a seat with no recorded pane now name the repair command,
    and the compaction refusal explains how to turn typing protection off and on with the person's agreement. rig config --help lists the
    new Mac setting, rig ask --help explains its exit codes, and the CLI reference and the openrig-user skill list the repair
    (#1594).
  • A manual compaction waits through an approval. When a seat stops at an ordinary approval prompt while preparing, rig compact keeps
    waiting inside its deadline instead of giving up. OpenRig never answers the approval itself
    (#1562).
  • Refocus does less work on a busy machine. It finds each notes file itself instead of starting the CLI once per level
    (#1563).
  • An indexed inventory read. The inventory read behind rig ps and each rig tui refresh now finds launch fences through an existing
    index instead of scanning the whole event log, and returns the same rows (#1617).
  • A getting-started page for people. docs/reference/quickstart.md
    explains how the pieces fit, the quick way in through the rigs skill, and what OpenRig changes on your machine. getting-started.md
    becomes the setup reference for the agent doing the setup (#1565).
  • An optional Mac check, off by default. On a Mac shared by several accounts, rig config set transport.local_user_guard true makes the
    CLI refuse a local daemon that another account runs. It's a guard against reaching the wrong daemon by accident, not authentication. See
    the setup reference
    (#1566).
  • The roadmap drops three finished items (#1560).

Behaviour that changed

  • rig ask --wake refuses a runtime it can't wake (Pi, custom or unrecorded) instead of quietly trying a Claude wake. Upgrade the CLI and
    the daemon together to catch every case (#1561).
  • A manual rig compact can take longer to answer: its preparation gets 180 seconds (was 120) and the request 240 seconds (was 180)
    (#1562).
  • The bundled openrig-core plugin goes from 0.1.14 to 0.1.15, and /healthz gains an euid field beside pid.

Known issues

  • The in-place repair refuses adopted seats and ambiguous panes. For a confirmed live seat, plain
    rig reconcile-session <seat> --no-launch re-adopts it into a new session row and attempts to capture its resume token; conversation
    continuity is not verified. If the intended pane is unclear, use rig context get help.
  • On a Mac with several user accounts, a second user's rig commands can reach the first user's daemon on the default port unless the
    Mac check above is on. Running each person's daemon on its own port lets both work, but doesn't keep them apart.
  • Restarting a Codex seat in place to switch its account works on Linux only. On a Mac it refuses and leaves the other seats alone.
  • A Pi seat can start on a row as soon as it's told about it, before a timed wake set for it. If timing matters, watch the row.
  • rig up <rig> --existing can refuse to restart a rig after one of its seats was stopped on purpose. Use
    rig restore <snapshot> --rig <rig> instead; the stopped seat stays awaiting your decision.
  • An open rig tui keeps the daemon busy, re-reading every 30 seconds, and keeps its old code after an upgrade. Quit it when you're done,
    and reopen it after upgrading.
  • After a compaction, confirm it ran by the restore request or the drop in context, and check that refocus showed the agent's current
    work.
  • A fresh in-place handover of a Claude seat can report ready early. Check that the new agent read its packet.
  • rig context get reference/quickstart.md doesn't resolve. Read the page on GitHub or in the package's docs/reference/.
  • Slack: missed replies in older open threads aren't caught up, and private channels and direct messages aren't recovered.
  • Known issues from 0.6.13 still apply.

We tested this release on our own working teams, and on older installs upgraded to it, before publishing.

Credits

Every change in 0.6.14 was built by the OpenRig team. Thank you to everyone who reported problems. If something breaks for you, please
open an issue.