Skip to content

Fix GraphQL introspection health diagnostics - #1483

Merged
RhysSullivan merged 2 commits into
UsefulSoftwareCo:mainfrom
davidwrossiter:fix/1473-graphql-introspection-health
Jul 29, 2026
Merged

Fix GraphQL introspection health diagnostics#1483
RhysSullivan merged 2 commits into
UsefulSoftwareCo:mainfrom
davidwrossiter:fix/1473-graphql-introspection-health

Conversation

@davidwrossiter

Copy link
Copy Markdown
Contributor

Summary

  • validate GraphQL credentials with authenticated schema introspection and classify authentication, transport, and schema failures
  • expose failed tool-sync health to the web UI and agent-facing connection tools instead of presenting a healthy zero-tool connection
  • preserve offline schema snapshots and existing tools during transient live-introspection failures
  • add focused protocol, core SDK, and hosted-emulator regression coverage

Testing

  • bun run format:check
  • bun run lint
  • bun run typecheck
  • bun run test
  • cd e2e && E2E_SELFHOST_URL=http://localhost:45584 bunx vitest run --project selfhost scenarios/graphql-introspection-health.test.ts

Fixes #1473

@davidwrossiter

Copy link
Copy Markdown
Contributor Author

UI verification

Before: failed introspection appeared as a generic empty catalogue After: invalid credential is rejected before creation
Before: generic empty tool catalogue After: credential rejected during schema introspection
Existing failed connection: actionable tool recovery Account list: matching health verdict
Failed existing connection explains the empty tool catalogue Account row carries the actionable health verdict

Captured by the hosted-emulator regression scenario included in this PR.

@davidwrossiter

Copy link
Copy Markdown
Contributor Author

btw this is related to #1360, I built on the approach there and extended it to cover credential preflight

…lassifier, unify introspection failure classification, surface retry failures
@RhysSullivan

Copy link
Copy Markdown
Collaborator

Thanks for the PR! Made a few tweaks, confirming the changes then should be good to merge

@davidwrossiter

Copy link
Copy Markdown
Contributor Author

Thanks for the PR! Made a few tweaks, confirming the changes then should be good to merge

Lovely

@RhysSullivan
RhysSullivan merged commit 54df2e3 into UsefulSoftwareCo:main Jul 29, 2026
1 check 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.

GraphQL connection with failed introspection looks healthy but exposes zero tools

2 participants