Align docs with standalone v2 direction

This commit is contained in:
mirivlad 2026-06-27 12:52:09 +08:00
parent 97989fb282
commit 4eeb1defda
6 changed files with 24 additions and 22 deletions

View File

@ -15,7 +15,7 @@
- [03_Repositories.md](03_Repositories.md) - разбиение на репозитории и назначение каждого. - [03_Repositories.md](03_Repositories.md) - разбиение на репозитории и назначение каждого.
- [04_Plugin_System.md](04_Plugin_System.md) - динамические плагины, manifest, lifecycle, capabilities, settings, permissions. - [04_Plugin_System.md](04_Plugin_System.md) - динамические плагины, manifest, lifecycle, capabilities, settings, permissions.
- [05_Official_Plugins.md](05_Official_Plugins.md) - состав официальных плагинов и их зависимости через capabilities. - [05_Official_Plugins.md](05_Official_Plugins.md) - состав официальных плагинов и их зависимости через capabilities.
- [06_Migration_Strategy.md](06_Migration_Strategy.md) - как переходить от текущего приложения к платформе без потери смысла. - [06_Migration_Strategy.md](06_Migration_Strategy.md) - как развивать Verstak v2 как отдельную платформу без временных мостов к первой версии.
- [AGENTS.md](AGENTS.md) - инструкция для coding agents, чтобы они не возвращали проект к монолиту. - [AGENTS.md](AGENTS.md) - инструкция для coding agents, чтобы они не возвращали проект к монолиту.
## Главный архитектурный инвариант ## Главный архитектурный инвариант
@ -33,4 +33,3 @@ Core не знает о конкретных функциях вроде "зам
- UI shell. - UI shell.
Все рабочие инструменты поставляются плагинами. Даже официальные плагины должны жить по тем же правилам, что и будущие сторонние. Все рабочие инструменты поставляются плагинами. Даже официальные плагины должны жить по тем же правилам, что и будущие сторонние.

View File

@ -103,7 +103,7 @@ VerstakVault/
Clients/ Clients/
Romashka/ Romashka/
Notes/ Notes/
Overview.md project-plan.md
Files/ Files/
Screenshots/ Screenshots/
Projects/ Projects/
@ -274,4 +274,3 @@ Sync не должен знать о внутренних UI-плагинах.
- plugin data через зарегистрированные storage namespaces. - plugin data через зарегистрированные storage namespaces.
Плагины должны явно указывать, какие данные можно синхронизировать, а какие локальны только на устройстве. Плагины должны явно указывать, какие данные можно синхронизировать, а какие локальны только на устройстве.

View File

@ -35,15 +35,18 @@ search.provider
- если есть подходящий editor capability, показывает "Edit"; - если есть подходящий editor capability, показывает "Edit";
- если есть viewer/preview capability, показывает "Preview"; - если есть viewer/preview capability, показывает "Preview";
- если нет, оставляет "Open externally". - если подходящего provider/capability нет, показывает понятное no-provider
состояние; открытие внешним приложением остается отдельной отложенной
возможностью.
## 2. `official.notes` ## 2. `official.notes`
Назначение: Назначение:
- markdown notes as first-class Verstak entities; - markdown notes as a UI-level context over ordinary Markdown files;
- canonical `Notes/` folder inside case/project; - canonical `Notes/` folder inside case/project;
- Overview note; - `Overview.md` is allowed only as an ordinary Markdown filename, not as a
special UI entity;
- note metadata; - note metadata;
- note links. - note links.
@ -51,7 +54,6 @@ Provides:
```text ```text
workspace.notes workspace.notes
entity.note
note.registry note.registry
``` ```
@ -300,4 +302,3 @@ workspace.files
- `official.browser-inbox`; - `official.browser-inbox`;
Но все они должны быть настоящими динамическими плагинами, даже если поставляются вместе с приложением. Но все они должны быть настоящими динамическими плагинами, даже если поставляются вместе с приложением.

View File

@ -1,8 +1,10 @@
# Migration Strategy # Platform Development Strategy
## 1. Цель миграции ## 1. Цель
Нужно перейти от текущего приложения к платформе, не потеряв исходный смысл Верстака: Verstak v2 разрабатывается как отдельное приложение и платформа. Цель -
собрать рабочий local-first vault вокруг дел без временных мостов к первой
версии:
- local-first vault; - local-first vault;
- дела как центр контекста; - дела как центр контекста;
@ -10,7 +12,8 @@
- заметки, файлы, журнал, активность, браузерные материалы вокруг дела; - заметки, файлы, журнал, активность, браузерные материалы вокруг дела;
- синхронизация и расширение как отдельные части, а не ядро смысла. - синхронизация и расширение как отдельные части, а не ядро смысла.
Миграция не должна быть "просто разнести App.svelte". Это смена архитектурной модели. Это не миграция v1 -> v2 и не перенос старого монолита частями. Это развитие
самостоятельной платформенной модели.
## 2. Нельзя делать ## 2. Нельзя делать
@ -18,7 +21,8 @@
- Нельзя делать official plugins скрытыми compile-time modules. - Нельзя делать official plugins скрытыми compile-time modules.
- Нельзя связывать плагины по именам, если нужна capability. - Нельзя связывать плагины по именам, если нужна capability.
- Нельзя делать notes/files/editor обязательными частями core. - Нельзя делать notes/files/editor обязательными частями core.
- Нельзя ломать существующий vault layout без миграционного плана. - Нельзя добавлять временные compatibility bridges к первой версии.
- Нельзя менять v2 vault layout без явного плана изменения формата.
- Нельзя хранить секреты как обычные заметки или plain text. - Нельзя хранить секреты как обычные заметки или plain text.
- Нельзя молча менять title/filename note при конфликте. - Нельзя молча менять title/filename note при конфликте.
@ -79,9 +83,9 @@
- падение sidecar переводит плагин в failed; - падение sidecar переводит плагин в failed;
- disable останавливает sidecar. - disable останавливает sidecar.
## 6. Этап 4 - Official Plugin Extraction ## 6. Этап 4 - Official Plugin Development
Выносить функции по одной: Развивать official plugins по одному, через общий plugin runtime:
1. `official.markdown-preview`; 1. `official.markdown-preview`;
2. `official.markdown-editor`; 2. `official.markdown-editor`;
@ -97,7 +101,8 @@
- проверить Plugin Manager; - проверить Plugin Manager;
- проверить enable/disable; - проверить enable/disable;
- проверить degraded mode при отключении optional plugin; - проверить degraded mode при отключении optional plugin;
- проверить, что старые данные vault открываются; - проверить, что v2 vault остается читаемым и не получает скрытых
plugin-specific truth-слоев для пользовательских документов;
- проверить, что UI contributions исчезают при disable. - проверить, что UI contributions исчезают при disable.
## 7. Этап 5 - Repository Split ## 7. Этап 5 - Repository Split
@ -123,6 +128,5 @@
- плагин может иметь свое settings окно; - плагин может иметь свое settings окно;
- capability registry управляет видимостью actions; - capability registry управляет видимостью actions;
- отсутствие optional capability не считается ошибкой; - отсутствие optional capability не считается ошибкой;
- existing vault открывается без миграционной потери данных; - v2 vault layout остается стабильным и читаемым без compatibility bridges к v1;
- документация соответствует реализации. - документация соответствует реализации.

View File

@ -79,7 +79,7 @@ Plugin Manager UI - обязательный core-модуль.
Для notes: Для notes:
- canonical folder: `Notes/`; - canonical folder: `Notes/`;
- Overview note: `Notes/Overview.md`; - `Overview.md` is an ordinary Markdown filename when present, not a special UI entity;
- title и filename должны быть синхронизированы; - title и filename должны быть синхронизированы;
- filename строится из title как человекочитаемая безопасная проекция; - filename строится из title как человекочитаемая безопасная проекция;
- при конфликте имени операция не должна молча добавлять `_2`; нужен conflict dialog/suggestion. - при конфликте имени операция не должна молча добавлять `_2`; нужен conflict dialog/suggestion.
@ -118,4 +118,3 @@ Plugin Manager UI - обязательный core-модуль.
- это contribution point? - это contribution point?
Если функция относится к заметкам, файлам, редакторам, просмотру, activity, journal, browser inbox, search, secrets, import/export - по умолчанию это плагин, а не core. Если функция относится к заметкам, файлам, редакторам, просмотру, activity, journal, browser inbox, search, secrets, import/export - по умолчанию это плагин, а не core.

View File

@ -9,7 +9,7 @@
- [Repositories](03_Repositories.md) — разбиение на репозитории - [Repositories](03_Repositories.md) — разбиение на репозитории
- [Plugin System](04_Plugin_System.md) — динамические плагины - [Plugin System](04_Plugin_System.md) — динамические плагины
- [Official Plugins](05_Official_Plugins.md) — состав официальных плагинов - [Official Plugins](05_Official_Plugins.md) — состав официальных плагинов
- [Migration Strategy](06_Migration_Strategy.md) — план перехода - [Platform Development Strategy](06_Migration_Strategy.md) — план развития v2
## Схемы SDK ## Схемы SDK