Commit Graph

34 Commits

Author SHA1 Message Date
q792602257 617794c7a3 feat(chat): StreamerHub with ring buffer + cond + Done/Error/Cancel flows 2026-05-04 17:27:50 +08:00
q792602257 9bc9873e3c feat(infra/llm): LLMRegistry with endpoint cache + invalidation 2026-05-04 09:48:03 +08:00
q792602257 a08a7249f0 feat(infra/llm): Gemini client with stream + count_tokens via google.golang.org/genai 2026-05-04 09:46:47 +08:00
q792602257 be751e76f6 feat(infra/llm): OpenAI client + base_url override + reasoning_content compat 2026-05-04 09:40:41 +08:00
q792602257 027b5d5eba fix(infra/llm): anthropic stream goroutine respects ctx cancel on send 2026-05-04 09:35:19 +08:00
q792602257 a1ba157d29 feat(infra/llm): Anthropic client with stream + count_tokens via official SDK 2026-05-04 09:29:35 +08:00
q792602257 9c8e4175c4 feat(infra/llm): neutral types + LLMClient interface + estimate tokenizer + fake 2026-05-04 00:37:04 +08:00
q792602257 547b339ed3 fix(storage): reject empty key + nil ReadCloser on Get error 2026-05-04 00:34:42 +08:00
q792602257 33838f1820 feat(storage): LocalFS implementation with sha256 + path safety 2026-05-04 00:22:38 +08:00
q792602257 eb73fbba46 feat(chat): migration 0004 + errs codes for chat/llm/storage 2026-05-04 00:15:13 +08:00
q792602257 0cadec343c feat(project): add workspace_id to issue/requirement with tri-state update 2026-05-02 20:22:13 +08:00
q792602257 b44d6c298c feat(infra/git): worktree add/remove/list with porcelain parser 2026-05-01 21:57:44 +08:00
q792602257 faecb05ebd feat(infra/git): clone/fetch/push/commit/status verbs + integration tests 2026-05-01 21:43:56 +08:00
q792602257 f8c7771892 feat(infra/git): Runner interface + Credential injection + GitError 2026-05-01 21:40:00 +08:00
q792602257 719968ee26 feat(workspace): migration 0003 + errs codes for workspace/worktree/git 2026-05-01 19:26:18 +08:00
q792602257 ce88c4b4a7 chore(sqlc): regenerate cross-package models for project schema 2026-05-01 09:40:02 +08:00
q792602257 c5ed9e8622 test(errs): cover new project conflict codes in HTTPStatus table 2026-05-01 09:35:18 +08:00
q792602257 f261504c51 feat(project): migration 0002 + errs codes for project/requirement/issue 2026-05-01 09:31:03 +08:00
q792602257 7377c2135f fix(notify): waitgroup-based dispatcher shutdown, withoutcancel persist 2026-04-29 11:55:18 +08:00
q792602257 0f9c7fa657 fix(server): propagate shutdown error, http timeouts, ctx-aware migrate 2026-04-29 11:52:27 +08:00
q792602257 0b323b91ee feat(notify): http handler for inbox list / unread count / mark read 2026-04-28 22:37:19 +08:00
q792602257 13032c1192 feat(notify): dispatcher with sync persist and async channel fanout 2026-04-28 22:33:14 +08:00
q792602257 83c63c5f93 feat(notify): dummy notifier writing structured log lines 2026-04-28 22:28:47 +08:00
q792602257 d9a8c04195 feat(notify): postgres repository for notifications inbox 2026-04-28 22:25:23 +08:00
q792602257 f25078dc8c feat(notify): sqlc queries for notifications crud 2026-04-28 22:18:41 +08:00
q792602257 32e313d5f7 feat(notify): channel/severity types and Notifier interface 2026-04-28 18:07:19 +08:00
q792602257 b26a7e9a6f feat(crypto): AES-256-GCM encryptor for secret fields 2026-04-28 14:53:28 +08:00
q792602257 b95bd13377 feat(errs): AppError type with HTTP status mapping 2026-04-28 14:49:43 +08:00
q792602257 222335e604 fix(db): add MaxConnLifetimeJitter to prevent synchronized conn expiration storms 2026-04-28 14:45:02 +08:00
q792602257 903d872e3f feat(db): add pgxpool with health check and integration test 2026-04-28 14:32:37 +08:00
q792602257 d491a7047a feat(sqlc): scaffold sqlc config and placeholder queries 2026-04-28 14:23:53 +08:00
q792602257 d7127351a7 feat(db): add golang-migrate runner 2026-04-28 14:07:19 +08:00
q792602257 34b8cd09e6 fix(logger): expose AddSource option; FromEnv enables caller in non-dev (spec §8.2) 2026-04-28 14:02:10 +08:00
q792602257 b4933a6fd1 feat(logger): slog-based logger with JSON and text handlers 2026-04-28 13:53:02 +08:00