Skip to content

Document async adapters and move the weather example onto them - #981

Open
philocalyst wants to merge 25 commits into
obi1kenobi:mainfrom
philocalyst:stack/6-async-docs-and-weather
Open

philocalyst wants to merge 25 commits into
obi1kenobi:mainfrom
philocalyst:stack/6-async-docs-and-weather

Conversation

@philocalyst

@philocalyst philocalyst commented Sep 5, 2026 •

Copy link
Copy Markdown

Summary

The end of the refactoring. The adoption half of #980 and #982, copying what #978 did for the synchronous fallible API. Docs, one example, and a dev shell, no library code.

Documentation

The Rust Adapters guide gets its async continuation: the direct AsyncAdapter / AsyncBasicAdapter path, the explicit FallibleAsyncAdapter path, and the two edge-error boundaries.

The weather example

trustfall/examples/weather moves to AsyncBasicAdapter and execute_query_async(), gated behind required-features = ["async"].

To be upfront about it: its data source is a local CSV file, so there is no IO to overlap here. The example earns its place by showing the shape of an async adapter, so stream construction, the helper imports, driving the result stream; it's not actually quicker. If you'd want a better example, I can make one, just was getting tired, lmao.

Migration

None. Documentation, one example, and a dev shell.

Stack

Final PR in the stack. Depends on #982.

  1. Execute synchronous queries on a stream kernel #976 — stream execution kernel
  2. Make adapter errors first-class #977 — first-class adapter errors
  3. Document fallible adapters and adopt them in the live demo #978 — fallible adapter docs and demo
  4. Give each failed row its own error #979 — row-ordered error propagation
  5. Expose the stream kernel as a native async API #980 — native async adapters
  6. Add async adapter ergonomics and ordered concurrent helpers #982 — async ergonomics
  7. YOU HERE — async docs and the weather example

Thanks for reading all seven of these. I know it's a lot to put in front of someone at once. If you'd like a different approach, let me know.

Validation

(CI CHECKS)

  • Workspace tests, clippy, rustdoc, and formatting, with and without --all-features
  • Weather example builds under --all-features

@philocalyst
philocalyst force-pushed the stack/6-async-docs-and-weather branch from c10074b to 61416e8 Compare September 5, 2026 20:58
@philocalyst
philocalyst force-pushed the stack/6-async-docs-and-weather branch from 61416e8 to 8115ec1 Compare September 5, 2026 22:23
@philocalyst
philocalyst force-pushed the stack/6-async-docs-and-weather branch from 8115ec1 to 7fc8292 Compare September 6, 2026 05:26
@philocalyst
philocalyst marked this pull request as ready for review September 6, 2026 05:26
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