Repository navigation
feat(sdk): expose immutable host lifecycle and room status - #849
Closed
bandzalkin wants to merge 10 commits into
Closed
bandzalkin wants to merge 10 commits into
bandzalkin wants to merge 10 commits into
Conversation
8 tasks done
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 19, 2026
Source-Base: 5ea3a0d Source-Head: e65924d Upstream-PR: band-ai#849
bandzalkin
force-pushed
the
feat/host-status-snapshot-refresh
branch
from
October 20, 2026 06:36
e65924d to
0cd68b3
Compare
bandzalkin
requested review from
AlexanderZ-Band and
amit-gazal-band
as code owners
October 20, 2026 06:36
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 20, 2026
Source-Base: 92b0282 Source-Head: 0cd68b3 Upstream-PR: band-ai#849
bandzalkin
force-pushed
the
feat/host-status-snapshot-refresh
branch
from
October 20, 2026 11:50
0cd68b3 to
9034295
Compare
Main now reconnects on a peer normal close (reconnect_on_normal_close), so transport completion is signal_cancel or a policy close: drop normal_close from the completion matrices and let the linkclose model accept a run that ends by raising AgentDisconnectedError with its typed reason, as the surface feature specifies.
…main) # Conflicts: # README.md # src/band/agent.py # src/band/runtime/platform_runtime.py # tests/agent/test_disconnect_real_wire.py # tests/agent/wirekit.py
A peer normal close reconnects now, so the startup-cannot-restore-health case needs a close that truly ends the supervisor.
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: bf0828c Source-Head: e015dd8 Upstream-PR: band-ai#849
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: bf0828c Source-Head: e015dd8 Upstream-PR: band-ai#849
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: bf0828c Source-Head: e015dd8 Upstream-PR: band-ai#849
Contributor
Author
|
Closing: band-agent does not consume this; may be re-proposed per feature. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This gives managed hosts an immutable view of agent and room state without polling private runtime structures. Synchronous
Agent.status()andPlatformRuntime.status()return I/O-free snapshots; they observe the existing lifecycle owners rather than becoming another lifecycle authority.AgentStatusandRoomStatusmodels covering running/connected state, terminal disconnect cause, successful-start timestamp, room membership, routing, execution state, and unsettled ownership.cleanup_pendingvisible while initialization, adapter cleanup, runtime resources, or single-instance guards remain owned. A disconnected agent with unfinished cleanup is not reported as cleanly stopped.Prerequisite
Depends on public terminal-disconnect handling in #843.
Validation
Loopback WebSocket tests cover immutable snapshots, membership and execution transitions, reconnects, shutdown during startup, failed/cancelled cleanup, and restart.