docs: update roadmap status from current code

This commit is contained in:
mirivlad 2026-06-04 03:47:31 +08:00
parent bb0bb608e3
commit 3a20e1b093
6 changed files with 66 additions and 43 deletions

View File

@ -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;

View File

@ -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:

View File

@ -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;

View File

@ -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.
```

View File

@ -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.

View File

@ -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