All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.0 - 2026-06-25
First public release.
Added
- Agent runtime — one event-sourced
:gen_statemper conversation (Agentix.Conversation), with non-blocking streaming turns, in-process tool execution, and mid-turn cancellation. Conversations are started on demand viaAgentix.Conversation.ensure_started/2and survive process death. - Provider seam —
Agentix.Providerbehaviour with a streaming + cancel + finalize contract;Agentix.Provider.ReqLLMadapts ReqLLM's canonical typed model and provider abstraction. - Tools & HITL — an explicit executor model (
:server,:human,:client,:provider) with gated approval, durable suspension intoawaiting_input, and a public, socket-independentAgentix.resolve/4(LiveView, webhook, job, or timeout). Suspended turns revive from durable state. - Hook pipeline — per-turn pre/post hooks (
Agentix.Hook), parallel append-only injections with a token reserve, halt semantics, and a per-chunk stream-transformer seam. - Compaction — reducer pipeline (tool-result stubbing, sliding window, async
cumulative summarization) gated by a token budget, behind a pluggable
Agentix.Tokenizerbehaviour (default char/4 heuristic, no extra dependency). - Persistence — the
Agentix.Persistencebehaviour with two adapters sharing one conformance suite:Agentix.Persistence.ETS(default, no database) andAgentix.Persistence.Ecto(Postgres, kill-and-resume, optional Oban-backed suspension expiry). Both LiveView and Ecto/Oban are optional dependencies. - Headless LiveView layer —
Agentix.Chat(usemacro +on_mountprojection of the live-event plane onto assigns, streamed deltas to a JS hook), optional ownableAgentix.Components, andmix agentix.gen.components/mix agentix.gen.migrationgenerators. - Live-event union — a typed event plane broadcast over
Phoenix.PubSub(Agentix.Notifierbehaviour;PubSubdefault,Noneno-op) consumable by any transport. - Test story —
Agentix.Testassertions and a scriptableAgentix.Test.MockProviderfor driving conversations deterministically with no API key. - Modern tooling: Credo, Dialyxir, Styler, ExCoveralls, MixAudit, ExDoc, and a
mix checkquality gate.