Step 16.1: global worklog dashboard + conservative suggestions

- Fix date timezone: worklog.Add uses local date (was UTC)
- Conservative suggestion estimator:
  - burst detection (10min window), time spread analysis
  - 5-30 min range, 60+ only with strong evidence
  - confidence levels: low/medium/high with reason
- worklog/report.go: ReportFilter, ListReport, Summary, ExportCSV, ExportMarkdown
- Expanded WorklogDTO: date, details, approximate, billable, nodeTitle
- New bindings: CreateWorklogFull, ListWorklogReport, WorklogSummary, Export*
- New system section 'Журнал' in sidebar with badge (suggestion count)
- Global journal screen: filters (date range, includeChildren), table, summary
- Suggestions shown on Today dashboard + Journal screen + per-node worklog tab
- Suggestion cards: editable minutes, confidence display, apply/open buttons
- i18n: all new keys in ru + en
This commit is contained in:
2026-06-03 09:56:17 +08:00
parent 57d13c9506
commit c25e75f839
14 changed files with 1030 additions and 120 deletions
+19 -9
View File
@@ -25,8 +25,8 @@
| 12 | **Files/Folders full workflow** | ✅ выполнено (copy/link/import/tree) |
| 13 | **Drag-and-drop** | ✅ выполнено (internal + external drops) |
| 14 | **MVP stabilization** | ✅ выполнено |
| 15 | **Sync Server + Client** | 🔄 в работе — HTTP API, push/pull, blob sync |
| 16 | **Activity Suggestions** | ⏳ ожидает — подсказки из activity_events |
| 15 | **Sync Server + Client** | выполнено |
| 16 | **Activity Suggestions** | 🔄 в работе — global worklog dashboard + conservative suggestions + UX |
| 17 | **File Scanner/Watcher** | ⏳ ожидает — fsnotify, snapshot scanner |
| 18 | **TUI MVP (Bubble Tea)** | ⏳ ожидает — tree/search, add worklog |
| 19 | **Plugins: Lua runtime** | ⏳ ожидает — gopher-lua, hooks, sandbox |
@@ -167,15 +167,25 @@ Core service extensions:
---
## Текущий этап: ШАГ 15Sync Server + Client
## Текущий этап: ШАГ 16Activity Suggestions
**Статус:** ✅ Сервер собран и работает. Клиент реализован. Нужна доработка и тестирование.
**Статус:** 🔄 в работе — activity-based suggestions + global worklog dashboard + conservative estimator.
Стек синхронизации:
- `cmd/verstak-server/` — HTTP API сервер (порт, API key, push/pull)
- `internal/core/sync/` — клиент синхронизации
- SQLite-based sync state (`migrations/008_sync.sql`)
- FS-first apply: изменения применяются через файловую систему, БД — индекс
Что реализовано:
- `suggest.go` — структура Suggestion (nodeId, nodeTitle, summary, suggestedMin, confidence)
- `bindings_suggest.go` — GetSuggestions с burst detection + conservative estimator (530 min)
- `bindings_suggest.go` — AcceptSuggestionWith (date/minutes overrides)
- `worklog/report.go` — ReportFilter, ListReport, Summary, ExportCSV, ExportMarkdown
- `app.go` — WorklogDTO расширен: date, details, approximate, billable, nodeTitle
- `bindings_worklog.go` — CreateWorklogFull, ListWorklogReport, WorklogSummary, Export*
- Новый системный раздел "Журнал" с таблицей, фильтрами (даты, includeChildren), сводкой
- Предложения на экране "Сегодня" + вкладке "Журнал" + вкладке "Журнал дела"
- Badge с количеством предложений в боковом меню
- Консервативный estimator:
- burst detection (группировка событий в окне 10 мин)
- time spread analysis
- 5–30 мин, 60+ только при сильном evidence
- Confidence: low/medium/high + reason
---