# TODO.md -- go-agentic ## Phase 1: Test Coverage - [x] Verify all 5 test files pass standalone after split (`go test ./...`) - [x] Add integration test for full task lifecycle: claim -> process -> complete - [x] Add edge-case tests for allowance exhaustion mid-task - [x] Fill coverage gaps: embed, service types, git operations, config YAML/env paths, error store mock - [x] Target 85%+ coverage achieved: 85.6% (from 70.1%) — `23aa635` ## Phase 2: Allowance Persistence - [ ] MemoryStore is in-memory only -- state lost on restart - [ ] Add Redis backend for `AllowanceStore` interface (multi-process safe) - [ ] Add SQLite backend for `AllowanceStore` interface (single-node fallback) - [ ] Config already supports YAML -- wire backend selection into config loader ## Phase 3: Multi-Agent Coordination - [ ] Currently single-agent -- only one Claude subprocess at a time - [ ] Add agent discovery (register capabilities, heartbeat) - [ ] Add task routing based on agent capabilities and current load - [ ] Add load balancing across multiple agent instances ## Phase 4: CLI Integration - [ ] `client.go` talks to REST API -- wire into `core agent` CLI command group - [ ] `core agent status` -- show running agents, task queue depth, allowance remaining - [ ] `core agent dispatch ` -- submit task to queue from CLI - [ ] `core agent logs ` -- stream task output via WebSocket --- ## Workflow 1. Virgil in core/go writes tasks here after research 2. This repo's dedicated session picks up tasks in phase order 3. Mark `[x]` when done, note commit hash