Skip to content

release: 0.6.11 version and release text - #1253

Merged
mvschwarz merged 9 commits into
release/0.6.11from
release-0.6.11/version-notes
Oct 14, 2026
Merged

mvschwarz merged 9 commits into
release/0.6.11from
release-0.6.11/version-notes

Conversation

@mvschwarz

@mvschwarz mvschwarz commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

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:

Known limitations, as stated

  • rig seat restart --keep-conversation supports Linux only, and its automated tests don't restart a real Codex seat.
  • The rig status API can call a running rig blocked because of one non-running seat whose restore would stop for a decision. It's
    limited to that API: rig status and the TUI's rig list don't show it for a running rig.
  • A constructed case can keep a Codex seat reading as at its usage limit; it hasn't been seen in a real session.
  • The keeping-a-watch page says a timer fires once, but a one-shot --wake-after wake 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.

orch-lead and others added 7 commits October 14, 2026 05:08
…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)
The 0.6.11 CHANGELOG section, the packaged what's-new note and the capability map (marker capability-delta-v0.6.11), for the release's content: the 42 changes after 0.6.10 at cb79b8c plus #1212, #1218 and #1085. Known limitations are stated by substance. Text only.
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7e253608-dc1c-4560-96f1-98c4e34dc459

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mvschwarz

Copy link
Copy Markdown
Owner Author

Tests dispatched on head 0225bf3b: https://github.com/mvschwarz/openrig/actions/runs/38516122112

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.
@mvschwarz

Copy link
Copy Markdown
Owner Author

Merged the release tip (1a73ec57) into this branch; new head 1ed18a0e, same tree as 0225bf3b (11e197ac). Tests dispatched: https://github.com/mvschwarz/openrig/actions/runs/38517722407

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.
@mvschwarz

Copy link
Copy Markdown
Owner Author

Text corrections pushed as ef1cc0e2. Tests dispatched: https://github.com/mvschwarz/openrig/actions/runs/38518874973

@openrig-review openrig-review left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@mvschwarz
mvschwarz merged commit af1b61b into release/0.6.11 Oct 14, 2026
9 checks passed
@mvschwarz
mvschwarz deleted the release-0.6.11/version-notes branch October 14, 2026 06:21
mvschwarz added a commit that referenced this pull request Oct 18, 2026
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.
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.

3 participants