Skip to content

fix(showcase): gate LGP AAPL tool-rendering fixture on toolName not hasToolResult - #5292

Merged
jpr5 merged 1 commit into
mainfrom
fix/showcase-lgp-tool-rendering-aapl-gate
Jun 6, 2026
Merged

fix(showcase): gate LGP AAPL tool-rendering fixture on toolName not hasToolResult#5292
jpr5 merged 1 commit into
mainfrom
fix/showcase-lgp-tool-rendering-aapl-gate

Conversation

@jpr5

@jpr5 jpr5 commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Summary

The D6 cell tool-rendering-custom-catchall for langgraph-python deterministically timed out (30s no-response). The probe sends two turns in one thread: turn 1 "weather in Tokyo" -> get_weather, turn 2 "What's the price of AAPL?" -> get_stock_price. The AAPL first-leg fixture was gated on hasToolResult:false, but aimock implements that gate as messages.some(m => m.role === "tool") — i.e. ANY tool message anywhere in the thread. Turn 1's get_weather leaves a tool result, so on turn 2 hasToolResult is permanently true and the false gate can never match -> no_fixture_match -> 503 -> 30s timeout.

This replaces the broken hasToolResult:false gate with toolName:"get_stock_price" (the same pattern the sibling weather/chain first-leg fixtures already use). A toolName gate fires whenever the tool is registered, regardless of prior tool results; the toolCallId follow-up fixture still wins on iteration 2.

Fixture-only change.

Verification

Proven in a prior session via the D6 Docker path: tool-rendering-custom-catchall now green (turn 1 get_weather + turn 2 get_stock_price both render, no 503/timeout); tool-rendering-default-catchall still green (no regression).

…asToolResult

The D6 cell tool-rendering-custom-catchall for langgraph-python timed out
(deterministic 30s no-response). The probe sends two turns in one thread:
turn 1 "weather in Tokyo" -> get_weather, turn 2 "What's the current price
of AAPL?" -> get_stock_price. The AAPL first-leg fixture was gated on
hasToolResult:false, but aimock implements that gate as
messages.some(m => m.role === "tool") -- i.e. ANY tool message anywhere in
the thread. Turn 1's get_weather leaves a tool result in the thread, so on
turn 2 hasToolResult is permanently true and the false gate can never match
-> no_fixture_match -> 503 -> 30s timeout.

Replace the broken hasToolResult:false gate with toolName:"get_stock_price"
(the same pattern the sibling weather/chain first-leg fixtures already use).
A toolName gate fires whenever the tool is registered, regardless of prior
tool results; the toolCallId follow-up fixture still wins on iteration 2.

Fixture-only change. Verified locally via the D6 Docker path:
tool-rendering-custom-catchall now green (turn 1 get_weather + turn 2
get_stock_price both render, no 503/timeout); tool-rendering-default-catchall
still green (no regression).
@vercel

vercel Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
chat-with-your-data Ready Ready Preview, Comment Jun 6, 2026 5:38am
docs Ready Ready Preview, Comment Jun 6, 2026 5:38am
form-filling Ready Ready Preview, Comment Jun 6, 2026 5:38am
research-canvas Ready Ready Preview, Comment Jun 6, 2026 5:38am
travel Ready Ready Preview, Comment Jun 6, 2026 5:38am

Request Review

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

📣 Social Copy Generator

Generate social media copies (Twitter/X, LinkedIn, Blog Post) for this PR using Claude.

  • Generate social media copies

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Production Digest-Pinning Audit

Audit could not run this round.

Error
graphql error: GraphQL: ServiceInstance not found

Run 2026-06-05 22:36:20 PDT — 0 finding(s).

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