Skip to content

Demo video and screenshots; agent and Text-to-SQL fixes - #24

Merged
Safiullah-Rahu merged 1 commit into
mainfrom
docs/demo-video-and-agent-fixes
Nov 2, 2026
Merged

Safiullah-Rahu merged 1 commit into
mainfrom
docs/demo-video-and-agent-fixes

Conversation

@Safiullah-Rahu

Copy link
Copy Markdown
Owner

Adds the demo video and screenshots to the README, plus six fixes that came up while filming the demo against Claude Sonnet 5.5.

README

  • Demo: a poster (docs/media/demo-video.jpg) linking to the 68-second walkthrough on YouTube: https://youtu.be/y7RYhWfFcmA
  • Screenshots: cited answer with the Sources panel (light and dark), query console with executed SQL and chart, an admin approving an agent's query, the agent's resumed answer, and the Connections map. All are frames of the real app on fictional demo data (Halden Freight).

Fixes

  • Agents read function-call markup. Claude sometimes wrote a tool call as <invoke name="sql_query">…</invoke> instead of the requested JSON, and the run ended with that markup as its answer. The parser now reads both forms (first call only), and the prompt asks for JSON without markup.
  • Agent answers are no longer cut off silently. Runs now get 4,096 output tokens per model call (limits.max_output_tokens overrides it) instead of the 1,024-token chat default. A reply that still hits the limit is marked as cut off. Providers report this as ChatResponse.truncated.
  • No retry loop on SQL approvals. When the SQL itself needs its own approval, the agent is told not to retry. Before, it filed one request per retry.
  • One-row cross joins. A cross join against a one-row source (a date window or a total in a CTE, LIMIT 1) no longer needs approval. Cross joins that can multiply rows still do.
  • Result charts. Charts now skip id columns and chart a rate or percentage column on its own when there is one. Before, carrier_id was plotted beside the counts.
  • Connections map. When the organisation has no provider of its own, the map now shows the platform model (for example, anthropic · claude-sonnet-5-5). Before, it said "No language model configured".

Verification

  • 205 backend tests pass (5 new regression tests), and ruff is clean.
  • Each fix was checked live: the gated agent run pauses, is approved by a second admin, resumes and finishes on Claude with an uncut answer, and the map shows "Platform model".

🤖 Generated with Claude Code

…d filming

README: a 68-second demo (poster linking to YouTube) and six screenshots
of the real app, under docs/media.

Fixes found while recording against Claude Sonnet 5.5:
- Agents read tool calls written as <invoke> markup, not only JSON.
- Agent runs get a 4,096-token output limit per call and flag a reply
  cut off at the limit; providers report ChatResponse.truncated.
- Agents stop retrying a query that needs its own SQL approval.
- A cross join against a one-row source no longer needs approval.
- Result charts skip id columns and prefer rate columns.
- The Connections map shows the platform model when the organisation has
  no provider of its own.

205 backend tests pass; ruff is clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Safiullah-Rahu
Safiullah-Rahu merged commit 2ea622e into main Nov 2, 2026
4 checks passed
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