mika kuns and Claude Opus 4.7
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 and Claude Opus 4.7
bcf5e2f51f
docs: regenerate open.md against verified current state
...
Audit found the backlog stale: many open items shipped, several large
features (localization, weekly report, daily notes, daily-prep) were
missing, and the removed tag system was still treated as live.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 11:16:18 +02:00
mika kuns and Claude Opus 4.7
fb055ce740
docs: document daily-prep across area CLAUDE.md files; add Installer CLAUDE.md
...
Worker/Ui/Data CLAUDE.md updated for the daily-prep feature (Prime/ area,
new MCP tools, hub methods, broadcaster events, prep mode, DailyPrepMaxTasks);
new ClaudeDo.Installer/CLAUDE.md maps the WPF installer (modes, pipelines,
steps, MCP registration, Startup-shortcut autostart).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:54:13 +02:00
mika kuns and Claude Opus 4.7
9e7f37b5cc
docs: add autonomous working-style loop and agent gotchas to CLAUDE.md
...
Codifies the brainstorm -> spec/plan -> subagent-driven implementation
-> verify loop, plus project gotchas (release builds, subagent staging,
PathIcon fill, locale parity, test-fake sync).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:36:37 +02:00
mika kuns and Claude Opus 4.7
39fa83a0a0
fix(daily-prep): hide task header, footer and agent strip in prep/notes mode
...
The delete/close footer, task header, and the DIFF/worktree agent strip
sit outside the mode-switched body, so they leaked into the prep-log and
notes views. Gate all three on IsTaskDetailVisible.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:28:27 +02:00
mika kuns and Claude Opus 4.7
15ed624d4a
style(daily-prep): brighten and enlarge the Plan-My-Day icon
...
Rest stroke -> TextBrush (was too dim vs the filled neighbours),
hover -> AccentBrush, icon Viewbox 15 -> 18.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:23:19 +02:00
mika kuns and Claude Opus 4.7
52e3980cd1
feat(daily-prep): replace Plan-My-Day header icon with a stroked sun icon
...
Renders the new SVG faithfully via a stroked Path (PathIcon fills, so a
line-art icon would vanish). Renamed the button to "Plan My Day".
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:18:43 +02:00
mika kuns and Claude Opus 4.7
53d897aff4
docs(daily-prep): add plan-day-in-log-window plan
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 10:02:29 +02:00
mika kuns and Claude Sonnet 4.6
7d743f17c6
feat(daily-prep): trigger planning from inside the prep-log window with an empty-state hint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 10:01:27 +02:00
mika kuns and Claude Opus 4.7
26758b6e8a
docs(daily-prep): add prep-log persistence plan
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 09:46:42 +02:00
mika kuns and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
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 and Claude Opus 4.7
3a40e39fc8
refactor(ui): remove unused Sort button from MyDay header
...
It was a no-op placeholder command; removed the button, command,
locale keys, and now-unused Icon.Sort geometry.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 09:25:04 +02:00
mika kuns and Claude Opus 4.7
2e73d3333d
docs(daily-prep): add MyDay icons + terminal-reuse plan
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 09:11:40 +02:00
mika kuns and Claude Sonnet 4.6
c764b2bf6e
feat(daily-prep): move Clear-day and Prep-log into MyDay header icon row
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 09:10:33 +02:00
mika kuns and Claude Sonnet 4.6
f7d1b37343
feat(daily-prep): reuse SessionTerminal for prep log; fix invisible Sort icon; add Broom/List icons
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 09:08:04 +02:00
mika kuns and Claude Opus 4.7
fab17720cc
feat(ui): clear textbox focus on click outside any text box
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 08:42:49 +02:00
mika kuns and Claude Opus 4.7
9470c5b10b
docs(daily-prep): add design specs and implementation plans
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 08:42:41 +02:00
mika kuns and Claude Sonnet 4.6
c45f892591
feat(daily-prep): add Prep-log and Clear-day buttons to MyDay header
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 08:18:30 +02:00
mika kuns and Claude Sonnet 4.6
a8670ee23a
feat(daily-prep): add live prep-output mode to the Details island
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 08:14:09 +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 and Claude Sonnet 4.6
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 and Claude Opus 4.7
46f42a4d93
fix(di): register IWorkerClient mapping for WeeklyReportModalViewModel
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 16:41:25 +02:00
mika kuns
46ac3fc930
feat(daily-prep): add Prepare-day button to MyDay header
2026-06-03 16:36:25 +02:00
mika kuns
5e0859fbb8
feat(daily-prep): add DailyPrepMaxTasks editor to Prime Claude settings
2026-06-03 16:33:00 +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 and Claude Sonnet 4.6
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
ffe0fb9820
Improve Prime Time Picker
2026-06-03 14:27:06 +02:00
mika kuns and Claude Opus 4.7
00ef11ac33
fix(i18n): live-refresh smart/virtual list names on language change
...
Release / release (push) Successful in 35s
Smart-list nav labels were localized only at load; subscribe the singleton
ListsIslandViewModel to language changes and re-localize names in place.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 13:17:21 +02:00
mika kuns and Claude Opus 4.7
312b411654
i18n(de): add complete German translation
...
Full de.json mirroring en.json key-for-key (app + installer + VM strings);
enables Deutsch in the language switcher with live switching.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 13:14:23 +02:00
mika kuns and Claude Sonnet 4.6
364a037cb3
feat(i18n): localize installer with language picker and config write-through
...
- Init Localizer at app startup (before self-update prompt) and assign to TrExtension.Localizer
- Register ILocalizer in DI; inject into WizardViewModel and SettingsViewModel
- WizardViewModel: SelectedLanguage ComboBox binding with OnSelectedLanguageChanged -> SetLanguage + InstallContext.Language
- WizardWindow.xaml: DockPanel wraps step chips + language ComboBox (right-aligned)
- Localize all installer XAML: WizardWindow, WelcomePage, PathsPage, ServicePage, UiSettingsPage, InstallPage, SettingsWindow, SelfUpdatePromptWindow
- Localize page Title properties and WizardViewModel.NextButtonText via TrExtension.Localizer
- Persist chosen Language in WriteConfigStep and SettingsViewModel.Save into ui.config.json
- Append installer section to en.json (nav, welcome, paths, service, uiSettings, install, settings, selfUpdate)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:55:08 +02:00
mika kuns
2fbf054a57
feat(i18n): add WPF localization primitives and Language config to installer
2026-06-03 12:45:49 +02:00
mika kuns and Claude Sonnet 4.6
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
086c6f6c45
feat(i18n): localize Avalonia view strings via loc:Tr markup
...
Extract ~165 hardcoded UI strings across islands, modals, planning and
shell views into en.json; replace with {loc:Tr} bindings.
2026-06-03 12:05:08 +02:00
mika kuns
070f5de1b1
feat(i18n): add language dropdown to settings and persist selection
2026-06-03 11:51:36 +02:00
mika kuns
f529a5ff22
feat(i18n): initialize Localizer at app startup from config/OS culture
2026-06-03 11:46:33 +02:00
mika kuns
6a85d82fcf
feat(i18n): add Language preference and Save() to AppSettings
2026-06-03 11:45:06 +02:00
mika kuns
35ad1715d3
feat(i18n): add Avalonia loc:Tr markup extension and LocalizedString
2026-06-03 11:44:16 +02:00
mika kuns
3c40bb5ea3
feat(i18n): seed en.json and wire locale copy to app output
2026-06-03 11:41:51 +02:00
mika kuns
d95d55e6b8
feat(i18n): add CultureResolver for OS-culture mapping
2026-06-03 11:39:20 +02:00
mika kuns
d22b50e171
feat(i18n): add Localizer with fallback chain and change event
2026-06-03 11:38:49 +02:00
mika kuns
a83a0c41e8
feat(i18n): add LocaleStore folder discovery
2026-06-03 11:38:02 +02:00
mika kuns
9efde2bf88
feat(i18n): add ClaudeDo.Localization project with nested-JSON locale parser
2026-06-03 11:35:59 +02:00
mika kuns and Claude Opus 4.7
8dc8b8ba8e
docs: localization implementation plan
...
Phased TDD plan: shared ClaudeDo.Localization lib, Avalonia + WPF markup
extensions, settings/installer pickers, parallel string-extraction batches.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 11:32:06 +02:00
mika kuns and Claude Opus 4.7
baeea9c2a7
docs: localization (i18n) design spec
...
Live-switching, JSON locale files, shared ClaudeDo.Localization project,
English-only at launch with data-driven extensibility, installer parity.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 11:19:03 +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
2d55f88a41
fix(ui): notes add row stays visible, English 'Add' label, Enter to add
2026-06-03 10:39:53 +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
0bc3d2a6c4
docs: document weekly report and daily notes feature
2026-06-03 10:15:40 +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 and Claude Sonnet 4.6
a8943a9f7a
feat(ui): pinned Notes row in My Day opens the notes editor
...
Add ShowNotesRow/OpenNotesCommand to TasksIslandViewModel; wire NotesRequested
event to Details.ShowNotes() in the shell; show a Notes button above the task
list when the My Day smart list is active.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:08:30 +02:00
mika kuns and Claude Sonnet 4.6
eccd06e182
feat(ui): notes mode in the Details island
...
Add IsNotesMode/Notes to DetailsIslandViewModel; ShowNotes() loads today's
notes and switches the island body to NotesEditorView via IsVisible toggling.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:07:09 +02:00
mika kuns
731c291d61
feat(ui): NotesEditorView
2026-06-03 10:02:16 +02:00
mika kuns
c8b5ed3912
feat(ui): NotesEditorViewModel with day navigation and bullet CRUD
2026-06-03 10:01:17 +02:00
mika kuns
9bf44da13b
feat(ui): INotesApi wrapper for daily notes
2026-06-03 09:59:40 +02:00
mika kuns and Claude Sonnet 4.6
b748c1569e
feat(ui): open Weekly Report modal from the menu
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:56:32 +02:00
mika kuns and Claude Sonnet 4.6
74fc39f1a6
feat(ui): WeeklyReportModalView
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:55:10 +02:00
mika kuns and Claude Sonnet 4.6
ccd2ee2cc7
feat(ui): WeeklyReportModalViewModel with default-range logic
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:54:10 +02:00
mika kuns and Claude Sonnet 4.6
5b89e3d03f
feat(settings): persist report excluded paths and standup weekday
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:50:03 +02:00
mika kuns
e106b00b16
feat(ui): WorkerClient methods for week report and daily notes
2026-06-03 09:46:39 +02:00
mika kuns
d7558ef451
feat(worker): hub methods for week report and daily notes
2026-06-03 09:44:45 +02:00
mika kuns
4aa4353d11
feat(worker): register report reader and service in DI
2026-06-03 09:43:48 +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
4cb7ad8dfa
feat(worker): report activity models and reader interface
2026-06-03 09:35:49 +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
036586e736
feat(data): migration for daily notes and week reports
2026-06-03 09:28:50 +02:00
mika kuns
d9e5d2600b
feat(data): configure daily note + week report tables
2026-06-03 09:26:00 +02:00
mika kuns
10d86b4bd6
feat(data): add daily note + week report entities and report settings
2026-06-03 09:24:23 +02:00
mika kuns
f72cfae7d9
docs: add weekly report implementation plan
2026-06-03 09:19:08 +02:00
mika kuns and Claude Opus 4.7
e5a2ed250d
docs: add report prompt and day-major pivot to weekly report spec
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 08:52:25 +02:00
mika kuns and Claude Opus 4.7
536d819328
docs: add weekly report feature design spec
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 08:40:19 +02:00
mika kuns and Claude Opus 4.7
869cf72abe
feat(ui): use a 24h TimePicker for prime schedule time entry
...
Release / release (push) Successful in 35s
Replace the free-text time TextBox (which silently reset bad input to 07:00)
with Avalonia's TimePicker (24-hour, 5-minute steps), making invalid times
impossible. Drops the now-unused TimeSpanToHhmmConverter.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 17:03:04 +02:00
mika kuns and Claude Opus 4.7
f1715a34fa
fix(ui): manual modal dragging, maximize/restore icon, day-toggle style
...
- Drive modal title-bar dragging manually via pointer capture + Window.Position;
Avalonia 12's BeginMoveDrag and VisualRoot-as-Window cast no longer work
(VisualRoot is a TopLevelHost). Applies to ModalShell and WorktreeModalView.
- Toggle the MainWindow maximize button between maximize/restore glyphs on
WindowState changes (adds Icon.WinRestore geometry).
- Add the ToggleButton.day-toggle style used by the Prime weekday picker row.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 17:02:56 +02:00
mika kuns
26998f05ff
docs: describe recurring-weekday Prime schedule
2026-06-02 16:46:41 +02:00
mika kuns and Claude Sonnet 4.6
7db8f213d8
feat(ui): replace prime date range with weekday toggle buttons
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 16:43:28 +02:00
mika kuns and Claude Sonnet 4.6
37738e3c8f
feat(ui): drive prime schedule rows from weekday toggles
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 16:40:41 +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
dff06d9e35
feat(data): migrate prime schedules to days_of_week bitmask
2026-06-02 16:12:08 +02:00
mika kuns
0efad7a004
feat(data): persist weekday bitmask in prime schedule repo
2026-06-02 16:09:49 +02:00
mika kuns
eaf27e8b3a
feat(data): model Prime schedule as weekday bitmask
2026-06-02 16:09:32 +02:00
mika kuns and Claude Opus 4.7
13c3393e3a
docs: implementation plan for recurring-weekday Prime
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 15:48:51 +02:00
mika kuns and Claude Opus 4.7
4704a28e5d
docs: spec for recurring-weekday Prime schedules
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 15:12:04 +02:00
mika kuns and Claude Opus 4.7
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 and Claude Opus 4.7
4684a0af76
docs: document WaitingForReview state across project CLAUDE.md files
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 07:49:57 +02:00
mika kuns and Claude Opus 4.7
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
mika kuns and Claude Opus 4.7
21f1cf2a85
feat(ui): add review hub methods and worker client wrappers
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:19:41 +02:00
mika kuns and Claude Opus 4.7
c88ed9d5eb
feat(worker): add review_task MCP tool and status reference updates
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:17:56 +02:00
mika kuns and Claude Opus 4.7
9c1f20f2d9
feat(worker): route standalone success to review and resume on re-queue
...
Standalone tasks now enter WaitingForReview on success; re-queued tasks
carrying reviewer feedback resume the prior Claude session with that
feedback as the next turn.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:15:57 +02:00
mika kuns and Claude Opus 4.7
e8d018dd54
feat(worker): add review state transitions to TaskStateService
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:10:34 +02:00
mika kuns and Claude Opus 4.7
1ca32a6bdd
feat(data): add WaitingForReview status and review_feedback column
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:08:33 +02:00
mika kuns and Claude Opus 4.7
b86677d554
docs(plan): waiting-for-review implementation plan
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:07:21 +02:00