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 |
|