Problem
The current Synchronous Client page (src/content/docs/how-to/synchronous-connection.mdx) has two issues that together create inconsistency across our docs:
1. It is Python-only, but PHP and Ruby are also sync clients
The page starts with:
:::caution[Python Only!]
The synchronous client is Python only. Support for other languages may be added in the future.
:::
That framing predates PHP and Ruby joining the GLIDE family. Both are synchronous by design (no async/await, no Promise, no CompletableFuture), so a reader landing on this page from PHP or Ruby context will either think their client is not documented or that GLIDE doesn't support them as sync clients.
2. The page isn't really a how-to
Under the Diátaxis framework we follow (see AGENTS.md), how-to pages should be task-oriented — "to accomplish X, do Y." This page currently reads more like a reference / explanation hybrid:
- Feature availability table by version
- Install instructions
- A generic "create a client and run a batch" example juxtaposed with the async equivalent
There is no concrete task the reader is trying to complete.
Why this matters
- Confusion for PHP/Ruby users: they see a "Synchronous Client" page in the sidebar and infer their language isn't a first-class sync client, or that this doc doesn't apply to them.
- Diátaxis drift: the page occupies a
how-to/ slot but reads as reference/explanation, which weakens the how-to section's usefulness and makes it harder for readers to find task-based guidance.
- Discoverability: sync vs. async is a first-class concern for readers choosing a language and API surface, and it currently isn't represented consistently.
Suggested investigation
We need to decide on the right shape here before making changes. Some options to consider:
- Split the content by intent:
- A concept page under
concepts/client-features/ explaining sync vs. async in GLIDE and which clients are sync (Python-sync, PHP, Ruby) vs. async (Python default, Java, Node, Go, C#).
- Remove or replace the Python-specific how-to with task-oriented how-to pages where a sync flow is genuinely the task (e.g., "Use the synchronous Python client for scripts and short-lived jobs").
- Rename and generalize the existing page to cover Python, PHP, and Ruby, restructuring the examples with the standard
syncKey=\"progLangInExamples\" tabs.
- Move the version/feature availability table to a reference page (or the release notes) since it's information-oriented content.
Any of the above needs a review of:
- Sidebar structure in
astro.config.mjs (currently at how-to/synchronous-connection)
- Internal links pointing at the current page (link check pass required)
- The Python-only caution note — remove or scope down once the doc covers all sync clients
Problem
The current Synchronous Client page (
src/content/docs/how-to/synchronous-connection.mdx) has two issues that together create inconsistency across our docs:1. It is Python-only, but PHP and Ruby are also sync clients
The page starts with:
That framing predates PHP and Ruby joining the GLIDE family. Both are synchronous by design (no
async/await, noPromise, noCompletableFuture), so a reader landing on this page from PHP or Ruby context will either think their client is not documented or that GLIDE doesn't support them as sync clients.2. The page isn't really a how-to
Under the Diátaxis framework we follow (see
AGENTS.md), how-to pages should be task-oriented — "to accomplish X, do Y." This page currently reads more like a reference / explanation hybrid:There is no concrete task the reader is trying to complete.
Why this matters
how-to/slot but reads as reference/explanation, which weakens the how-to section's usefulness and makes it harder for readers to find task-based guidance.Suggested investigation
We need to decide on the right shape here before making changes. Some options to consider:
concepts/client-features/explaining sync vs. async in GLIDE and which clients are sync (Python-sync, PHP, Ruby) vs. async (Python default, Java, Node, Go, C#).syncKey=\"progLangInExamples\"tabs.Any of the above needs a review of:
astro.config.mjs(currently athow-to/synchronous-connection)