diff --git a/docs/04_Sync_Backup_Activity.md b/docs/04_Sync_Backup_Activity.md index 52dda15..8172409 100644 --- a/docs/04_Sync_Backup_Activity.md +++ b/docs/04_Sync_Backup_Activity.md @@ -13,14 +13,20 @@ `verstak-server` — простой Go HTTP server. -Функции: +Реализовано в коде: -- API key auth; -- device registry; +- user auth + device registry; +- device token / API key auth; - operation log; - blob storage by sha256; -- snapshots; +- push/pull operation exchange; +- blob upload/download; +- web pages for login/register/dashboard/admin. + +Ещё не реализовано: + - restore manifest; +- snapshots; - deleted item retention. Пример server storage: @@ -42,9 +48,10 @@ GET /api/v1/health POST /api/v1/device/register POST /api/v1/sync/push POST /api/v1/sync/pull -POST /api/v1/blobs/upload +POST /api/v1/blobs/ GET /api/v1/blobs/{sha256} -GET /api/v1/restore/manifest +POST /api/v1/auth/register +POST /api/v1/auth/login ``` Auth: @@ -60,8 +67,7 @@ Client push: ```json { "device_id": "device-uuid", - "ops": [], - "blobs": ["sha256..."] + "ops": [] } ``` @@ -69,8 +75,9 @@ Server response: ```json { - "accepted": true, - "missing_blobs": ["sha256..."] + "accepted": ["op-id"], + "count": 1, + "conflicts": [] } ``` @@ -78,8 +85,7 @@ Client pull: ```json { - "device_id": "device-uuid", - "since_revision": 42 + "since_sequence": 42 } ``` @@ -87,7 +93,7 @@ Response: ```json { - "server_revision": 50, + "server_sequence": 50, "ops": [] } ``` @@ -157,7 +163,7 @@ retention: Верстак не должен быть шпионской программой. Activity tracking должен быть явным и настраиваемым. -### Источники MVP +### Источники текущего MVP - opened node; - edited note; @@ -165,6 +171,8 @@ retention: - changed file through app; - launched action. +На текущем этапе события используются для conservative worklog suggestions и для глобальной/узловой ленты активности. + ### Источники later - file watcher/scanner; diff --git a/docs/05_UI_UX.md b/docs/05_UI_UX.md index 707a43e..e8be042 100644 --- a/docs/05_UI_UX.md +++ b/docs/05_UI_UX.md @@ -18,7 +18,7 @@ - import/dokuwiki/mysql-cleanup.txt Быстрые действия: -[Новое дело] [Быстрая заметка] [Добавить файл] [Импорт DokuWiki] [Sync] *(future)* +[Новое дело] [Добавить файл] [Журнал] [Sync] ``` ## 2. Общий layout @@ -34,7 +34,7 @@ │ Документы │ │ └───────────────┴────────────────────────────────────┘ -*Примечание: Quick Add и Sync Status из оригинального макета пока не реализованы — в планах на будущее.* +*Примечание: Sync Status реализован в footer сайдбара и открывает Settings → Sync. Quick Add как отдельная глобальная панель пока не реализован.* ``` ## 3. Sidebar tree @@ -167,6 +167,8 @@ Backup сайта run_script, confirm required ## 9. Активность +Текущий MVP фиксирует события внутри приложения: создание/изменение заметок, добавление/перемещение/удаление файлов и папок, создание/изменение узлов, запуск actions и добавление worklog. На основе этих событий строятся предложения для журнала работ. + ```text 14:05 opened admin.romashka.ru 14:18 opened catalog.xlsx @@ -199,10 +201,9 @@ Search results: Туда попадают: -- импортированные DokuWiki pages; -- файлы без дела; -- папки из scan work; -- конфликты sync; +- будущие импортированные DokuWiki pages без уверенного назначения; +- будущие файлы без дела из scan work; +- будущие конфликты sync; - activity suggestions без уверенного дела. Actions: diff --git a/docs/06_Roadmap.md b/docs/06_Roadmap.md index eee375d..782cfb8 100644 --- a/docs/06_Roadmap.md +++ b/docs/06_Roadmap.md @@ -6,8 +6,8 @@ - Go module; - cmd/verstak; -- cmd/verstak-gui stub; -- cmd/verstak-server stub; +- cmd/verstak-gui entrypoint; +- cmd/verstak-server entrypoint; - internal/core; - SQLite connection; - migrations; @@ -144,19 +144,27 @@ Acceptance: - можно постепенно разобрать папку `work`. -## Milestone 10 — Sync server MVP (PAUSED) +## Milestone 10 — Sync server/client MVP - HTTP server; -- API key; +- user auth + device registration; +- API key / device token flow; - server db; - push/pull ops; - blob upload/download; -- restore manifest. +- manual sync from GUI; +- sync settings in Settings. Acceptance: - две машины обмениваются изменениями через сервер. +Current gaps: + +- restore manifest/download flow is not implemented; +- conflict resolver UI is not implemented; +- retention/snapshots are not implemented. + ## Milestone 11 — Conflicts and restore - conflict copy; @@ -170,7 +178,7 @@ Acceptance: - конфликт не теряет данные; - можно восстановить vault на новой машине. -## Milestone 12 — Activity MVP (PAUSED) +## Milestone 12 — Activity MVP - activity events; - opened nodes; @@ -183,6 +191,11 @@ Acceptance: - Верстак предлагает worklog на основе следов. +Current gaps: + +- file watcher/scanner events are not implemented; +- browser/active-window tracking is not implemented. + ## Milestone 13 — File scanner/watcher (PAUSED) - snapshot scanner; diff --git a/docs/07_AI_Coder_Prompts.md b/docs/07_AI_Coder_Prompts.md index ea3e176..ed2ccc3 100644 --- a/docs/07_AI_Coder_Prompts.md +++ b/docs/07_AI_Coder_Prompts.md @@ -216,7 +216,7 @@ Acceptance: - GET /health; - POST /sync/push; - POST /sync/pull; -- POST /blobs/upload; +- POST /api/v1/blobs/; - GET /blobs/{sha256}; - blob storage by sha256. ``` diff --git a/docs/08_MVP_Checklist.md b/docs/08_MVP_Checklist.md index 1746f76..68c4f9e 100644 --- a/docs/08_MVP_Checklist.md +++ b/docs/08_MVP_Checklist.md @@ -21,19 +21,25 @@ - [x] Поиск по именам файлов. - [x] Поиск по журналу работ. - [x] Базовый импорт DokuWiki (плагин). +- [x] Базовая ручная синхронизация через сервер. +- [x] Базовые activity events и предложения для журнала работ. +- [x] Настройки vault/sync/templates/plugins. ## Необязательные, но желательные - [ ] Неразобранное. - [ ] Скан папки work. - [ ] Внешние linked files. -- [ ] Action log. -- [ ] Activity events MVP. +- [x] Action log. +- [x] Activity events MVP. +- [ ] Conflict resolver UI. +- [ ] Restore from sync server. +- [ ] Backup export / retention snapshots. - [ ] TUI MVP. ## Не входит в первый MVP -- [ ] Полная синхронизация. +- [ ] Полная синхронизация с restore/conflict UI/retention. - [ ] Активные окна. - [ ] Browser tracking. - [ ] Encrypted secret notes. diff --git a/docs/PLAN.md b/docs/PLAN.md index ca0e825..55b4f5c 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -26,7 +26,7 @@ | 13 | **Drag-and-drop** | ✅ выполнено (internal + external drops) | | 14 | **MVP stabilization** | ✅ выполнено | | 15 | **Sync Server + Client** | ✅ выполнено | -| 16 | **Activity Suggestions** | 🔄 в работе — global worklog dashboard + conservative suggestions + UX | +| 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,9 +167,9 @@ Core service extensions: --- -## Текущий этап: ШАГ 16 — Activity Suggestions +## Завершённый базовый этап: ШАГ 16 — Activity Suggestions -**Статус:** 🔄 в работе — activity-based suggestions + global worklog dashboard + conservative estimator. +**Статус:** ✅ базово выполнено — activity-based suggestions + global worklog dashboard + conservative estimator. Что реализовано: - `suggest.go` — структура Suggestion (nodeId, nodeTitle, summary, suggestedMin, confidence) @@ -189,12 +189,7 @@ Core service extensions: --- -## Ожидающие шаги (16-23) - -### ШАГ 16 — Activity Suggestions -Подсказки для журнала работ на основе activity_events: -- анализировать события за день -- предлагать записи в worklog +## Ожидающие шаги (17-23) ### ШАГ 17 — File Scanner/Watcher - fsnotify watcher на vault @@ -231,8 +226,6 @@ Core service extensions: verstak/ go.mod README.md - PLAN.md - build.sh # Полная сборка (GUI + сервер) AGENTS.md # Инструкции для AI-ассистента cmd/ @@ -275,8 +268,9 @@ verstak/ sync/ config/ templates/ - plugins/ # manager, lua (stub), builtin templates - i18n/ # Go-локали (ru, en) + plugins/ # manager, lua (stub) + + i18n/ # Go-локали (ru, en) contrib/ plugins/ @@ -292,6 +286,7 @@ verstak/ 007_search.sql 008_sync.sql 009_section.sql + ... docs/ 00_README.md