Claude
6cb02564f4
fix(test): correct concurrent dispatch test allowance override
...
registerAgent hardcodes ConcurrentJobs: 5, but the concurrent test
launches 10 goroutines. Override with ConcurrentJobs: 0 (unlimited)
so all 10 dispatches succeed as intended.
Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 11:23:30 +00:00
Snider
0be744e46a
feat(allowance): add Redis backend for AllowanceStore
...
Implements RedisStore using github.com/redis/go-redis/v9 with Lua
scripts for atomic increment/decrement operations. Adds functional
options (WithRedisPassword, WithRedisDB, WithRedisPrefix), config
wiring via "redis" store_backend, and comprehensive tests covering
all 10 interface methods, concurrency, persistence, and error paths.
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:23:13 +00:00
Snider
46e3617f9c
docs: add commit hash to TODO.md Phase 4 completion
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 07:22:16 +00:00
Snider
ef81db73c1
feat(cli): add status summary, task submission, and log streaming
...
CLI backing functions for core agent commands:
- GetStatus/FormatStatus aggregates registry + client + allowance data
- SubmitTask + Client.CreateTask for task creation
- StreamLogs polls task updates to io.Writer
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 07:21:59 +00:00
Snider
b03e4c1e0b
docs: add commit hash to TODO.md Phase 3 completion
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 07:17:09 +00:00
Snider
646cc0261b
feat(coordination): add agent registry, task router, and dispatcher
...
Multi-agent coordination layer:
- AgentRegistry interface + MemoryRegistry (heartbeat, reap, discovery)
- TaskRouter interface + DefaultRouter (capability matching, load balancing)
- Dispatcher orchestrates registry + router + allowance for task dispatch
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 07:16:53 +00:00
Snider
3e43233e0e
feat: Phase 2 — SQLite AllowanceStore backend + config wiring
...
Add persistent storage for agent allowance quotas using go-store (SQLite KV).
SQLiteStore implements all 11 AllowanceStore methods with JSON serialisation,
mutex-guarded read-modify-write for atomic increments, and proper
time.Duration handling via nanosecond int64 encoding.
- allowance_sqlite.go: full AllowanceStore implementation with 4 KV groups
- allowance_sqlite_test.go: 26 tests covering CRUD, persistence across
close/reopen, concurrent access (10 goroutines), and AllowanceService
integration
- config.go: AllowanceConfig struct + NewAllowanceStoreFromConfig factory
- go.mod: add forge.lthn.ai/core/go-store dependency
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 07:07:49 +00:00
Claude
5d0269511e
test: push coverage from 85.6% to 96.5%
...
Add comprehensive tests for previously uncovered code paths:
- service.go: NewService, OnStartup, handleTask, doCommit, doPrompt
- completion.go: CreatePR with mock gh binary, PushChanges success path
- allowance_service.go: ResetAgent error path with mock store
- client.go: connection refused and invalid JSON paths for all methods
- Additional edge cases for CreateBranch, AutoCommit, generateBranchName
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 02:24:06 +00:00
Claude
e6b9919d91
docs: add commit hash to TODO.md Phase 1 completion
...
Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 01:00:13 +00:00
Claude
23aa635c91
test: achieve 85.6% coverage with 7 new test files
...
Phase 1 complete: coverage from 70.1% to 85.6% (130+ tests, all passing).
New test files:
- lifecycle_test.go: full claim -> process -> complete integration flows
- allowance_edge_test.go: boundary conditions for token/job/concurrent limits
- allowance_error_test.go: mock errorStore covering all RecordUsage error paths
- embed_test.go: Prompt() hit/miss and content trimming
- service_test.go: DefaultServiceOptions, TaskPrompt, TaskCommit type coverage
- completion_git_test.go: real git repos for AutoCommit, CreateBranch, CommitAndSync
- context_git_test.go: findRelatedCode with keyword search, file limits, truncation
Updated config_test.go with YAML fallback, env override, and empty-dir paths.
Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 00:59:58 +00:00
Claude
af110becc1
fix: correct go.mod replace directive (../core → ../go)
...
Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 00:48:29 +00:00
Virgil
2f384d494c
docs: add TODO.md for fleet delegation
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 21:36:06 +00:00
Snider
68c108f62e
feat: extract go-agentic from go-ai as standalone service package
...
AI service lifecycle, allowance management, CLI task client.
Zero internal go-ai dependencies. Adds CLAUDE.md/TODO.md/FINDINGS.md.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 18:28:36 +00:00