René's URL Explorer Experiment


Title: fix: mcp server CRLF stdio tolerance (#668), json render option (#669), upstream http error propagation (#670) + robot coverage by jeffreyaven · Pull Request #680 · stackql/stackql · GitHub

Open Graph Title: fix: mcp server CRLF stdio tolerance (#668), json render option (#669), upstream http error propagation (#670) + robot coverage by jeffreyaven · Pull Request #680 · stackql/stackql

X Title: fix: mcp server CRLF stdio tolerance (#668), json render option (#669), upstream http error propagation (#670) + robot coverage by jeffreyaven · Pull Request #680 · stackql/stackql

Description: Description Closes #668, #669, #670 Fixes three defects/gaps in the MCP server surface. Stdio transport dies silently on CRLF-terminated JSON-RPC (#668). The go-sdk ndjson decoder treats the bare carriage return before the newline as invalid trailing data and kills the session; the resulting error was discarded in cmd/mcp.go, so the process exited 0 with no output. The stdio transport now feeds the SDK through a CR-stripping stdin pipe (lossless, since a raw CR is illegal inside a JSON string - control characters must be escaped), and any server run failure is now printed and exits non-zero. Clean client EOF still exits 0. JSON render option for tool result text content (#669). Query/metadata/registry tool inputs accept a per-call format argument ("markdown" default, "json"; unknown values fail fast), and --mcp.config accepts a server-level default: {"server": {"render": "json"}} JSON mode renders the same DTO carried in structuredContent as compact JSON in the text content, with database/sql nullable wrappers unwrapped, so text-only MCP consumers get a machine-readable payload. The bundled test client (stackql_mcp_client) gained a {"prefer_text": true} client-cfg option to surface the text blocks rather than the structured payload. Upstream HTTP errors returned as empty result sets (#670). SELECTs that failed upstream (eg 403 rate limit, 5xx) returned {"rows": []} with isError: false, so MCP clients could not distinguish "zero rows" from "query failed". A new strict-upstream-errors flag on HandlerContext - set only by the mcp command - converts data acquisition failures into statement errors, which the MCP backend classifies for clients: tool run_select_query: upstream http error: {"http_status": 403, "retryable": false}: upstream provider error: Response error. Status code 403. Body: {...} 408/429/5xx are classified retryable; other 4xx are not. HTTP 404 is deliberately exempt: under stackql's database semantics, querying an absent resource legitimately yields a provider 404 and maps onto an empty result set (zero rows), so MCP keeps returning {"rows": []} for absence, exactly as the CLI and pgsrv always have. The exemption is applied at the execution layer (not the MCP surface) so join/union legs that 404 keep contributing zero rows without failing the statement. Design note (surfacing for debate once, per house rules): #670 is deliberately opt-in at the handler-context level rather than a global execution-layer change. CLI and pgsrv sessions keep the historical empty-result-plus-stderr-notice semantics for all statuses, which existing robot scenarios pin (PG Session Debug Off Behaviour Canonical et al). Consequently the reverse-proxy MCP backend (which reaches the engine over the PG wire) also retains legacy behaviour. A related consequence of the #668 fix: srv-embedded MCP servers now share the loud-failure path, so an MCP transport failure inside srv exits the process rather than silently dropping the MCP endpoint. Type of change Bug fix (non-breaking change to fix a bug). Feature (non-breaking change to add functionality). Breaking change. Other (eg: documentation change). Please explain. Issues referenced. Closes #668 Closes #669 Closes #670 Evidence Nine new robot scenarios in test/robot/functional/mcp.robot, plus supporting assets (a python stdio harness test/python/stackql_test_tooling/mcp_stdio_client.py that drives the binary over raw byte pipes so the line terminator arrives verbatim, and three github mock routes serving 403/429/404 with JSON object bodies as GitHub sends): MCP Stdio Server Handles LF Terminated JSON RPC (control) and MCP Stdio Server Tolerates CRLF Terminated JSON RPC (#668) MCP HTTP Text Content Defaults To Markdown (control), MCP HTTP Per Call JSON Format Renders JSON Text, MCP HTTP Server Level JSON Render Default (new server at 9924 with render: json), MCP HTTP Invalid Format Argument Is Rejected (#669) MCP HTTP Upstream 403 Surfaces As Non Retryable Tool Error, MCP HTTP Upstream 429 Surfaces As Retryable Tool Error and MCP HTTP Upstream 404 Returns Empty Result Set (#670) Local results (WSL, sqlite backend): robot --suite Mcp test/robot/functional 46 tests, 46 passed, 0 failed go test -timeout 1200s --tags "sqlite_stackql" ./... exit 0 golangci-lint run (v2.5.0, matching the CI pin) 0 issues. Regression check: robot --suite "Stackql Sessions" was run to confirm the pgsrv 403 semantics are untouched; PG Session Debug Off Behaviour Canonical (which pins empty stderr for a 403 SELECT) passes. The mTLS scenarios in that suite fail locally for a pre-existing environmental reason only (psql rejects the client key file's world-readable permissions on a Windows-mounted filesystem); they are expected to pass in CI on a native filesystem. New unit tests: internal/stackql/mcpbackend/error_classification_test.go (status extraction and retryability classification incl. 403/408/429/503 and the non-HTTP fallback), internal/stackql/execution/upstream_not_found_test.go (404-exemption message classification incl. mixed-status and unparseable cases), plus additions to pkg/mcp_server/render/render_test.go (format legality, compact JSON, wrapper unwrapping) and pkg/mcp_server/client_format_test.go (prefer_text). Checklist: A full round of testing has been completed, and there are no test failures as a result of these changes. The changes are covered with functional and/or integration robot testing. The changes work on all supported platforms. Unit tests pass locally, as per the developer guide. Robot tests pass locally, as per the developer guide. Linter passes locally, as per the developer guide. Variations "All supported platforms" is left to CI: local verification was Linux (WSL) only. The stdio harness is deliberately binary-mode (subprocess without text=True) so the CRLF scenarios behave identically on Windows runners. "Robot tests pass locally" is asserted for the full Mcp suite (46/46) and the Stackql Sessions suite excluding the mTLS scenarios, which fail locally for the pre-existing environmental reason described above (drvfs key-file permissions), unrelated to this change set. Tech Debt One item, small and contained: the upstream HTTP status code is not available as a value at the stackql layer - the any-sdk invoker consumes the *http.Response and returns only {Body, Messages} - so both the 404 exemption and the MCP error classification recover the status by parsing the fixed "Status code NNN" fragments any-sdk embeds in its error strings (one regex each in internal/stackql/execution and internal/stackql/mcpbackend). Error bodies that any-sdk publishes verbatim (non-object JSON bodies) carry no such fragment and degrade to the unclassified generic error. The clean fix is any-sdk-first: carry the naked StatusCode through providerinvoker.Result (or a typed upstream error) and delete both regexes; proposed as a follow-up issue to be linked here prior to merge, targeted at the next any-sdk bump.

Open Graph Description: Description Closes #668, #669, #670 Fixes three defects/gaps in the MCP server surface. Stdio transport dies silently on CRLF-terminated JSON-RPC (#668). The go-sdk ndjson decoder treats the bare c...

X Description: Description Closes #668, #669, #670 Fixes three defects/gaps in the MCP server surface. Stdio transport dies silently on CRLF-terminated JSON-RPC (#668). The go-sdk ndjson decoder treats the bare c...

Opengraph URL: https://github.com/stackql/stackql/pull/680

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:fc31b35b-19d3-917c-515f-acf98909faea
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8DB2:110179:11D637D:183B1B1:6A4D6ADE
html-safe-nonceae846cd3324f2647c54b02402b9c45012326a16f61677a0a59ab5b5266244852
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4REIyOjExMDE3OToxMUQ2MzdEOjE4M0IxQjE6NkE0RDZBREUiLCJ2aXNpdG9yX2lkIjoiNjkxMjI5Nzk5NTQ4MTIxMzY2MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac3625921e4f123725d075996efb69b6d8d83177b04707a5533374d171085b3059
hovercard-subject-tagpull_request:3984322530
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/stackql/stackql/pull/680/files
twitter:imagehttps://avatars.githubusercontent.com/u/5146499?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/5146499?s=400&v=4
og:image:altDescription Closes #668, #669, #670 Fixes three defects/gaps in the MCP server surface. Stdio transport dies silently on CRLF-terminated JSON-RPC (#668). The go-sdk ndjson decoder treats the bare c...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7db3950e3f59095e20a9789440c3dd554efc62d434882ead06ae05b5815605b9
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/stackql/stackql git https://github.com/stackql/stackql.git
octolytics-dimension-user_id95105302
octolytics-dimension-user_loginstackql
octolytics-dimension-repository_id443987542
octolytics-dimension-repository_nwostackql/stackql
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id443987542
octolytics-dimension-repository_network_root_nwostackql/stackql
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasecd8f6a71db61d6012a0cbb134be844fdbe9b8a45
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/stackql/stackql/pull/680/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fstackql%2Fstackql%2Fpull%2F680%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fstackql%2Fstackql%2Fpull%2F680%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=stackql%2Fstackql
Reloadhttps://github.com/stackql/stackql/pull/680/files
Reloadhttps://github.com/stackql/stackql/pull/680/files
Reloadhttps://github.com/stackql/stackql/pull/680/files
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
stackql https://github.com/stackql
stackqlhttps://github.com/stackql/stackql
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
Notifications https://github.com/login?return_to=%2Fstackql%2Fstackql
Fork 80 https://github.com/login?return_to=%2Fstackql%2Fstackql
Star 861 https://github.com/login?return_to=%2Fstackql%2Fstackql
Code https://github.com/stackql/stackql
Issues 101 https://github.com/stackql/stackql/issues
Pull requests 1 https://github.com/stackql/stackql/pulls
Discussions https://github.com/stackql/stackql/discussions
Actions https://github.com/stackql/stackql/actions
Projects https://github.com/stackql/stackql/projects
Wiki https://github.com/stackql/stackql/wiki
Security and quality 0 https://github.com/stackql/stackql/security
Insights https://github.com/stackql/stackql/pulse
Code https://github.com/stackql/stackql
Issues https://github.com/stackql/stackql/issues
Pull requests https://github.com/stackql/stackql/pulls
Discussions https://github.com/stackql/stackql/discussions
Actions https://github.com/stackql/stackql/actions
Projects https://github.com/stackql/stackql/projects
Wiki https://github.com/stackql/stackql/wiki
Security and quality https://github.com/stackql/stackql/security
Insights https://github.com/stackql/stackql/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fstackql%2Fstackql%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fstackql%2Fstackql%2Fissues%2Fnew%2Fchoose
jeffreyavenhttps://github.com/jeffreyaven
mainhttps://github.com/stackql/stackql/tree/main
feature/mcp-fixeshttps://github.com/stackql/stackql/tree/feature/mcp-fixes
Conversation 0 https://github.com/stackql/stackql/pull/680
Commits 3 https://github.com/stackql/stackql/pull/680/commits
Checks 21 https://github.com/stackql/stackql/pull/680/checks
Files changed https://github.com/stackql/stackql/pull/680/files
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
fix: mcp server CRLF stdio tolerance (#668), json render option (#669), upstream http error propagation (#670) + robot coverage https://github.com/stackql/stackql/pull/680/files#top
Show all changes 3 commits https://github.com/stackql/stackql/pull/680/files
a31b016 fix: mcp server CRLF stdio tolerance (#668), json render option (#669… jeffreyaven Jul 3, 2026 https://github.com/stackql/stackql/pull/680/commits/a31b01664d3a191cfff2934b738dd24c18aa79dc
7d8e8b4 fix: exempt HTTP 404 from strict upstream error handling on MCP selects jeffreyaven Jul 3, 2026 https://github.com/stackql/stackql/pull/680/commits/7d8e8b444fcf8e4f5efb57deb3e98f3de529d83c
f6e6c42 fix: format-agnostic not-found detection for the MCP 404 exemption jeffreyaven Jul 3, 2026 https://github.com/stackql/stackql/pull/680/commits/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b
Clear filters https://github.com/stackql/stackql/pull/680/files
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
mcp.go https://github.com/stackql/stackql/pull/680/files#diff-2921de337fccdae3def1afbee1d29c2193a31782c66b993a3925b6d5a5be8c01
mono_valent_execution.go https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
upstream_not_found_test.go https://github.com/stackql/stackql/pull/680/files#diff-7d6e70ac84eff872b0fc34254858f692b10bdb07c26f36d8417aa94dfec39190
handler.go https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
error_classification_test.go https://github.com/stackql/stackql/pull/680/files#diff-d2cb4fbfc1b833cf8c8b82e4c8f7bc6cbafcfee961a63adc771f15a75bfa6ee5
mcp_service_stackql.go https://github.com/stackql/stackql/pull/680/files#diff-d8b768b1b0fd5c6ef2089c41bb124ee1234a3e5a89d493b21d248a96de4c99b3
client.go https://github.com/stackql/stackql/pull/680/files#diff-470792dfd850155a77f6839209742bcb988cbc1c8d8af936f848ade0700a90d1
client_format_test.go https://github.com/stackql/stackql/pull/680/files#diff-461fb1ca2549d1aa5a41ccef28f20e08a9f51de30371c392b83aa6153e896e91
config.go https://github.com/stackql/stackql/pull/680/files#diff-1581ed4e9102dc1ac3660ed35cdc98b034052fa0b4a59f7f7e249333ceaa9c70
dto.go https://github.com/stackql/stackql/pull/680/files#diff-0338927102fc99126014f679600648e7c4406bf2884b476f8328763be4673529
render.go https://github.com/stackql/stackql/pull/680/files#diff-bdae3b76442af974b5836d84ef12fe2f05d2779dad7df02a00f7376ac367fd66
render_test.go https://github.com/stackql/stackql/pull/680/files#diff-0ba316e7d26e24f94dfe0a3daa9b5ee933a978b1a6a629d4ce8c7eb945105361
server.go https://github.com/stackql/stackql/pull/680/files#diff-5198b2eb38eb4d1d8d6e7d26d30d2a0572c359a00eca55b13ce8150b55695df5
app.py https://github.com/stackql/stackql/pull/680/files#diff-4626438d14e196476c674c211661bc5d0cc291d7b9a62dd3d52041edcebc7af3
mcp_stdio_client.py https://github.com/stackql/stackql/pull/680/files#diff-578377efe917ec3721c35c8f5885cb42c653a788c3c7e419555098161521457e
mcp.robot https://github.com/stackql/stackql/pull/680/files#diff-2cc5a287ed1a1615d4a2b31ed80344918bbc9217d8560db7a82ed4664a535591
internal/stackql/cmd/mcp.gohttps://github.com/stackql/stackql/pull/680/files#diff-2921de337fccdae3def1afbee1d29c2193a31782c66b993a3925b6d5a5be8c01
View file https://github.com/stackql/stackql/blob/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b/internal/stackql/cmd/mcp.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackql/stackql/pull/680/{{ revealButtonHref }}
https://github.com/stackql/stackql/pull/680/files#diff-2921de337fccdae3def1afbee1d29c2193a31782c66b993a3925b6d5a5be8c01
https://github.com/stackql/stackql/pull/680/files#diff-2921de337fccdae3def1afbee1d29c2193a31782c66b993a3925b6d5a5be8c01
https://github.com/stackql/stackql/pull/680/files#diff-2921de337fccdae3def1afbee1d29c2193a31782c66b993a3925b6d5a5be8c01
internal/stackql/execution/mono_valent_execution.gohttps://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
View file https://github.com/stackql/stackql/blob/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b/internal/stackql/execution/mono_valent_execution.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackql/stackql/pull/680/{{ revealButtonHref }}
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
https://github.com/stackql/stackql/pull/680/files#diff-ff3e25d5851db58b822a96d9679f7d4e1b302ab63789483bf2d28f2bf1f7e4db
internal/stackql/execution/upstream_not_found_test.gohttps://github.com/stackql/stackql/pull/680/files#diff-7d6e70ac84eff872b0fc34254858f692b10bdb07c26f36d8417aa94dfec39190
View file https://github.com/stackql/stackql/blob/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b/internal/stackql/execution/upstream_not_found_test.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackql/stackql/pull/680/{{ revealButtonHref }}
internal/stackql/handler/handler.gohttps://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
View file https://github.com/stackql/stackql/blob/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b/internal/stackql/handler/handler.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackql/stackql/pull/680/{{ revealButtonHref }}
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
https://github.com/stackql/stackql/pull/680/files#diff-e115273e9434d7bec8f288b7135bf84ff3711c62eb644d3ad12f0a2f5388e540
internal/stackql/mcpbackend/error_classification_test.gohttps://github.com/stackql/stackql/pull/680/files#diff-d2cb4fbfc1b833cf8c8b82e4c8f7bc6cbafcfee961a63adc771f15a75bfa6ee5
View file https://github.com/stackql/stackql/blob/f6e6c423d9c0cf20c664db2a88de96c72dfdb68b/internal/stackql/mcpbackend/error_classification_test.go
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/stackql/stackql/pull/680/{{ revealButtonHref }}
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
Please reload this pagehttps://github.com/stackql/stackql/pull/680/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.