Repository navigation
feat: gate activity tool names on the tool-call emit choice - #901
Open
bandzalkin wants to merge 1 commit into
Open
bandzalkin wants to merge 1 commit into
bandzalkin wants to merge 1 commit into
Conversation
This was referenced Oct 21, 2026
bandzalkin
added this pull request to stack #904
October 21, 2026 16:23
Base automatically changed from
feat/python-sdk-report-activity-detail-to-the-platform-producers-INT-1744
to
main
October 21, 2026 17:46
bandzalkin
force-pushed
the
feat/gate-activity-tool-names-on-emit-choice-INT-1894
branch
from
October 21, 2026 17:52
0641e8d to
4b7a697
Compare
Adapters gate tool-call narration on Emit.TOOL_CALLS, but the activity producers report tool names to the live indicator regardless, so an agent configured without tool narration still leaks names into the room. The choice is read once per turn in SimpleAdapter.on_event and enforced by a ToolNamesObserver wrapped around the context's activity observer, consulted at report time so a continuation bound earlier still follows the live choice. Permission waits and memory activity name no content and report either way.
bandzalkin
force-pushed
the
feat/gate-activity-tool-names-on-emit-choice-INT-1894
branch
from
October 21, 2026 17:56
4b7a697 to
f7cf0b5
Compare
bandzalkin
added a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: f7cf0b5 Upstream-PR: band-ai#901
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: f7cf0b5 Upstream-PR: band-ai#901
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: f7cf0b5 Upstream-PR: band-ai#901
github-actions Bot
pushed a commit
to bandzalkin/band-sdk-python
that referenced
this pull request
Oct 21, 2026
Source-Base: a3c187e Source-Head: f7cf0b5 Upstream-PR: band-ai#901
bandzalkin
marked this pull request as ready for review
October 22, 2026 03:17
bandzalkin
requested review from
AlexanderZ-Band and
amit-gazal-band
as code owners
October 22, 2026 03:17
This branch has not been deployed
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.
Why
Adapters gate tool-call narration on
Emit.TOOL_CALLS. The activity producers in #841 report tool names to the live indicator regardless, so an agent configured without tool narration still leaks tool names into the room.What
The emit choice is read once per turn in
SimpleAdapter.on_eventand enforced by aToolNamesObserverwrapped around the context's activity observer, consulted at report time so an observer bound earlier (a background continuation) still follows the live choice. WithoutEmit.TOOL_CALLSthe room seesreasoningwhere a tool runs; permission waits and memory activity name no content and report either way.Scope
Base
mainnow that #841 has merged; the gate is enforced at the activity observer every reporter funnels through, so no adapter can bypass it. @AlexanderZ-Band: if you would rather grow this inside the activity reporter directly, the tests intests/runtime/activityownership/test_namegate.pycarry over unchanged. Replaces #874.