Интеграционные режимы и deployment
Desktop embedded, headless, browser/WASM, native, hybrid и service/on-prem: когда выбирать каждый режим и какие runtime-инварианты обязательны.
FastOffice должна продаваться как многоуровневая платформа: можно начать с готовой поверхности, затем углубить интеграцию до headless/native/WASM. При этом transports не должны диктовать semantics: смысл команды задаёт контракт, а не WebSocket, JSONL или WASM wrapper.
| Режим | Когда выбирать | Техническая форма | Статус/граница |
|---|---|---|---|
| A4 Desktop Embedded | Полный DOCX-редактор внутри desktop host. | Partner host + Surface Host per document; loopback HTTP + WS; WebView2/WKWebView. | bounded macOS proof; Windows acceptance нужен отдельно. |
| A4 Headless Local/Loopback | Batch, services, agents без UI. | JSONL stdio или authenticated WS. | Реализовано как session protocol, public subset фиксируется отдельно. |
| F1 Browser/WASM | SaaS/web-встраивание, данные остаются в browser boundary. | Web Shell/SDK -> Worker -> WASM Core. | Нужны COOP/COEP для threaded artifact; fallback должен быть typed. |
| F1 Native embedded | Offline, локальные файлы, full native runtime. | Host app -> child process -> JSONL -> Rust Core. | Нужен supervision, binary distribution, teardown. |
| Hybrid | Web UX с native filesystem/policy. | Web Shell -> native host adapter -> Rust Core. | Требуется защищённый IPC и lifecycle окон. |
| Service/on-prem | Централизованная обработка, agents, конвейеры. | Authenticated API + isolated Rust sessions. | Отдельная production-архитектура, quotas, isolation, operations plane. |
Ключевые runtime-инварианты
Заголовок раздела «Ключевые runtime-инварианты»-
Один активный документ/сессия на процесс - простая и безопасная изоляция для пилота.
-
Host читает bootstrap/handshake до загрузки UI или отправки первой команды.
-
Токены, URL, credentials, document text и raw OOXML не попадают в логи по умолчанию.
-
close/unmount/shutdown освобождает listeners, sockets, workers, files, child processes.
-
Unknown command/capability не маскируется успехом: запуск останавливается или возвращается typed refusal.
Источник / основание: A4 Architecture Specification: рекомендован один Surface Host на один открытый документ/сессию, loopback-only, token, separate timeouts. F1 Architecture Specification: Browser/WASM, Native embedded, Hybrid и Service host имеют разные преимущества и ограничения, но проходят через один Compute Contract.