[agentbricks] Send session_id as a top-level invocation field in tool matrix test - #684
Merged
elainewang-db merged 3 commits intoOct 2, 2026
Conversation
… matrix Co-authored-by: Isaac <no-reply@databricks.com>
…ture Co-authored-by: Isaac <no-reply@databricks.com>
jamesbxwu
approved these changes
Oct 2, 2026
…ffix arg Co-authored-by: Isaac <no-reply@databricks.com>
elainewang-db
enabled auto-merge (squash)
October 2, 2026 23:22
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.
What
Two fixes to the Agent Bricks e2e tool matrix (
integrations/agentbricks/tests/e2e/) so a live run can actually invoke agents and exercise the deploy-resource preservation path. Both surfaced when the nightlyagentbricks-testssuite first ran the full matrix end-to-end (all 24 rows had been failing).Send
session_idas a top-level invocation field (tool_matrix.py). AgentKit [AgentKit] Make session_id first-class in DurableAgentServer #674 ("Make session_id first-class in DurableAgentServer") made the generated adapter requiresession_idas a top-level field (context.session_id), but the harness nested it insideinput. Every invocation 500'd withagent invocation failed(ValueError: session_id must be provided as a top-level invocation field) before any tool ran — all dev rows plus cli/deploy rows. Movessession_idto the top level of the invocation body (and in the_curl_commanddebug example).Bind a tracing experiment in the direct fixture (
fixtures/direct_agent.toml+_author_direct)._grant_snapshotasserts the deployed App has at least one non-tool resource to prove deploy preserves non-tool resources on its full-array resource replace. The only such resource a matrix app gets is the tracing experiment, attached whenagent.tomlhas[tracing] experiment_name. The cli path keeps theagentbricks initmanifest (which binds a default experiment), but the direct path overwritesagent.tomlwith a fixture that had no[tracing]section — sodirect/deployrows failed "Expected a non-tool App resource to prove preservation on redeploy." Adds a[tracing]section to the fixture and substitutes a deterministic per-run experiment name (/Shared/agentbricks_traces/<slug>-<run_suffix>, mirroringdefault_experiment_name). This also gives the direct path trace-resource coverage.Why
The matrix suite is gated off PR CI (
RUN_AGENTBRICKS_INTEGRATION_TESTS), so these contract drifts (AgentKit #674, and the direct fixture never carrying a non-tool resource) only surfaced in the nightly. Both are harness fixes — no product behavior changes.Test
tool_matrix.pycompiles.USE CATALOGgrant foraccount usersis already in place, so the deploy rows should now attach resources and the invocations should succeed.This pull request and its description were written by Isaac.