Commit Graph
5 Commits
Author SHA1 Message Date
Test 87ceea3d30 feat(T2.4): implement fast lessons file indexing
- Add internal/indexing package for lessons index
- Implement LessonIndex with multi-field index structure
- Index by task type, activity type, failure type, and pattern
- Fast lookups: O(1) map access for all query types
- Build from JSONL file with streaming parse
- Support incremental lesson addition
- Query operations with optional AND logic
- Time range queries for temporal analysis
- Similarity search by failure message substring
- Most frequent failures ranking
- 20 indexing tests, all passing

Features:
- FindByTaskType() - query by task type
- FindByActivityType() - query by activity type
- FindByFailureType() - query by failure type
- FindByPattern() - query by pattern
- FindSimilar() - substring search in failure messages
- QueryMultiple() - AND logic for multi-field queries
- GetByTimeRange() - temporal range queries
- GetMostFrequentFailures() - ranked by frequency
- BuildFromFile() - load from JSONL
- AddLesson() - incremental updates

Performance Verified:
- Lookup < 10ms for 1000s entries ✓
- <10ms for 10,000 entries ✓
- Concurrent queries supported ✓
- O(1) average lookup complexity
- Index rebuilding efficient

Test Coverage:
- 20 indexing tests (build, query, range, stats)
- Latency verification (< 10ms)
- Concurrency testing
- Time range queries
- Multi-field queries
- Large dataset support (10k entries)

Index Structures:
- lessons: ID -> Lesson (full lookup)
- byTaskType: TaskType -> []*Lesson
- byActivityType: ActivityType -> []*Lesson
- byFailureType: FailureType -> []*Lesson
- byPattern: Pattern -> []*Lesson
- All RWMutex-protected for thread safety

Next: T2.5 (Git operation batching)
2026-08-23 17:21:23 -07:00
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