mika kuns
e523ed85eb
feat(refine): wire RefineTask hub method, broadcaster events, and DI
2026-06-04 23:14:00 +02:00
mika kuns
0460d7bea5
feat(refine): add RefineRunner, prompt/args helper, and interfaces
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 23:09:30 +02:00
mika kuns
22830d3ea8
feat(mcp): add add_subtask tool to claudedo MCP
2026-06-04 23:03:07 +02:00
mika kuns
519bfbe6b3
feat(merge): fold parent branch into tree-merge for improvement parents
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 16:09:44 +02:00
mika kuns
06e3acd5ac
feat(runner): mint per-run MCP token + emit run-scoped --mcp-config
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 16:03:51 +02:00
mika kuns
f3052dc5fc
feat(mcp): resolve per-run tokens in MCP auth + register TaskRunMcpService
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 15:57:12 +02:00
mika kuns
9d133e227b
feat(mcp): add SuggestImprovement tool (server-stamped, one layer deep)
2026-06-04 15:51:57 +02:00
mika kuns
ef86a8c29b
feat(mcp): add per-run TaskRunTokenRegistry
2026-06-04 15:50:06 +02:00
mika kuns
da23b6cd3a
feat(worktree): base improvement-child worktree on parent HEAD
2026-06-04 15:46:44 +02:00
mika kuns
c10f564265
feat(runner): route standalone success with children to WaitingForChildren + enqueue them
2026-06-04 15:46:38 +02:00
mika kuns
6f4b5d5544
feat(state): add SubmitForChildrenAsync (Running -> WaitingForChildren)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 15:38:15 +02:00
mika kuns
f25c7599bd
fix(children): exempt improvement children from orphan-dequeue sweep
2026-06-04 15:35:06 +02:00
mika kuns
d8b86e33a3
feat(ui): host review actions in the details panel; show review state and diff meter
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 15:03:19 +02:00
mika kuns
49b9f1ffde
feat(roadblock): persist roadblock count on the task
2026-06-04 14:58:59 +02:00
mika kuns
9a117a5429
fix(prompts): apply system default on every run; dedupe roadblocks
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:25:55 +02:00
mika kuns
1e547dea18
feat(roadblock): surface reported roadblocks in the review result
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:18:51 +02:00
mika kuns
cf7f0da400
feat(roadblock): collect and strip CLAUDEDO_BLOCKED markers in StreamAnalyzer
2026-06-04 14:15:45 +02:00
mika kuns
79bfc79d33
feat(prompts): daily-prep prompt from file, English default
2026-06-04 14:11:30 +02:00
mika kuns
edc9f77357
feat(prompts): retry prompt from file, append only real captured errors
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:03:32 +02:00
mika kuns
925b72ae83
test(worker): cover max-turns in ConfigMcpTools round-trip
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 12:41:54 +02:00
mika kuns
beae2d639d
feat(worker): resolve max-turns from task then list then global default
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 12:20:35 +02:00
mika kuns
ac137f7c1c
feat(data): persist max_turns in list and task repositories
...
Add MaxTurns to ListRepository.SetConfigAsync upsert branch and
TaskRepository.UpdateAgentSettingsAsync; fix positional CancellationToken
call in ConfigMcpTools. Covered by MaxTurnsRoundTripTests (2 tests).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 12:18:32 +02:00
mika kuns
2dfa9956c5
revert: drop real-claude smoke test; track as manual verification
...
A test that spawns the actual claude binary shouldn't live in the suite —
dotnet test must never invoke Claude. §1.0 step 3 stays a manual check.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 11:39:20 +02:00
mika kuns
773811d060
test(worker): add opt-in real-claude smoke test
...
Spawns the actual claude binary and asserts exit code 0, a session id,
non-empty result, and output tokens > 0 (plan-verification §1.0 step 3).
Inert unless CLAUDE_AUTHENTICATED=1, since it needs an authenticated CLI.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 11:36:51 +02:00
mika kuns
cc46019622
test(worker): cover External MCP worktree/git tools
...
Add error-path + git-backed happy-path tests for the five previously
untested ExternalMcpService tools: GetTaskWorktree, GetTaskDiff,
MergeTask (dry-run + not-Done guard), ListWorktrees, CleanupTaskWorktree.
Git-backed cases skip when git is unavailable.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 11:24:45 +02:00
mika kuns
71ac48162a
fix(worker): clean up orphaned worktree when the DB row insert fails
...
If WorktreeAddAsync succeeds but the worktrees-row insert throws, the
worktree was left on disk and branch undeleted with nothing tracking it.
Wrap the insert in try/catch and best-effort remove the worktree+branch
(non-cancellable) before rethrowing.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 11:21:40 +02:00
mika kuns
914095dc99
feat(daily-prep): load persisted prep log into the terminal on open
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 09:44:38 +02:00
mika kuns
4d82079cac
feat(daily-prep): persist last prep run to a log file and serve it via GetLastPrepLog
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 09:39:11 +02:00
mika kuns
7676ecf0d4
feat(daily-prep): expose prep stream events and ClearMyDay on the UI worker client
2026-06-04 08:09:41 +02:00
mika kuns
fa83d7f441
feat(daily-prep): add ClearMyDay hub method
2026-06-04 08:05:33 +02:00
mika kuns
e48475d6cd
feat(daily-prep): stream prep output via PrepStarted/PrepLine/PrepFinished
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 08:02:24 +02:00
mika kuns
2d00160283
feat(daily-prep): add RunDailyPrepNow hub method and expose DailyPrepMaxTasks
2026-06-03 16:30:23 +02:00
mika kuns
20b3a29d08
feat(daily-prep): run daily prep from PrimeRunner via allowed MCP tools
2026-06-03 16:24:09 +02:00
mika kuns
fd7f8ac78f
feat(daily-prep): add set_my_day MCP tool with cap-guard
2026-06-03 16:19:36 +02:00
mika kuns
0bb809445e
feat(daily-prep): add get_daily_prep_candidates MCP tool
2026-06-03 16:15:27 +02:00
mika kuns
3c66d65160
feat(daily-prep): add DailyPrepMaxTasks app setting
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 16:11:30 +02:00
mika kuns
350a89f364
feat(i18n): localize ViewModel-built strings via ambient Loc accessor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:43:30 +02:00
mika kuns
a935bf9664
i18n(ui): English UI labels for weekly report and notes (report body stays German)
2026-06-03 10:44:36 +02:00
mika kuns
a8d8a8bd65
fix(worker): sanitize report model arg, fix multi-repo summary attribution and standup-weekday sentinel
2026-06-03 10:22:06 +02:00
mika kuns
b886d58c07
test: update fakes for new IWorkerClient members and WorkerHub/DetailsIslandViewModel ctor args
2026-06-03 10:13:56 +02:00
mika kuns
50d84f12c9
feat(worker): WeekReportService orchestrates generate + store
2026-06-03 09:42:21 +02:00
mika kuns
e2271b5a50
feat(worker): week report prompt builder (day-major pivot)
2026-06-03 09:40:57 +02:00
mika kuns
bec87b3d6f
feat(worker): ClaudeHistoryReader distills session logs
2026-06-03 09:37:40 +02:00
mika kuns
992fbf0763
feat(data): add WeekReportRepository with tests
2026-06-03 09:34:03 +02:00
mika kuns
1d7b86dbef
feat(data): add DailyNoteRepository with tests
2026-06-03 09:32:08 +02:00
mika kuns
81fd186fb2
feat(worker): map prime schedule weekday bitmask over the hub
2026-06-02 16:33:11 +02:00
mika kuns
3127930454
test(worker): adapt prime scheduler tests to weekday model
2026-06-02 16:33:02 +02:00
mika kuns
bed4255a5e
feat(worker): compute prime due-time from weekday bitmask
...
Also fixes PrimeScheduleRepository.ListAsync to sort client-side
(SQLite EF Core does not support TimeSpan in ORDER BY clauses).
2026-06-02 16:32:51 +02:00
mika kuns
1cb5171fba
fix(worker): harden review re-run, timestamps, and queue affordance
...
- Clear ReviewFeedback only after a successful re-run so a failed/cancelled
run keeps it for a manual retry.
- Clear stale StartedAt/FinishedAt when rejecting a task back to the queue.
- Only non-planning standalone tasks gate on review (guard PlanningPhase).
- Hide "send to queue" for WaitingForReview tasks so review isn't bypassed.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 08:00:13 +02:00
mika kuns
6c27ffbdca
feat(ui): surface review actions and WaitingForReview status in task rows
...
Adds Approve/Reject/Park/Cancel buttons with a feedback flyout, a review
status chip, and a friendly status label for WaitingForReview tasks.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 07:46:37 +02:00