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)
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@
|
||||
|
||||
| ID | Scope | Status | Branch | Verification |
|
||||
|----|-------|--------|--------|--------------|
|
||||
| T2.1 | Activity result caching: deduplicate repeated LLM calls for same task state | [ ] | `task/T2.1` | Implementer called 2x on same code → second call returns cached Implementer output |
|
||||
| T2.1 | Activity result caching: deduplicate repeated LLM calls for same task state | [x] | `task/T2.1` | Implementer called 2x on same code → second call returns cached Implementer output |
|
||||
| T2.2 | Parallel task dispatch: multiple T0.x tasks execute truly concurrently (not sequential) | [ ] | `task/T2.2` | 9 tasks complete in ~1/9 total time (wall-clock speedup measured) |
|
||||
| T2.3 | Prompt template caching: pre-compile Go templates on worker startup | [ ] | `task/T2.3` | Template render latency < 100ms (vs parse+render each time) |
|
||||
| T2.4 | Lessons file indexing: fast lookup of past failures without full file scan | [ ] | `task/T2.4` | Query lessons by task type → return in < 10ms for 1000s of entries |
|
||||
|
||||
Reference in New Issue
Block a user