v0.2.3
[0.2.3] - 2026-06-24
New Features
- Genetic Algorithm Evolution System (Beta): Full GA genome package with
Population,Crossover(Inherit/HalfSplit/Uniform modes),TournamentSelection, and strategy mutation engine. Supports deterministic reproduction via seed control, elite preservation, adaptive survival rates, and diversity tracking with fitness sharing. (GA Hardening Plan) - Autonomous Evolution (Dream Mode v1): Closed-loop evolution orchestration with Dream Cycle (trigger → mutate → evaluate → adopt → record lineage). Includes arena regression testing with Welch's t-test, bandit feedback loop for experience quality optimization, and full genealogy tracking.
- Agent Resurrection & Snapshot System: Pluggable health checking for agent recovery, checkpoint-based resurrection with state restoration from EventStore and MemoryStore.
- Tiered Scoring System: Multi-level scoring pipeline with FailoverScorer integration. Includes scoring cache optimization (atomic hit/miss counters), hybrid scoring with prompt crossover modes, and unevaluated score guardrails.
- JSONL Training Data Pipeline: End-to-end pipeline for agent strategy evolution and experience distillation data export.
- Leader Agent Hardening: Nil validation for all constructor parameters (memory manager, aggregator, parser, planner, dispatcher). Session initialization via
sync.Once. Comprehensive error collection duringStop()with joined errors from distillation/streaming goroutines. - Workflow Engine Hardening: Thread-safe HITL handler/store access via
sync.RWMutex. Workflow execution timeout (default 30s) to prevent indefinite blocking. ProperOutputStore.Close()cleanup. - Event Store Hardening: Errgroup-based compaction with timeout context (30s). Nil compactor/repo guards in all read paths. MemoryEventStore
Close()returnsErrEventStoreClosedon double-close for idempotent shutdown. - LLM Client Validation: Config validation enforces required
ProviderandBaseURLfields.Close()idempotency viasync.Once. OpenAI adapter properly handlesio.ReadAllerrors instead of silently discarding them. - MCP Client Hardening: Nil client guard in tool registration. Godoc-style documentation for all public APIs. SSE transport fixes double-close of
resp.Body(deferred close only inreceiveLoop). - Memory Manager Config Validation: Validates
MaxTasks,MaxDistilledTasks,DistilledTaskTTL, andVectorDimare positive.Stop()collects all errors and returns them joined. - Crossover & Selection Validation:
Crossover.Validate()andTournamentSelection.Validate()methods for post-construction config invariance checking. Defensive nil checks and enum validation.
Improvements
- Renamed project to ARES (Adaptive Resilient Evolution System)
- Enhanced scoring cache with atomic counters replacing
sync.RWMutex - Improved error visibility with structured error wrapping across all modules
- Added debug logging to TaskDispatcher and planner fallback warnings
- Default
DistilledTaskTTLset to 30 days inDefaultMemoryConfig() - Guarded all
CompactableEventStoreread paths against nil compactor/repo
Bug Fixes
- Fixed data race in
DynamicExecutorrecovery path with proper timeout handling - Fixed
MemoryEventStore.Close()idempotency — second+ calls returnErrEventStoreClosed - Fixed SSE transport double
resp.Body.Close()causing panic on shutdown - Fixed LLM client
Close()race condition viasync.Once - Fixed OpenAI adapter silently swallowing
io.ReadAllerrors in error paths - Fixed
Population.ScoreAgentspanic recovery logging with agent context - Fixed
updateBestEverLockedconcurrency safety with deep copy viaa.Clone() - Fixed
NewTaskPlanner/NewTaskPlannerWithConfigsilent fallback from invalidmaxTasks - Added nil validation in
leader.New,NewTaskDispatcher, andNewMCPManager - fix #33
- fix #32
What's Changed
- 0.2.3 by @Timwood0x10 in #34
Full Changelog: v0.2.2...v0.2.3