Skip to content

Let the SessionStart owner test give its root to the runtime that serves it - #2857

Merged
trissim merged 1 commit into
mainfrom
fix/session-start-owner-red
Oct 23, 2026
Merged

trissim merged 1 commit into
mainfrom
fix/session-start-owner-red

Conversation

@trissim

@trissim trissim commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Main has been red on test_session_start_hook_exit_preserves_the_recorded_owner_for_install_pause since before 55d5a3e. Nobody owned it.

Why it failed (two stale facts in the test):

  1. The test built its root with wire(), so the test venv's runtime adopted it. The hook's bridge then ran from the source programs, RootRuntime.require_attachable refused it with ForeignRuntimeError, and the bridge died before readiness. The test reported "Session bridge startup not observed". Its siblings (test_install_session_bridge.py:42, test_goal_nominal.py:121) publish the root to the serving runtime. This one now does too.
  2. SessionBridge.pause returns a single ResumableBridge (shared.py:652). The test still unpacked it as a 1-tuple.

The Bus.install line is deleted because root adoption creates the bus (root_runtime.py:69, #2854).

#2854 did not cause this: it failed the same way on 55d5a3e, before #2854 landed.

Proof: tests/test_session_bridge_owner.py, 1 passed, at this head on main 4ab345b.

🤖 Generated with Claude Code

…ves it

The test built its root in-process, so the test venv adopted it, then started
the hook's bridge from the source programs: RootRuntime refused that foreign
runtime and the bridge died before readiness. Publish the root to the source
programs' runtime, as test_install_session_bridge and test_goal_nominal do, and
drop the Bus.install that root adoption already performs. SessionBridge.pause
returns one ResumableBridge, so stop unpacking it as a tuple.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 23, 2026 18:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim merged commit 798d41f into main Oct 23, 2026
7 of 8 checks passed
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.

2 participants