Commit Graph
3 Commits
Author SHA1 Message Date
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