docs: update roadmap status from current code
This commit is contained in:
parent
bb0bb608e3
commit
3a20e1b093
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
```
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
21
docs/PLAN.md
21
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
|
||||
|
|
|
|||
Loading…
Reference in New Issue