TinyAgents is at v1.5.0. The roadmap favors small, well-tested modules that build toward a production-grade Rust agent runtime.
- typed harness model calls, tools, middleware, structured output, streaming,
usage/cost tracking, retry/limits, cache, memory/embeddings, sub-agents,
and steering (
harness/) - durable typed state graph runtime:
START/END, nodes, conditional routing,Commands, fan-out, reducers/channels, checkpoints, interrupts, subgraphs, streaming, and topology export (graph/) - per-thread
ThreadGoalandTaskBoardproductivity primitives, exposed as harness tools - named capability registry (models, tools, agents, graphs, stores,
middleware, policy) bound by name (
registry/) - the declarative
.ragblueprint language: lexer, parser, compiler, and registry-backed binding (language/) - the imperative
.ragshREPL language for capability-bound interactive orchestration (repl/) - an optional SQLite-backed checkpointer (
sqlitefeature) and an optional Rhai-backed.ragshsession runtime (replfeature) - an embedded Langfuse client and graph exporter for observability
- broaden
.rag/.ragshexample coverage for less-common routing and parallel-fanout shapes - continue splitting any module or doc that grows past the 500-line limit into focused files
- expand live (network-gated) provider contract tests as new OpenAI-compatible endpoints are added
- track and close the internal SDK feature-parity backlog in
docs/sdk-gaps.md
Shipped: forked child contexts, shared caches with explicit isolation policy,
child event namespaces, parent/child run ids, deterministic reducer-based
merges, optional/blocking/race/quorum/fallback/compare policies, and
resumable checkpoints across parallel branches. Ongoing work focuses on
hardening edge cases surfaced by the e2e_parallel_* and live_subagent_*
test suites.
The public API is versioned via semver starting at 1.0. Breaking changes are documented in release notes, tested, and shaped by real examples rather than speculative abstraction.