|
| 1 | +# Zixir v3.0.0 — AI automation release |
| 2 | + |
| 3 | +This release adds full AI automation support: workflow orchestration with checkpointing, resource sandboxing, streaming/async, observability, and a cache layer. Plus universal improvements for binary serialization, tracing, sandbox results, and GenServer startup. |
| 4 | + |
| 5 | +## AI automation features |
| 6 | + |
| 7 | +### 1. Workflow orchestration with checkpointing ✅ |
| 8 | + |
| 9 | +- **Files:** `lib/zixir/workflow.ex`, `lib/zixir/workflow/checkpoint.ex` |
| 10 | +- **Features:** DAG execution, dependency management, automatic checkpointing, resume from failure, retry policies, dead letter queues |
| 11 | +- **Usage:** Build fault-tolerant AI pipelines that recover automatically |
| 12 | + |
| 13 | +### 2. Resource limits & sandboxing ✅ |
| 14 | + |
| 15 | +- **File:** `lib/zixir/sandbox.ex` |
| 16 | +- **Features:** Time limits, memory limits (e.g. "2GB"), CPU monitoring, automatic process termination, call depth limits |
| 17 | +- **Usage:** Prevent runaway AI processes from consuming all resources |
| 18 | + |
| 19 | +### 3. Streaming & async support ✅ |
| 20 | + |
| 21 | +- **File:** `lib/zixir/stream.ex` |
| 22 | +- **Features:** Async/await, parallel execution, lazy sequences, stream transformations (map, filter, batch), backpressure |
| 23 | +- **Usage:** Handle streaming AI responses (LLMs) and parallel model inference |
| 24 | + |
| 25 | +### 4. Structured observability ✅ |
| 26 | + |
| 27 | +- **File:** `lib/zixir/observability.ex` |
| 28 | +- **Features:** JSON logging, execution tracing with spans, Prometheus-compatible metrics, performance monitoring |
| 29 | +- **Usage:** Monitor AI workflows without manual intervention |
| 30 | + |
| 31 | +### 5. Cache & persistence layer ✅ |
| 32 | + |
| 33 | +- **File:** `lib/zixir/cache.ex` |
| 34 | +- **Features:** In-memory caching with TTL, disk persistence, database-like operations (insert/query/update), cache warming |
| 35 | +- **Usage:** Store intermediate results and avoid redundant computation |
| 36 | + |
| 37 | +## Universal improvements |
| 38 | + |
| 39 | +| Improvement | Benefit | |
| 40 | +|-------------|---------| |
| 41 | +| **Binary serialization** (instead of JSON) | Handles all Elixir data types (tuples, atoms, PIDs, etc.); more reliable for internal state persistence | |
| 42 | +| **Span struct initialization** | Prevents KeyError in all tracing scenarios; works regardless of span lifecycle | |
| 43 | +| **Result wrapping in Sandbox** | Follows Elixir `{:ok, result}` / `{:error, reason}` convention; consistent across all sandboxed operations | |
| 44 | +| **GenServer startup handling** | Standard Elixir pattern for idempotent service startup; works in supervision trees and manual startup | |
| 45 | + |
| 46 | +## Requirements |
| 47 | + |
| 48 | +- **Elixir** 1.14+ / OTP 25+ |
| 49 | +- **Zig** 0.15+ (build-time; run `mix zig.get` after `mix deps.get`) |
| 50 | +- **Python** 3.8+ *(optional)* for ML/specialist calls |
| 51 | + |
| 52 | +## Quick start |
| 53 | + |
| 54 | +```bash |
| 55 | +git clone https://github.com/PersistenceOS/Zixir.git |
| 56 | +cd Zixir |
| 57 | +git checkout v3.0.0 |
| 58 | +mix deps.get |
| 59 | +mix zig.get |
| 60 | +mix compile |
| 61 | +mix test |
| 62 | +``` |
| 63 | + |
| 64 | +## License |
| 65 | + |
| 66 | +**Apache-2.0** — see [LICENSE](LICENSE). |
0 commit comments