q792602257
ba1d657973
feat(workspace): clear prune_warning_at on SetWorktreeActive/Idle
2026-05-05 16:45:25 +08:00
q792602257
e768adb3ff
chore(sqlc): regenerate per-module models for migration 0005 schema
...
T1 added jobs table and workspace_worktrees.prune_warning_at column but
sqlc generate was not re-run for all modules. This catches the audit,
notify, project, and user models up; chat partially regenerated already.
Workspace's regen is part of T3 (next commit).
2026-05-05 14:28:09 +08:00
q792602257
c47d99d3d8
feat(infra/clock): injectable Clock with Real and Fake implementations
2026-05-05 14:16:32 +08:00
q792602257
967f390b1e
feat(jobs): migration 0005 + errs codes for jobs module
2026-05-05 14:09:10 +08:00
q792602257
8effeee063
feat(app): wire chat module + LocalFS storage + LLM registry into app.New
2026-05-04 19:37:14 +08:00
q792602257
7aa8456b1b
fix(chat): NewStreamerHub accepts ConversationService interface; SSE handler drains ready events before ctx
2026-05-04 19:32:24 +08:00
q792602257
d3ef9c941b
feat(chat): SSE writer + multipart upload endpoint with mime whitelist
2026-05-04 19:28:46 +08:00
q792602257
175e9be36a
feat(chat): http handler + DTO + admin guard for endpoints/models/usage
2026-05-04 17:59:22 +08:00
q792602257
8b5dc70146
feat(chat): UsageService for cost/token summarization
2026-05-04 17:42:36 +08:00
q792602257
c42887498b
feat(chat): MessageService Send/Stream/Cancel/Retry with attachment + capability + history truncation
2026-05-04 17:39:28 +08:00
q792602257
617794c7a3
feat(chat): StreamerHub with ring buffer + cond + Done/Error/Cancel flows
2026-05-04 17:27:50 +08:00
q792602257
d1be9e6eb0
feat(chat): ConversationService with title generation hook
2026-05-04 17:15:37 +08:00
q792602257
8e8edfe3ff
fix(chat): align template service with actual repo method names
2026-05-04 16:57:22 +08:00
q792602257
45fdf63d11
feat(chat): TemplateService for prompt templates with system/user scope auth
2026-05-04 16:54:28 +08:00
q792602257
959dc2d571
feat(chat): EndpointService for admin LLM endpoints/models with cache invalidation + EndpointLoader
2026-05-04 16:52:49 +08:00
q792602257
98b4f01b10
fix(chat): cast date_trunc to timestamptz, drop interval hack
2026-05-04 16:43:54 +08:00
q792602257
daf13fff8a
feat(chat): postgres repository with tx + pending unique index translation
2026-05-04 16:39:25 +08:00
q792602257
a1d0fbc3d3
feat(chat): sqlc queries for conversations/messages/attachments/templates/endpoints/models/usage
2026-05-04 09:52:06 +08:00
q792602257
ca5a018cd4
feat(chat): domain types + service interfaces + cross-module Reader interfaces
2026-05-04 09:49:30 +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
7429a817bc
feat(app): wire workspace module + integration test for ws closed loop
2026-05-02 12:32:05 +08:00
q792602257
78e74c9734
feat(workspace): http handler with workspace/worktree/gitops endpoints
2026-05-02 08:55:45 +08:00
q792602257
e31710f04e
feat(workspace): GitOpsService for status/commit/push on main+worktree
2026-05-02 08:18:18 +08:00
q792602257
d76ed67666
feat(workspace): WorktreeService with acquire/release state machine
2026-05-02 08:13:07 +08:00
q792602257
bd91880898
feat(workspace): WorkspaceService + async clone runner
2026-05-02 08:00:00 +08:00
q792602257
64dd560b55
feat(workspace): postgres repository with type conversions and tx
2026-05-02 07:42:54 +08:00
q792602257
08845f92d7
feat(workspace): sqlc queries for workspace/worktree/credential
2026-05-02 07:07:33 +08:00
q792602257
e5800ef5dc
feat(workspace): domain types + pathing/validation
2026-05-01 22:07:41 +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
a0087d2c25
feat(app): wire project module and integration test for pm closed loop
2026-05-01 10:36:37 +08:00
q792602257
1567f21a82
style(project): silence remaining lint findings (stutter, max shadow, gosec)
2026-05-01 10:33:16 +08:00
q792602257
76a1461f4b
feat(project): http handler with project/requirement/issue endpoints
2026-05-01 10:27:42 +08:00
q792602257
13b4d45868
refactor(project): issue Update tracks changed fields and skips no-op audit
2026-05-01 10:20:42 +08:00
q792602257
ccf4a1c8ee
feat(project): IssueService with attach/detach + assign + close/reopen
2026-05-01 10:18:10 +08:00
q792602257
1c3fb186e9
feat(project): RequirementService with phase state machine + close/reopen
2026-05-01 10:13:19 +08:00
q792602257
257e3dca2e
feat(project): ProjectService with owner/visibility access control + audit
2026-05-01 09:57:03 +08:00
q792602257
fc6a7745a5
feat(project): postgres repository wrapper with type conversions
2026-05-01 09:50:41 +08:00
q792602257
5f63fb5e52
docs(project): document tri-state DTO semantics in domain.go
2026-05-01 09:46:45 +08:00