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
mika kuns and Claude Opus 4.7
3e072fae66
docs(spec): waiting-for-review task state design
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-01 17:03:14 +02:00
Mika Kuns
4a36fbe5e0
feat(ui): replay run log in session terminal, drop per-row live tail
...
Release / release (push) Successful in 34s
Set the task's log path when the run is created (not at completion) so the
session terminal can replay live output when the user navigates away and back
mid-run. Remove the now-redundant inline per-row live tail (LiveTail /
HasLiveTail / TaskMessageEvent) and scroll the terminal to end after the next
layout pass so wrapping lines aren't clipped.
2026-06-01 16:25:14 +02:00