Repository navigation
release: 0.6.11 version and release text - #1253
Conversation
…ough its staged script OPR.0.7.0.5. OpenRig types every Codex launch (fresh, fork, resume, and this restart's own relaunch) as `/bin/sh <tmpdir>/openrig-tmux-send-<pid>-<uuid>.txt`, so a managed Codex runs one sh below the pane's shell, and `rig seat restart --keep-conversation` refused it as pane_shape_unknown (the same chain on 0.6.10). The shell-backed shape now also accepts exactly that one link: an sh whose only argument is an absolute path with the name the tmux adapter gives its staged scripts (isStagedSendScriptPath). Any other process between the shell and Codex is still refused. The native harness gains a case that launches through the adapter's staging and restarts twice in the same pane (red on main). It also folds in #1196's fixture LOW: the direct-native case compares the stub with the reported replacement process and ties it to the respawned pane separately, so it holds where the image's sh doesn't exec a lone command. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit e773e5b)
…ns as bash Found in review, measured on macOS: /bin/sh there is a shim that runs bash (or dash or zsh), so ps names the staged script's process bash and the new link never matched. The link now accepts the shells /bin/sh can run as (sh, bash, dash, zsh) for the process name, and keeps every argv check: exactly two arguments, argv[0] /bin/sh or sh, and the staged absolute path. A macOS-shaped fixture (bash, /bin/sh /var/folders/.../T/openrig-tmux-send-...) is accepted (red before this change); `/bin/bash <script>` and an extra argument stay refused. LOW: the staged script's name now comes from one prefix and suffix used by both the generator and the matcher, and a unit test passes the real defaultTmuxFileOps().tmpName() through the matcher. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit df7ee77)
…nly a missing conversation A pod-aware resume rolled the seat back as unresumable whenever the runtime adapter answered retry_fresh. Claude's adapter gives that answer both when Claude reports the conversation doesn't exist and when the pane simply ends up back at its shell, so a Claude that exited for any other reason lost its pane, its error output with it, and was told its conversation was unresumable. The adapters now mark a retry_fresh failure that comes from the runtime's own missing-conversation report (Claude's "No conversation found", Codex's missing saved session, Pi's missing session file). The pod-aware restore rolls back only on that mark. A pane that returned to its shell for another reason is reported failed, with its session, pane and binding kept, as before the rollback existed. The hint's other readers (the fresh fallback, the in-place restart) are unchanged. Refs #1191 Claude-Session: https://claude.ai/code/session_01WfCu2MmcrSGRNX9Rjv1h6u (cherry picked from commit fae3e6e)
Claude's resume check reads the pane 16 times, then once more. The loop already marks Claude's "No conversation found" as a missing conversation, but the final read only checked resumed, attention and the shell, so a report that first appeared there came back unmarked and the pod-aware restore treated it as an ordinary failure. The final read now returns the same marked result before the shell check. Refs #1191 Claude-Session: https://claude.ai/code/session_01WfCu2MmcrSGRNX9Rjv1h6u (cherry picked from commit 0b9704e)
…d person with a pane (#1085) A registered person can also be a seat with its own pane. The destination resolver classes that address `pane-bound`, so `rig queue create --verify` reported only the terminal wake, even though the gateway may also post the row to that person in Slack. `GET /api/queue/:qitemId` now also returns `ownerNotificationLevel`, the level on the row's latest owner-notification transition (the one the Slack selector keys on), or null. When the terminal side applies and that level is set, or a gateway receipt already exists, `--verify` adds a `gateway` result: `posted`, a failure with its detail, or `still-pending` at the bound. The terminal side (`outcome`, `wakeResult`, `claim`) is reported as before, `humanReadership` stays unknown, and the wait keeps its 30 s default bound. "This is not a failed handoff" is no longer shown when Slack reports a failed delivery. A seat with no owner-notification level settles at once with no `gateway` field; gateway-routable destinations, registered aliases and `@external` keep the existing path; the create request, `--id` and `--no-nudge` are unchanged. With `output.compact` on, the short receipt keeps the whole `delivery` result, Slack side included. Refs #1029. (cherry picked from commit f07ddfe)
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Tests dispatched on head |
Brings the version and notes onto the release tip, after #1252 landed there by rebase. The capability page conflict keeps this branch's text; the tree is unchanged.
|
Merged the release tip ( |
The keeping-a-watch limitation now states the cause the right way round: a held-back (retained) one-shot wake is recorded as the timer's one fire and later wakes aren't, so the timer isn't retired. OPENRIG_REFOCUS_WORK_PACKET shipped in 0.6.10, so #1066 is described as a change to it, not a new switch. #1182 is a macOS test fix, #1131 refuses only a value that can't become a number, and #1148 fixed tests that failed on some Linux machines. #1085's line states that --verify can wait its full 30-second default when Slack isn't set up. #1142, #1196's --verify and #1153's ~ expansion are stated exactly. Text only.
|
Text corrections pushed as |
openrig-review
left a comment
There was a problem hiding this comment.
Approved at ef1cc0e, into release/0.6.11 (not main): 0.6.11's version change (the same five package files as 0.6.10's) and release text (CHANGELOG, whats-new, the capability page). The text round corrected the one-shot watch description, the work-packet switch, three entries' wording and #1085's 30-second --verify cost. Tests run 38518874973 passed 8/8 at this head. release/0.6.11 (1a73ec5) is an ancestor of this head, and the merge gives exactly this head's tree, 826407bb.
— dev60-planner@v-openrig-build
Advance development main to 0.6.11 and carry its release text. - 0.6.11 is published from release/0.6.11 (tag v0.6.11). This is the release's own version and text commit (af1b61b, #1253) cherry-picked onto main, equal to it file by file. - The root, cli, daemon and ui package files and the lockfile read 0.6.11; no dependency, script or lifecycle field changes. - CHANGELOG.md and docs/reference/whats-new.md equal the published tag's files; the capability page gains 0.6.11's lines and keeps main's later ones. - No code carries: the release branch's code commits are already on main.
The 0.6.11 version and release text, on the release branch.
Refs #1252
#1252 is in
release/0.6.11; this branch now carries a merge of that tip (1ed18a0e, tree unchanged). The change is these two commits:4d323bb5release: 0.6.11 version.package.json,packages/{cli,daemon,ui}/package.jsonandpackage-lock.jsongo from0.6.10 to 0.6.11: the same 5 files and 9 lines as 0.6.10's version change.
0225bf3bdocs: the what-changed note, capability map and changelog, in the same three files as 0.6.10's text change:CHANGELOG.md: a[0.6.11]section covering the 42 changes after 0.6.10 atcb79b8c9, plus fix(seat): restart in place accepts a Codex that OpenRig launched through its staged script #1212, fix(restore): keep a Claude pane that exits to its shell; roll back only a missing conversation #1218 and fix(cli): keep the Slack wait in queue create --verify for aregistered person with a pane #1085. Every oneof the 45 is linked. A short "Known limitations" section closes it.
docs/reference/whats-new.md: replaced with the 0.6.11 note (what behaves differently from 0.6.10, what to stop doing, knowngaps).
public-what-you-can-do.md: markercapability-delta-v0.6.11, plus targeted lines forrig seat restart,rig seat launch --stop/--plan, the recordedrig seat stop, restore'sawaiting-decisionstop,--wait-for-idle,queue create --verify'sclaimedoutcome,output.compact,provider.usage_windows,--projectonrig proof, and the one-shot timer limitation.The top-level verb count is unchanged (87).
Known limitations, as stated
rig seat restart --keep-conversationsupports Linux only, and its automated tests don't restart a real Codex seat.blockedbecause of one non-running seat whose restore would stop for a decision. It'slimited to that API:
rig statusand the TUI's rig list don't show it for a running rig.--wake-afterwake held back by the typing guard (retained)isn't counted: the timer can wake the owner again, and a row sharing the timer can lose its wake.
Tests
Release-branch PRs don't get the required checks attached automatically. Tests are dispatched on this branch's head; the run is
linked below.