Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# agentling roadmap

agentling is a tiny async framework for reliable, observable, tool-using agents:
Comment on lines +1 to +3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Informational

1. Roadmap not linked 🐞 Bug ⚙ Maintainability

ROADMAP.md is added but the project’s README (the primary landing page) doesn’t link to it, so most
users won’t discover the roadmap unless they browse the repo file list directly. This is a
low-severity documentation/navigation gap.
Agent Prompt
## Issue description
A new `ROADMAP.md` is introduced, but `README.md` doesn’t reference it. This makes the roadmap hard to discover for users who primarily read the README.

## Issue Context
`README.md` contains a "Contents" section but no "Roadmap" entry/link.

## Fix Focus Areas
- README.md[44-62]
- ROADMAP.md[1-3]

## Suggested fix
- Add a "Roadmap" bullet/link in `README.md` (either near the top description or in the Contents list), pointing to `ROADMAP.md`.
- (Optional) Add a `Roadmap = ".../ROADMAP.md"` entry under `[project.urls]` in `pyproject.toml` if you want it visible on package indexes.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

a clean ReAct loop, typed memory, streaming events, recoverable failures, and
progressive-disclosure skills, in a codebase small enough to read in one
sitting.

This roadmap is **directional, not a schedule**. agentling is alpha (0.x) and
the API may change before 1.0. Priorities can shift with community feedback, and
versions below are indicative — pre-1.0 milestones may split or merge.

## Shipped — v0.1.0

The first release: the core framework plus a production-hardening pass —
`Agent`/`AgentSession`, an OpenAI-compatible model adapter, `@tool`, typed
memory with JSON persistence, streaming events, progressive-disclosure skills,
timeouts/cancellation, malformed-output recovery, and a runnable examples suite.

## Next — Reliability (v0.2)

**Top priority.** Harden and clean up the v0.1 surface before adding features.
No point building on foundations with sharp edges.

- **Session lifecycle.** An idle `interrupt()` no longer silently kills the next
run, and using one session concurrently raises a clear error instead of
quietly corrupting memory.
- **Honest errors.** Make the exception hierarchy real — the documented error
types are actually raised, so `except AgentlingError` behaves as promised.
- **Broader compatibility.** Stop rejecting valid tool calls from
OpenAI-compatible backends (some omit ids mid-stream); synthesize them
instead.
- **Sampling controls.** Expose `temperature`, `max_tokens`, `seed`, and friends
on the model, so deterministic evals and cost caps are possible.
- **Cleaner semantics.** `final_answer` no longer leaks into the event stream,
context-window trimming applies on every path, and resuming a session no
longer duplicates the task.
- **Robustness.** Safe, async-capable step callbacks; Python 3.13 and 3.14 in
CI; stricter typing; and a batch of small correctness fixes.

## Then — Observability and evaluation (v0.3)

Make every run inspectable and testable.

- **Lifecycle tracing.** A dependency-free tracing layer over the whole
lifecycle — run, step, model call, tool call — capturing inputs, outputs,
token usage, timing, and errors.
- **OpenTelemetry adapter.** Emit standard GenAI spans so traces flow to
Langfuse, LangSmith, Arize Phoenix, and any OTLP backend through one
integration, not a bespoke plugin per vendor.
- **Offline testing and evals.** A public, deterministic testing model (run and
test your agent with no API key), plus an evaluation harness — datasets and
evaluators — that works locally or against a hosted experiment backend.

## Later — More models (v0.4)

Meet people where their models already are.

- **OpenAI-compatible tier.** A documented provider matrix and light ergonomics
for OpenRouter, Groq, Together, Fireworks, DeepSeek, Mistral, xAI, local
servers (Ollama, vLLM, LM Studio), and Azure OpenAI — most already work by
pointing at a base URL.
- **Native Anthropic (Claude).** A first-class adapter on the Messages API with
tool use, streaming, usage, and prompt caching — beyond the lossy
compatibility endpoint.
- **More.** Native Gemini; optionally a litellm bridge and AWS Bedrock / Vertex.

## Exploring — beyond

Ideas we like but have not committed to a milestone:

- Structured output (JSON mode / response schemas).
- A human-in-the-loop hook to approve, deny, or modify a tool call before it
runs (guardrails).
- An MCP bridge recipe (wrap an MCP tool as an agentling tool).
- An exhaustive failure-mode test suite and a trust policy for skill-provided
tools.

## Toward 1.0

Once reliability, observability, and the model surface settle, 1.0 is about
committing to a stable public API and semantic-versioning guarantees.

## Influence the roadmap

This is an open, early project and the priorities above are open to input. Open
an issue to propose something, describe a use case we are missing, or tell us
which item matters most to you. Bug reports and small PRs are especially
welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).
Loading