Skip to content

feat: gate activity tool names on the tool-call emit choice - #901

Open
bandzalkin wants to merge 1 commit into
mainfrom
feat/gate-activity-tool-names-on-emit-choice-INT-1894
Open

bandzalkin wants to merge 1 commit into
mainfrom
feat/gate-activity-tool-names-on-emit-choice-INT-1894

Conversation

@bandzalkin

@bandzalkin bandzalkin commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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_event and enforced by a ToolNamesObserver wrapped around the context's activity observer, consulted at report time so an observer bound earlier (a background continuation) still follows the live choice. Without Emit.TOOL_CALLS the room sees reasoning where a tool runs; permission waits and memory activity name no content and report either way.

Scope

Base main now 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 in tests/runtime/activityownership/test_namegate.py carry over unchanged. Replaces #874.

@linear-code

linear-code Bot commented Oct 21, 2026

Copy link
Copy Markdown

INT-1894

@bandzalkin
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
bandzalkin force-pushed the feat/gate-activity-tool-names-on-emit-choice-INT-1894 branch from 0641e8d to 4b7a697 Compare October 21, 2026 17:52
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
bandzalkin force-pushed the feat/gate-activity-tool-names-on-emit-choice-INT-1894 branch from 4b7a697 to f7cf0b5 Compare October 21, 2026 17:56
bandzalkin added a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
@bandzalkin
bandzalkin marked this pull request as ready for review October 22, 2026 03:17

This branch has not been deployed

No deployments
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.

1 participant