Test
8baf16a9d3
feat(T2.3): implement prompt template caching engine
...
- Add internal/templates package for Go template pre-compilation
- Implement TemplateEngine with compile-once-render-many pattern
- Template caching with LRU eviction policy
- Configurable max cache size (default 100)
- Compile-time tracking for performance analysis
- Per-template render count and latency metrics
- Cache statistics: hit ratio, avg render time, total renders
- CompileAndRender() for single-call compile+render
- Thread-safe concurrent access with RWMutex
- 17 template tests, all passing
Features:
- Compile() caches compiled templates
- Render() uses cached templates for fast rendering
- GetStats() tracks per-template metrics
- GetCacheStats() shows overall cache health
- Clear() resets all cached templates
- Remove() removes specific template
- IsCached() checks if template is pre-compiled
Performance:
- Template render latency: <100ms ✓
- Caching eliminates parse overhead
- LRU eviction when cache full
- Concurrent render support
- Compile once, render many times
Verification:
- Render latency < 100ms (verified in tests)
- Cache eviction working correctly
- Stats tracking accurate
- Complex templates supported
- Error handling robust
Test Coverage:
- 17 template tests (compile, render, caching, stats)
- Latency verification (< 100ms)
- Complex template support
- LRU eviction testing
- Concurrent access patterns
Next: T2.4 (Lessons file indexing)
2026-08-23 17:18:30 -07:00
Test
b77c7b5f56
feat(T2.2): implement parallel task dispatcher
...
- Add internal/dispatch package for concurrent task execution
- Implement Task interface for flexible task types
- Implement Dispatcher with configurable max concurrency
- Semaphore-based concurrency control for thread safety
- Parallel execution of multiple tasks with context support
- Task result aggregation with timing metrics
- Speedup calculation: sum of task durations / wallclock time
- Per-task timing: start time, end time, duration
- Completion tracking and status queries
- Statistics collection (total, completed, duration metrics)
- 15 dispatch tests, all passing
Features:
- DispatchAll() for concurrent task execution
- Configurable concurrency limit (default 10, semaphore-based)
- Error handling without blocking other tasks
- Wall-clock execution time measurement
- Task duration aggregation
- Speedup metrics (parallel efficiency)
- Context cancellation support
- MockTask helper for testing
Verification:
- 9 tasks @ 100ms each run in ~100ms (speedup ~9x) ✓
- Concurrency limit enforced ✓
- All tasks complete even with errors ✓
- Timing metrics accurate ✓
- Speedup calculation correct ✓
Performance:
- Linear speedup with task count
- Minimal overhead from dispatching
- Thread-safe concurrent execution
- Configurable parallelism
Next: T2.3 (Prompt template caching)
2026-08-23 17:17:51 -07:00
Test
9315fa6d32
feat(T2.1): implement activity result caching
...
- Add internal/cache package for deduplicating activity results
- Implement ResultCache with MD5 hash-based cache keys
- Support cache by activity type, task ID, input hash, model ID
- Configurable max size with FIFO eviction policy
- TTL support for automatic expiration
- Persistence to JSON for recovery across runs
- Query operations: by activity type, by task ID
- Hit rate tracking and statistics
- 13 cache tests, all passing
Features:
- ComputeHash() for input deduplication
- Set/Get operations with TTL support
- Invalidation by activity type or task ID
- Cache stats with usage ratio
- Full cache clear
- Disk persistence with JSON storage
- Hit rate calculation
Performance:
- Avoids redundant LLM calls
- Reduces API costs
- Faster workflow execution
- Configurable eviction policies
Test Coverage:
- 13 cache tests (set/get, TTL, eviction, persistence)
- Hit rate calculation verified
- Invalidation tested
- Multi-entry scenarios
Next: T2.2 (Parallel task dispatch)
2026-08-23 17:15:10 -07:00
Test
aa21f064f7
Add future milestones: T1 (hardening), T2 (scale), T3 (features)
...
T1: Error recovery, observability, metrics, audit logging (8 tasks)
T2: Caching, parallelism, distributed locking (8 tasks)
T3: Plugins, templates, dependencies, custom judges, nested workflows (8 tasks)
Total project timeline: ~3 months T0→T3.
2026-08-20 22:43:21 -07:00