Milestones
List view
Done, in PR #27. Whether you can reach a model, asked before anything is sent: Provider::validate answering Access (Ready, Denied, Unknown), Router::preflight, LocalCli::with_probe, and the Anthropic catalogue that gives the check something free to ask. These close when the PR merges.
No due date•7/7 issues closedNot planned in detail, and roughly in issue order. Every item here is additive: a Protocol impl, a ContentBlock variant, a preset file, a ledger. Nothing in here blocks 0.1 and nothing in here should start before it. #26 is a decision to write down before it is a thing to build.
No due date•6/6 issues closedThe last things that are cheap before publish and breaking after it. #19 first: narrowing a public surface after publish is breaking and widening never is. Wants Phase 4 green, since nothing should ship from a laptop. Done when docs.rs has built it with all features, a fresh project can add it and make one call, and the README's first example works copied straight out.
No due date•2/2 issues closedCI runs and is green as of PR #27. What was wrong was not billing or a private repository: CI asked for a floating stable, 1.98 added a clippy lint on 2026-08-20, and green locally meant nothing because a laptop was on 1.97. rust-toolchain.toml now pins the compiler both places use. #15, #16, #17 and #18 are unblocked and independent of each other.
No due date•5/5 issues closedBoth additive, and neither blocks the other. The crate already knows which failures are worth repeating and what the server asked you to wait; what stays the caller's is whether their request is safe to repeat. Done when a scripted rate limit produces exactly the wait the server named rather than a computed one, a refusal is never retried, and a call with observability off emits nothing and adds no dependency.
No due date•2/2 issues closedBefore publish rather than after, because it changes the shape of Provider and doing it in 0.2 breaks every implementation written against 0.1. Take #8 first: the others need the Event type. #9, #10 and #11 can then go in parallel. Done when a streamed and a non streamed call to the same model produce the same text and the same usage, and a provider implementing only chat still compiles and still answers.
No due date•4/4 issues closed