Meridian Office — план разработки по фазам (roadmap)
Версия 0.1 · подчинён
00-foundation.md(разделы 7 «Фазы» и 9 «Лицензирование») · язык — русский; идентификаторы, имена модулей, крейтов и сервисов — английский. Календарь: старт проекта — понедельник 2027-01-11 (условная дата, все сроки отсчитаны от неё и записаны явно). Проектный месяцM<n>=2027-01-11 + n месяцев(M03 = 2027-04-11, M12 = 2028-01-11, M48 = 2031-01-11). ИнкрементI<nn>= 6 календарных недель, нумерация сквозная от старта (I01 = 2027-01-11…2027-02-19, I35 = 2030-12-09…2031-01-17). Релизы выходят по вторникам; вехи закрываются по пятницам.
Содержание
- Резюме плана
- Команда
- Фазы 0–7 (цели, эпики, вехи, результаты, критерии выхода, зависимости, риски, команда)
- Дорожка «Лицензирование, аккаунты, биллинг»
- Дорожка «Качество и форматы»
- Платформы и дистрибуция
- Локализация и документация
- Маркетинг и запуск
- Сводная диаграмма Ганта
- KPI продукта по релизам
- Риски проекта (топ-20)
- Открытые вопросы к владельцу
- Вопросы к библии (предлагаемые уточнения)
1. Резюме плана
1.1 Фазы и ключевые релизы
Сроки фаз — из раздела 7 библии, без изменений. Релиз каждой фазы
выходит внутри фазы; остаток фазы после релиза (3–4
недели) — патч-релиз x.y.1, ретроспектива, передача в
сопровождение, gate review.
| Фаза | Название | Срок (мес. от старта) | Календарные границы | Рабочий старт (пн) | Релиз | Дата GA (вт) |
|---|---|---|---|---|---|---|
| 0 | Основание | 0–3 | 2027-01-11 – 2027-04-11 | 2027-01-11 | внутренний прототип 0.1 | — (gate 2027-04-09) |
| 1 | Ядро и Write | 3–12 | 2027-04-11 – 2028-01-11 | 2027-04-12 | 1.0 «Write» | 2027-12-14 |
| 2 | Sheets | 6–16 | 2027-07-11 – 2028-05-11 | 2027-07-12 | 1.5 «Sheets» | 2028-04-18 |
| 3 | Slides и Draw | 12–22 | 2028-01-11 – 2028-11-11 | 2028-01-10 | 2.0 «Slides+Draw» | 2028-10-17 |
| 4 | Paint, PDF, Math | 16–26 | 2028-05-11 – 2029-03-11 | 2028-05-15 | 2.5 «Paint+PDF+Math» | 2029-02-13 |
| 5 | Notes, Mail, Base, Forms | 22–34 | 2028-11-11 – 2029-11-11 | 2028-11-13 | 3.0 «Notes/Mail/Base/Forms» | 2029-10-16 |
| 6 | Совместная работа и облако | 28–40 | 2029-05-11 – 2030-05-11 | 2029-05-14 | 3.5 «Cloud и совместная работа» | 2030-04-16 |
| 7 | Экосистема | 36–48 | 2030-01-11 – 2031-01-11 | 2030-01-14 | 4.0 «Экосистема» | 2030-12-10 |
Общая длительность — 48 месяцев (2027-01-11 – 2031-01-11), 7 крупных релизов, 35 инкрементов по 6 недель. Перекрытия: фаза 2 стартует в середине фазы 1; фазы 3–4, 4–5, 5–6, 6–7 перекрываются на 6–10 месяцев; в пике (M24–M34) параллельно идут три фазы.
Промежуточные функциональные релизы (P1-функции предыдущих приложений, выходят между крупными):
| Версия | Дата (вт) | Содержание |
|---|---|---|
| 1.1 | 2028-02-15 | Write P1 (первая волна), Mac App Store, Snap, языки волны 2 |
| 1.6 | 2028-07-11 | Sheets P1 (LET/LAMBDA, спарклайны), Write P1 (вторая волна), Script API 1.0 |
| 2.1 | 2028-12-12 | Slides/Draw P1 (видеоэкспорт, dxf), VBA-транслятор v1 |
| 2.6 | 2029-05-15 | Paint/PDF P1 (пакетная обработка, OCR-подключение), языки волны 3 |
| 2.7 | 2029-07-17 | Math P1, Chart P1 (новые типы), производительность больших документов |
| 3.1 | 2030-01-22 | Mail P1 (Exchange EWS, S/MIME, PGP), Base P1, Notes P1 (веб-клиппер) |
| 3.6 | 2030-07-16 | Cloud P1 (комментарии-задачи, уведомления), Education-консоль |
| 3.7 | 2030-09-17 | Enterprise P1 (HA license server, отчёты аудита), LTS-канал |
1.2 Схема версий и каналы
- Номер версии:
MAJOR.MINOR.PATCH(2.0.3); идентификатор сборкиMAJOR.MINOR.PATCH+YYYYMMDD.N(2.0.3+20281114.2). Маркетинговые релизы занимаютMINOR ∈ {0, 5}; промежуточные — остальныеMINOR;PATCH— исправления без новых функций. - Версия схемы форматов MOP (
manifest.xml/@version) живёт отдельно:1.0с релиза 1.0,1.1с 1.5 (Sheets),1.2с 2.0 (Slides/Draw),1.3с 2.5,1.4с 3.0,2.0— только при несовместимых изменениях (не планируется до 4.0). Старшие версии приложения читают все младшие схемы; младшие версии читают старшие с предупреждением и сохраняют неизвестные элементы (round-trip extension elements). - Каналы обновлений (модуль Meridian Update +
update-service):
| Канал | Из какой ветки | Частота | Подпись | Кому |
|---|---|---|---|---|
nightly |
main |
каждую ночь 02:00 UTC при зелёном CI | полная (EV/Developer ID), пометка «nightly» в заголовке | команда, инсайдеры уровня 3 |
beta |
release/x.y с момента feature freeze |
каждые 2 недели (вт), за 6–8 недель до GA | полная | бета-программа, все желающие |
stable |
release/x.y после GA |
GA + патчи каждые 2–4 недели | полная | все; редакции получают одинаковые сборки, разница — в лицензии |
lts (с 3.7) |
release/x.0 |
только исправления безопасности и критических ошибок 24 мес. | полная | Enterprise, Education |
- Поддержка версий: stable — до выхода следующего крупного релиза + 3 месяца патчей; LTS — 24 месяца.
- Хотфикс-процедура: ветка
hotfix/x.y.z, сборка → beta-канал 48 ч → stable; откат через Meridian Update (хранится предыдущая версия на диске).
1.3 Длительность, численность, бюджет
| Показатель | Значение |
|---|---|
| Длительность | 48 месяцев, 8 фаз, 35 инкрементов |
| Численность на старте (фаза 0) | 16 человек (с внешними юристами — 18) |
| Пиковая численность | 73 FTE (M30–M36, параллельно фазы 5, 6, 7) |
| Средняя численность | 55 FTE |
| Трудоёмкость, базовый сценарий | 2 660 человеко-месяцев (расчёт в 2.2) |
| Трудоёмкость, диапазон | оптимистичный 2 400 · базовый 2 660 · пессимистичный 3 300 (риски разделов 11 и 3.x) |
| ФОТ, рынок РФ (ориентир) | 10,6 млн USD базовый · диапазон 9,5–13 млн USD |
| ФОТ, международный рынок (ориентир) | 29,1 млн USD базовый · диапазон 26–36 млн USD |
| Накладные (CI, облако, лицензии инструментов, юр., найм, оборудование) | +20–25 % к ФОТ: РФ ≈ 2,3–2,7 млн USD; междунар. ≈ 6–7 млн USD |
| Полный бюджет разработки (ориентир) | РФ: 12–16 млн USD · международный: 32–44 млн USD |
Ставки (USD/мес, ориентир, полная стоимость для компании: оклад + взносы + рабочее место; курс и рынок на дату расчёта условны, пересчитывать ежеквартально):
| Роль | Чел.-мес. (базовый) | Ставка РФ | Стоимость РФ | Ставка междунар. | Стоимость междунар. |
|---|---|---|---|---|---|
| Архитектор ядра | 48 | 8 000 | 384 000 | 20 000 | 960 000 |
| Инженеры Rust-ядра | 498 | 5 000 | 2 490 000 | 14 000 | 6 972 000 |
| Инженеры Qt-оболочки | 408 | 4 500 | 1 836 000 | 12 000 | 4 896 000 |
| Инженеры кодеков/форматов | 252 | 5 000 | 1 260 000 | 13 000 | 3 276 000 |
| Дизайнеры (продуктовый, визуальный, иконки) | 162 | 3 200 | 518 400 | 9 000 | 1 458 000 |
| UX-исследователь | 45 | 3 000 | 135 000 | 9 000 | 405 000 |
| Технические писатели | 105 | 2 200 | 231 000 | 7 000 | 735 000 |
| QA ручное | 168 | 1 800 | 302 400 | 5 500 | 924 000 |
| QA автоматизация | 144 | 3 200 | 460 800 | 9 000 | 1 296 000 |
| QA корпус форматов | 84 | 2 500 | 210 000 | 7 000 | 588 000 |
| DevOps / релиз-инженеры | 114 | 4 500 | 513 000 | 12 000 | 1 368 000 |
| Бэкенд (ID / лицензии / биллинг / облако) | 180 | 4 500 | 810 000 | 12 000 | 2 160 000 |
| Безопасность | 69 | 5 500 | 379 500 | 14 000 | 966 000 |
| Локализация | 72 | 2 000 | 144 000 | 5 500 | 396 000 |
| Продакт-менеджеры | 150 | 4 500 | 675 000 | 13 000 | 1 950 000 |
| Поддержка | 162 | 1 500 | 243 000 | 4 500 | 729 000 |
| Итого | 2 661 | ср. 3 980 | 10 592 100 | ср. 10 930 | 29 079 000 |
Накладные расходы, не входящие в ФОТ (ориентиры, USD):
| Статья | Оценка | Когда |
|---|---|---|
| CI: 4 Mac mini (M-серия) + 4 Windows/Linux-раннера + GPU-раннер для снимочных тестов, облачные раннеры в пике | 60–90 тыс./год | с фазы 0 |
| Сертификаты: EV code signing (Windows), Apple Developer Program, Microsoft Partner Center | 1–1,5 тыс./год | фаза 1 |
| Qt: коммерческая лицензия (если выбрана, см. 12) 12–15 мест | 60–75 тыс./год | с фазы 1 |
| Инструменты: Figma, JetBrains, Squish (3 места), Weblate (self-hosted), Sentry (self-hosted) | 25–40 тыс./год | с фазы 0 |
| Облако сервисов (id/license/billing/portal/update, staging + prod, РФ и ЕС регионы) | 3–8 тыс./мес (растёт до 15–25 тыс./мес с Cloud в фазе 6) | с фазы 1 |
| Ферма эталонных рендеров: Windows VM × 6 с Microsoft 365, LibreOffice, Apple-машина с iWork | 8–12 тыс./год | с фазы 0 |
| Юридическое: товарный знак (РФ + Мадридская система 10 стран), оферты, 152-ФЗ/GDPR, патентный анализ OSP | 40–70 тыс. единовременно + 15 тыс./год | фазы 0–1 |
| HSM/YubiKey для подписи лицензий и релизов, резервные ключи | 3–5 тыс. | фаза 0 |
| Баг-баунти | 50–100 тыс./год | с фазы 3 |
| Найм (рекрутеры, реферальные бонусы) | 10–15 % годового оклада нанятых | фазы 0–3 |
1.4 Календарные соглашения
- Инкремент 6 недель: 5 недель разработки + 1 неделя стабилизации/демо/планирования. Демо инкремента — пятница последней недели, на нём закрываются вехи.
- Gate review в конце фазы: владелец, архитектор ядра, руководитель продукта, руководитель QA; решение go / go-с-условиями / no-go по критериям выхода (раздел 3). Условия go-с-условиями закрываются в первом инкременте следующей фазы.
- Feature freeze за 8 недель до GA, code freeze (только исправления P0/P1-дефектов) за 3 недели, RC — за 2 и 1 неделю.
- Праздники РФ (1–10 января, 1–3 и 9 мая, 12 июня, 4 ноября) учтены: ни один релиз и ни одна веха не попадают на эти даты.
2. Команда
2.1 Роли
| Роль | Зона ответственности | Ключевой результат |
|---|---|---|
| Архитектор ядра (1) | модели документов, FFI, границы модулей, ADR, ревью крейтов ядра | стабильный публичный API ядра к концу фазы 1 |
| Инженеры Rust-ядра | text-model, text-layout,
grid-model, calc-engine, scene,
raster, chart, math,
undo/crdt, styles, fields,
search, Render (Skia), шрифты/шейпинг, Print |
ядро с покрытием ≥ 80 %, бенчмарки без регрессий |
| Инженеры Qt-оболочки (C++/QML) | Meridian Shell, окна приложений, ribbon, панели, диалоги, тема MDS, a11y, IME, cxx-qt мост, нативные интеграции | UI одинаков на трёх ОС, WCAG 2.1 AA |
| Инженеры кодеков/форматов | Meridian Codecs: OOXML, ODF, бинарные MS, RTF, PDF, HTML/MD, изображения, SVG, VSDX, PST/EML, ACCDB, iWork | метрики точности по корпусу |
| Дизайнеры: продуктовый (2–3), визуальный (1), иконки (1) | MDS в Figma, экраны всех приложений, Meridian Glyphs (≈ 900 иконок к 4.0), шаблоны документов, бренд | макеты опережают разработку на 1 инкремент |
| UX-исследователь (1) | интервью, юзабилити-тесты (каждый инкремент 5–8 сессий), анализ телеметрии и бета-отзывов | отчёт по каждому инкременту |
| Технические писатели (до 3) | справка встроенная/онлайн, гайды миграции, документация API MeridianScript, release notes | справка готова к GA каждого релиза |
| QA ручное | тест-планы, регрессия по чек-листам P0, эксплораторное, a11y-проверки | 0 открытых P0 на GA |
| QA автоматизация | Qt Test + Squish UI-сценарии, cargo test/criterion в CI, снимочные тесты | ≥ 70 % P0-функций покрыты автотестами |
| QA корпус форматов | сбор/разметка корпуса, эталонные рендеры, метрики точности, триаж расхождений | корпус 1 000 → 10 000 → 50 000 файлов |
| DevOps / релиз-инженеры | CI/CD, сборки на трёх ОС, подпись, нотаризация, магазины, update-service, инфраструктура сервисов | релиз за 1 рабочий день от тега |
| Бэкенд | id-service, license-service,
billing-service, portal,
update-service, cloud-service,
telemetry-service |
SLA 99,9 % с релиза 1.0 |
| Безопасность | threat model, фаззинг, песочница парсеров и скриптов, пентесты, SBOM, реагирование на уязвимости, баг-баунти | 0 критических уязвимостей на GA |
| Локализация | процесс (Weblate), глоссарий, 2 → 40 языков, псевдолокализация, RTL | 100 % строк на языках волны к GA |
| Продакт-менеджеры | спецификации docs/apps/*.md, приоритеты P0/P1/P2,
бэклог, метрики, бета-программа |
критерии готовности каждого релиза |
| Поддержка | 1-я и 2-я линия, база знаний, обратная связь в бэклог, Enterprise-сопровождение | SLA ответа: Free 72 ч, Pro 24 ч, Business 8 ч, Enterprise 4 ч |
2.2 Численность по периодам и фазам
Полугодия от старта: H1 = M00–M06 (2027-01-11 – 2027-07-10), H2 = M06–M12, H3 = M12–M18, H4 = M18–M24, H5 = M24–M30, H6 = M30–M36, H7 = M36–M42, H8 = M42–M48 (– 2031-01-11). Числа — средний FTE за полугодие.
| Роль | H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8 | Чел.-мес. |
|---|---|---|---|---|---|---|---|---|---|
| Архитектор ядра | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 48 |
| Инженеры Rust-ядра | 5 | 8 | 10 | 12 | 13 | 13 | 12 | 10 | 498 |
| Инженеры Qt-оболочки | 3 | 6 | 8 | 10 | 11 | 11 | 10 | 9 | 408 |
| Инженеры кодеков | 2 | 4 | 5 | 6 | 7 | 7 | 6 | 5 | 252 |
| Дизайнеры | 2 | 3 | 3 | 4 | 4 | 4 | 4 | 3 | 162 |
| UX-исследователь | 0,5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 45 |
| Технические писатели | 0,5 | 1 | 2 | 2 | 3 | 3 | 3 | 3 | 105 |
| QA ручное | 0 | 2 | 3 | 4 | 5 | 5 | 5 | 4 | 168 |
| QA автоматизация | 1 | 2 | 3 | 3 | 4 | 4 | 4 | 3 | 144 |
| QA корпус | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 84 |
| DevOps / релиз | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 114 |
| Бэкенд | 1 | 3 | 3 | 3 | 5 | 6 | 5 | 4 | 180 |
| Безопасность | 0,5 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 69 |
| Локализация | 0 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 72 |
| Продакт-менеджеры | 1 | 2 | 3 | 3 | 4 | 4 | 4 | 4 | 150 |
| Поддержка | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 6 | 162 |
| Итого FTE | 19,5 | 39 | 50 | 59 | 71 | 73 | 70 | 62 | 2 661 |
Численность по фазам (кто занят именно работами фазы; суммы по календарю больше из-за перекрытий):
| Фаза | Пик FTE на работах фазы | Основные подкоманды |
|---|---|---|
| 0 Основание | 16 (+2 внешних юриста) | Ядро, Дизайн, Платформа, Сервисы (каркас) |
| 1 Ядро и Write | 32 | Ядро, Write, Платформа, Сервисы, Дизайн |
| 2 Sheets | 18 | Sheets, Ядро (grid/calc/chart), Дизайн |
| 3 Slides и Draw | 22 | Графика, Ядро (scene), Дизайн |
| 4 Paint, PDF, Math | 20 | Графика (raster/pdf/math), Ядро, Дизайн |
| 5 Notes, Mail, Base, Forms | 26 | PIM/данные, Сервисы (почтовые протоколы), Дизайн |
| 6 Облако и совместная работа | 24 | Сервисы и лицензирование, Ядро (crdt), Платформа, Безопасность |
| 7 Экосистема | 28 | Платформа (магазин, Script), Графика (Publisher), PIM (Plan), Сервисы (Assist, marketplace) |
2.3 План найма
| Период | Нанять | Кого | Срок выхода | Источник |
|---|---|---|---|---|
| до старта (2026-11 – 2027-01) | 16 | архитектор, 4 Rust, 2 Qt, 2 кодека, 2 дизайнера, DevOps, бэкенд, QA корпус, PM, 0,5 UX + 0,5 техписатель | 2027-01-11 | личная сеть владельца, Rust/Qt-сообщества, выходцы из офисных проектов (без переноса чужого кода — NDA-проверка) |
| фаза 0 (I01–I02) | +8 | 3 Rust (layout, fonts, styles), 2 Qt, 1 кодек (ODF/RTF), 1 QA авто, 1 безопасность (0,5 → 1) | к 2027-04-12 | тестовое задание: парсер одного элемента OOXML с тестами; 2 технических интервью + ревью кода |
| фаза 1, волна Sheets (I04–I05) | +12 | 4 Rust (grid/calc/chart), 2 Qt, 2 кодека (xlsx/xls/ods), 2 QA, 1 PM, 1 локализация | к 2027-07-12 | то же; для calc-engine — задача на вычисление графа зависимостей |
| фаза 1, волна релиза (I06–I08) | +6 | 2 бэкенд (биллинг, портал), 1 DevOps, 1 поддержка, 1 техписатель, 1 QA ручное | к 2027-11-01 | |
| фаза 3 старт (I09–I10) | +10 | 3 Rust (scene/animation), 3 Qt, 2 кодека (pptx/vsdx), 1 дизайнер, 1 QA | к 2028-01-10 | |
| фаза 4 старт (I12–I13) | +8 | 2 Rust (raster/pdf/math), 2 Qt, 1 кодек (pdf/psd), 1 QA, 1 безопасность, 1 поддержка | к 2028-05-15 | |
| фаза 5 старт (I16–I17) | +10 | 2 Rust, 3 Qt, 1 кодек (pst/accdb), 2 бэкенд (почта, Forms-сбор), 1 QA, 1 PM | к 2028-11-13 | |
| фаза 6 старт (I21–I22) | +6 | 3 бэкенд (cloud, SSO/SCIM), 1 Rust (crdt), 1 DevOps (on-prem/Helm), 1 поддержка Enterprise | к 2029-05-14 | |
| фаза 7 старт (I27) | +4 | 1 ML-инженер (Assist), 1 Rust (WASM/Script), 1 Qt (Publisher), 1 PM (магазин) | к 2030-01-14 | |
| сокращение (H8) | −8…−12 | завершение контрактов по Paint/Draw-P1, часть QA ручного переводится в поддержку | 2030-07 – 2030-12 |
Правила найма: senior-вакансия — 10–12 недель от открытия до выхода, middle — 6–8; онбординг 4 недели по плану («buddy», первая задача — исправление бага из корпуса); не более 25 % новичков в подкоманде одновременно.
2.4 Подкоманды
| Подкоманда | Состав (пик) | Модули/приложения | Активна |
|---|---|---|---|
| Ядро (Kernel) | архитектор, 6–8 Rust | text-model, text-layout,
styles, fields, search,
undo/crdt, Render, шрифты/шейпинг, Print, FFI
cxx-qt,
meridian-license/meridian-id (клиентские
крейты) |
фазы 0–7 |
| Write | 3–4 Qt, 2 Rust, 2–3 кодека, 1 дизайнер, 2 QA, 1 PM | Hub, Write, Lingo, кодеки docx/doc/odt/rtf/html/md/epub/fb2, PDF-экспорт | фазы 1–2, далее сопровождение (2 чел.) |
| Sheets | 4 Rust, 3 Qt, 2 кодека, 2 QA, 1 PM | grid-model, calc-engine, Meridian Chart,
Sheets, кодеки xlsx/xls/xlsb/ods/csv/numbers |
фазы 2–3, далее 3 чел. |
| Графика | 4–5 Rust, 4 Qt, 2–3 кодека, 1 дизайнер, 3 QA, 1 PM | scene, raster, math, Slides,
Draw, Paint, PDF, Math, кодеки pptx/ppt/odp/svg/vsdx/psd/pdf; в фазе 7 —
Publisher |
фазы 3–4, 7 |
| PIM/данные | 3 Rust, 4 Qt, 2 кодека, 2 бэкенд, 2 QA, 1 PM | Notes, Mail, Base, Forms, SQLite-хранилища, почтовые протоколы, кодеки pst/msg/enex/one/accdb; в фазе 7 — Plan | фазы 5, 7 |
| Платформа и релизы | 3 Qt, 1 Rust, 2–3 DevOps, 2 QA авто, 1 безопасность | Meridian Shell (общая оболочка, темы, a11y, IME), Meridian Update, Meridian Script, инсталляторы, CI, магазины, песочницы процессов | фазы 0–7 |
| Сервисы и лицензирование | 3–6 бэкенд, 1 Rust, 1 безопасность, 1 QA, 1 PM | id-service, license-service,
billing-service, portal,
update-service, telemetry-service,
cloud-service, Meridian Sync (с Ядром), консоль
администратора, on-prem |
фазы 0–7 |
| Дизайн | 3–4 дизайнера, 1 UX-исследователь | MDS (Figma + QML-стиль), Meridian Glyphs, макеты
mockups/*.html, шаблоны документов, исследования |
фазы 0–7 |
| Горизонтали | QA-гильдия (ручное + корпус), Документация и локализация (3 писателя + 2 локализатора), Поддержка | — | фазы 1–7 |
Каждая подкоманда владеет своими крейтами в
kernel/crates/, папками в shell/src/,
codecs/ и services/ (файл
CODEOWNERS); кросс-командные изменения ядра проходят ревью
архитектора.
3. Фазы
Общие правила для каждой фазы: эпики нумеруются
E<фаза>.<n>, вехи —
M<фаза>.<n>; каждая веха имеет дату-пятницу
(релизы — вторник), ответственного и проверяемый результат; критерии
выхода измеряются инструментами corpus-tool,
bench (criterion), телеметрией беты и чек-листами P0 из
docs/apps/*.md.
Референсные машины для порогов производительности: R1 Windows 11, Core i5-12400, 16 ГБ, NVMe; R2 macOS 14, MacBook Air M2, 16 ГБ; R3 Ubuntu 24.04 Wayland, Ryzen 5 5600, 16 ГБ; Rmin (минимальная конфигурация) Windows 10, Core i3-8100, 8 ГБ, SATA SSD — пороги для Rmin ×2.
3.0 Фаза 0 «Основание» — 2027-01-11 – 2027-04-11 (13 недель, I01–I02 + неделя gate)
Цели
- Доказать стек: Rust-ядро + Skia + Qt 6.8 LTS на трёх ОС дают 60 FPS и задержку ввода ≤ 16 мс.
- Прототип текстового ядра, который открывает реальные
.docxи рендерит страницу с измеримой точностью. - Дизайн-система MDS в Figma и в QML, значки 13 приложений, логотип.
- Инженерный каркас: монорепозиторий, CI на трёх ОС, корпус 1 000 файлов, снимочные тесты.
- Схема лицензирования и редакций принята владельцем; каркасы
meridian-license,meridian-id,id-service,license-serviceработают end-to-end на тестовых данных. - Юридическая база: товарный знак, лицензии шрифтов и зависимостей, OSP Microsoft, 152-ФЗ.
Состав работ по эпикам
| ID | Эпик | Модуль / приложение | Содержание | Инкремент | Владелец |
|---|---|---|---|---|---|
| E0.1 | Исследование корпуса | QA корпус, tools/corpus-tool |
Источники: открытые данные госорганов РФ и ЕС (отчёты, формы),
публикации вузов, выборка Common Crawl по MIME, тестовые наборы
LibreOffice (sw/qa, sc/qa,
sd/qa), Apache POI, примеры ISO/IEC 29500 и OASIS ODF,
документы владельца и партнёров (по согласию), синтетические генераторы
(по одному на класс элемента). Объём: 1 000 файлов (400
docx, 150 doc, 150 xlsx, 50 xls, 100 pptx, 50 odt/ods/odp, 50 rtf, 50
pdf). Разметка: приложение-источник и версия, язык, письменность,
размер, список используемых элементов (частотный анализ тегов OOXML →
приоритеты функций), лицензия на использование. Эталонные рендеры: PNG
150 dpi из Word/Excel/PowerPoint (Microsoft 365 на VM-ферме,
автоматизация через COM), LibreOffice 24.x, Pages/Numbers/Keynote.
Хранение: Git LFS в приватном репозитории corpus/,
дедупликация по SHA-256, персональные данные вычищены (скрипт
анонимизации + ручная проверка выборки 10 %). |
I01–I02 | QA корпус + PM |
| E0.2 | Выбор и прототипирование стека | Platform, Render | Spike-прототипы с замерами на R1/R2/R3: (a) skia-safe →
текстура GPU → QQuickItem через QRhi
(Metal/D3D12/Vulkan/OpenGL) и CPU-fallback; (b) мост cxx-qt
— стоимость вызова, передача буферов без копий; (c)
rustybuzz + fontdb + системные шрифты
(DirectWriter/CoreText/fontconfig), сравнение метрик с Word для
Liberation/Carlito; (d) vello как экспериментальный бэкенд;
(e) Wayland/X11/HiDPI/дробное масштабирование; (f) IME
(китайский/японский ввод) в Qt Quick; (g) модель процессов:
документ-окно + брокер + песочный процесс парсера (Windows Job Objects,
macOS sandbox-exec/XPC, Linux seccomp+namespaces). Решения фиксируются в
ADR-001…ADR-012 (docs/03-architecture.md). Критерий:
прокрутка 100 страниц 60 FPS, ввод ≤ 16 мс p95, память рендера ≤ 150
МБ. |
I01 | Архитектор |
| E0.3 | Прототип текстового ядра с рендером docx-страницы | text-model, text-layout,
styles, Render, кодек ooxml |
Модель: дерево документа (секции → абзацы → runs) на piece-table с
атрибутами, стили с наследованием (абзац/символ/документ по умолчанию),
единицы измерения EMU/twips. Раскладка: шейпинг строк, переносы
(hyphenation, ru/en), выравнивание (включая по ширине),
табуляции, междустрочные интервалы (точно/минимум/множитель как в Word),
поля страницы, разрывы, простые таблицы (фиксированная ширина),
встроенные изображения inline. Кодек: document.xml,
styles.xml, numbering.xml (базово),
settings.xml (совместимость), media/. Рендер:
список отображения → Skia → PNG; сравнение с эталоном
(corpus-tool compare: SSIM по страницам, тепловая карта
расхождений). Цель: 100 docx из корпуса, ≥ 70 % страниц с SSIM ≥
0,95. |
I01–I02 | Ядро |
| E0.4 | Дизайн-система MDS | Дизайн, Shell | Figma: токены раздела 5.2 библии (цвета, нейтральные, радиусы,
сетка, типографика Inter/JetBrains Mono), светлая/тёмная темы, 30
компонентов (кнопки, поля, списки, вкладки, ribbon-группы, галереи,
панели, диалоги, тосты, строка состояния, командная палитра), макет
каркаса окна 5.3, backstage, Hub. QML: стиль Meridian для
Qt Quick Controls (25 контролов), ribbon-компонент с тремя режимами
плотности, тема по токенам (JSON → QML singleton), HiDPI-иконки (SVG).
Иконки: прототип на Lucide/Fluent (MIT), 60 собственных глифов Meridian
Glyphs (файловые операции, форматирование, ribbon-вкладки); логотип
пакета, 13 значков приложений (светлая/тёмная/монохром), руководство по
голосу интерфейса (глоссарий 200 терминов ru/en). Макеты
mockups/*.html на mds.css — Hub и Write. |
I01–I02 | Дизайн |
| E0.5 | Каркас репозитория и CI | Платформа и релизы | Монорепозиторий: kernel/ (cargo workspace, 20
крейтов-заготовок), shell/ (CMake presets, Qt 6.8.x),
codecs/, services/, tools/,
docs/, corpus/ (LFS, отдельный
репозиторий-сабмодуль). just для задач
(just build, just test,
just corpus, just bench). Gitea Actions
(зеркало в GitHub Actions): матрица windows-2022 / macos-14 (arm64 +
x86_64) / ubuntu-22.04 на каждый PR, sccache,
clippy/rustfmt/clang-tidy/clang-format, cargo-deny
(лицензии, уязвимости), cargo-audit, SBOM (CycloneDX), DCO,
ADR-шаблон, Conventional Commits, покрытие (llvm-cov → отчёт в PR).
Nightly: сборка неподписанных инсталляторов-заготовок с M0.5, снимочные
тесты на корпусе (GPU-раннер), фаззинг 2 ч/ночь
(cargo-fuzz, цели: ooxml, rtf).
Sentry self-hosted для отчётов о сбоях прототипа. |
I01 | DevOps |
| E0.6 | Схема лицензирования и редакций | Сервисы и лицензирование, PM | Документ docs/10-licensing-accounts.md: матрица
«функция × редакция» (Free/Home/Pro/Business/Enterprise/Education/Trial,
перечень Feature ≈ 60 флагов), формат ключа
MRDN-… (Crockford Base32, поля, контрольная часть), формат
лицензии license.mlic (CBOR, Ed25519, поля из 9.3 библии),
отпечаток устройства (состав, хэширование, пределы по редакции),
льготный период и режим «только чтение и печать», плавающая аренда,
объёмные ключи, отзыв. Threat model (STRIDE) для ключей/активации.
Эталонные тест-векторы (10 ключей, 10 лицензий, 5 отпечатков). Ценовые
гипотезы по регионам (РФ / мир) и предварительные переговоры с ЮKassa,
CloudPayments, Stripe (резерв — Paddle как merchant of record для
мира). |
I01–I02 | PM лицензирования + безопасность |
| E0.7 | Каркас ID/License-сервисов и клиентских крейтов | kernel/crates/meridian-license,
kernel/crates/meridian-id,
services/id-service, services/license-service,
tools/keygen |
meridian-license: проверка подписи .mlic,
отпечаток, Features::has(Feature::X), льготные периоды, без
сети, тесты на векторах. meridian-id: OAuth 2.1 PKCE поток
через системный браузер, хранение токенов (Keychain/DPAPI/Secret Service
через keyring), обновление access/refresh.
id-service (axum + PostgreSQL + sqlx): регистрация, вход,
сессии, устройства, организации (схема), OpenAPI 3.1, аудит-лог.
license-service: выпуск/активация/проверка/отзыв (CRL), API
для клиента и портала. tools/keygen: CLI, подпись через
YubiKey (PIV) с резервным ключом в HSM-процедуре.
docker compose для dev; e2e-тест «ключ → активация →
лицензия → Features::has». |
I02 | Сервисы и лицензирование |
| E0.8 | Юридическая подготовка | Внешние юристы, PM | Товарный знак «Meridian Office»/«Меридиан Офис»: проверка по базам
Роспатента, WIPO Global Brand DB, EUIPO; подача в РФ (классы 9, 42) в
I01, Мадридская система — после решения по регионам (раздел 12). Домены
(решение владельца, раздел 12). Лицензии шрифтов: реестр (Liberation,
Carlito/Caladea, Noto, PT, Inter, JetBrains Mono, STIX Two — OFL 1.1;
соблюдение Reserved Font Name, запрет продажи шрифтов отдельно),
процедура включения новых шрифтов. Microsoft Open Specification Promise:
реестр спецификаций, на которые опираемся ([MS-DOC], [MS-XLS],
[MS-XLSB], [MS-PPT], [MS-PST], [MS-OXMSG], [MS-VSDX], ECMA-376/ISO
29500, [MS-OI29500]), юридическое заключение о покрытии OSP и границах
(патентный анализ — что OSP не покрывает). Реестр лицензий зависимостей
через cargo-deny: разрешены MIT/Apache-2.0/BSD/MPL-2.0/OFL;
LGPL — только динамическая линковка (Qt, Hunspell, libraw); GPL в
составе продукта запрещён. Qt: выбор LGPL v3 (динамическая линковка, без
модификаций) или коммерческая лицензия — решение владельца к M0.5.
152-ФЗ: уведомление Роскомнадзора об обработке ПДн, политика
конфиденциальности, модель регионов хранения (РФ-сегмент для российских
пользователей), локализация первичного сбора; GDPR: DPA-шаблон, DPO
(внешний) для ЕС-региона. Оферта и EULA — черновики для фазы 1. |
I01–I02 | PM + юристы |
| E0.9 | Продуктовые исследования и спецификации | PM, UX | 24 интервью (по 4–5 на сегмент из 1.1 библии), конкурентный анализ
(Microsoft 365, LibreOffice, ONLYOFFICE, WPS, «МойОфис», «Р7-Офис»),
частотный анализ функций по корпусу → docs/apps/hub.md и
docs/apps/write.md до уровня P0/P1/P2 с экранами и
форматами; черновики docs/apps/sheets.md. Карта горячих
клавиш Office/LibreOffice/Meridian. |
I01–I02 | PM + UX |
| E0.10 | Найм и процессы | Руководство | 16 → 24 человека; процессы: инкременты, ревью, определение
готовности (DoD), ADR, еженедельное демо, трекер (Gitea
Issues/Projects), документирование в docs/. |
I01–I02 | Руководитель проекта |
Вехи
| Веха | Дата | Содержание (проверяемый результат) |
|---|---|---|
| M0.1 | 2027-01-22 (пт, W02) | Репозиторий и CI: сборка «hello Meridian» (Rust-ядро + Qt-окно) зелёная на 3 ОС; библия v1.0 утверждена владельцем; корпус: собрано 300 файлов; заявка на товарный знак в РФ подана |
| M0.2 | 2027-02-12 (пт, W05) | Spike стека завершён: текстура Skia в QQuickItem на
Metal/D3D12/Vulkan + CPU; замеры по R1/R2/R3 в
docs/03-architecture.md; ADR-001…ADR-012 подписаны
архитектором и владельцем; решение по модели процессов |
| M0.3 | 2027-02-26 (пт, W07) | Корпус 1 000 файлов размечен; corpus-tool stats отдаёт
частоты элементов; эталонные рендеры для 300 docx и 100 xlsx; прототип
ядра открывает 100 docx без паники |
| M0.4 | 2027-03-12 (пт, W09) | Прототип рендерит страницы: 100 docx, ≥ 60 % страниц SSIM ≥ 0,95;
MDS в Figma v1 (30 компонентов, 2 темы); значки 13 приложений и логотип
утверждены; docs/apps/write.md v1 |
| M0.5 | 2027-03-26 (пт, W11) | QML-стиль Meridian (25 контролов) и демо-окно с ribbon на 3 ОС;
схема лицензирования (docs/10-licensing-accounts.md)
утверждена владельцем; meridian-license проверяет
тест-векторы; id-service + license-service
отвечают в docker compose, e2e-тест активации зелёный;
решение по лицензии Qt; реестр OSP и лицензий шрифтов |
| M0.6 | 2027-04-09 (пт, W13) | Gate review фазы 0: все критерии выхода; план фазы 1 с составом 24 человека; nightly-сборки заготовок инсталляторов на 3 ОС |
Результаты (deliverables)
docs/00-foundation.mdv1.0,docs/03-architecture.md(ADR-001…012, замеры),docs/10-licensing-accounts.mdv1.0,docs/apps/hub.md,docs/apps/write.mdv1, черновикdocs/apps/sheets.md,docs/08-roadmap.md(этот план) v1.0.- Код:
kernel/crates/{text-model,text-layout,styles,render,fonts}прототипного уровня;codecs/ooxml(docx reader подмножества);shell/с окном, ribbon, стилем Meridian;tools/corpus-tool;kernel/crates/{meridian-license,meridian-id};services/{id-service,license-service};tools/keygen. - Корпус 1 000 файлов с разметкой и эталонами; отчёт по частотам элементов (приоритеты функций для фазы 1–2).
- MDS: Figma-библиотека, QML-стиль, Meridian Glyphs v0 (60 глифов),
логотип, значки,
mockups/hub.html,mockups/write.html. - Юридическое: заявка на ТЗ, реестр лицензий шрифтов, реестр OSP,
заключение по 152-ФЗ, политика
cargo-deny. - Процессы: DoD, шаблоны ADR/спецификаций, трекер, план найма.
Критерии выхода (gate 2027-04-09)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Точность прототипа на docx | ≥ 70 % страниц с SSIM ≥ 0,95 на 100 файлах выборки «частые элементы»; 100 % файлов открываются без паники | corpus-tool compare --set proto100 в CI |
| Производительность прототипа | раскладка 100-страничного документа ≤ 500 мс (R1); прокрутка 60 FPS; задержка ввода ≤ 16 мс p95; старт прототипа ≤ 1,5 с | bench (criterion), трассировка кадров Qt |
| Стек | все 7 spike-критериев E0.2 выполнены на 3 ОС, ADR подписаны | чек-лист ADR |
| CI | сборка + тесты ≤ 25 мин на PR; зелёный main 5 рабочих
дней подряд; nightly с корпусом и фаззингом работает |
панель CI |
| Дизайн-система | 100 % токенов библии в Figma и QML; 25 контролов; обе темы; контраст AAA/AA проверен (Stark/axe) | ревью дизайна + автопроверка контраста |
| Лицензирование | спецификация ключа/лицензии с тест-векторами; e2e «ключ → лицензия →
Features::has» в CI; threat model с закрытыми «высокими»
рисками |
тесты, ревью безопасности |
| Корпус | 1 000 файлов, 100 % с разметкой, эталоны для ≥ 400 файлов, 0 файлов с ПДн | corpus-tool audit |
| Юридическое | заявка на ТЗ подана; реестры шрифтов/OSP/зависимостей без нарушений; решение по Qt принято | документы в docs/legal/ |
| Команда | 24 человека на борту или с подписанными офферами на дату ≤ 2027-05-01 | HR |
Зависимости: решения владельца — бренд/домен, лицензия Qt, регионы (раздел 12) — нужны к M0.5; доступ к Microsoft 365 для фермы эталонов (подписки); железо CI (Mac mini) — закупка в W01.
Риски фазы и меры
| Риск | Вер./Влияние | Мера |
|---|---|---|
| Skia ↔︎ QRhi на Vulkan/Wayland не даёт стабильных 60 FPS | средняя / высокое | CPU-растр как fallback в прототипе; vello как запасной
бэкенд; решение на M0.2, не позже |
| Корпус набирается медленно из-за лицензионных ограничений | средняя / среднее | синтетические генераторы + собственные документы; приоритет открытым данным госорганов (разрешённое использование) |
| Прототип ядра «переусложнён» и не достигает 70 % | средняя / высокое | ограничить элементами с частотой ≥ 5 % по корпусу; еженедельная метрика; архитектор режет объём |
| Найм 8 человек за 13 недель не успевает | высокая / среднее | начать поиск до старта; аутстаф на 3–6 месяцев для QML и кодеков |
| Юридические ответы (OSP, ТЗ) затягиваются | средняя / низкое (в фазе 0) | не блокируют код; решения по бренду могут отложиться до фазы 1 без влияния на разработку |
Состав команды фазы 0: архитектор 1, Rust 5 (→ 8), Qt 3 (→ 5), кодеки 2 (→ 3), дизайнеры 2, UX 0,5, техписатель 0,5, QA корпус 1, QA авто 1, DevOps 1, бэкенд 1, безопасность 0,5 (→ 1), PM 1 (+ руководитель проекта), внешние юристы 2.
Длительность и перекрытия: 13 недель; перекрытий с другими фазами нет; подготовка спецификации Sheets и найм команды Sheets начинаются в I02 (готовность к старту фазы 2 на 2027-07-12).
3.1 Фаза 1 «Ядро и Write» — 2027-04-12 – 2028-01-11 (39 недель, I03–I09) → релиз 1.0 «Write» 2027-12-14
Цели
- Meridian Kernel уровня production для текста: модель с журналом операций, раскладка, совместимая с Word, рендер, печать, стабильный FFI; публичный API ядра заморожен к M1.5.
- Meridian Hub и Meridian Write 1.0 с 100 % P0 из
docs/apps/hub.mdиdocs/apps/write.md. - Форматы:
.mwx1.0, docx/doc/odt/rtf/txt/md/html/fb2/epub R/W, экспорт PDF/PDF-A; точность по корпусу — раздел «Критерии выхода». - Коммерческий контур: Meridian ID (вход), пробный период, активация ключом, портал аккаунта, продажа Home/Pro с биллингом для РФ и мира, обновления по каналам.
- Дистрибуция на трёх ОС одновременно с подписью и автообновлением; закрытая альфа → публичная бета → GA.
Состав работ по эпикам
| ID | Эпик | Модуль / приложение | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E1.1 | Модель текста production | text-model, styles, fields,
undo |
Переход прототипа на операционную модель: каждая правка — операция с
идентификатором и позиционной ссылкой (совместимо с CRDT-журналом
history/ фазы 6), транзакции, undo/redo с группировкой,
стили (абзац/символ/связанные/список/таблица, наследование, темы
документа), нумерация (9 уровней, numbering.xml), секции,
закладки, поля (PAGE, NUMPAGES, DATE, TIME, AUTHOR, FILENAME, REF, SEQ,
TOC, HYPERLINK, IF), комментарии и ревизии как часть модели, поиск
(regex, формат), статистика. |
I03–I05 | Ядро |
| E1.2 | Раскладка, совместимая с Word | text-layout, шрифты |
Таблицы (автоширина по алгоритму Word, объединения, вложенные,
разрыв по страницам, повтор заголовка), обтекание изображений/фигур
(square/tight/through/top-bottom/behind/in-front, привязка к
абзацу/странице), колонтитулы (первая/чётная/нечётная), секции с разной
ориентацией/полями, колонки с разделителем, сноски/концевые (размещение,
продолжение), keep-with-next, widow/orphan, табуляции с заполнителями,
биди (арабский/иврит), CJK, вертикальные метрики шрифтов как в
DirectWrite, w:compat-режимы (не менее 12 ключей
совместимости по частоте в корпусе), переносы по словарям 20
языков. |
I03–I07 | Ядро |
| E1.3 | Экран, печать, PDF | Render, Print | Холст документа в QQuickItem (масштаб 10–500 %,
страницы/непрерывный, выделение, курсор, подсветка поиска), GPU +
CPU-бэкенды, печать через нативные диалоги (Windows Print Dialog,
NSPrintPanel, CUPS/Qt), предпросмотр, диапазоны, масштаб к листу,
двусторонняя; PDF из того же списка отображения (встраивание шрифтов
подмножествами, закладки из заголовков, ссылки, метаданные, PDF/A-2b с
валидацией veraPDF в CI), экспорт PNG/SVG страниц. |
I04–I06 | Ядро + Платформа |
| E1.4 | Кодеки Write | codecs/{ooxml,msdoc,rtf,odf,html,md,epub,fb2,txt} |
docx/docm/dotx R/W с round-trip: все части пакета, неизвестные части
и элементы сохраняются (extension elements), VBA-проект
docm сохраняется как blob без выполнения, темы, шрифты встроенные
(чтение), шифрование docx (чтение по паролю: AES/Agile). doc R/W
([MS-DOC]: FIB, piece table, CHPX/PAPX, таблицы, картинки, сноски,
колонтитулы; запись — подмножество, достаточное для round-trip простых
документов). rtf R/W (1.9.1, Unicode, таблицы, картинки, списки).
odt/ott R/W (ODF 1.3, стили, автостили, таблицы, рамки, сноски,
изменения). txt (кодировки, авто-определение), md (CommonMark +
GFM-таблицы), html (чтение подмножества CSS, запись чистого HTML5), fb2
R/W, epub 3 R/W. Чтение pages/wpd/abw/wps/DocBook/tex (подмножество) —
P1, в 1.1–1.6. |
I03–I08 | Кодеки |
| E1.5 | Meridian Shell 1.0 | shell/ |
Процесс на документ-окно + брокер (Hub), ribbon Write (8 вкладок +
контекстные «Таблица», «Рисунок», «Колонтитулы»), backstage, командная
палитра Ctrl/⌘+K, мини-панель выделения, боковые панели
(навигатор, стили, комментарии, свойства объекта), три режима плотности,
темы светлая/тёмная/системная, схемы горячих клавиш
(Office/LibreOffice/своя), нативные диалоги файлов, drag&drop, буфер
обмена (text/plain, text/html, RTF, docx-фрагмент, PNG), IME (CJK,
мёртвые клавиши), доступность (Qt Accessibility →
UIA/NSAccessibility/AT-SPI; документ как дерево абзацев),
автосохранение-журнал каждые 2 с и восстановление после сбоя, окно
«Параметры». |
I03–I07 | Платформа + Write |
| E1.6 | Meridian Hub | Hub | Стартовое окно (недавние/закреплённые/шаблоны по приложениям), поиск по недавним и содержимому (индекс SQLite FTS5), создание/открытие, аккаунт и статус лицензии, настройки пакета, обновления (каналы, установка, откат), восстановление документов, «Что нового», брокер (буфер обмена между процессами, недавние, единая очередь печати), ассоциации файлов и значки. | I03–I07 | Write |
| E1.7 | Meridian Lingo | Lingo | Hunspell: 20 словарей в комплекте (ru, en-US/GB, de, fr, es, it, pt-BR/PT, pl, uk, kk, tr, nl, cs, sv, da, fi, nb, el), остальные по загрузке; автоопределение языка абзаца; переносы (TeX-шаблоны); автозамена с правилами по языку (кавычки «ёлочки»/“ ”, тире); пользовательские словари; тезаурус (P1), LanguageTool-совместимая грамматика (P1, 1.6). | I04–I06 | Write |
| E1.8 | Meridian Write — функции P0 | Write | Список ниже; реализация по инкрементам в таблице «Порядок внедрения». | I03–I08 | Write |
| E1.9 | Meridian Script (предварительная версия) | Script | QuickJS-ng в отдельном потоке с лимитами (CPU/память/время), API v0
(document, selection, styles,
ui.alert), транспиляция TypeScript (встроенный
swc-подмножество), редактор скриптов (панель), подпись
скриптов в документе — экспериментально за флагом в 1.0, стабильно в
1.6. |
I07–I08 | Платформа |
| E1.10 | Аккаунт и лицензии в приложении | meridian-id, meridian-license,
shell/src/account/ |
Вход (e-mail+пароль, ссылка-вход, OAuth
Google/Apple/Microsoft/Яндекс ID/VK ID, 2FA TOTP/passkeys), пробный
период Pro 30 дней (по желанию, без карты), активация ключом
(онлайн/офлайн .mreq→.mlic), менеджер лицензий
(устройства, деактивация), «замки» на функциях с предложением редакции,
льготный период и режим «только чтение и печать», отзыв по CRL. |
I03–I07 | Сервисы + Платформа |
| E1.11 | Сервисы production | services/* |
billing-service (тарифы Home/Pro, подписка месяц/год,
разовая покупка, промокоды, адаптеры ЮKassa + CloudPayments для РФ,
Stripe для мира, резерв Paddle; счета для юрлиц РФ, НДС/VAT, чеки 54-ФЗ
через провайдера), portal (личный кабинет: покупки, ключи,
устройства, подписки, счета, удаление аккаунта/экспорт данных),
update-service (манифесты по каналам и редакциям, дельты,
подпись Ed25519), telemetry-service (по согласию: сбои,
анонимные метрики), регионы РФ (сегмент с ПДн) и ЕС, мониторинг
(Prometheus/Grafana), бэкапы (ежедневно + PITR), статус-страница, SLA
99,9 %. |
I04–I08 | Сервисы |
| E1.12 | Дистрибуция и обновления | Платформа и релизы, Meridian Update | Инсталляторы: Windows MSIX + MSI (WiX 4), подпись EV; macOS DMG universal, Developer ID + нотаризация; Linux Flatpak (главный, Flathub), AppImage, deb/rpm (свой репозиторий с GPG), Snap (1.1). Meridian Update: каналы, дельта-обновления (zstd + бинарные дельты), проверка подписи, откат, тихая установка для организаций. Microsoft Store — к GA; Mac App Store — 1.1 (sandbox-сборка). | I05–I08 | DevOps |
| E1.13 | Качество и корпус 10 000 | QA | Корпус до 10 000 файлов (docx 4 000, doc 800, odt 600, rtf 400, xlsx 2 000, xls 300, pptx 1 200, прочие 700); снимочные тесты ночью (docx/doc/odt/rtf), метрики в панели; фаззинг 24/7 для всех парсеров Write; UI-автотесты (Squish + Qt Test) 150 сценариев; бета-программа «Meridian Insiders» (уровни 1–3), триаж, SLA дефектов P0 48 ч. | I03–I09 | QA |
| E1.14 | Локализация и документация | Локализация, техписатели | Weblate, глоссарий, ru/en 100 %, псевдолокализация в CI; встроенная справка (Qt Help, 120 статей) и онлайн-документация; гайд миграции с Word/Writer; release notes; видео 10 роликов. | I06–I08 | Документация |
| E1.15 | Дизайн Write и шаблоны | Дизайн | Все экраны Write (≈ 60 диалогов/панелей) в Figma и
mockups/write.html; 30 ru + 30 en шаблонов (письма, резюме,
отчёты, курсовые по ГОСТ 7.32, договоры); Meridian Glyphs до 300 глифов;
юзабилити-тесты каждый инкремент (6 сессий). |
I03–I08 | Дизайн |
Функции P0 — Meridian Hub
(docs/apps/hub.md)
| Группа | Функции P0 |
|---|---|
| Старт | недавние и закреплённые файлы (с миниатюрами), шаблоны по приложениям, создать/открыть, перетаскивание файлов, поиск (имя, содержимое недавних) |
| Аккаунт и лицензия | вход/выход, редакция и статус (trial/дни/устройства), активация ключом, менеджер лицензий |
| Настройки пакета | тема, язык интерфейса, схема клавиш, плотность, обновления (канал, расписание), конфиденциальность (телеметрия, ассистент — выкл. по умолчанию), шрифты по умолчанию |
| Обновления | проверка, загрузка в фоне, установка при закрытии, откат предыдущей версии, «Что нового» |
| Надёжность | восстановление документов после сбоя, журнал последних сессий, отчёт о сбое (по согласию) |
| Брокер | единый буфер обмена между процессами, недавние, очередь печати, единственный экземпляр |
Функции P0 — Meridian Write
(docs/apps/write.md; ≈ 130 пунктов чек-листа)
| Группа | Функции P0 |
|---|---|
| Ввод и правка | ввод с IME, выделение (слово/абзац/столбец Alt), буфер обмена и спецвставка, отмена/повтор без лимита, перетаскивание текста, автозамена и автоформат (списки, тире, кавычки по языку), автосохранение и восстановление |
| Символы | шрифт, размер, жирный/курсив/подчёркивание (стили), зачёркивание, индексы, цвет, выделение цветом, капитель, межсимвольный интервал и кернинг, регистр, очистка формата |
| Абзацы | выравнивание (включая по ширине), отступы, интервалы (до/после/междустрочный точный/минимум/множитель), табуляции с заполнителями, границы и заливка, положение на странице (с новой страницы, не разрывать, вместе со следующим, висячие строки) |
| Стили | абзаца/символа/связанные/списков/таблиц, наследование, «обновить по образцу», панель стилей, импорт из другого документа, наборы стилей и темы документа |
| Списки | маркированные, нумерованные, многоуровневые (9 уровней), продолжить/начать заново, свой формат, привязка к заголовкам |
| Таблицы | вставка, строки/столбцы, объединение/разделение, границы/заливка, автоподбор, выравнивание в ячейке, повтор заголовка, разрыв по страницам, стили таблиц, текст ↔︎ таблица |
| Изображения и объекты | вставка из файла/буфера/скриншота, обтекание (6 режимов), привязка,
размер/обрезка/поворот, альт-текст, подписи, простые фигуры и текстовые
поля (scene v0), чтение SmartArt как групп фигур, чтение
диаграмм (Chart) |
| Страницы и разделы | размер/поля/ориентация, разделы (4 типа), колонки, колонтитулы (первая/чётная/нечётная), нумерация страниц, разрывы, титульная страница |
| Ссылки и поля | оглавление, сноски и концевые сноски, перекрёстные ссылки, закладки, гиперссылки, поля (11 типов), подписи и список иллюстраций |
| Рецензирование | комментарии (цепочки, ответы, «решено»), отслеживание изменений (вставка/удаление/формат/перемещение), принять/отклонить, режимы показа, защита (только чтение/комментарии, пароль), статистика, орфография в фоне, переносы, язык текста |
| Вид и навигация | режимы (макет/веб/черновик/чтение), масштаб, линейка, непечатаемые символы, навигатор (заголовки/страницы/объекты), поиск/замена (regex, формат), переход, новое окно |
| Файл | создать из шаблона, открыть все форматы R из 3.3 библии (P0: docx/docm/dotx/doc/rtf/odt/ott/txt/md/html/fb2/epub), сохранить/сохранить как, экспорт (pdf, pdf/a, epub, html, md, png/svg страниц), сведения, печать (диапазоны, двусторонняя, предпросмотр), пароль на открытие (чтение) |
| Совместимость | режим совместимости Word, метрические замены шрифтов (Arial → Liberation Sans, Calibri → Carlito, Cambria → Caladea, Times → Liberation Serif), сохранение неизвестных элементов |
| Доступность | экранные дикторы NVDA/JAWS/VoiceOver/Orca, навигация по заголовкам, альт-тексты, высокий контраст, масштаб UI 100–300 %, все команды с клавиатуры |
| Платформа | ассоциации файлов, печать из контекстного меню, drag&drop файлов, Windows Jump List / macOS Dock recent |
P1 для 1.1–1.6: буквица, направление текста в ячейках, сортировка и формулы таблиц, границы и водяной знак страницы, библиография/цитаты, предметный указатель, сравнение и объединение документов, брошюра, встраивание шрифтов при записи, KeyTips, QuickLook/превью в проводнике, тезаурус, грамматика, слияние писем (mail merge), чтение pages/wpd/abw/wps/DocBook/tex.
Порядок внедрения внутри фазы (инкременты по 6 недель)
| Инкремент | Даты | Ядро / кодеки | Write / Hub / Shell | Сервисы / платформа | Качество / дизайн |
|---|---|---|---|---|---|
| I03 | 2027-04-05 – 2027-05-14 (фаза с 04-12) | операционная модель, стили, undo; docx reader расширен до 90 % элементов корпуса | каркас окна Write, ribbon «Главная», backstage, Hub: недавние; ввод/правка/символы/абзацы | вход в аккаунт в Hub (ID), trial-лицензия выдаётся и проверяется | корпус 3 000; 60 UI-сценариев; экраны Write волна 1 |
| I04 | 2027-05-17 – 2027-06-25 | раскладка: таблицы, обтекание, колонтитулы, секции, колонки;
.mwx 1.0 (XSD + RELAX NG) и writer; odt reader; Lingo
орфография |
стили, списки, таблицы, изображения, страницы/разделы; панели навигатор/стили | активация ключом в приложении; billing-service каркас;
update-service каркас |
A1 внутренняя альфа 2027-06-25: вся документация проекта ведётся в Write |
| I05 | 2027-06-28 – 2027-08-06 | поля, сноски, оглавление, закладки; docx writer round-trip; rtf R/W; doc reader; печать и PDF | ссылки и поля, комментарии, печать/предпросмотр, экспорт PDF; Hub: поиск, настройки, обновления | портал v1 (покупки, ключи, устройства); биллинг sandbox ЮKassa/Stripe; телеметрия по согласию | корпус 6 000; снимочные тесты docx/odt ночью; экраны волна 2 |
| I06 | 2027-08-09 – 2027-09-17 | отслеживание изменений в модели и раскладке; odt writer; html/md/txt; doc writer (подмножество); биди/CJK | рецензирование, защита, статистика, режимы вида, поиск/замена; a11y; IME; схемы клавиш | подписанные инсталляторы 3 ОС; Meridian Update beta-канал; биллинг production (тест-покупки) | корпус 8 000; фаззинг 24/7; A2 закрытая альфа с 2027-09-20 (100 участников) |
| I07 | 2027-09-20 – 2027-10-29 | epub/fb2 R/W; производительность (1 000 страниц); API ядра заморожен; Script v0 | шаблоны, титульная страница, подписи/список иллюстраций, окно «Параметры»; локализация ru/en | портал: подписки, счета юрлиц, 54-ФЗ чеки;
update-service production; Microsoft Store подача |
feature freeze 1.0 — 2027-10-15; B1 публичная бета — 2027-10-26; справка 120 статей |
| I08 | 2027-11-01 – 2027-12-10 | исправления по корпусу и бете; PDF/A валидация | полировка, a11y-аудит, доступность диалогов | Flathub, репозитории deb/rpm; DMG нотаризация; статус-страница | B2 — 2027-11-23, code freeze 2027-11-19, RC1 — 2027-11-30, RC2 — 2027-12-07 |
| I09 | 2027-12-13 – 2028-01-21 (фаза до 01-11) | хотфиксы | — | мониторинг продаж, поддержка 1-й линии | GA 1.0 — 2027-12-14; 1.0.1 — 2028-01-11; gate review 2028-01-11 |
Вехи
| Веха | Дата | Содержание |
|---|---|---|
| M1.1 | 2027-05-14 (пт) | Операционная модель текста + undo; окно Write с ribbon на 3 ОС; docx reader покрывает 90 % элементов по частоте; вход в Meridian ID; trial работает |
| M1.2 | 2027-06-25 (пт) | Раскладка таблиц/обтекания/колонтитулов/секций; .mwx
1.0 сохраняется и открывается; odt reader; орфография;
A1 |
| M1.3 | 2027-08-06 (пт) | Поля/сноски/оглавление; docx round-trip ≥ 80 % файлов без потерь; rtf R/W, doc R; печать + PDF/A; комментарии; портал v1; биллинг sandbox |
| M1.4 | 2027-09-17 (пт) | Отслеживание изменений; odt writer; html/md/txt; a11y и IME; подписанные инсталляторы; Update beta-канал; A2 с 2027-09-20 |
| M1.5 | 2027-10-15 (пт) | Feature freeze 1.0; API ядра заморожен (semver 1.0 для крейтов ядра); epub/fb2; локализация ru/en 100 %; биллинг production |
| M1.6 | 2027-10-26 (вт) | Публичная бета B1 (цель 5 000 участников); справка опубликована; магазины: подача в Microsoft Store |
| M1.7 | 2027-11-30 (вт) | RC1 (RC2 — 2027-12-07): 0 открытых P0, ≤ 10 P1; crash-free ≥ 99,5 % на B2 |
| M1.8 | 2027-12-14 (вт) | GA 1.0 «Write» на Windows/macOS/Linux, Microsoft Store, Flathub, прямые загрузки; продажи Home/Pro открыты в РФ и мире |
| M1.9 | 2028-01-11 (вт) | 1.0.1; gate review фазы 1; передача Write в сопровождение (2 инженера + QA) |
Результаты (deliverables): Meridian Hub 1.0,
Meridian Write 1.0 (3 ОС, 4 формата пакетов), Kernel 1.0 (API
заморожен), Codecs Write 1.0, Shell 1.0, Lingo 1.0, Script 0.x
(экспериментально), .mwx 1.0 со схемами XSD/RNG и
документацией формата, портал аккаунта, биллинг РФ/мир,
update-service, корпус 10 000, справка ru/en, гайд миграции
с Word, 60 шаблонов.
Критерии выхода (gate 2028-01-11)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Открываемость docx/doc/odt/rtf | ≥ 99 % файлов корпуса (10 000) открываются без ошибок и потерь структуры | corpus-tool open ночью |
| Визуальная точность docx | ≥ 85 % страниц с SSIM ≥ 0,95 к эталону Word; ≥ 95 % страниц SSIM ≥ 0,90; doc/odt/rtf — ≥ 80 % / ≥ 92 % | corpus-tool compare |
| Round-trip docx | ≥ 90 % файлов без потери элементов (нормализованный семантический diff XML); 100 % неизвестных частей сохраняются | corpus-tool roundtrip |
| Производительность (R1) | холодный старт Write ≤ 2 с (Rmin ≤ 4 с); docx 100 стр. ≤ 1 с, 1 000 стр. ≤ 8 с; ввод ≤ 16 мс p95; память ≤ 300 МБ на 100 стр.; печать 100 стр. в PDF ≤ 3 с | bench, ежедневно |
| Стабильность | crash-free sessions ≥ 99,5 % на B2 и RC; 0 известных потерь данных; восстановление после kill -9 в 100 % сценариев | телеметрия беты, тесты |
| Тесты | покрытие ядра ≥ 75 % строк, кодеков ≥ 70 %; ≥ 800 снимочных тестов; фаззинг 7 суток без падений для docx/doc/rtf/odt; 150 UI-сценариев зелёные на 3 ОС | CI |
| Функции | 100 % P0 Write и Hub (чек-листы спецификаций), подтверждено QA | чек-лист |
| Лицензирование и биллинг | тест-покупки Home/Pro успешны в РФ (ЮKassa, чек 54-ФЗ) и в мире (Stripe); активация онлайн/офлайн; trial; деактивация устройства; льготный период | e2e-тесты + ручная приёмка |
| Дистрибуция | подписанные MSIX/MSI, нотаризованный DMG, Flatpak на Flathub, deb/rpm, AppImage; обновление stable→stable дельтой ≤ 15 МБ | релизный чек-лист |
| Доступность | WCAG 2.1 AA по чек-листу 40 сценариев на NVDA/VoiceOver/Orca | QA a11y |
| Локализация | ru, en — 100 % строк, 0 обрезаний при псевдолокализации | Weblate + скриншоты |
| Бета | ≥ 3 000 активных участников B2; NPS беты ≥ 20 | опрос |
Зависимости: решения фазы 0 (стек, Qt-лицензия); сертификаты EV и Apple к I06; договоры с платёжными провайдерами к I05 (юрлица в РФ и за рубежом — раздел 12); тексты оферты/политики к B1; корпус 10 000 к I07.
Риски фазы и меры
| Риск | Вер./Влияние | Мера |
|---|---|---|
| Раскладка «как в Word» требует больше времени (compat-режимы, таблицы) | высокая / высокое | приоритет по частоте в корпусе; критерий 85 % — для частых элементов; редкие — P1; резерв I07 |
| doc writer не успевает | средняя / среднее | минимальный writer для round-trip; полнота — 1.1 |
| Биллинг для мира без зарубежного юрлица | высокая / высокое | Paddle/merchant of record как план Б; решение владельца к I04 |
| Задержка EV-сертификата/нотаризации | средняя / среднее | подача в I04; временная подпись OV для беты |
| Бета даёт поток дефектов больше, чем триаж обрабатывает | средняя / среднее | автогруппировка (Sentry), 2 QA на триаже, SLA по приоритетам |
Состав команды фазы 1: архитектор 1, Rust 8, Qt 6, кодеки 4, дизайнеры 3, UX 1, техписатели 1→2, QA 5 (2 ручн., 2 авто, 1 корпус), DevOps 2, бэкенд 3, безопасность 1, локализация 1, PM 2, поддержка 1 (с I07). Всего ≈ 40 (вместе с командой Sheets с I05).
Длительность и перекрытия: 39 недель; с I05 (2027-07-12) параллельно идёт фаза 2 — подкоманда Sheets использует ядро 1.0-rc; Ядро обслуживает обе фазы (приоритет — заморозка API к M1.5).
3.2 Фаза 2 «Sheets» — 2027-07-12 – 2028-05-11 (44 недели, I05–I12) → релиз 1.5 «Sheets» 2028-04-18
Цели
grid-model+calc-engineс 500+ функциями, совместимые с Excel по результатам пересчёта; 1 млн строк × 16 384 столбцов.- Meridian Chart — единый движок диаграмм, используемый в Sheets и Write (редактирование), затем в Slides.
- Sheets 1.5 с 100 % P0 из
docs/apps/sheets.md; xlsx/xlsm/xltx/xls/ods/ots/csv/tsv R/W. - Корпус таблиц 3 000+ с метриками точности формул и визуала.
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E2.1 | Модель сетки | grid-model |
Разреженное колоночно-чанковое хранилище; типы: число (f64 + формат), текст, логическое, ошибка (#DIV/0! и др.), дата/время как число с форматом (1900/1904), массивы (spill); общие стили ячеек (интернирование); объединения; строки/столбцы (размеры, скрытие, группировка, уровни структуры); листы; именованные диапазоны; структурированные таблицы; комментарии/заметки; защита; операции с журналом (CRDT-совместимые). | I05–I07 | Ядро/Sheets |
| E2.2 | Движок формул | calc-engine |
Парсер (A1/R1C1, локализованные разделители, английские имена + локализованные алиасы как в Excel), граф зависимостей (инкрементальный, циклы, итерации), многопоточный пересчёт (rayon) с топологической сортировкой, volatile-функции, динамические массивы (FILTER/SORT/UNIQUE/SEQUENCE/XLOOKUP), функции по категориям: математика 70, статистика 90, текст 45, дата/время 30, логика 12, поиск/ссылки 25, финансы 55, инженерные 50, информация 20, БД 12, веб/прочее 10, LET/LAMBDA (P1, 1.6) — итого ≥ 500 к GA; точность — совпадение с Excel на корпусе; «что-если»/подбор параметра (P1). | I05–I10 | Ядро/Sheets |
| E2.3 | Meridian Chart | chart |
Модель (серии, оси, легенда, подписи данных, линии тренда, оси
вторичные), типы P0: столбчатая/линейчатая (с накоплением, 100 %),
линейная, площадная, круговая/кольцевая, точечная, пузырьковая,
комбинированная, гистограмма; P1 (1.6): радар, воронка, водопад,
биржевая, карта дерева, солнечные лучи. Импорт/экспорт
c:chart (DrawingML) с темами и стилями, рендер через
scene, редактор (панель формата), экспорт PNG/SVG;
редактирование диаграмм в Write с 1.5. |
I06–I10 | Ядро/Sheets |
| E2.4 | Кодеки Sheets | codecs/{ooxml-sml,msxls,odf-ods,csv,xlsb,numbers,misc} |
xlsx/xlsm/xltx R/W (shared strings, styles, формулы и кэш, диаграммы, условное форматирование, проверка данных, сводные — кэш и определение, таблицы, комментарии/заметки, defined names, параметры печати, VBA как blob), xls R/W (BIFF8), ods/ots R/W (ODF 1.3 с формулами OpenFormula), csv/tsv (диалог импорта: кодировка, разделители, типы, предпросмотр), xlsb R, numbers R (iWork archive), gnumeric/dif/sylk/dbf R, parquet/json/xml R (1.6); экспорт pdf/html/csv/json/parquet, png диаграмм. | I05–I11 | Кодеки |
| E2.5 | Приложение Sheets | Sheets (Qt) | Холст сетки на Skia (виртуализация, 1 млн строк, закрепление, разделение, масштаб 25–400 %), редактор формул (подсветка диапазонов, автодополнение, подсказки аргументов), ribbon Sheets (Главная/Вставка/Макет/Формулы/Данные/Рецензирование/Вид/Скрипты + контекстные «Таблица», «Диаграмма», «Сводная»), диалоги: формат ячеек, условное форматирование, проверка данных, сортировка, сводная, параметры страницы; панели: имена, поля сводной, формат диаграммы; строка состояния (сумма/среднее/количество); печать (разбиение по страницам, области печати, повторяющиеся строки/столбцы, предпросмотр). | I06–I11 | Sheets |
| E2.6 | Качество Sheets | QA | Корпус: xlsx 3 000, xls 500, ods 300, csv 500; сравнение пересчёта с кэшированными значениями Excel (точность 1e-9 относительная, даты/строки точно); снимочные тесты печатных страниц и диаграмм; бенчмарки (1 млн ячеек с формулами, 100 МБ xlsx); фаззинг xlsx/xls/csv/ods. | I05–I12 | QA |
| E2.7 | Интеграции | Write, Script, License | Диаграммы Chart редактируются в Write (1.5); вставка таблицы Sheets в Write как объект (чтение/редактирование по месту — P1); Script API Sheets v0 (диапазоны, значения, формат) за флагом; Sheets входит в Free (без замков), скрипты из магазина — по редакции. | I09–I11 | Sheets + Платформа |
| E2.8 | Дизайн Sheets | Дизайн | Экраны Sheets (≈ 50 диалогов), стили таблиц и диаграмм в MDS, 20 шаблонов (бюджет, счёт, табель, Гант), Meridian Glyphs до 450. | I05–I10 | Дизайн |
Функции P0 — Meridian Sheets
(docs/apps/sheets.md; ≈ 140 пунктов)
| Группа | Функции P0 |
|---|---|
| Ввод и правка | ввод/редактирование, автозаполнение (ряды, даты, формулы), автозавершение текста, вставка/удаление строк и столбцов, перемещение диапазонов, спецвставка (значения/форматы/транспонирование), отмена/повтор, поиск/замена (по листу/книге, regex) |
| Формат ячеек | число/дата/время/валюта/процент/дробь/научный/текст/пользовательские маски (совместимы с Excel), шрифт/заливка/границы, выравнивание/перенос/поворот, объединение, стили ячеек, формат по образцу |
| Формулы | 500+ функций, ссылки относительные/абсолютные/смешанные, 3D-ссылки, именованные диапазоны, динамические массивы, структурированные ссылки таблиц, автосумма, проверка формул (трассировка влияющих/зависимых), вычисление по шагам, ошибки с подсказками |
| Данные | сортировка (многоуровневая, по цвету), автофильтр (текст/число/дата/цвет), таблицы («умные»), текст по столбцам, удаление дубликатов, проверка данных (списки, диапазоны, сообщения), подведение итогов (структура), консолидация (P1) |
| Сводные таблицы | поля строк/столбцов/значений/фильтров, агрегаты (сумма/количество/среднее/мин/макс/произведение/счёт уникальных), группировка дат/чисел, сортировка, итоги, обновление, сводная диаграмма (P1), срезы (P1) |
| Условное форматирование | правила по значению/формуле, гистограммы, цветовые шкалы, наборы значков, дубликаты/топ-N, управление правилами |
| Диаграммы | 9 типов P0 (E2.3), вставка/изменение данных, формат элементов, стили MDS и импорт стилей Excel, спарклайны (P1) |
| Листы и вид | листы (добавить/переименовать/цвет/скрыть/копировать), закрепление, разделение, масштаб, сетка/заголовки, режим разметки страницы, окно «новое» |
| Печать | области печати, разбиение, повторяющиеся заголовки, масштаб к ширине, колонтитулы, предпросмотр, PDF |
| Защита и рецензирование | защита листа/книги (пароль, разрешённые действия), комментарии (цепочки) и заметки, скрытые формулы |
| Файл и форматы | xlsx/xlsm/xltx/xls/ods/ots/csv/tsv R/W;
xlsb/numbers/gnumeric/dif/sylk/dbf R; экспорт pdf/html/csv/json/png
диаграмм; .msx 1.0 |
| Большие данные | 1 048 576 × 16 384, пересчёт 1 млн формул ≤ 2 с (R1), прокрутка 60 FPS, открытие 100 МБ xlsx ≤ 10 с |
| Доступность | чтение ячеек/заголовков экранным диктором, навигация клавиатурой по всем диалогам |
Порядок внедрения внутри фазы
| Инкремент | Даты | Ядро / кодеки | Приложение | Качество / альфы-беты |
|---|---|---|---|---|
| I05 | 2027-06-28 – 2027-08-06 (фаза с 07-12) | grid-model v1, парсер формул, граф зависимостей, 150
функций; xlsx reader v0 (значения, стили, формулы) |
макет холста сетки (Skia), ввод в ячейку | корпус xlsx 1 000, стенд сравнения формул |
| I06 | 2027-08-09 – 2027-09-17 | 300 функций, многопоточный пересчёт; форматы чисел (ICU4X); xlsx writer v0 | холст production (1 млн строк), редактор формул, ribbon «Главная», формат ячеек, автозаполнение | бенчмарки, фаззинг xlsx |
| I07 | 2027-09-20 – 2027-10-29 | 400 функций, динамические массивы; именованные диапазоны, таблицы; ods reader; xls reader | сортировка/фильтры, условное форматирование, проверка данных, листы | A1 внутренняя альфа 2027-10-29 |
| I08 | 2027-11-01 – 2027-12-10 | Chart v1 (9 типов) + импорт c:chart; сводные v1;
csv/tsv; печать/PDF; 500 функций |
диаграммы, сводные, печать, защита, комментарии | корпус 2 500; снимочные тесты диаграмм |
| I09 | 2027-12-13 – 2028-01-21 | xlsm/xltx/ods writer, xlsb/numbers/dbf/dif/sylk reader; Script API Sheets v0; Chart в Write | трассировка формул, структура, текст по столбцам, дубликаты; a11y | A2 закрытая альфа с 2028-01-24 (200 участников) |
| I10 | 2028-01-24 – 2028-03-03 | производительность (100 МБ, пересчёт), совместимость формул по корпусу | полировка диалогов, локализация 2 волны (de/fr/es/pt-BR/it/tr/kk) | feature freeze 1.5 — 2028-02-25; корпус xlsx 3 000 |
| I11 | 2028-03-06 – 2028-04-14 | исправления по бете | справка Sheets 100 статей | B1 публичная бета — 2028-03-07, B2 — 2028-03-21, code freeze 2028-03-24, RC1 — 2028-04-04, RC2 — 2028-04-11 |
| I12 | 2028-04-17 – 2028-05-26 (фаза до 05-11) | хотфиксы | — | GA 1.5 — 2028-04-18; 1.5.1 — 2028-05-09; gate 2028-05-11 |
Вехи
| Веха | Дата | Содержание |
|---|---|---|
| M2.1 | 2027-08-06 (пт) | grid-model v1; парсер и граф зависимостей; 150 функций;
xlsx reader v0 |
| M2.2 | 2027-09-17 (пт) | Холст 1 млн строк 60 FPS; редактор формул; 300 функций; форматы чисел |
| M2.3 | 2027-10-29 (пт) | 400 функций; сортировка/фильтры/условное форматирование/проверка данных; ods/xls reader; A1 |
| M2.4 | 2027-12-10 (пт) | Chart v1 (9 типов) в Sheets и чтение в Write; сводные v1; печать; 500 функций; совпадение пересчёта ≥ 99 % ячеек |
| M2.5 | 2028-01-21 (пт) | Все форматы P0 R/W; Script API v0; A2 с 2028-01-24 |
| M2.6 | 2028-02-25 (пт) | Feature freeze 1.5; корпус xlsx 3 000; языки волны 2 |
| M2.7 | 2028-03-07 (вт) | B1 публичная бета (цель 8 000 участников) |
| M2.8 | 2028-04-18 (вт) | GA 1.5 «Sheets» (RC1 2028-04-04, RC2 2028-04-11) |
| M2.9 | 2028-05-11 (чт) | 1.5.1 (2028-05-09); gate review фазы 2 |
Результаты: Sheets 1.5, Kernel 1.5
(grid-model, calc-engine, chart),
Codecs Sheets, .msx 1.0 (схема MOP 1.1), Chart в Write,
Script API v0 для Sheets, корпус таблиц 4 300, справка Sheets, гайд
миграции с Excel/Calc, 20 шаблонов.
Критерии выхода (gate 2028-05-11)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Открываемость xlsx/xls/ods | ≥ 99 % файлов корпуса | corpus-tool open |
| Точность формул | ≥ 99,5 % ячеек совпадают с кэшем Excel (1e-9); 500+ функций; 0 расхождений в датах/текстовых сравнениях на наборе из 5 000 тест-формул | стенд формул |
| Визуальная точность | печатные страницы xlsx: ≥ 85 % SSIM ≥ 0,95; диаграммы: ≥ 80 % SSIM ≥ 0,92 | corpus-tool compare |
| Round-trip xlsx | ≥ 90 % файлов без потери элементов; сводные/условное форматирование/проверка данных сохраняются в 100 % случаев | corpus-tool roundtrip |
| Производительность (R1) | 1 млн формул пересчёт ≤ 2 с; открытие 100 МБ xlsx ≤ 10 с; прокрутка 60 FPS; старт ≤ 2 с; память ≤ 1,5 ГБ на 1 млн заполненных ячеек | bench |
| Стабильность | crash-free ≥ 99,5 %; 0 потерь данных | телеметрия |
| Тесты | покрытие calc-engine ≥ 85 %, grid-model ≥
80 %; 600 снимочных; фаззинг 7 суток xlsx/xls/csv/ods без падений; 120
UI-сценариев |
CI |
| Функции | 100 % P0 Sheets | чек-лист |
Зависимости: Kernel 1.0 (API заморожен к
2027-10-15); scene v0 для диаграмм (из фазы 1, E1.8);
дизайн Sheets с I05.
Риски фазы и меры: совместимость формул Excel (неочевидные правила приведения типов) — средняя/высокое → стенд сравнения с первых недель, список известных расхождений публикуется; производительность 1 млн строк — средняя/среднее → бенчмарки в CI с порогами; сводные таблицы объёмнее оценки — высокая/среднее → P0 ограничен базовыми сводными, срезы/сводные диаграммы — P1.
Команда фазы 2: Rust 4 (grid/calc/chart), Qt 3, кодеки 2, дизайнер 1, QA 2 + корпус 0,5, PM 1, техписатель 0,5, локализация 0,5 — ≈ 15, пик 18 с привлечением Ядра.
Перекрытия: I05–I09 параллельно с фазой 1 (общие Ядро/Платформа/Дизайн); I09–I12 — с фазой 3 (Chart нужен Slides с I11).
3.3 Фаза 3 «Slides и Draw» — 2028-01-10 – 2028-11-11 (44 недели, I09–I16) → релиз 2.0 «Slides+Draw» 2028-10-17
Цели
scene— общий граф фигур для Slides, Draw, Write, Sheets (одна модель фигур во всех приложениях).- Slides 2.0 с анимациями, переходами и режимом докладчика; pptx/ppt/odp R/W.
- Draw 2.0 с коннекторами, стенсилами и слоями; svg/vsdx/odg R/W.
- Корпус презентаций и схем 3 800 файлов; метрики точности.
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E3.1 | Граф сцены | scene |
Фигуры (187 preset geometry DrawingML + собственные пути), группы,
трансформации, стили (заливка сплошная/градиент/узор/изображение, линии,
стрелки, тени и свечение — базово), текст в фигурах через
text-layout (автоподбор, поля, колонки), коннекторы (точки
привязки, прямые/ломаные/ортогональные/кривые, авто-маршрутизация с
обходом), слои, направляющие/сетка/привязка, hit-testing, манипуляторы
(ручки, поворот, редактор узлов), выравнивание/распределение, z-порядок;
операции с журналом. Миграция фигур Write/Sheets с scene v0
на v1. |
I09–I12 | Ядро/Графика |
| E3.2 | Slides | Slides, slides-model |
Модель: мастера → макеты → слайды → заполнители; темы DrawingML (цвета/шрифты/эффекты) и темы MDS; переходы (20 типов P0); анимации (вход/выход/выделение/пути движения, триггеры, временная шкала, повтор); режим докладчика (второй экран, заметки, таймер, следующий слайд, перо/лазер); медиа (аудио/видео через Qt Multimedia, обрезка — P1); заметки, раздаточные, сортировщик, разделы, скрытые слайды, экспорт. | I10–I15 | Графика |
| E3.3 | Draw | Draw | Многостраничный холст, стенсилы P0: блок-схемы, UML (классы, последовательности, активности, варианты использования), сети, BPMN 2.0 (базовый), ER, планы помещений, электрические (базово), иконки; коннекторы с авто-маршрутизацией; слои; размеры и единицы (мм/дюйм/пиксели); выравнивание/распределение/размеры; данные фигур (P1); печать (постеры — P1); экспорт. | I10–I15 | Графика |
| E3.4 | Кодеки Slides/Draw | codecs/{ooxml-pml,msppt,odf-odp,svg,vsdx,msvsd,emf,drawio,iwork} |
pptx/pptm/potx R/W (слайды, макеты, мастера, темы, анимации, переходы, медиа, заметки, VBA как blob), ppt R/W ([MS-PPT]), odp/otp R/W, key R (R*), sxi R; svg R/W (SVG 1.1 + подмножество 2), odg R/W, vsdx R/W ([MS-VSDX]: страницы, мастера, фигуры, коннекторы, слои), vsd/vsdm R*, emf/wmf R, drawio R, dxf R (P1, 2.1), cdr подмножество (P2); экспорт pdf/png/svg/jpg/html слайдов, emf/vsdx схем; видео mp4/webm (P1, 2.1 — зависит от решения по кодеку, раздел 12). | I09–I15 | Кодеки |
| E3.5 | Приложения Qt | Slides, Draw | Slides: панель слайдов/структура, редактор, заметки, панели анимаций/переходов/дизайна, сортировщик, режим докладчика; Draw: панель фигур (поиск по стенсилам), слои, свойства фигуры, страницы; общие диалоги фигур и редактор узлов; ribbon для обоих. | I10–I15 | Графика |
| E3.6 | Интеграции | Chart, Math, Write, Sheets | Chart в Slides (вставка/редактирование); чтение формул OMML как
изображений (редактор Math — фаза 4); фигуры scene v1 в
Write и Sheets (вставка фигур, текстовые поля, SmartArt как группы);
Script API для Slides/Draw v0. |
I12–I15 | Графика |
| E3.7 | Качество | QA | Корпус: pptx 2 000, ppt 300, odp 200, vsdx 300, svg 1 000; SSIM для слайдов (эталон PowerPoint), детерминированный рендер кадров анимаций (тесты временной шкалы), фаззинг pptx/ppt/svg/vsdx/emf/wmf, UI-сценарии 150. | I09–I16 | QA |
| E3.8 | Дизайн | Дизайн | 40 тем презентаций, 10 наборов стенсилов (600 фигур), экраны Slides/Draw (≈ 70), Meridian Glyphs до 600, шаблоны схем. | I09–I14 | Дизайн |
Функции P0 — Meridian Slides
(docs/apps/slides.md)
| Группа | Функции P0 |
|---|---|
| Слайды и структура | создание/дублирование/удаление/перестановка, макеты, мастера и темы, разделы, скрытые слайды, сортировщик, структура (outline), заметки докладчика |
| Содержимое | текст в заполнителях и полях (все возможности
text-layout: списки, уровни, автоподбор), фигуры и группы,
изображения (обрезка, стили), таблицы, диаграммы (Chart), медиа
(аудио/видео), гиперссылки и действия, нумерация/дата/колонтитулы
слайдов, SmartArt — чтение |
| Дизайн | темы (цвета/шрифты/эффекты), варианты, фон слайда, размер слайда (16:9/4:3/A4), направляющие и сетка, выравнивание |
| Переходы и анимации | 20 переходов с длительностью/звуком, анимации вход/выход/выделение/пути, порядок и триггеры, временная шкала, предпросмотр |
| Показ | полноэкранный показ, режим докладчика (второй экран, заметки, таймер, следующий слайд), перо/лазер, произвольный показ, повтор по кругу, кнопки навигации |
| Рецензирование | комментарии, проверка орфографии, сравнение (P1) |
| Файл | pptx/pptm/potx/ppt/odp/otp R/W; key/sxi R; экспорт pdf
(слайды/раздаточные/заметки), png/svg/jpg слайдов, html;
.mpx 1.0; печать раздаточных |
| Производительность | 1 000 слайдов открываются ≤ 6 с (R1), переключение слайда ≤ 100 мс, показ 60 FPS |
Функции P0 — Meridian Draw
(docs/apps/draw.md)
| Группа | Функции P0 |
|---|---|
| Холст | страницы (размер, ориентация, фон), слои (видимость/блокировка/печать), сетка/направляющие/привязка (сетка, объекты, точки), масштаб до 3 200 %, линейки и единицы |
| Фигуры | 187 стандартных + стенсилы P0 (блок-схемы, UML, сети, BPMN, ER, планы, электрика, иконки), рисование (линия, кривая Безье, полилиния, свободная), редактор узлов, текст в фигуре, группы, порядок, выравнивание/распределение/одинаковый размер, поворот/отражение |
| Коннекторы | точки привязки, типы (прямой/ломаный/ортогональный/кривой), авто-маршрутизация с обходом фигур, перепривязка при перемещении, стрелки и подписи |
| Стили | заливки (сплошная/градиент/узор/изображение), линии (тип/толщина/концы), тени, стили фигур, пипетка формата, темы цветов MDS |
| Данные и навигация | поиск фигур, панель страниц, гиперссылки между страницами, свойства фигуры (P1 — данные) |
| Файл | .mvx/svg/odg/vsdx R/W; vsd/vsdm/emf/wmf/drawio R; dxf
(P1); экспорт pdf/png/svg/emf/vsdx; печать с масштабом |
Порядок внедрения внутри фазы
| Инкремент | Даты | Ядро / кодеки | Приложения | Качество / альфы-беты |
|---|---|---|---|---|
| I09 | 2027-12-13 – 2028-01-21 (фаза с 01-10) | scene v1 архитектура, preset geometry, стили; pptx
reader v0 (слайды/макеты/фигуры/текст) |
прототип холста Slides | корпус pptx 800 |
| I10 | 2028-01-24 – 2028-03-03 | текст в фигурах, группы, манипуляторы; темы DrawingML; коннекторы v1; vsdx reader v0 | Slides: редактор, панель слайдов, мастера/макеты; Draw: холст, фигуры, страницы | эталоны PowerPoint; бенчмарки |
| I11 | 2028-03-06 – 2028-04-14 | переходы, анимации (модель + временная шкала); авто-маршрутизация; svg R/W | Slides: таблицы/Chart/изображения/медиа; Draw: коннекторы, слои, стенсилы 5 наборов | фаззинг pptx/svg |
| I12 | 2028-04-17 – 2028-05-26 | pptx writer round-trip; ppt reader; odp R/W; odg R/W | Slides: анимации/переходы UI, режим докладчика; Draw: выравнивание, стили, редактор узлов | A1 внутренняя альфа 2028-05-26 |
| I13 | 2028-05-29 – 2028-07-07 | vsdx writer; emf/wmf; drawio; key R*; экспорт pdf/изображений;
фигуры scene в Write/Sheets |
заметки/раздаточные/сортировщик; Draw: стенсилы 10 наборов, печать | корпус 3 000; A2 закрытая альфа с 2028-07-10 (300 участников) |
| I14 | 2028-07-10 – 2028-08-18 | ppt writer (подмножество), vsd R*, производительность 1 000 слайдов | a11y, локализация волны 3 (zh-CN/ja/ko/ar/he/pl/nl/cs) | feature freeze 2.0 — 2028-08-18 |
| I15 | 2028-08-21 – 2028-09-29 | исправления | справка Slides/Draw | B1 — 2028-09-05, B2 — 2028-09-26, code freeze 2028-09-22 |
| I16 | 2028-10-02 – 2028-11-10 | хотфиксы | — | RC1 — 2028-10-03, RC2 — 2028-10-10, GA 2.0 — 2028-10-17; 2.0.1 — 2028-11-07; gate 2028-11-10 |
Вехи
| Веха | Дата | Содержание |
|---|---|---|
| M3.1 | 2028-03-03 (пт) | scene v1 с текстом и группами; темы; pptx reader 85 %
элементов; vsdx reader v0; окна Slides/Draw |
| M3.2 | 2028-04-14 (пт) | Переходы/анимации в модели; коннекторы с авто-маршрутизацией; svg R/W; Chart в Slides |
| M3.3 | 2028-05-26 (пт) | pptx round-trip ≥ 80 %; odp/odg; режим докладчика; A1 |
| M3.4 | 2028-07-07 (пт) | vsdx R/W; экспорт PDF/изображений; фигуры в Write/Sheets; корпус 3 000; A2 с 2028-07-10 |
| M3.5 | 2028-08-18 (пт) | Feature freeze 2.0; языки волны 3; производительность 1 000 слайдов |
| M3.6 | 2028-09-05 (вт) | B1 публичная бета (цель 10 000 участников) |
| M3.7 | 2028-10-17 (вт) | GA 2.0 «Slides+Draw»; запуск баг-баунти (раздел 5) |
| M3.8 | 2028-11-10 (пт) | 2.0.1 (2028-11-07); gate review фазы 3 |
Результаты: Slides 2.0, Draw 2.0, Kernel 2.0
(scene v1), Codecs Slides/Draw,
.mpx/.mvx 1.0 (MOP 1.2), фигуры во всех
приложениях, 40 тем, 10 стенсилов, корпус 3 800, справка, гайды миграции
с PowerPoint/Visio.
Критерии выхода (gate 2028-11-10)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Открываемость pptx/ppt/odp/vsdx/svg | ≥ 99 % / ≥ 97 % (ppt, vsd) | corpus-tool open |
| Визуальная точность | слайды pptx: ≥ 85 % SSIM ≥ 0,95; vsdx: ≥ 80 % SSIM ≥ 0,93; svg (набор W3C + корпус): ≥ 95 % тестов | corpus-tool compare |
| Анимации | 100 % типов анимаций корпуса воспроизводятся; тесты кадров временной шкалы — 300 сценариев | тесты |
| Round-trip pptx/vsdx | ≥ 88 % / ≥ 80 % файлов без потерь | corpus-tool roundtrip |
| Производительность | 1 000 слайдов ≤ 6 с; показ 60 FPS с анимациями на R1/R2/R3; схема 5 000 фигур — редактирование 60 FPS | bench |
| Стабильность | crash-free ≥ 99,5 % | телеметрия |
| Тесты | покрытие scene ≥ 80 %; 700 снимочных; фаззинг 7 суток;
150 UI-сценариев |
CI |
| Функции | 100 % P0 Slides и Draw | чек-лист |
Зависимости: Chart 1.5 (I11);
text-layout в фигурах — работа Ядра I09–I10; решение по
видеокодеку (раздел 12) к I12.
Риски фазы и меры: анимации PowerPoint (сотни пресетов) — высокая/среднее → поддержка по частоте, остальные деградируют в «появление»; vsdx-мастера и формулы ShapeSheet — высокая/среднее → интерпретатор подмножества ShapeSheet по частоте, остальное — статическая геометрия; Qt Multimedia различия на ОС — средняя/среднее → единый бэкенд (FFmpeg-бэкенд Qt 6.8) и тест-матрица.
Команда фазы 3: Rust 5, Qt 4, кодеки 3, дизайнер 1, QA 3, PM 1, техписатель 1, локализация 0,5 — ≈ 19, пик 22.
Перекрытия: I09–I12 — с фазой 2 (Chart, Ядро);
I12–I16 — с фазой 4 (общий scene/raster для
Paint и PDF-аннотаций, команда Графика делится на две линии).
3.4 Фаза 4 «Paint, PDF, Math» — 2028-05-15 – 2029-03-11 (43 недели, I13–I19) → релиз 2.5 «Paint+PDF+Math» 2029-02-13
Цели
raster— тайловый растровый движок со слоями и GPU-композитингом; Paint 2.5.- Кодек PDF (чтение/запись/рендер) и Meridian PDF 2.5: просмотр, аннотации, формы, базовое редактирование, подпись.
math— раскладка формул уровня TeX; Meridian Math 2.5 и формулы во всех приложениях (OMML ↔︎ MathML ↔︎ LaTeX).- PDF/A и PDF/UA из всех приложений с валидацией; электронная подпись документов (PAdES; ГОСТ — фаза 6).
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E4.1 | Растровый движок | raster |
Тайлы 256×256, слои (режимы смешивания 16, непрозрачность, маски,
группы), 8/16 бит и float (EXR для HDR), цветовые профили (ICC через
lcms2-совместимый Rust-крейт или qcms),
GPU-композитинг Skia, кисти (круглая/текстурная, динамика по давлению
планшета), выделения (прямоугольник/эллипс/лассо/волшебная палочка/по
цвету, растушёвка), трансформации (масштаб/поворот/перспектива), фильтры
P0 (25: размытие Гаусса/движения, резкость, шум, уровни, кривые,
цветовой баланс, оттенок/насыщенность, чёрно-белое, инверсия, порог,
постеризация, пикселизация, виньетка, …), undo по тайлам, холст до 16
000 × 16 000. |
I13–I16 | Графика |
| E4.2 | Paint | Paint | Инструменты (кисть, карандаш, ластик, заливка, градиент, текст,
фигуры из scene, клонирование, пипетка, обрезка,
перемещение), панели слоёв/истории/цветов/кистей, скриншоты
(область/окно/экран, задержка), пакетное изменение размера (P1),
.mpi (ZIP: слои PNG/EXR + image.xml). |
I14–I17 | Графика |
| E4.3 | Кодеки изображений | codecs/images |
png/jpg/webp/gif/bmp/tiff/ico/ora R/W (через
image/zune-семейство крейтов + свои обёртки),
gif-анимация W, psd R + базовый W (слои, маски), xcf R, heic/avif R, svg
растрирование (через scene), raw через libraw
(динамически, плагин). Метаданные EXIF/XMP/ICC сохраняются. |
I13–I17 | Кодеки |
| E4.4 | Кодек и рендер PDF | codecs/pdf |
Парсер (xref/потоки/объектные потоки/инкрементальные
обновления/восстановление повреждённых), шифрование (RC4/AES, пароли),
рендер страниц в scene/Skia (пути, текст с 14 стандартными
+ встроенными шрифтами Type1/TrueType/CFF/Type3, изображения всех
фильтров, прозрачность, затенения, шаблоны), извлечение текста с
порядком чтения, аннотации (чтение/запись), AcroForms, закладки,
вложения, PDF/A-валидатор, писатель (из списка отображения всех
приложений + инкрементальные сохранения аннотаций). Снижение риска:
pdfium как опциональный бэкенд рендера за флагом (раздел
13). |
I13–I18 | Кодеки + Ядро |
| E4.5 | Meridian PDF | Просмотр (одна/две страницы, непрерывно, миниатюры, закладки, поиск, масштаб, повороты), аннотации (выделение/подчёркивание/зачёркивание, заметки, рисование, фигуры, штампы, текстовые поля), формы (заполнение, сохранение, экспорт FDF), страницы (объединение/разделение/поворот/удаление/извлечение), редактирование текста и изображений (базовое, в пределах блока), конвертация в docx через Write, PDF/A и PDF/UA экспорт, защита паролем и ограничения, электронная подпись PAdES-B (сертификаты из хранилища ОС; ГОСТ через КриптоПро — фаза 6), печать, сравнение (P1), OCR (P1 — через подключаемый Tesseract). | I15–I18 | Графика | |
| E4.6 | Математика | math, Math |
Раскладка по алгоритму TeX (боксы, дроби, радикалы, индексы,
операторы с пределами, матрицы, скобки с растяжением, акценты) на STIX
Two Math (MATH-таблица OpenType), парсеры LaTeX (подмножество amsmath),
UnicodeMath, MathML 3 (Presentation) R/W, OMML (docx) R/W; редактор:
визуальный (палитры структур), текстовый LaTeX с живым предпросмотром,
автозавершение; формулы как объекты scene во всех
приложениях (Write — inline и display, Sheets/Slides/Draw/Notes —
объекты); .meq; экспорт svg/png/mml/tex; доступность
(MathML в дерево a11y). |
I13–I17 | Графика + Ядро |
| E4.7 | Подписи и стандарты | Платформа, безопасность | Подпись документов MOP (signatures/, XAdES-подобно),
docx-подписи (чтение/проверка), PAdES-B/T для PDF, PDF/A-2b/3b и
PDF/UA-1 из Write/Sheets/Slides, цепочки сертификатов из хранилищ ОС,
штампы времени (RFC 3161). |
I16–I18 | Платформа |
| E4.8 | Качество | QA | Корпус: pdf 5 000 (включая «ломаные», pdf.js/Ghostscript-наборы), изображения 3 000, psd 300, формулы 2 000 (LaTeX-набор из arXiv-подмножества + OMML из корпуса docx); эталоны: Acrobat/Preview/pdf.js, Word для OMML; фаззинг pdf/psd/tiff/gif/webp/svg 24/7 (приоритет — PDF как главный вектор атак). | I13–I19 | QA + безопасность |
| E4.9 | Дизайн | Дизайн | Экраны Paint/PDF/Math (≈ 60), кисти и палитры, штампы, Meridian Glyphs до 750. | I13–I17 | Дизайн |
Функции P0 — Meridian Paint
(docs/apps/paint.md)
| Группа | Функции P0 |
|---|---|
| Холст | создание (размер/разрешение/фон), масштаб/поворот вида, сетка, направляющие, цветовой режим RGB 8/16 бит, ICC |
| Слои | создание/дублирование/группы/маски/режимы смешивания/непрозрачность/блокировка, объединение, выравнивание, корректирующие слои (уровни/кривые — P1) |
| Инструменты | кисть/карандаш/ластик (давление планшета), заливка, градиент, текст, фигуры, клонирование, пипетка, обрезка, перемещение/трансформация, выделения 5 типов, лупа, рука |
| Коррекция и фильтры | 25 фильтров P0, яркость/контраст, уровни, кривые, оттенок/насыщенность, баланс, размер изображения/холста, поворот/отражение |
| Скриншоты | область/окно/экран, задержка, в буфер/в новый документ/в файл |
| Файл | png/jpg/webp/gif/bmp/tiff/ico/ora R/W; psd R (+базовый W);
xcf/heic/avif/raw/svg R; .mpi; экспорт для веба
(качество/размер), печать |
| Производительность | 8 000 × 8 000 × 10 слоёв: кисть без задержки (≤ 16 мс), фильтр Гаусса ≤ 1 с (R1) |
Функции P0 — Meridian PDF
(docs/apps/pdf.md)
| Группа | Функции P0 |
|---|---|
| Просмотр | режимы страниц, миниатюры, закладки, вложения, поиск (с подсветкой), масштаб, поворот, полноэкранный, ночной режим, свойства |
| Аннотации | выделение/подчёркивание/зачёркивание, заметки, рисование (перо/маркер), фигуры, штампы, текстовые поля, список аннотаций, экспорт/импорт FDF/XFDF |
| Формы | заполнение AcroForms (текст/флажки/списки/подписи), сохранение, очистка, экспорт данных; XFA — не поддерживается (сообщение) |
| Страницы | объединение файлов, разделение, извлечение, поворот, удаление, перестановка, вставка пустой/из изображения, нумерация Бейтса (P1) |
| Редактирование | текст в блоке (шрифт/размер/замена), изображения (замена/удаление/обрезка), ссылки, водяной знак, колонтитулы (P1), сжатие (P1) |
| Конвертация | PDF → docx (Write), PDF → png/jpg/txt; из любого приложения → PDF/A-2b/3b, PDF/UA-1; из изображений → PDF |
| Защита и подпись | пароль открытия/ограничений, удаление защиты (при знании пароля), PAdES-B/T, проверка подписей, сертификация (P1) |
| Печать | диапазоны, несколько страниц на листе, брошюра, масштаб, аннотации вкл./выкл. |
Функции P0 — Meridian Math
(docs/apps/math.md)
| Группа | Функции P0 |
|---|---|
| Ввод | визуальные палитры (дроби, индексы, радикалы, интегралы, суммы, матрицы, скобки, акценты, греческие/операторы), LaTeX с предпросмотром, UnicodeMath, автозавершение, ошибки с подсветкой |
| Раскладка | алгоритм TeX, стили display/inline/script, растяжимые скобки и операторы, пределы, выравнивание многострочных формул (align), нумерация уравнений в Write |
| Форматы | .meq, MathML 3 R/W, LaTeX R/W (amsmath-подмножество),
OMML R/W (в docx), ODF формулы R, экспорт svg/png |
| Встраивание | во все приложения как объект scene (двойной щелчок —
редактирование по месту), inline в тексте Write с базовой линией, в
ячейках Sheets как объект, в Notes |
| Доступность | MathML в дерево доступности, озвучивание структуры (NVDA + MathCAT при наличии) |
Порядок внедрения внутри фазы
| Инкремент | Даты | Ядро / кодеки | Приложения | Качество / альфы-беты |
|---|---|---|---|---|
| I13 | 2028-05-29 – 2028-07-07 (фаза с 05-15) | raster v1 (тайлы, слои, GPU); PDF-парсер + рендер v0;
math раскладка v0 + LaTeX-парсер; png/jpg/webp/tiff |
Paint: холст, кисти, выделения; PDF: просмотр v0 | корпус pdf 2 000, изображений 1 000, формул 1 000 |
| I14 | 2028-07-10 – 2028-08-18 | слои с масками/режимами, трансформации, фильтры 10; PDF: текст/шрифты/изображения/прозрачность; MathML/OMML; gif/bmp/ico/ora | Paint: слои, текст, фигуры, фильтры; PDF: навигация/поиск/закладки/печать, аннотации v1; Math: редактор визуальный + LaTeX | эталоны Acrobat/pdf.js; фаззинг pdf 24/7 |
| I15 | 2028-08-21 – 2028-09-29 | фильтры 25, скриншоты, psd/heic/avif R, raw; PDF: AcroForms, страницы, PDF/A-валидатор, шифрование; Math во всех приложениях | PDF: формы, объединение/разделение, защита; Paint:
.mpi, экспорт для веба; Math: вставка в
Write/Sheets/Slides/Draw |
A1 внутренняя альфа 2028-09-29 |
| I16 | 2028-10-02 – 2028-11-10 | PDF: редактирование текста/изображений, PDF → docx, PDF/UA; подписи PAdES; psd W базовый, gif-анимация, xcf R | PDF: редактирование, подпись, конвертация; Paint: клонирование, градиенты, пакетный экспорт | корпус pdf 5 000; A2 закрытая альфа с 2028-11-13 (300 участников) |
| I17 | 2028-11-13 – 2028-12-22 | производительность (8K-холст, PDF 1 000 страниц), подписи MOP/docx | a11y, локализация, справка | feature freeze 2.5 — 2028-12-15 |
| I18 | 2028-12-25 – 2029-02-02 | исправления | — | B1 — 2029-01-16, B2 — 2029-01-30, code freeze 2029-01-26 |
| I19 | 2029-02-05 – 2029-03-16 (фаза до 03-11) | хотфиксы | — | RC1 — 2029-02-06, GA 2.5 — 2029-02-13; 2.5.1 — 2029-03-06; gate 2029-03-09 |
Вехи
| Веха | Дата | Содержание |
|---|---|---|
| M4.1 | 2028-07-07 (пт) | raster v1; PDF-рендер v0 (70 % корпуса рендерится);
math v0; окна Paint/PDF |
| M4.2 | 2028-08-18 (пт) | Слои/маски/фильтры; PDF-рендер 90 % корпуса с SSIM ≥ 0,95; редактор Math; MathML/OMML R/W |
| M4.3 | 2028-09-29 (пт) | Формы PDF, страницы, PDF/A; Math во всех приложениях; все форматы изображений P0; A1 |
| M4.4 | 2028-11-10 (пт) | Редактирование PDF, PDF → docx, PDF/UA, PAdES; A2 с 2028-11-13 |
| M4.5 | 2028-12-15 (пт) | Feature freeze 2.5; производительность; подписи MOP |
| M4.6 | 2029-01-16 (вт) | B1 публичная бета |
| M4.7 | 2029-02-13 (вт) | GA 2.5 «Paint+PDF+Math» (RC1 2029-02-06) |
| M4.8 | 2029-03-09 (пт) | 2.5.1 (2029-03-06); gate review фазы 4 |
Результаты: Paint 2.5, PDF 2.5, Math 2.5, Kernel 2.5
(raster, math), Codecs PDF/изображений,
формулы во всех приложениях, PDF/A и PDF/UA из всех приложений, подписи
документов, .mpi/.meq (MOP 1.3), корпус +10
300, справка, гайд миграции с Acrobat/Paint.NET.
Критерии выхода (gate 2029-03-09)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| PDF рендер | ≥ 97 % файлов корпуса (5 000) рендерятся; ≥ 90 % страниц SSIM ≥ 0,95 к Acrobat; 100 % «ломаных» из набора восстанавливаются или дают понятную ошибку | corpus-tool compare --pdf |
| PDF запись | 100 % PDF из Write/Sheets/Slides проходят veraPDF (PDF/A-2b) и PAC (PDF/UA) на наборе 500 документов | CI |
| Изображения | 100 % форматов P0 R/W с round-trip без потерь (png/tiff/bmp/webp-lossless), psd 300: ≥ 90 % слоёв читаются верно | тесты |
| Формулы | 2 000 формул: ≥ 95 % SSIM ≥ 0,95 к Word (OMML) и к LaTeX-эталону; 100 % MathML-набора W3C парсится | тесты |
| Производительность | PDF 1 000 страниц: открытие ≤ 2 с, переход ≤ 100 мс; кисть ≤ 16 мс на 8K; фильтр Гаусса ≤ 1 с | bench |
| Безопасность | фаззинг PDF 14 суток без падений/утечек памяти; PDF-парсер в песочном процессе; 0 критических по пентесту | отчёты |
| Стабильность | crash-free ≥ 99,6 % | телеметрия |
| Функции | 100 % P0 Paint/PDF/Math | чек-лист |
Зависимости: scene v1 (фаза 3) для
фигур и аннотаций; Write для PDF → docx; решение по
pdfium-бэкенду (раздел 13) к I14; libraw и
Tesseract — плагины с динамической линковкой (лицензионная
проверка).
Риски фазы и меры: собственный PDF-рендер не
достигает 90 % к сроку — высокая/высокое → pdfium-бэкенд за
флагом с I14, метрика по обоим бэкендам, решение на M4.3; шрифты
Type1/CFF в PDF — средняя/среднее →
skrifa/ttf-parser + собственный CFF; ICC/цвет
в Paint — средняя/низкое → sRGB P0, CMYK — Publisher (фаза 7).
Команда фазы 4: Rust 5 (raster 2, pdf 2, math 1), Qt 4, кодеки 2, дизайнер 1, QA 3, безопасность 1, PM 1, техписатель 1 — ≈ 18, пик 20.
Перекрытия: I13–I16 — с фазой 3 (команда Графика разделена: Slides/Draw ↔︎ Paint/PDF/Math); I17–I19 — с фазой 5 (Ядро, Дизайн, QA).
3.5 Фаза 5 «Notes, Mail, Base, Forms» — 2028-11-13 – 2029-11-11 (52 недели, I17–I25) → релиз 3.0 «Notes/Mail/Base/Forms» 2029-10-16
Цели
- Четыре PIM/данных-приложения с общими SQLite-хранилищами, поиском FTS5 и интеграциями между собой и с Write/Sheets.
- Mail — рабочий почтовый клиент с календарём/контактами/задачами (IMAP/SMTP/CalDAV/CardDAV, OAuth для Gmail/Microsoft/Яндекс).
- Base — настольная СУБД на SQLite с конструкторами и коннекторами к серверным СУБД.
- Forms — конструктор форм с локальным сбором ответов (веб-сбор — фаза 6 через Meridian Cloud).
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E5.1 | Общая PIM-платформа | pim-store, search |
SQLite-хранилища с миграциями, FTS5-поиск (морфология ru/en через ICU-токенизатор), синхронизационные примитивы (журнал изменений для фазы 6), шифрование локальных хранилищ (SQLCipher-совместимо, ключ в хранилище ОС), планировщик фоновых задач, уведомления ОС. | I17–I19 | PIM |
| E5.2 | Notes | Notes, notes-model |
Книжки → разделы → страницы; свободный холст (блоки
текста/изображений/таблиц/вложений/формул в любом месте), рукописный
ввод (перо/планшет, сглаживание, распознавание — P1), теги,
флажки-задачи, поиск по всему, ссылки между страницами, вырезки из
буфера/HTML, версии страниц, .mnx (книжка = пакет), импорт
enex/md-папок/html, .one/.onepkg R*, экспорт
pdf/md/html; веб-клиппер (расширение браузера) — P1 (3.1). |
I18–I23 | PIM |
| E5.3 | Mail, mail-core |
IMAP (IDLE, CONDSTORE/QRESYNC), SMTP, OAuth2 (Gmail, Microsoft 365,
Яндекс), автонастройка (autoconfig/autodiscover/SRV), папки, цепочки,
поиск по всем аккаунтам, фильтры/правила, подписи, HTML-письма (рендер
через text-layout + html-кодек, блокировка внешнего
содержимого), вложения (предпросмотр через кодеки пакета), календарь
(CalDAV, события, повторения RRULE, напоминания, приглашения iTIP/iMIP,
несколько календарей, ICS-подписки), контакты (CardDAV, vCard 4,
группы), задачи (VTODO), офлайн-режим, импорт eml/mbox/msg/pst
(R*)/ldif, экспорт eml/mbox/ics/vcf/pdf, антиспам-эвристика (P1), S/MIME
и PGP (P1, 3.1), Exchange EWS (P1, 3.1), .mmx архив. |
I17–I23 | PIM + бэкенд | |
| E5.4 | Base | Base, base-engine |
.mbx = SQLite + служебные таблицы
meridian_*; конструктор таблиц (типы, ключи, индексы,
связи, проверки), визуальный конструктор запросов + SQL-редактор с
автодополнением, формы (конструктор с привязкой, подчинённые формы,
элементы управления), отчёты (конструктор, группировки, итоги,
печать/PDF), макросы через MeridianScript, импорт csv/xlsx/sqlite/odb,
accdb/mdb R* (таблицы/запросы/связи, формы — частично), коннекторы
PostgreSQL/MySQL/MS SQL (нативные Rust-драйверы) и ODBC (связанные
таблицы), экспорт csv/xlsx/sql/pdf. |
I17–I23 | PIM |
| E5.5 | Forms | Forms, forms-model |
Конструктор (типы: короткий/длинный текст, выбор одного/нескольких,
выпадающий, шкала, матрица, дата/время, число, файл — P1, ранжирование),
логика ветвления, обязательность/проверки, разделы и страницы, темы MDS,
предпросмотр на телефоне/десктопе, печатная версия (PDF), сбор ответов:
офлайн (файлы ответов .mfr от заполнения в Meridian
PDF/Write и импорт), локальная ссылка в сети организации (встроенный
сервер — P1), веб-публикация через Meridian Cloud — фаза 6; ответы →
Sheets (живая таблица с диаграммами сводки), экспорт xlsx/csv,
.mfx/.mft, импорт вопросов из docx/xlsx. |
I18–I23 | PIM + бэкенд |
| E5.6 | Кодеки PIM | codecs/{pst,msg,enex,onenote,accdb,mbox,vcard,ical} |
pst/ost R* ([MS-PST]: папки, письма, вложения, контакты, календарь),
msg R ([MS-OXMSG]), mbox/eml R/W, ics/vcf R/W (RFC 5545/6350), enex R,
.one/.onepkg R* ([MS-ONE], [MS-ONESTORE] —
текст/изображения/структура), accdb/mdb R* (Jet/ACE-страницы), odb R
(ODF Base с встроенным HSQLDB — только схема/данные через экспорт),
ldif. |
I17–I22 | Кодеки |
| E5.7 | Интеграции | Write, Sheets, Hub | Слияние писем (mail merge) Write ← контакты Mail/таблицы Sheets/Base (P0 в 3.0); Forms → Sheets; Base → Sheets (связанные диапазоны); Notes ↔︎ Hub (быстрая заметка); Mail → Write (письмо как документ), «Отправить по почте» из всех приложений; единый поиск Hub по Notes/Mail/Base. | I21–I23 | PIM |
| E5.8 | Качество | QA | Корпус: pst 200, mbox/eml 20 000 писем (включая вредоносные вложения из публичных наборов), ics 2 000, vcf 2 000, enex 300, one 200, accdb/mdb 300; тест-серверы IMAP/SMTP/CalDAV (Dovecot, Postfix, Radicale, Stalwart) в CI; интеграционные тесты с Gmail/Microsoft/Яндекс (тестовые аккаунты); фаззинг pst/msg/one/accdb/eml/ics/vcf; нагрузочные тесты Mail (100 000 писем в аккаунте). | I17–I25 | QA + безопасность |
| E5.9 | Дизайн | Дизайн | Экраны четырёх приложений (≈ 110), 15 шаблонов форм, 10 шаблонов баз, 10 шаблонов книжек, Meridian Glyphs до 850. | I17–I22 | Дизайн |
Функции P0 — Meridian Notes
(docs/apps/notes.md)
| Группа | Функции P0 |
|---|---|
| Структура | книжки/разделы/группы разделов/страницы/подстраницы, переупорядочивание, цвета, закреплённые, корзина |
| Холст | свободное размещение блоков, текст с форматированием и стилями
(заголовки/списки/код/цитаты), таблицы, изображения, вложения, формулы
(Math), фигуры (scene), чек-боксы-задачи, теги, ссылки на
страницы и внешние |
| Рукописный ввод | перо/маркер/ластик, давление, сглаживание, выделение штрихов и перемещение, фон линейка/клетка |
| Поиск и навигация | полнотекстовый поиск по книжкам (включая вложения docx/pdf/xlsx), недавние, избранное, быстрая заметка из Hub |
| Файл | .mnx, автосохранение, версии страниц, импорт
enex/md/html/.one(R*), экспорт pdf/md/html, печать |
Функции P0 — Meridian Mail
(docs/apps/mail.md)
| Группа | Функции P0 |
|---|---|
| Аккаунты | мастер настройки (автообнаружение), IMAP/SMTP, OAuth2 Gmail/Microsoft 365/Яндекс, несколько аккаунтов, единая папка «Входящие», офлайн-кэш (политика по объёму) |
| Письма | список (цепочки/плоский, группировка по дате), просмотр HTML/текст с
блокировкой внешнего содержимого, составление (редактор на
text-layout, форматирование, вставка изображений/таблиц,
подписи, цитирование), ответ/переслать, вложения (предпросмотр,
сохранить всё), флаги/категории, поиск (все поля, вложения),
фильтры/правила, архив, чёрновики, отложенная отправка (P1), отзыв
(P1) |
| Календарь | день/неделя/месяц/повестка, несколько календарей, события с повторениями, напоминания, приглашения (принять/отклонить/предложить время), занятость (P1), ICS-подписки, часовые пояса, CalDAV |
| Контакты | карточки vCard 4, группы, фото, поиск, автодополнение адресов, CardDAV, импорт/экспорт vcf/csv/ldif |
| Задачи | списки, сроки, напоминания, VTODO через CalDAV, задачи из писем |
| Файл и форматы | импорт eml/mbox/msg/pst(R*)/ics/vcf/ldif; экспорт
eml/mbox/ics/vcf/pdf; архив .mmx |
| Безопасность | хранение паролей/токенов в хранилище ОС, TLS по умолчанию, предупреждения о фишинге (эвристика), запрет скриптов в HTML, карантин вложений |
Функции P0 — Meridian Base
(docs/apps/base.md)
| Группа | Функции P0 |
|---|---|
| Таблицы | конструктор (типы, ключи, автонумерация, индексы, значения по умолчанию, проверки, подстановки), режим таблицы (сортировка/фильтр/поиск/правка), связи (1:N, N:M через связующие, каскады), импорт csv/xlsx/sqlite |
| Запросы | визуальный конструктор (выбор/группировка/параметры/объединения), SQL-редактор (подсветка, автодополнение, план), сохранённые запросы, параметрические |
| Формы | конструктор (поля, списки, кнопки, вкладки, подчинённые формы), привязка к таблицам/запросам, навигация по записям, проверка ввода |
| Отчёты | конструктор (группировки, итоги, колонтитулы), печать/PDF, экспорт xlsx |
| Внешние данные | связанные таблицы PostgreSQL/MySQL/MS SQL/ODBC, обновление, импорт accdb/mdb (R*), odb |
| Автоматизация | MeridianScript (события форм, макросы), VBA-транслятор — P1 |
| Файл | .mbx, сжатие/восстановление, пароль, экспорт
csv/xlsx/sql/pdf |
Функции P0 — Meridian Forms
(docs/apps/forms.md)
| Группа | Функции P0 |
|---|---|
| Конструктор | 10 типов вопросов, разделы/страницы, обязательность/проверки, логика ветвления, перемешивание, описание/изображения, темы MDS, предпросмотр |
| Сбор ответов | офлайн-ответы (.mfr) из Meridian PDF/Write, импорт
ответов, печатная версия/PDF-форма (AcroForm), тест-режим с баллами |
| Результаты | таблица ответов в Sheets (живая), сводка с диаграммами, экспорт xlsx/csv, индивидуальные ответы |
| Файл | .mfx/.mft, импорт вопросов из docx/xlsx,
шаблоны |
| Веб-публикация | через Meridian Cloud — фаза 6 (3.5); в 3.0 — локальный сервер в сети организации (P1) |
Порядок внедрения внутри фазы
| Инкремент | Даты | Платформа / кодеки | Приложения | Качество / альфы-беты |
|---|---|---|---|---|
| I17 | 2028-11-13 – 2028-12-22 | pim-store, FTS5, миграции; IMAP/SMTP-ядро, OAuth2;
.mbx-движок; модели .mnx/.mfx
(XSD) |
каркасы четырёх окон; Mail: мастер аккаунтов, получение/отправка | тест-серверы в CI; корпус писем 5 000 |
| I18 | 2028-12-25 – 2029-02-02 | ics/vcf/mbox/eml R/W; SQL-конструктор; FTS по вложениям | Notes: книжки/холст/текст/изображения/теги; Mail: список/просмотр/составление/папки/поиск; Base: таблицы/запросы; Forms: конструктор вопросов | корпус pst/msg 200 |
| I19 | 2029-02-05 – 2029-03-16 | CalDAV/CardDAV; фоновый планировщик; enex R; accdb R* v0 | Notes: рукописный ввод, вырезки, импорт; Mail: календарь/контакты/задачи; Base: формы, связи, импорт; Forms: ветвление, PDF-форма, офлайн-ответы → Sheets | A1 внутренняя альфа 2029-03-16 (вся команда переводит почту на Mail) |
| I20 | 2029-03-19 – 2029-04-27 | pst R*, msg R, .one R*, odb R; коннекторы
PostgreSQL/MySQL/MS SQL/ODBC |
Mail: фильтры/правила/подписи/HTML-редактор/вложения; Base: отчёты, связанные таблицы; Notes: экспорт, версии; Forms: тест-режим, сводка | корпус писем 20 000; нагрузочные 100 000 писем |
| I21 | 2029-04-30 – 2029-06-08 | шифрование хранилищ; уведомления ОС; mail merge в Write | интеграции (E5.7), единый поиск Hub, «Отправить по почте»; Base: скрипты | A2 закрытая альфа с 2029-06-11 (300 участников, 20 организаций) |
| I22 | 2029-06-11 – 2029-07-20 | производительность, офлайн-режим Mail | a11y, локализация волны 4 (hi/id/vi/th/ro/hu/bg/sr/hr/sk/lt/lv/et/fa/ur/ms), справка | feature freeze 3.0 — 2029-07-20 |
| I23 | 2029-07-23 – 2029-08-31 | исправления | — | B1 — 2029-08-07, code freeze 2029-08-31 |
| I24 | 2029-09-03 – 2029-10-12 | исправления | — | B2 — 2029-09-04, RC1 — 2029-09-25, RC2 — 2029-10-09 |
| I25 | 2029-10-15 – 2029-11-23 (фаза до 11-11) | хотфиксы | — | GA 3.0 — 2029-10-16; 3.0.1 — 2029-11-06; gate 2029-11-09 |
Вехи
| Веха | Дата | Содержание |
|---|---|---|
| M5.1 | 2028-12-22 (пт) | PIM-платформа; почта получается/отправляется через IMAP/SMTP с
OAuth2; .mbx-движок; схемы
.mnx/.mfx |
| M5.2 | 2029-02-02 (пт) | Четыре приложения с базовыми экранами; Notes холст; Mail список/просмотр/составление; Base таблицы/запросы; Forms конструктор |
| M5.3 | 2029-03-16 (пт) | Календарь/контакты/задачи; рукописный ввод; формы Base; Forms → Sheets; A1 |
| M5.4 | 2029-04-27 (пт) | pst/msg/one/accdb импорт; коннекторы СУБД; отчёты Base; правила Mail |
| M5.5 | 2029-06-08 (пт) | Интеграции между приложениями; mail merge; шифрование; A2 с 2029-06-11 |
| M5.6 | 2029-07-20 (пт) | Feature freeze 3.0; языки волны 4 |
| M5.7 | 2029-08-07 (вт) | B1 публичная бета (цель 15 000 участников) |
| M5.8 | 2029-10-16 (вт) | GA 3.0 «Notes/Mail/Base/Forms» (RC1 2029-09-25, RC2 2029-10-09) |
| M5.9 | 2029-11-09 (пт) | 3.0.1 (2029-11-06); gate review фазы 5 |
Результаты: Notes/Mail/Base/Forms 3.0,
pim-store, Codecs PIM,
.mnx/.mmx/.mbx/.mfx
(MOP 1.4), mail merge в Write, единый поиск Hub, корпус PIM, справка,
гайды миграции с Outlook/Thunderbird/OneNote/Evernote/Access.
Критерии выхода (gate 2029-11-09)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Mail совместимость | 100 % сценариев с Gmail/Microsoft 365/Яндекс/Dovecot (матрица 60 сценариев); pst 200: ≥ 95 % писем/контактов/событий импортированы без потерь; 20 000 писем рендерятся без сбоев, ≥ 95 % HTML-писем визуально корректны (ручная выборка 500) | тесты + QA |
| Mail производительность | аккаунт 100 000 писем: поиск ≤ 300 мс, открытие папки ≤ 500 мс, синхронизация 10 000 новых ≤ 60 с; память ≤ 500 МБ | bench |
| Base | accdb 300: ≥ 90 % таблиц/связей/запросов импортированы; формы ≥ 60 %; 1 млн записей — фильтр ≤ 1 с; коннекторы: 100 % сценариев CRUD с PostgreSQL 16/MySQL 8/MS SQL 2022 | тесты |
| Notes | enex 300: ≥ 98 % заметок с вложениями; .one 200: ≥ 80 %
текста/изображений; книжка 10 000 страниц — поиск ≤ 300 мс |
тесты |
| Forms | 100 % типов вопросов round-trip .mfx ↔︎ PDF-форма ↔︎
ответы; сводка в Sheets обновляется ≤ 1 с на 10 000 ответов |
тесты |
| Безопасность | 0 выполнений активного содержимого из писем/вложений (набор 500 вредоносных образцов); пентест Mail без критических; фаззинг pst/msg/one/accdb 14 суток | отчёты |
| Стабильность | crash-free ≥ 99,6 %; 0 потерь писем/заметок (журнал + проверка целостности) | телеметрия |
| Функции | 100 % P0 четырёх приложений | чек-лист |
Зависимости: text-layout/html-кодек для
писем (фаза 1), Math/scene (фазы 3–4) для Notes, Sheets для
Forms/Base, PDF-формы (фаза 4) для офлайн-ответов Forms; тестовые
аккаунты у провайдеров почты; лицензия на тестовые наборы pst.
Риски фазы и меры: Mail — самый большой объём работ
фазы (почтовые протоколы и совместимость провайдеров) — высокая/высокое
→ старт Mail в I17 первым, 2 бэкенд-инженера на протоколах, Exchange
EWS/S-MIME/PGP — P1; .one-формат плохо документирован —
высокая/низкое → R* с честным сообщением о неполном импорте; accdb-формы
— высокая/среднее → импорт форм как «черновик»; четыре приложения одной
фазой перегружают QA — средняя/высокое → +2 QA в найме, автоматизация
протоколов в CI.
Команда фазы 5: Rust 3, Qt 4, кодеки 2, бэкенд 2, дизайнер 1–2, QA 3, безопасность 1, PM 1–2, техписатель 1, локализация 1 — ≈ 21, пик 26.
Перекрытия: I17–I19 — с фазой 4 (QA, Дизайн);
I21–I25 — с фазой 6 (Сервисы, pim-store →
синхронизация).
3.6 Фаза 6 «Совместная работа и облако» — 2029-05-14 – 2030-05-11 (52 недели, I21–I29) → релиз 3.5 «Cloud и совместная работа» 2030-04-16
Цели
- Meridian Sync: CRDT (Yrs) поверх журналов операций моделей текста, сетки и сцены; совместное редактирование Write/Sheets/Slides между десктопами.
- Meridian Cloud: SaaS-хранилище и сервер совместной работы
(
cloud-service) в регионах РФ и ЕС; on-prem комплект для Enterprise. - Business/Enterprise-контур: консоль администратора, SSO (OIDC/SAML), SCIM, политики, аудит, плавающие и объёмные лицензии.
- Forms — веб-публикация и сбор ответов через Cloud; общий доступ и версии для всех документов.
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E6.1 | Meridian Sync | sync, undo/crdt |
Отображение операций
text-model/grid-model/scene на
типы Yrs (YText с атрибутами, YMap/YArray для структуры), журнал
history/ в пакетах MOP, присутствие (курсоры, выделения,
имена), комментарии в реальном времени, офлайн-правки и слияние без
конфликтов, разрешение конфликтов форматирования по правилам (последний
пишущий для атрибутов, объединение структур), undo «своих» операций,
ограничения размеров (сжатие истории, снимки), протокол WebSocket
(бинарный, с сжатием), шифрование транспорта, тесты на сходимость (10
000 случайных сценариев). |
I21–I26 | Ядро + Сервисы |
| E6.2 | Meridian Cloud | services/cloud-service |
Хранилище (S3-совместимое, версии, корзина), метаданные
(PostgreSQL), WebSocket-сервер CRDT (axum, горизонтальное
масштабирование через Redis pub/sub), общий доступ (ссылки с правами
просмотр/комментирование/редактирование, срок, пароль), папки и
организации, квоты (Pro 100 ГБ, Business 1 ТБ/организация), поиск по
содержимому (индекс через кодеки), превью, веб-страница общего доступа
(просмотр через серверный рендер в PNG/PDF — без веб-редактора),
уведомления, регионы РФ/ЕС, Helm-чарты и docker compose для
on-prem, резервное копирование, мониторинг, SLA 99,9 %. |
I21–I27 | Сервисы |
| E6.3 | Клиент облака | Hub, Shell, fs/cloud |
Вход в облако из Hub, папка Meridian Cloud в приложениях (открыть/сохранить/версии/поделиться), синхронизация выбранных папок на диск (клиент на Rust, дельты), индикаторы состояния, разрешение конфликтов файлов (не CRDT-документов), «Поделиться» во всех приложениях, совместное редактирование в Write/Sheets/Slides (включение по кнопке; Draw/Notes — P1 3.6), присутствие и чат-комментарии. | I22–I27 | Платформа |
| E6.4 | Консоль администратора и SSO | portal (консоль), id-service |
Организации: пользователи, группы, приглашения, роли; SSO OIDC
(Entra ID, Google Workspace, Keycloak, Яндекс 360) и SAML 2.0; SCIM 2.0
провиженинг; политики (запрет облака/ассистента/скриптов, каналы
обновлений, принудительные настройки) с доставкой через
id-service и через ADMX (Windows GPO), plist (macOS MDM),
dconf (Linux); аудит (экспорт CSV/SIEM через syslog/HTTP); раздача
лицензий (централизованно, по группам), отчёты использования;
Education-режим (классы, учителя/ученики — 3.6). |
I22–I27 | Сервисы |
| E6.5 | Enterprise-лицензирование | license-service, meridian-license,
on-prem |
On-prem сервер лицензий (аренда на 1 ч, продление в фоне, 24 ч офлайн-резерв, пул мест, отчёты), объёмные ключи (один ключ на N мест, автоактивация через MDM/GPO), офлайн-активация полного цикла через портал администратора, отзыв и перенос, режим «воздушного зазора» (без интернета вообще — ручные пакеты лицензий), HA (2 узла, PostgreSQL репликация — 3.7). | I22–I27 | Сервисы |
| E6.6 | Соответствие РФ/ЕС | Безопасность, юристы | 152-ФЗ: хранение ПДн россиян в РФ-сегменте, модель угроз, оценка соответствия (аттестация облачного сегмента — с внешним лицензиатом ФСТЭК), ГОСТ-подписи документов через КриптоПро CSP (плагин, Enterprise), GDPR для ЕС-сегмента (DPA, DPIA), SOC 2 Type I — подготовка (3.7). | I22–I28 | Безопасность |
| E6.7 | Forms в вебе | cloud-service, Forms |
Публикация формы по ссылке (веб-страница заполнения, адаптивная, без аккаунта или с аккаунтом организации), сбор ответов в облако → Sheets, лимиты по редакции, защита от спама (rate limit, challenge без сторонних CAPTCHA), уведомления о новых ответах. | I24–I27 | Сервисы + PIM |
| E6.8 | Качество и надёжность | QA, DevOps, безопасность | Нагрузочные тесты (10 000 одновременных сессий CRDT, 1 000 000 файлов), chaos-тесты (отключение узлов), тесты сходимости CRDT, пентест (внешний), восстановление из бэкапа ≤ 1 ч (RTO), RPO ≤ 5 мин, SLA-отчёты, on-prem установка «с нуля» ≤ 2 ч по инструкции. | I23–I29 | QA + DevOps |
| E6.9 | Дизайн | Дизайн | Экраны облака/присутствия/общего доступа/консоли (≈ 50), веб-страница общего доступа и веб-формы, Meridian Glyphs до 900. | I21–I26 | Дизайн |
Порядок внедрения и вехи
| Инкремент | Даты | Содержание | Веха |
|---|---|---|---|
| I21 | 2029-04-30 – 2029-06-08 (фаза с 05-14) | архитектура Sync (ADR), прототип YText ↔︎ text-model;
cloud-service скелет (хранилище, WebSocket), протокол;
дизайн консоли |
M6.1 2029-06-08: прототип совместного ввода текста между двумя Write |
| I22 | 2029-06-11 – 2029-07-20 | Write совместное редактирование (присутствие, комментарии), общий доступ, версии; SSO OIDC; SCIM v0; on-prem compose; on-prem лицензионный сервер v0 | M6.2 2029-07-20: Write CRDT внутри команды; OIDC вход в портал |
| I23 | 2029-07-23 – 2029-08-31 | Sheets и Slides CRDT; консоль v2 (группы, политики, аудит — поверх консоли v1 фаз 2–3, раздел 4); SAML; плавающие лицензии клиент+сервер | M6.3 2029-08-31: A1 внутренняя альфа (вся команда работает в Cloud) |
| I24 | 2029-09-03 – 2029-10-12 | политики (ADMX/plist/dconf), MDM/GPO автоактивация, объёмные ключи; регионы РФ/ЕС; КриптоПро-плагин; Forms веб-публикация v0 | M6.4 2029-10-12: A2 закрытая альфа с 2029-10-15 — 10 организаций-пилотов (3 РФ-госсектор, 4 СМБ, 3 образование) |
| I25 | 2029-10-15 – 2029-11-23 | Helm, бэкапы/восстановление, мониторинг, нагрузочные тесты, пентест; синхронизация папок на диск; Forms веб v1 | M6.5 2029-11-23: 10 000 сессий выдержаны; RTO/RPO подтверждены |
| I26 | 2029-11-26 – 2030-01-04 | офлайн-правки и слияние, сжатие истории; консоль: отчёты, Education-режим (черновик); документация on-prem | M6.6 2030-01-18: feature freeze 3.5 (после каникул, пт) |
| I27 | 2030-01-07 – 2030-02-15 | исправления; аттестация 152-ФЗ (процесс); SOC 2 подготовка | M6.7 2030-02-05 (вт): B1 публичная бета Cloud (ограниченная: 5 000 аккаунтов Pro-trial) |
| I28 | 2030-02-18 – 2030-03-29 | исправления | B2 — 2030-03-05, code freeze 2030-03-22, RC1 — 2030-03-26 |
| I29 | 2030-04-01 – 2030-05-10 (фаза до 05-11) | хотфиксы | RC2 — 2030-04-09; M6.8 2030-04-16: GA 3.5 + запуск Meridian Cloud SaaS и on-prem; M6.9 2030-05-10: 3.5.1 (2030-05-07), gate |
Результаты: Sync 1.0, Cloud 1.0 (SaaS РФ/ЕС + on-prem), совместное редактирование Write/Sheets/Slides, консоль администратора, SSO/SCIM/политики, плавающие и объёмные лицензии, Forms в вебе, ГОСТ-подпись (плагин), документация on-prem, SLA.
Критерии выхода (gate 2030-05-10)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Сходимость CRDT | 100 % из 10 000 случайных сценариев сходятся; задержка отображения чужой правки ≤ 200 мс (p95, РФ↔︎РФ), ≤ 500 мс межрегионально | тесты + телеметрия |
| Нагрузка | 10 000 одновременных сессий на документ-кластер; 1 000 000 файлов; p95 API ≤ 300 мс | нагрузочные |
| Надёжность | SLA 99,9 % за 3 месяца беты; RTO ≤ 1 ч; RPO ≤ 5 мин; 0 потерь данных | мониторинг |
| Безопасность | внешний пентест без критических/высоких; аттестация 152-ФЗ в процессе с датой; шифрование на диске и в транспорте | отчёты |
| Enterprise | on-prem установка ≤ 2 ч по инструкции (3 пилота подтвердили); плавающие лицензии: 1 000 клиентов на сервер, офлайн-резерв 24 ч | пилоты |
| Консоль | 100 % P0 консоли; SSO с Entra ID/Google/Keycloak/Яндекс 360; SCIM с Entra ID/Okta | тесты |
| Стабильность клиентов | crash-free ≥ 99,7 % | телеметрия |
Зависимости: журналы операций моделей (заложены с
фазы 1, E1.1/E2.1/E3.1); pim-store (фаза 5) для будущей
синхронизации Notes/Mail (3.6); юрлица и договоры с ЦОД в РФ/ЕС (раздел
12); лицензиат ФСТЭК для аттестации; КриптоПро SDK (лицензия).
Риски фазы и меры: сложность отображения богатого форматирования на CRDT — высокая/высокое → прототип в I21, список «несинхронизируемых» операций публикуется, деградация в блокировку абзаца; стоимость облака — средняя/среднее → квоты, холодное хранение, бюджет по регионам; аттестация 152-ФЗ дольше 6 месяцев — высокая/среднее → продажи Enterprise on-prem не зависят от аттестации SaaS; SSO-зоопарк — средняя/низкое → тест-стенды четырёх провайдеров.
Команда фазы 6: бэкенд 6, Rust 2 (crdt/sync), Qt 2, DevOps 2, безопасность 2, QA 2, дизайнер 1, PM 1, техписатель 1, поддержка Enterprise 1 — ≈ 20, пик 24.
Перекрытия: I21–I25 — с фазой 5; I27–I29 — с фазой 7 (магазин использует Cloud-инфраструктуру и ID).
3.7 Фаза 7 «Экосистема» — 2030-01-14 – 2031-01-11 (52 недели, I27–I35) → релиз 4.0 «Экосистема» 2030-12-10
Цели
- Магазин скриптов, шаблонов, тем и плагинов с подписанными пакетами, модерацией и (по решению владельца) выплатами авторам.
- Meridian Assist: локальные и облачные модели для переписывания, резюме, перевода, формул по описанию, генерации слайдов — с явным согласием и политиками организации.
- Meridian Publisher 4.0 и Meridian Plan 4.0 (Pro и выше).
- Платформа расширений: Python-плагин, SDK, VBA-транслятор v2, стабильный Script API 2.0; веб-просмотрщик WASM — только по решению владельца.
Состав работ по эпикам
| ID | Эпик | Модуль | Содержание | Инкременты | Владелец |
|---|---|---|---|---|---|
| E7.1 | Магазин | services/marketplace-service, Hub |
Каталог (скрипты, шаблоны, темы, стенсилы, словари, плагины), пакеты
.mpkg (ZIP + манифест + подпись Ed25519 издателя и
магазина), установка/обновление/удаление из Hub, песочница и декларация
разрешений для скриптов, модерация (автопроверки + ручная),
рейтинги/отзывы, политика организации (разрешённые пакеты), бесплатные и
платные (через billing-service, выплаты авторам — раздел
12), SDK издателя (CLI mpkg), стартовый каталог: 150
шаблонов, 50 скриптов, 20 тем, 10 стенсилов. |
I27–I33 | Сервисы + Платформа |
| E7.2 | Meridian Assist | assist, services/assist-service |
Локальные модели (llama.cpp через Rust-биндинги, модели 1–8B по
выбору, загрузка через Hub, GPU/CPU), облачный шлюз
assist-service (адаптеры к API провайдеров, выбор региона,
журнал использования, без обучения на данных пользователей), функции:
переписать/сократить/расширить/тон, резюме документа/письма/цепочки,
перевод (40 языков), формула по описанию (Sheets) с объяснением,
генерация слайдов из текста/документа, черновик ответа (Mail), запрос к
данным (Base, SQL по описанию), извлечение задач (Notes); UI: панель
Assist, встроенные подсказки, явное согласие, политика организации
(выкл./локально/облако), индикатор источника; оценка качества на наборах
(ru/en). |
I27–I33 | Сервисы + Платформа |
| E7.3 | Meridian Publisher | Publisher | Мастер-страницы, фреймы (текст/изображение), связанные текстовые
фреймы, обтекание, направляющие/колонки/базовая сетка, типографика
(кернинг/трекинг/лигатуры/висячая пунктуация/оптическое выравнивание —
через text-layout), стили объектов, CMYK и плашечные цвета
(ICC), печать с метками реза/вылетами, PDF/X-4 экспорт, предпечатная
проверка, спуск полос (брошюра), шаблоны
(буклеты/визитки/листовки/плакаты), импорт .mwx/docx как
текста, .mpub/.mpubt. |
I27–I33 | Графика |
| E7.4 | Meridian Plan | Plan | Задачи/WBS, зависимости (FS/SS/FF/SF, задержки), Гант, календари
(рабочие дни/праздники/ресурсные), ресурсы и загрузка (выравнивание —
базовое), критический путь, базовые планы и сравнение, вехи, проценты
выполнения, затраты, представления
(Гант/таблица/ресурсы/календарь/канбан), импорт mpp (R*) и xml MS
Project, экспорт xlsx/pdf/png, .mpln, интеграция с Mail
(задачи) и Sheets. |
I27–I33 | PIM |
| E7.5 | Платформа расширений | Script, SDK | Script API 2.0 (стабильный, типизированный d.ts, события,
UI-панели/диалоги из скриптов, доступ к файлам по разрешениям), Python
3.12 как плагин (встроенный интерпретатор в песочном процессе,
meridian модуль), VBA-транслятор v2 (объектная модель
Word/Excel → MeridianScript для 80 % типовых макросов корпуса), плагины
на Rust/C++ (ABI через C, подписанные), документация SDK, примеры,
тестовый фреймворк для скриптов. |
I27–I32 | Платформа |
| E7.6 | Веб-просмотрщик (WASM) — опционально | kernel (wasm32), cloud-service |
Только по решению владельца (раздел 12): ядро + Render
(Skia/CanvasKit или vello) в WebAssembly, просмотр
документов по ссылке общего доступа без установки, без редактирования;
оценка 6 чел.-мес. |
I30–I33 | Ядро |
| E7.7 | Качество и завершение | QA, DevOps | Регрессия всего пакета (13 приложений), корпус 50 000+, LTS-канал 4.0, аудит доступности пакета (WCAG 2.1 AA всех приложений), аудит безопасности магазина (внешний), документация архитектуры v4, план цикла 2031+. | I27–I35 | QA |
| E7.8 | Дизайн | Дизайн | Магазин и Assist (≈ 40 экранов), Publisher/Plan (≈ 70), 100 шаблонов Publisher/Plan, финальный набор Meridian Glyphs (≈ 1 000). | I27–I32 | Дизайн |
Порядок внедрения и вехи
| Инкремент | Даты | Содержание | Веха |
|---|---|---|---|
| I27 | 2030-01-07 – 2030-02-15 (фаза с 01-14) | marketplace-service скелет, формат .mpkg;
архитектура Assist (ADR, политика данных), локальная модель в Hub;
модели Publisher/Plan (XSD); Script API 2.0 проект |
M7.1 2030-02-15: каталог отдаёт пакеты, Hub ставит шаблон; локальная модель отвечает в панели |
| I28 | 2030-02-18 – 2030-03-29 | магазин в Hub (просмотр/установка/обновление), модерация; Assist в Write/Sheets (переписать/резюме/перевод/формула); Publisher окно (фреймы, мастер-страницы); Plan окно (Гант, зависимости, критический путь) | M7.2 2030-03-29: Assist v1 в двух приложениях; Publisher/Plan редактируют и сохраняют |
| I29 | 2030-04-01 – 2030-05-10 | Assist в Slides/Mail/Base/Notes; магазин: загрузка авторами, рейтинги, платные пакеты; Publisher: CMYK/PDF-X/метки; Plan: ресурсы, базовые планы, mpp R* | M7.3 2030-05-10: A1 внутренняя альфа |
| I30 | 2030-05-13 – 2030-06-21 | Python-плагин, VBA v2, SDK, плагины Rust/C++; WASM-прототип (если решено) | M7.4 2030-06-21: SDK опубликован для 20 внешних авторов; A2 закрытая альфа с 2030-06-24 (авторы + 300 пользователей) |
| I31 | 2030-06-24 – 2030-08-02 | стартовый каталог (150/50/20/10); Publisher спуск полос, предпечатная проверка; Plan представления/экспорт; Assist оценка качества | M7.5 2030-08-02: каталог заполнен; оценка Assist ≥ целевых |
| I32 | 2030-08-05 – 2030-09-13 | производительность, a11y-аудит пакета, LTS-канал | M7.6 2030-09-13: feature freeze 4.0 |
| I33 | 2030-09-16 – 2030-10-25 | исправления; аудит безопасности магазина | B1 — 2030-10-01, B2 — 2030-10-29 |
| I34 | 2030-10-28 – 2030-12-06 | исправления | code freeze 2030-11-15, RC1 — 2030-11-19, RC2 — 2030-12-03 |
| I35 | 2030-12-09 – 2031-01-17 (фаза до 01-11) | хотфиксы, план 2031+ | M7.7 2030-12-10: GA 4.0 «Экосистема» + LTS 4.0; M7.8 2030-12-24: 4.0.1; M7.9 2031-01-10: завершение программы 48 месяцев, отчёт владельцу |
Результаты: магазин с каталогом, Assist (локально/облако), Publisher 4.0, Plan 4.0, Script API 2.0, Python-плагин, VBA v2, SDK, LTS 4.0, (опц.) веб-просмотрщик, корпус 50 000+, полный пакет из 13 приложений на трёх ОС.
Критерии выхода (2031-01-10)
| Критерий | Целевое значение | Как измеряем |
|---|---|---|
| Магазин | ≥ 230 пакетов на старте, 100 % подписаны, установка ≤ 10 с, 0 инцидентов безопасности за бету; ≥ 50 внешних авторов | метрики сервиса |
| Assist | качество на наборе 1 000 задач ru/en: переписывание — ≥ 80 % принято асессорами, резюме — ≥ 85 %, формула по описанию — ≥ 90 % корректных на 500 запросах; локальная модель отвечает ≤ 3 с на R1 (CPU) для 200 токенов; 0 отправок данных без согласия | оценка + аудит |
| Publisher | PDF/X-4 проходит проверку в 100 % из 200 макетов; импорт docx 1 000: ≥ 95 % текста без потерь | тесты |
| Plan | mpp 300: ≥ 90 % задач/связей/ресурсов; критический путь совпадает с MS Project на 200 проектах | тесты |
| Расширения | VBA v2 транслирует ≥ 80 % макросов корпуса (2 000 макросов) без ручной правки; Script API 2.0 — 0 ломающих изменений после GA | тесты |
| Пакет | все 13 приложений: crash-free ≥ 99,7 %; WCAG 2.1 AA; корпус 50 000 с метриками не ниже предыдущих релизов | аудит |
Зависимости: Cloud/ID (фаза 6) для магазина и
Assist-облака; text-layout типографика (Publisher) — работа
Ядра I27–I29; решения владельца по Assist-провайдерам, выплатам авторам,
WASM (раздел 12).
Риски фазы и меры: качество локальных моделей на русском — средняя/среднее → оценка на старте, выбор моделей по тесту, облако как вариант; магазин как вектор атак — средняя/высокое → подписи, разрешения, песочница, внешний аудит; Publisher/Plan «съедают» фазу — средняя/среднее → P0 ограничен, остальное в 4.x; выгорание команды к 48-му месяцу — средняя/высокое → сокращение нагрузки в H8, ротация.
Команда фазы 7: Rust 4, Qt 5, бэкенд 3, ML-инженер 1, кодеки 1, дизайнер 2, QA 4, безопасность 1, PM 2, техписатели 2 — ≈ 25, пик 28.
Перекрытия: I27–I29 — с фазой 6 (Сервисы); с I30 фаза 7 идёт одна; H8 — сокращение состава до 62 FTE и подготовка цикла 2031+.
4. Дорожка «Лицензирование, аккаунты, биллинг»
Дорожка идёт через все фазы; владелец — подкоманда «Сервисы и
лицензирование» (PM лицензирования + безопасность). Вехи дорожки
нумеруются L<фаза>.<n>.
| Фаза | Период | Работы | Веха (дата) | Результат |
|---|---|---|---|---|
| 0 | 2027-01-11 – 2027-04-11 | Схема редакций и матрица функций; форматы ключа и лицензии; threat
model; каркас
meridian-license/meridian-id/id-service/license-service/tools/keygen;
переговоры с платёжными провайдерами; черновики
оферты/EULA/политики |
L0.1 2027-03-26: схема утверждена; e2e-активация в CI | docs/10-licensing-accounts.md 1.0; тест-векторы |
| 1 | 2027-04-12 – 2028-01-11 | Пробный период Pro 30 дней (I03); вход в Meridian ID: e-mail/пароль,
ссылка-вход, OAuth Google/Apple/Microsoft/Яндекс ID/VK ID, 2FA
(I03–I05); активация ключом онлайн/офлайн (I04); портал: покупки, ключи,
устройства, подписки, счета, удаление/экспорт данных (I05–I07);
billing-service: тарифы Home/Pro (подписка месяц/год,
вечная), промокоды, региональные цены, возвраты 14 дней; РФ — ЮKassa (+
CloudPayments резерв) с фискализацией 54-ФЗ через провайдера, счета/акты
для юрлиц; мир — Stripe либо Paddle как merchant of record (решение
владельца к I04, раздел 12); update-service по редакциям;
льготный период и режим «только чтение и печать» |
L1.1 2027-08-06: портал v1 + sandbox-платежи; L1.2 2027-09-17: production-платежи, тест-покупки; L1.3 2027-12-14: продажи открыты | Home/Pro продаются в РФ и мире; Free без аккаунта |
| 2–3 | 2028-01-10 – 2028-11-11 | Business «стартовый»: организации в портале, участники/роли, централизованная раздача ключей и назначение мест по группам, счета-оферты и безнал для юрлиц РФ, консоль администратора v1 (пользователи, лицензии, счета), SSO OIDC (Google Workspace, Microsoft Entra ID, Яндекс 360) для входа сотрудников; Education: верификация (домен/документы), скидки, лицензии на класс/кампус; реселлерский модуль v0 (ключи партнёров, отчёты) | L2.1 2028-03-03: организации и назначение мест; L3.1 2028-07-07: SSO OIDC; L3.2 2028-09-29: Business и Education в продаже к GA 2.0 | Business/Education продаются; консоль v1 |
| 4–5 | 2028-11-13 – 2029-11-11 | Реселлерский модуль v1 (комиссии, региональные партнёры, НДС-агенты), объёмные ключи v0 для пилотов Enterprise (ручные договоры), ЭДО для юрлиц РФ (Диадок/СБИС), подписки через Microsoft Store/Mac App Store (In-App) с привязкой к Meridian ID, семейный доступ Home (3 устройства — члены семьи), Assist-квоты в модели данных (без продажи) | L4.1 2029-02-13: партнёрские продажи; L5.1 2029-10-16: объёмные ключи v0, ЭДО | партнёры/реселлеры; пилоты Enterprise |
| 6 | 2029-05-14 – 2030-05-11 | Enterprise: on-prem сервер лицензий (аренда 1 ч, 24 ч резерв, пул мест), плавающие лицензии, объёмные ключи с автоактивацией MDM/GPO, офлайн-активация полного цикла, режим «воздушного зазора», консоль v2 (группы, политики, SCIM, SAML, аудит), регионы хранения РФ/ЕС, Business подписка с Cloud 1 ТБ, Pro + Cloud 100 ГБ, биллинг хранилища, ГОСТ-подпись (КриптоПро, лицензии CSP для клиентов — через партнёра), SLA-договоры, аттестация 152-ФЗ облака | L6.1 2029-08-31: плавающие лицензии; L6.2 2029-10-12: политики/объёмные ключи; L6.3 2030-04-16: Enterprise on-prem в продаже | Enterprise; Cloud в тарифах |
| 7 | 2030-01-14 – 2031-01-11 | Биллинг магазина (платные пакеты, выплаты авторам — по решению владельца, налоговое агентирование), тарификация Assist (включённые квоты Pro/Business, докупка), LTS-канал как условие Enterprise, HA лицензионного сервера, отчёты использования для организаций, переход вечных лицензий на 4.x (политика — раздел 13) | L7.1 2030-05-10: магазин-биллинг; L7.2 2030-12-10: Assist-тарифы | полная коммерческая модель |
Сопутствующие юридические и финансовые работы
| Работа | Когда | Исполнитель | Примечание |
|---|---|---|---|
| Оферта B2C (РФ), EULA, оферта B2C (мир), договор B2B (РФ), Terms (мир) | черновики фаза 0, финал к B1 1.0 (2027-10-26) | внешние юристы + PM | обновление при каждом крупном релизе |
| Политика конфиденциальности (152-ФЗ) и Privacy Policy (GDPR), согласие на телеметрию, DPA для организаций | к B1 1.0; DPA — к 2.0 | юристы, DPO (внешний) | телеметрия только opt-in; регионы данных |
| Уведомление Роскомнадзора об обработке ПДн; локализация БД ПДн в РФ | фаза 0–1 | юристы, DevOps | РФ-сегмент id-service/billing-service |
| НДС РФ: 20 % по умолчанию; освобождение по пп. 26 п. 2 ст. 149 НК РФ при включении в реестр отечественного ПО (решение владельца, раздел 12) | фаза 1; реестр — фаза 3–4 | бухгалтерия, юристы | влияет на цены и на госсектор |
| VAT ЕС/UK, sales tax США: через merchant of record (Paddle) либо собственная регистрация OSS | фаза 1 | финансы | решение владельца |
| Фискализация 54-ФЗ: чеки через платёжного провайдера-агента (ЮKassa/CloudPayments), чеки на подписки и возвраты | фаза 1 | бэкенд + бухгалтерия | провайдер формирует чеки, мы передаём состав |
| Признание выручки по подпискам, отчётность, реселлерские договоры, Enterprise-договор и SLA | фазы 1–6 | финансы, юристы | шаблоны к L3.2 и L6.3 |
| Экспортный контроль и криптография: уведомительный порядок для ввоза/ПО с шифрованием не требуется для российского производителя; для ЕС — стандартные исключения (TLS, подпись) | фаза 1 | юристы | фиксируется в docs/legal/ |
| Товарный знак: РФ (фаза 0), Мадридская система (фаза 1, страны по регионам продаж), домены | фазы 0–1 | юристы | резервное имя на случай отказа |
| Патентный анализ (OSP-реестр, свобода действий по UI/анимациям/формулам) | фаза 0 → обновление в фазах 3 и 6 | патентный поверенный | страхование ответственности — вопрос владельца |
5. Дорожка «Качество и форматы»
5.1 Корпус форматов
| Этап | Срок | Объём | Состав (приблизительно) | Источники |
|---|---|---|---|---|
| К1 | фаза 0, к 2027-02-26 | 1 000 | docx 400, doc 150, xlsx 150, xls 50, pptx 100, odt/ods/odp 50, rtf 50, pdf 50 | открытые данные госорганов РФ/ЕС, вузы, Common Crawl (по MIME), тест-наборы LibreOffice/Apache POI/ISO 29500/OASIS, документы владельца, синтетика |
| К2 | фаза 1, к 2027-10-29 | 10 000 | docx 4 000, doc 800, odt 600, rtf 400, xlsx 2 000, xls 300, pptx 1 200, прочие 700 | + бета-участники (добровольная передача файлов с анонимизацией), + генераторы по спецификациям, + архивы веб-сайтов (robots-разрешённые) |
| К3 | фазы 2–3, к 2028-08-18 | 20 000 | + xlsx 3 000, ods 300, csv 500, pptx 2 000, ppt 300, odp 200, vsdx 300, svg 1 000, xlsb/numbers 200 | + наборы диаграмм, + стенсилы и схемы из открытых проектов |
| К4 | фазы 4–5, к 2029-07-20 | 50 000 | + pdf 5 000, изображения 3 000, psd 300, формулы 2 000, письма 20 000 (eml/mbox), pst 200, ics/vcf 4 000, enex/one 500, accdb/mdb 300 | + наборы pdf.js/Ghostscript/«ломаные» PDF, + arXiv-формулы, + публичные почтовые архивы (Enron и т. п.), + наборы вредоносных вложений (изолированно) |
| К5 | фазы 6–7, к 2030-09-13 | 60 000+ | + документы совместного редактирования (сценарии CRDT), mpp 300, макросы VBA 2 000, пакеты магазина | + пилоты Enterprise (по договору, на их стороне — «корпус у клиента» с отчётом метрик без передачи файлов) |
Правила корпуса: лицензионная чистота (реестр источников и
разрешений), анонимизация, хранение в приватном LFS (2 ТБ к К4), индекс
в SQLite, частотная статистика элементов — основа приоритетов P0/P1,
«корпус у клиента» (инструмент corpus-tool запускается на
стороне организации и присылает только метрики).
5.2 Метрики точности по релизам
Метрика «визуальная точность» = доля страниц с SSIM ≥ 0,95 (150 dpi, оттенки серого, допуск антиалиасинга) к эталону приложения-источника. «Открываемость» = доля файлов без ошибок и потерь структуры. «Round-trip» = доля файлов без потери элементов при открытии и сохранении.
| Формат | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 | 3.5 | 4.0 |
|---|---|---|---|---|---|---|---|
| docx: визуал / открываемость / round-trip | 85 / 99 / 90 | 88 / 99,3 / 92 | 90 / 99,5 / 94 | 92 / 99,5 / 95 | 93 / 99,7 / 96 | 94 / 99,7 / 96 | 95 / 99,8 / 97 |
| doc / rtf / odt (визуал) | 80 / 85 / 82 | 83 / 88 / 85 | 85 / 90 / 88 | 87 / 91 / 90 | 88 / 92 / 91 | 89 / 93 / 92 | 90 / 94 / 93 |
| xlsx: формулы (ячейки) / печать (визуал) / round-trip | — | 99,5 / 85 / 90 | 99,6 / 88 / 92 | 99,7 / 90 / 94 | 99,8 / 91 / 95 | 99,8 / 92 / 96 | 99,9 / 93 / 97 |
| pptx: визуал / round-trip | — | — | 85 / 88 | 88 / 90 | 90 / 92 | 91 / 93 | 92 / 94 |
| vsdx / svg (визуал) | — | — | 80 / 95 | 83 / 96 | 85 / 97 | 86 / 97 | 88 / 98 |
| pdf: рендер (визуал) / открываемость | — | — | — | 90 / 97 | 92 / 98 | 93 / 98 | 95 / 99 |
| изображения (round-trip без потерь) / psd (слои) | — | — | — | 100 / 90 | 100 / 92 | 100 / 93 | 100 / 95 |
| формулы OMML/LaTeX (визуал) | — | — | — | 95 | 96 | 97 | 97 |
| pst / enex / accdb (импорт без потерь) | — | — | — | — | 95 / 98 / 90 | 96 / 98 / 92 | 97 / 99 / 93 |
| mpp / VBA-макросы (транслируются) | — | — | — | — | — | — | 90 / 80 |
Инфраструктура: ферма эталонов (6 Windows VM с Microsoft 365, LibreOffice, 1 Mac с iWork, Acrobat), GPU-раннер для снимочных тестов (ночной прогон К2 ≤ 4 ч, К4 ≤ 12 ч на 4 раннерах), панель метрик по коммитам, порог регрессии 0,3 п. п. блокирует merge.
5.3 Фаззинг и безопасность парсеров
cargo-fuzz(libFuzzer) + AFL++ для всех кодеков; цели добавляются вместе с кодеком (DoD); словари из спецификаций; корпусы фаззинга в LFS; санитайзеры ASan/UBSan/MSan для C++ и unsafe-блоков, Miri для unsafe в ядре (еженедельно).- Ферма 24/7 с фазы 1 (8 ядер → 64 ядра к фазе 4); PDF и бинарные MS-форматы — приоритет (≥ 50 % машинного времени).
- Парсеры чужих форматов — в песочном процессе (Windows AppContainer/Job, macOS sandbox, Linux seccomp + namespaces) с фазы 1; скрипты — в песочнице QuickJS с лимитами; Python-плагин — отдельный процесс (фаза 7).
- Процесс уязвимостей:
security@адрес, SLA реакции 48 ч, исправление критических ≤ 7 дней с внеочередным релизом, публикация advisories, CVE через CNA (заявка в фазе 3).
5.4 Бета-программа «Meridian Insiders»
| Уровень | Канал | Кто | Что получает | Обязательства |
|---|---|---|---|---|
| 1 «Ранний stable» | stable за 48 ч до всех | все желающие | релиз первым, дайджест | — |
| 2 «Бета» | beta | регистрация в Hub | новые функции за 6–8 недель до GA, бейдж | отчёты в форму обратной связи |
| 3 «Nightly» | nightly | приглашение (активность, навыки) | ежедневные сборки, прямой канал с командой | отчёты, участие в опросах, NDA для закрытых альф |
Цели участников публичных бет: 1.0 — 5 000 (активных ≥ 3 000), 1.5 — 8 000, 2.0 — 10 000, 2.5 — 10 000, 3.0 — 15 000, 3.5 — 5 000 (ограниченная бета облака) + 15 000 клиентской, 4.0 — 20 000. Закрытые альфы: 100 → 200 → 300 → 300 → 300 (+20 организаций) → 10 организаций → 300 + 20 авторов. Инструменты: встроенная форма «Сообщить о проблеме» (с автоприкреплением анонимизированного отчёта, по согласию — файла), Sentry self-hosted, опросы NPS/CSAT, еженедельный дайджест, доска известных проблем.
5.5 Баг-баунти (с релиза 2.0, 2028-10-17)
- Платформы: Standoff 365 Bug Bounty (РФ) и HackerOne (международная); частная программа с B1 2.0 (2028-09-05), публичная — с GA.
- Область: кодеки и парсеры (RCE, выход из песочницы), сервисы
(
id,license,billing,portal,update, с фазы 6 —cloud), механизм обновлений и подписи, активация и лицензирование (обход — только как информация, вознаграждение сниженное), скрипты и магазин (фаза 7). - Вознаграждения (ориентир, USD): критическая 3 000–5 000, высокая 1 000–2 000, средняя 300–500, низкая 100; бюджет 50–100 тыс./год.
- Политика: координированное раскрытие 90 дней, зал славы, запрет на тестирование production-данных пользователей (тест-стенды).
6. Платформы и дистрибуция
| Платформа | Минимальная версия | Архитектуры | С релиза | Форматы пакетов | Магазины / каналы |
|---|---|---|---|---|---|
| Windows | 10 21H2 / 11 | x64; ARM64 с 1.5 | 1.0 (2027-12-14) | MSIX (магазин и предприятия), MSI (WiX 4, тихая установка, GPO), портативная ZIP (2.0) | Microsoft Store (1.0), winget (1.0), Chocolatey (1.1), прямая загрузка |
| macOS | 13 Ventura | universal (arm64 + x86_64) | 1.0 | DMG (Developer ID + нотаризация), PKG для MDM (1.1) | Mac App Store (1.1, sandbox-сборка с ограничениями: без Python-плагина и внешних плагинов), Homebrew cask (1.0), прямая загрузка |
| Linux | glibc 2.35+ (Ubuntu 22.04, Debian 12, Fedora 38, openSUSE Leap 15.5); Astra Linux SE 1.8, ALT 10, RED OS 8 — проверка с 2.0 | x86_64; aarch64 с 2.5 | 1.0 | Flatpak (главный), AppImage, deb/rpm (свой репозиторий, GPG), Snap (1.1) | Flathub (1.0), Snap Store (1.1), репозитории дистрибутивов — сообщество |
- Сборки для трёх ОС выходят одновременно с 1.0; одна версия — один день релиза; CI собирает все пакеты из одного тега.
- Подпись: Windows — EV-сертификат (HSM/облачный KMS), SmartScreen-репутация с беты; macOS — Developer ID, нотаризация, hardened runtime, entitlements минимальные; Linux — GPG-подпись репозиториев, Flathub-проверки; все артефакты — SBOM и provenance (SLSA-уровень 2 к 2.0, 3 — к 3.5).
- Автообновления: Meridian Update (вне магазинов): проверка раз в
сутки, дельты (zstd + бинарные дельты, типичное обновление ≤ 15 МБ),
подпись манифеста Ed25519, установка при закрытии, откат; политики
организаций (канал, отсрочка до 30 дней, свой зеркальный
update-serviceon-prem — фаза 6). В магазинах обновляет магазин; версии синхронны. - Политика поддержки версий ОС: Windows 10 — до окончания ESU (2028-10), затем только 11 (решение с релиза 2.5, 2029-02-13, с предупреждением за 6 месяцев); macOS — три последних мажорных версии (N, N−1, N−2) на дату релиза; Linux — дистрибутивы в поддержке производителя, glibc-порог поднимается не чаще раза в 2 года; поддержка ОС-версии прекращается с предупреждением в приложении за 6 месяцев.
- Qt: 6.8 LTS в фазах 0–3; переход на следующий Qt LTS в фазе 4 (I13–I15, 2028-06 – 2028-09); ещё один LTS-переход в фазе 7 (I30–I31). Rust: стабильный toolchain, MSRV = «стабильный −2».
- Минимальные требования: 4 ГБ ОЗУ (рекомендовано 8), 2 ГБ диска (полный пакет 4 ГБ к 4.0, модули ставятся по выбору), GPU с Vulkan 1.1/Metal/D3D11 (без GPU — CPU-рендер), экран 1280×720, HiDPI любой масштаб.
- Телеметрия и отчёты о сбоях — только по согласию; сборки для Enterprise с полностью отключённой телеметрией (политика).
7. Локализация и документация
7.1 Языки по релизам
| Релиз | Волна | Языки (добавляются) | Итого | Исполнитель |
|---|---|---|---|---|
| 1.0 | 1 | ru, en (en-US, en-GB) | 2 | штатные писатели + редактор |
| 1.5 | 2 | de, fr, es, pt-BR, it, tr, kk | 9 | агентство + ревью носителей |
| 2.0 | 3 | zh-CN, ja, ko, ar, he, pl, nl, cs (RTL-интерфейс и CJK-ввод проверены в фазе 3) | 17 | агентство + ревью |
| 2.5 | 4а | uk, be, uz, az, hy, ka, sv, da, fi, nb | 27 | агентство + сообщество |
| 3.0 | 4б | hi, id, vi, th, ro, hu, bg, sr, hr, sk, lt, lv, et, fa, ur, ms | 43 | сообщество (Weblate) + ревью агентства |
| 3.5 | 5 | el, pt-PT, zh-TW, ky, tg, tk, mn | 50 | сообщество + ревью |
| 4.0 | 6 | доработка качества ≥ 95 % строк на всех 50, 100 % — на 20 основных | 50 | — |
Локализуются: интерфейс (Qt .ts через Weblate), имена
функций Sheets (локализованные алиасы + английские), автозамена и
типографика по языку, словари/переносы (Hunspell), шаблоны документов
(ru/en — все; остальные — 10 базовых на язык), справка (ru/en — полная;
волна 2 — полная к 2.0; остальные — машинный перевод с пометкой + ревью
приоритетных статей), сайт/портал. Контроль: псевдолокализация в CI,
скриншот-тесты диалогов на 5 языках (ru, en, de, ar, ja), глоссарий 2
000 терминов, запрет конкатенации строк.
7.2 Документация и обучение
| Материал | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 | 3.5 | 4.0 |
|---|---|---|---|---|---|---|---|
| Встроенная справка (Qt Help, офлайн, F1 по контексту), статей | 120 | 220 | 360 | 480 | 700 | 800 | 1 000 |
| Онлайн-документация (сайт, версии по релизам, поиск, ru/en + волны) | да | да | да | да | да | да | да |
| Документация форматов MOP (схемы XSD/RNG, описание, примеры) | .mwx |
.msx |
.mpx .mvx |
.mpi .meq |
.mnx .mmx .mbx
.mfx |
history/ CRDT |
.mpub .mpln .mpkg |
| Документация MeridianScript API (d.ts, примеры, песочница) | v0 | v0 | 1.0 | 1.0 | 1.5 | 1.5 | 2.0 + Python + SDK плагинов |
| Гайды миграции | Word, LibreOffice Writer | Excel, Calc | PowerPoint, Visio, draw.io | Acrobat, Paint.NET, Equation Editor | Outlook, Thunderbird, OneNote, Evernote, Access, Google Forms | Google Workspace/OneDrive-сценарии, SharePoint | MS Project, Publisher, VBA → MeridianScript |
| Таблицы соответствия команд и горячих клавиш (Office/LibreOffice/Meridian) | Write | + Sheets | + Slides/Draw | + Paint/PDF | + PIM | — | полный справочник |
| Видеоуроки (ru/en), шт. | 10 | 20 | 35 | 45 | 60 | 70 | 80 |
| Интерактивные туры в приложении («Первые шаги») | Write, Hub | Sheets | Slides, Draw | Paint, PDF, Math | 4 приложения | Cloud | Publisher, Plan, магазин |
| «Академия Meridian» (курсы для образования, сертификация преподавателей) | — | — | пилот | курс 1 | курсы 3 | сертификация | 6 курсов |
| Документация для администраторов (развёртывание MSI/PKG/Flatpak, политики ADMX/plist/dconf, on-prem) | базовая | — | политики v0 | — | — | полная (on-prem, SSO, SCIM) | обновление |
7.3 Сообщество
- Форум (Discourse, ru/en) — с публичной бетой 1.0 (2027-10-26); Telegram и Discord — с закрытой альфы; ежемесячный дайджест.
- Публичный трекер ошибок и запросов (видимость зависит от решения open core, раздел 12): минимум — публичная доска известных проблем и голосование за функции.
- Встречи с разработчиками (онлайн, раз в квартал) с 1.5; программа амбассадоров в образовании с 3.0; конференция пользователей/разработчиков расширений — к 4.0.
- Переводческое сообщество в Weblate с 2.5 (волна 4): рейтинг, ревью, упоминание в «О программе».
8. Маркетинг и запуск
Кратко — события как зависимости от разработки; план маркетинга — отдельный документ владельца.
| Событие | Дата | Зависимость от разработки | Цель |
|---|---|---|---|
| Анонс проекта и сайт-визитка, лист ожидания | 2027-06-25 (A1) | бренд/домен (раздел 12), значки, прототип | 10 000 адресов в листе ожидания к бете |
| Закрытая альфа A2 Write | 2027-09-20 | M1.4 | 100 участников, NDA, 50 интервью |
| Публичная бета 1.0 | 2027-10-26 | M1.6; форум; оферта/политика | 5 000 участников, пресса (Хабр, профильные СМИ), YouTube-обзоры |
| Запуск 1.0 «Write» | 2027-12-14 | M1.8; продажи; магазины | Product Hunt, пресс-релиз, партнёрские обзоры; 50 000 загрузок за 30 дней, 2 000 платных мест за 90 дней (ориентир) |
| Запуск 1.5 «Sheets» | 2028-04-18 | M2.8 | сравнения с Excel на корпусе (публичный отчёт метрик), вебинары для СМБ |
| Партнёры и реселлеры (РФ: дистрибьюторы ПО; мир: через реселлерский модуль) | с 2028-09-29 (L3.2) | Business в продаже, реселлерский модуль v0 | 10 партнёров к 2.5, 30 — к 3.5 |
| Запуск 2.0 «Slides+Draw» + баг-баунти | 2028-10-17 | M3.7 | образовательные пилоты (10 вузов/школ), Education-редакция |
| Образование | с 2.0, усиление к 3.0 | Education-лицензии, Forms, совместная работа (3.5) | 100 учреждений к 3.5; «Академия Meridian» |
| Запуск 2.5 «Paint+PDF+Math» | 2029-02-13 | M4.7 | сегмент творческих/технических специалистов, научные сообщества (LaTeX) |
| Запуск 3.0 «Notes/Mail/Base/Forms» | 2029-10-16 | M5.8 | СМБ-пакет «всё в одном»; миграционные кампании с Outlook/Access |
| Корпоративные пилоты Enterprise | 2029-10-15 – 2030-04 | A2 фазы 6 (10 организаций) | 5 договоров Enterprise к GA 3.5 |
| Запуск 3.5 «Cloud и совместная работа» | 2030-04-16 | M6.8; аттестация 152-ФЗ в процессе | госсектор/корпорации (on-prem), образование (совместная работа) |
| Запуск 4.0 «Экосистема», конференция | 2030-12-10 | M7.7; магазин с 230 пакетами; SDK | 50 внешних авторов, 2,5 млн MAU (ориентир) |
9. Сводная диаграмма Ганта
Текстовая диаграмма: колонка = проектный месяц (M01 =
2027-01-11…2027-02-10, …, M48 = 2030-12-11…2031-01-10); блоки по 12
месяцев соответствуют годам с 11 января. Обозначения: █
активная работа, ░ подготовка/сопровождение, ◆
релиз (GA), · нет работ.
Дорожка / фаза |2027 M01–M12|2028 M13–M24|2029 M25–M36|2030 M37–M48|
---------------------------+------------+------------+------------+------------+
Ф0 Основание |███·········|············|············|············|
Ф1 Ядро и Write |···█████████|············|············|············|
Ф2 Sheets |······██████|████········|············|············|
Ф3 Slides и Draw |············|██████████··|············|············|
Ф4 Paint, PDF, Math |············|····████████|██··········|············|
Ф5 Notes/Mail/Base/Forms |············|··········██|██████████··|············|
Ф6 Облако и совм. работа |············|············|····████████|████········|
Ф7 Экосистема |············|············|············|████████████|
Релизы GA |···········◆|···◆·····◆··|·◆·······◆··|···◆······◆·|
---------------------------+------------+------------+------------+------------+
Лицензирование и биллинг |░░░█████████|█████████░░░|░░░░████████|████░░░░░░░░|
Качество и корпус |░░░█████████|████████████|████████████|████████████|
Платформы и дистрибуция |···░░░░█████|████████████|████████████|████████████|
Локализация и документация |······██████|████████████|████████████|████████████|
Маркетинг и запуск |········░░██|████████████|████████████|████████████|
Найм |████████████|████████████|████████····|░░░░········|
Колонки релизов: 1.0 — M12 (2027-12-14), 1.5 — M16 (2028-04-18), 2.0 — M22 (2028-10-17), 2.5 — M26 (2029-02-13), 3.0 — M34 (2029-10-16), 3.5 — M40 (2030-04-16), 4.0 — M47 (2030-12-10).
По приложениям (░ разработка, ◆ GA,
▒ сопровождение и P1-релизы):
Приложение |2027 M01–M12|2028 M13–M24|2029 M25–M36|2030 M37–M48|
---------------------------+------------+------------+------------+------------+
Hub |···░░░░░░░░◆|▒▒▒▒▒▒▒▒▒▒▒▒|▒▒▒▒░░░░░░░░|░░░◆░░░░░░◆▒|
Write |░░░░░░░░░░░◆|▒▒▒▒▒▒▒▒▒▒▒▒|▒▒▒▒░░░░░░░░|░░░◆▒▒▒▒▒▒▒▒|
Sheets |······░░░░░░|░░░◆▒▒▒▒▒▒▒▒|▒▒▒▒░░░░░░░░|░░░◆▒▒▒▒▒▒▒▒|
Slides |············|░░░░░░░░░◆▒▒|▒▒▒▒░░░░░░░░|░░░◆▒▒▒▒▒▒▒▒|
Draw |············|░░░░░░░░░◆▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Paint |············|····░░░░░░░░|░◆▒▒▒▒▒▒▒▒▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
PDF |············|····░░░░░░░░|░◆▒▒▒▒▒▒▒▒▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Math |············|····░░░░░░░░|░◆▒▒▒▒▒▒▒▒▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Notes |············|··········░░|░░░░░░░░░◆▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Mail |············|··········░░|░░░░░░░░░◆▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Base |············|··········░░|░░░░░░░░░◆▒▒|▒▒▒▒▒▒▒▒▒▒▒▒|
Forms |············|··········░░|░░░░░░░░░◆▒▒|░░░◆▒▒▒▒▒▒▒▒|
Cloud / Sync / консоль |············|············|····░░░░░░░░|░░░◆▒▒▒▒▒▒▒▒|
Магазин / Assist |············|············|············|░░░░░░░░░░◆▒|
Publisher / Plan |············|············|············|░░░░░░░░░░◆▒|
(Строки Hub/Write/Sheets/Slides/Forms в 2029–2030 помечены
░ в месяцы фазы 6 — доработка под совместное редактирование
и облако; ◆ на M40 — релиз 3.5.)
gantt
title Meridian Office — 48 месяцев (старт 2027-01-11)
dateFormat YYYY-MM-DD
axisFormat %Y-%m
section Фазы
Ф0 Основание :p0, 2027-01-11, 2027-04-11
Ф1 Ядро и Write :p1, 2027-04-12, 2028-01-11
Ф2 Sheets :p2, 2027-07-12, 2028-05-11
Ф3 Slides и Draw :p3, 2028-01-10, 2028-11-11
Ф4 Paint, PDF, Math :p4, 2028-05-15, 2029-03-11
Ф5 Notes, Mail, Base, Forms :p5, 2028-11-13, 2029-11-11
Ф6 Облако и совместная работа :p6, 2029-05-14, 2030-05-11
Ф7 Экосистема :p7, 2030-01-14, 2031-01-11
section Релизы
1.0 Write :milestone, r10, 2027-12-14, 0d
1.5 Sheets :milestone, r15, 2028-04-18, 0d
2.0 Slides и Draw :milestone, r20, 2028-10-17, 0d
2.5 Paint, PDF, Math :milestone, r25, 2029-02-13, 0d
3.0 Notes, Mail, Base, Forms :milestone, r30, 2029-10-16, 0d
3.5 Cloud :milestone, r35, 2030-04-16, 0d
4.0 Экосистема :milestone, r40, 2030-12-10, 0d
section Беты
Бета 1.0 :b10, 2027-10-26, 2027-12-14
Бета 1.5 :b15, 2028-03-07, 2028-04-18
Бета 2.0 :b20, 2028-09-05, 2028-10-17
Бета 2.5 :b25, 2029-01-16, 2029-02-13
Бета 3.0 :b30, 2029-08-07, 2029-10-16
Бета 3.5 :b35, 2030-02-05, 2030-04-16
Бета 4.0 :b40, 2030-10-01, 2030-12-10
section Дорожки
Лицензирование и биллинг :l1, 2027-01-11, 2030-12-10
Корпус 1k до 10k :q1, 2027-01-11, 2027-10-29
Корпус до 20k :q2, 2027-10-30, 2028-08-18
Корпус до 50k :q3, 2028-08-19, 2029-07-20
Корпус 60k и выше :q4, 2029-07-21, 2030-09-13
Баг-баунти :q5, 2028-10-17, 2031-01-11
Дистрибуция 3 ОС :d1, 2027-08-09, 2031-01-11
Локализация волны 1-6 :t1, 2027-08-09, 2030-12-10
Найм до пика :h1, 2026-11-02, 2029-05-14
10. KPI продукта по релизам
Значения — целевые (ориентир); «точность» — метрика ведущего формата релиза из 5.2; MAU и платные места — через 90 дней после GA.
| KPI | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 | 3.5 | 4.0 | Как измеряем |
|---|---|---|---|---|---|---|---|---|
| Точность ведущего формата (визуал, %) | docx 85 | xlsx-формулы 99,5 | pptx 85 | pdf 90 | pst-импорт 95 | CRDT-сходимость 100 | VBA 80 | корпус в CI (5.2) |
| Холодный старт приложения, с (R1 / Rmin) | 2 / 4 | 2 / 4 | 2 / 4 | 2 / 4 | 2 / 4 | 2 / 4 | 1,5 / 3 | bench + телеметрия p95 (по согласию) |
| Открытие типового документа (100 стр. / 100 тыс. ячеек / 100 слайдов), с | 1 | 1 / 1,5 | 1 / 1,5 / 1 | то же | то же | то же | то же | bench |
| Crash-free sessions, % | 99,5 | 99,5 | 99,5 | 99,6 | 99,6 | 99,7 | 99,7 | телеметрия (opt-in), Sentry |
| Потери данных (инциденты на 1 млн сессий) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | поддержка + журнал восстановления |
| Конверсия trial → paid (Pro), % | 3 | 4 | 5 | 5,5 | 6 | 7 | 8 | billing-service (когорты 30/60/90 дней) |
| Конверсия Free → Home/Pro (годовая), % | 1 | 1,5 | 2 | 2,5 | 3 | 3,5 | 4 | биллинг + Hub (аккаунты) |
| NPS (опрос в приложении раз в 90 дней, по согласию) | 20 | 25 | 30 | 32 | 35 | 38 | 40 | опросы (выборка ≥ 1 000) |
| MAU (ориентир) | 50 тыс. | 150 тыс. | 400 тыс. | 600 тыс. | 1 млн | 1,5 млн | 2,5 млн | телеметрия (opt-in, с коэффициентом экстраполяции по загрузкам/обновлениям) |
| Платные места (накопительно, ориентир) | 2 тыс. | 6 тыс. | 15 тыс. | 25 тыс. | 45 тыс. | 80 тыс. | 150 тыс. | биллинг |
| Удержание 30 дней (новые пользователи), % | 35 | 38 | 40 | 42 | 45 | 48 | 50 | телеметрия (opt-in) |
| Доля Linux среди MAU, % | 10 | 10 | 12 | 12 | 12 | 14 | 15 | телеметрия |
| Обращения в поддержку на 1 000 MAU в месяц | 15 | 12 | 10 | 9 | 10 | 9 | 8 | служба поддержки |
| Время первого ответа поддержки (Pro / Business / Enterprise), ч | 24 / — / — | 24 / — / — | 24 / 8 / — | 24 / 8 / — | 24 / 8 / 4 | 24 / 8 / 4 | 24 / 8 / 4 | служба поддержки |
| Доступность сервисов (SLA), % | 99,9 | 99,9 | 99,9 | 99,9 | 99,9 | 99,9 (Cloud) | 99,95 | мониторинг |
| Доля сессий с включённой телеметрией, % (для оценки репрезентативности) | ≥ 25 | ≥ 25 | ≥ 25 | ≥ 25 | ≥ 25 | ≥ 25 | ≥ 25 | телеметрия |
Правила измерения: телеметрия — только по согласию, события без содержимого документов, идентификатор установки без привязки к аккаунту (если не вошёл); crash-отчёты — minidump без памяти документов; корпусные метрики — на каждом релизном теге; KPI пересматриваются на gate review каждой фазы.
11. Риски проекта (топ-20)
Вероятность и влияние по шкале Н/С/В (низкая/средняя/высокая).
| # | Риск | Тип | Вер. | Влияние | Меры | Владелец |
|---|---|---|---|---|---|---|
| 1 | Точность рендера docx/xlsx/pptx не достигает целевых % к релизу | технический | В | В | метрики по корпусу с I01, приоритет по частоте элементов, редкие — P1, резервный инкремент перед каждым feature freeze, публичный отчёт метрик | архитектор ядра |
| 2 | Производительность Qt Quick + Skia на слабых машинах и Linux-драйверах GPU | технический | С | В | CPU-рендер как fallback, тест-матрица GPU/драйверов
(Intel/AMD/NVIDIA/Mesa), Rmin в CI, vello как запасной
бэкенд |
лид Платформы |
| 3 | CRDT поверх богатых моделей (стили, таблицы, сцена) не сходится или слишком тяжёл | технический | С | В | журналы операций с фазы 1, прототип в I21, список несинхронизируемых операций, деградация в блокировки, тесты сходимости | архитектор ядра |
| 4 | Собственный PDF-рендер не достигает 90 % к 2.5 | технический | В | В | pdfium-бэкенд за флагом (раздел 13), решение на M4.3,
песочница в любом случае |
лид Графики |
| 5 | Уязвимости в парсерах (RCE через документы) | технический | С | В | Rust, песочные процессы, фаззинг 24/7, баг-баунти, SLA исправлений 7 дней | безопасность |
| 6 | Шейпинг и раскладка сложных письменностей (CJK, арабский, индийские) хуже, чем в Word | технический | С | С | HarfBuzz/rustybuzz, Noto, тест-наборы W3C/Unicode,
консультанты-носители, волны локализации 3–4 только после проверки |
лид Ядра |
| 7 | Баги Qt 6.8 на Wayland/HiDPI/IME; миграция на следующий LTS ломает оболочку | технический | С | С | патчи Qt (своя сборка), коммерческая поддержка Qt (если лицензия куплена), миграция в отдельном инкременте с полной регрессией | лид Платформы |
| 8 | Время CI и монорепозиторий растут, блокируют команду 70 человек | технический | С | С | sccache/распределённая сборка, тесты по затронутым крейтам, GPU-раннеры, порог ≤ 25 мин на PR | DevOps |
| 9 | Free-редакция не конвертируется; конкуренция с бесплатными пакетами и «МойОфис»/«Р7-Офис» в госсекторе | рыночный | В | В | ценность Pro (Cloud, Assist, PDF, Base), B2B через Business/Enterprise и партнёров, Education; KPI конверсии на gate | руководитель продукта |
| 10 | Платёжные ограничения между РФ и миром; необходимость двух юрлиц и провайдеров | рыночный | В | В | merchant of record для мира, ЮKassa/CloudPayments для РФ, две
инстанции billing-service, решение владельца к I04 |
PM лицензирования |
| 11 | Недоверие к новому формату MOP; пользователи остаются в OOXML | рыночный | С | С | формат сохранения по умолчанию для чужих файлов — исходный, MOP — по выбору; открытая документация формата; round-trip-гарантии | руководитель продукта |
| 12 | Linux и образование приносят мало выручки при высокой стоимости поддержки | рыночный | С | С | Flatpak как единый канал, Education-подписка на кампус, партнёры в образовании, KPI доли Linux | руководитель продукта |
| 13 | Патентные претензии (форматы вне OSP, анимации, UI-элементы) | юридический | Н | В | OSP-реестр, патентный анализ в фазах 0/3/6, альтернативные реализации, страхование (вопрос владельца) | юристы |
| 14 | Товарный знак «Meridian» занят в ключевых юрисдикциях | юридический | С | С | проверка в I01, резервное имя, подача по классам 9/42 в РФ и Мадриде | юристы |
| 15 | Нарушения 152-ФЗ/GDPR в телеметрии, облаке, Assist | юридический | С | В | opt-in везде, регионы данных, DPO, DPIA, аудит перед 3.5, запрет обучения на данных пользователей | безопасность + юристы |
| 16 | Лицензии зависимостей: GPL-контаминация, условия LGPL для Qt, RFN шрифтов, кодеки видео | юридический | С | С | cargo-deny, динамическая линковка LGPL, реестр шрифтов,
видеоэкспорт через системные/LGPL-кодеки по решению (раздел 12) |
DevOps + юристы |
| 17 | Дефицит Rust-инженеров с опытом текстовой раскладки/кодеков | кадровый | В | В | найм за 10–12 недель до потребности, обучение внутри (архитектор-ментор), аутстаф на пики, удалённый найм | HR + архитектор |
| 18 | Уход архитектора или лидов подкоманд (bus factor) | кадровый | С | В | ADR и документация как DoD, дублёры для 8 ключевых ролей, опционы/удержание, передача знаний в инкременте стабилизации | руководитель проекта |
| 19 | Выгорание на 48-месячном марафоне, особенно в H5–H6 (три фазы параллельно) | кадровый | С | В | 6-недельные инкременты с неделей стабилизации, отпуска после GA, ротация между подкомандами, лимит переработок, снижение нагрузки в H8 | руководитель проекта |
| 20 | Рост команды до 70 ломает коммуникацию и качество | кадровый | С | С | подкоманды с владением (CODEOWNERS), инженерные менеджеры с H3, единые DoD/ревью, еженедельное демо, не более 25 % новичков в команде | руководитель проекта |
12. Открытые вопросы к владельцу
Решения нужны к указанным датам; до решения действует вариант «по умолчанию».
| # | Вопрос | Варианты | По умолчанию в плане | Нужно к |
|---|---|---|---|---|
| 1 | Модель исходного кода: open core (ядро и кодеки открыты, оболочка/сервисы проприетарны) или полностью проприетарный продукт | (а) open core под Apache-2.0/MPL для kernel/ и
codecs/; (б) всё закрыто; (в) открыть позже (после
2.0) |
(б) с подготовкой к (в): структура репозитория и лицензионные заголовки позволяют открыть ядро без переработки | 2027-03-26 (M0.5) |
| 2 | Цены: Home (разовая/подписка), Pro (месяц/год/разовая без облака), Business за место/год, Education, региональные коэффициенты | ориентиры из docs/10-licensing-accounts.md |
тест цен в бете 1.0 (A/B по регионам) | 2027-09-17 (L1.2) |
| 3 | Регионы продаж и данных на старте | (а) РФ + СНГ; (б) РФ + мир (ЕС, США, Азия); (в) мир без РФ | (б) — две инстанции сервисов (РФ, ЕС), merchant of record для мира | 2027-05-14 (I03) |
| 4 | Юридические лица: нужно ли зарубежное юрлицо для продаж в мире, или merchant of record | (а) своё юрлицо (ЕС/ОАЭ/другое); (б) Paddle/аналог | (б) до объёмов, оправдывающих (а) | 2027-05-14 |
| 5 | Приоритет Linux: «первый класс» (включая Astra/ALT/RED OS для госсектора и реестр отечественного ПО) или паритет без госсектора | (а) госсектор РФ — да: реестр Минцифры, проверка на Astra/ALT/RED OS, позже сертификация ФСТЭК; (б) только массовые дистрибутивы | (а) без сертификации ФСТЭК до отдельного решения (это +12 месяцев и отдельный бюджет) | 2027-10-29 (для планирования фазы 3) |
| 6 | Бренд и домен: «Meridian Office» и
meridian-office.<tld>; какие TLD (.com,
.ru, .рф, .app); русское
написание «Меридиан Офис» как второй знак |
— | подача в РФ на оба написания; TLD по доступности | 2027-01-22 (M0.1) |
| 7 | Объём фазы 7: Publisher и Plan — оба; веб-просмотрщик WASM — да/нет; выплаты авторам магазина — да/нет (налоговое агентирование) | — | Publisher + Plan — да; WASM — нет (оценка 6 чел.-мес. при «да»); выплаты — нет в 4.0, бесплатный и платный каталог без выплат до решения | 2029-11-09 (gate фазы 5) |
| 8 | Лицензия Qt: LGPL v3 (динамическая линковка, обязательства по замене библиотек) или коммерческая (≈ 60–75 тыс. USD/год) | — | LGPL v3 с соблюдением условий; коммерческая — если потребуется статическая линковка или поддержка | 2027-03-26 |
| 9 | Видеоэкспорт Slides: FFmpeg (LGPL, динамически; патентные вопросы H.264) против только WebM/VP9/AV1 (свободные кодеки) или системные энкодеры ОС | — | системные энкодеры ОС (Media Foundation/VideoToolbox/GStreamer) + WebM; P1 в 2.1 | 2028-04-14 (I11) |
| 10 | Assist: провайдеры облачных моделей (российские/зарубежные), локальные модели в комплекте или по загрузке, политика данных | — | локальные по загрузке; облачный шлюз с выбором провайдера по региону | 2029-11-09 |
| 11 | Mac App Store: выпускать sandbox-версию с ограничениями (без Python-плагина/внешних плагинов) или только прямая загрузка | — | да, с 1.1 (2028-02-15), ограничения описаны в магазине | 2027-12-14 |
| 12 | Реестр отечественного ПО: подавать (требует российского правообладателя с долей ≥ 50 % и ряда условий) — даёт освобождение от НДС и доступ к госзакупкам | — | подача в фазе 3–4, если правообладатель соответствует | 2028-01-10 |
| 13 | Страхование ответственности (патенты, утечки) и бюджет на внешние аудиты (пентест, SOC 2) | — | пентест ежегодно с 2.0; SOC 2 Type I к 3.7; страхование — по решению | 2028-05-11 |
| 14 | Политика вечной лицензии при релизах каждые ~10 месяцев (см. 13.1) | — | «обновления 24 месяца с даты покупки + бессрочное использование последней полученной версии» | 2027-09-17 |
13. Вопросы к библии (предлагаемые уточнения)
Отступления от библии в этом плане не сделаны; ниже — места, где библию стоит уточнить, чтобы план и библия совпадали.
- Вечная лицензия и мажорные версии (9.3). Библия: «вечная лицензия — обновления в пределах мажорной версии». При схеме релизов 1.0 → 1.5 → 2.0 → 2.5 → 3.0 → 3.5 → 4.0 мажорная версия меняется каждые ~10 месяцев, и покупатель Home получит обновления меньше года. Предложение: вечная лицензия включает все обновления в течение 24 месяцев с даты покупки и бессрочное использование последней полученной версии (либо считать «мажорами» только 1.x, 3.x, 5.x — поколения по 2 года).
- PDF-рендер (4, 6). Библия предполагает собственный
кодек
pdf(read/write). План держит собственный рендер как цель, но разрешаетpdfium(BSD) как опциональный бэкенд за флагом в фазе 4 для снижения риска № 4. Предлагается зафиксировать это в 4 как «допустимая альтернатива». - CRDT-совместимость моделей с фазы 1 (6, 7). Библия
относит Meridian Sync к фазе 6, но модели
text-model/grid-model/sceneдолжны с первой версии вести журнал операций с идентификаторами (иначе фаза 6 потребует переписать модели). План закладывает это в E1.1/E2.1/E3.1; предлагается добавить требование в раздел 6 библии. - Forms и веб-публикация (2.1, 7). Forms в фазе 5, но сбор ответов через веб требует Meridian Cloud (фаза 6). План: в 3.0 — офлайн-сбор (PDF-форма, файлы ответов) и локальный сервер (P1), веб-публикация — в 3.5. Предлагается отразить в таблице 2.1 («Forms — 5, веб-сбор — 6»).
- Видеоэкспорт Slides (3.3). Матрица форматов относит
.mp4/.webmк экспорту Slides; план ставит его в P1 (2.1) из-за лицензионных и кодековых вопросов (раздел 12, № 9). Предлагается пометить в 3.3 как «P1». - Business в фазах 2–3 против консоли в фазе 6 (7, 9.1). Таблица фаз помещает консоль администратора в фазу 6, тогда как редакция Business (с консолью и SSO) нужна раньше для продаж юрлицам. План вводит «Business стартовый» (консоль v1, SSO OIDC) к 2.0 и полную консоль v2 (SAML/SCIM/политики/аудит) в 3.5. Предлагается отразить в разделе 7.
- Релиз внутри фазы (7). План выпускает GA за 3–4 недели до формального конца фазы, остаток — патч и gate review. Предлагается записать это правило в раздел 7, чтобы «срок фазы» и «дата релиза» не путались.
- Free и Math до фазы 4 (9.1). Free включает Math, который появляется только в 2.5; до этого в Free — Hub, Write, Sheets, Slides, PDF-просмотр (с 2.5). Уточнить формулировку «на момент релиза».
- Education-консоль (9.1). Для Education нужны классы/учителя/ученики — план ставит это в 3.6 (после 3.5). Предлагается добавить в описание редакции «консоль Education — с 3.6».
- Веб-просмотрщик (1.4, 7). Библия допускает WASM-просмотрщик в фазе 7 «только по решению владельца»; план оценивает его в 6 чел.-мес. и держит вне базового объёма до решения (раздел 12, № 7).
Документ обновляется на каждом gate review; изменения дат фаз — только через правку раздела 7 библии.