Repository navigation
OpenRig 0.7.6
OpenRig 0.7.6: follow a slice's work in one terminal workspace, plus steadier daemon start and delivery
OpenRig 0.7.6 lets one terminal workspace follow the agents actually working a slice. As work is handed off and completed, their tiles come and go, while drafts, focus and the agents themselves are kept. It also keeps more seat settings through expansion and restore, reports a dead pane as exited instead of idle, stops a slow-starting daemon from being killed by its own readiness deadline, and repairs several queue and Slack delivery paths.
Before you upgrade
npm install -g @openrig/cli@0.7.6
rig daemon stop && rig daemon start- Two database updates record a seat's selected account home and whether a community-harness launch declared a runner.
- The bundled openrig-core plugin goes to 0.1.23: its Claude activity hook now clears permission marks after a tool batch. Replaced files are preserved under
$OPENRIG_HOME/backups/managed-refresh/<id>/; reapply any local edits you still need. - On a large database,
rig daemon startmay now report that startup is still pending instead of failing. Follow the guidance it prints before trying any recovery.
Follow a slice's work
rig terminal open slice:<name-or-id> --follow --provider herdrshows the current owners of the slice's open work: pending, in-progress and blocked queue rows tagged with that slice. Each owner appears once, with all its obligations listed. Tag a row withrig queue create --slice <name-or-id>; handoffs keep the tag. (#2259)- New slice views start with four automatic tiles;
--max-tileschanges that. A known empty slice keeps following and fills again. An incomplete read keeps the previous viewers, and missing or ambiguous slices are named, never shown as an empty team. Pins, drafts, unknown input and focus still protect a departed viewer, and closing a viewer never stops its agent. - When a slice's folder name repeats across missions, tag its work with the slice's unique ID (or add
--mission). A row tagged only with the shared name can't be placed, so the view reads incomplete until it is. (#2261) - An owner whose join was refused before any pane split now joins on a later refresh, and a viewer that hasn't attached yet can carry on. (#2271)
- Named Herdr sessions use their configured endpoint throughout, and the TUI's terminal action opens the agent, pod or rig in view. (#2205, #2232)
- Slice following targets Linux Herdr 0.9.5 / protocol 22. Following a whole mission isn't in this release.
Seats, accounts and harnesses
rig expandkeeps the member settingsrig upaccepts, including env, effort and startup settings, and a restore keeps a model set withrig seat set-model. (#2250, #2227, #2228)- Move a running seat to another account home with
rig provider switch --seat <seat> --to-account <name> --account-home <dir>(preview with--dry-run). It starts a fresh conversation with a handover, and the seat keeps its address and work. (#2143) - A Claude seat can switch between subscription and API key on the same conversation (
--to-account api --api-key-file <file>, back with--to-account plan --token-file <file>). In-flight work is interrupted. The API-key path is not qualified yet, so check the resulting account and conversation. A new Claude member can name its own token file in its spec withclaude_token. (#2191, #2246) - Managed seats inherit the daemon's SSH agent for git over SSH. (#2222)
- Community-harness presets can opt into
runner: true(withlaunch_result: true) so the seat's activity follows its runner, andpasses_model: trueto receive the declared model asOPENRIG_MODEL. That says which model was passed, not which one runs. New draft author contracts describe harness, runner and platform duties, marking what's implemented and what's proposed. (#2239, #2243, #2272)
Delivery, Slack and status
- A queue wake refused at a selection prompt is retried once the prompt clears. Work sent to a terminal-only seat raises a finding for a person. Cross-host
rig queue create --verifyreads the destination's receipt. (#2235, #2192, #2193) - A Slack button answer now resumes a decision parked on the person asked, which was 0.7.5's known issue.
rig slack setup --reactions offstops acknowledgement emoji from waking agents. (#2245, #2241) - A verified exited process in a retained pane reads
pane_exited, not running and idle, and its work goes to the usual recovery finding. (#2248) - Smaller fixes cover inventory reads, UTC snapshot ages, TUI emoji, help text and test fixtures. The changelog lists every change.
Behaviour that changed
- Startup: when only the readiness deadline passes and the daemon is still starting,
rig daemon startexits nonzero with a pending message naming the process, its endpoint and the log. The daemon is left running, and a second start stays blocked.rig daemon stopcan't reach that unpublished process; the message gives the manual restart. (#2267) - Viewer API:
POST /api/terminal/viewer/ensurereturns HTTP 400 forview_requiredandunknown_provider, where it returned 200 with an error body. Keep reading the body's code. (#2259)
Known issues
- Codex hooks on an older configuration (#17): if your Codex configuration came from an older OpenRig install that never trusted OpenRig's own plugin hooks, after a restart the kernel's Codex seats can stop at Codex's "Hooks need review" prompt.
rig statusthen shows the kernel aspartial_ready, andrig psshows the seats needing attention. No message is sent. This also happens on 0.7.5. - An exited viewer isn't restarted: a viewer whose attach already ran and then exited back to a shell isn't restarted automatically, and the whole slice view can hold until that tile is resolved. No tested workaround is offered yet.
- Later hold notices can show a generic reason; the original failure is in the journal. The changelog's and capability map's statement that hold notices retain the original reason holds for a seat's first notice, not for every later one.
- A typed reply in the thread of a question parked on its own person resumes the question, but isn't recorded as the answer; the owner receives it as a message instead. Buttons work. The capability map's statement that a typed Slack reply is kept in
humanAnswersdoesn't hold for such a parked question. - Held is not delivered: with a Codex seat's typing guard on, a message OpenRig can't confirm will stay visible is held before it's pasted. That can happen in small tiles, and many wrapped messages are held even when they would have fit. Check
rig seat held-messagesbefore resending. A larger pane or a shorter message may help; turning the guard off removes draft protection and isn't a fix. - Codex restart refusal (#2200): it's still unresolved. If
rig seat restart <seat> --keep-conversationrefuses, nothing is stopped; leave the seat running and report it with your CLI and daemon versions. - Hosted members remain experimental, unsupported, off by default and at your own risk. Slice following doesn't need them.
Credits
Thank you to @seanmcn, @DeryFerd, @Aschenbath, @Vaishnavi220506, @bradvin, @jay23606, @rudycelekli and @Nikhi00718 for contributions in this release; to @akushonkamen, @jcmurrayii, @KM199 and @pdurlej for changes, reports and reproductions that shaped it; to @appleguy, @al-robertson-cto and @skv-io, whose reports led to fixes and documentation here; and to @bpamiri, whose runner-preset proposal on #43 shaped the runner field.