Функция
Максимальный
Запланировано
Sapphire IPC: протокол и многоязычные SDK для сторонних разработчиков
Версионируемый IPC-контур и SDK позволят расширять Sapphire I.C.D.S. из C, C++, Go, Rust, Zig и других языков без доступа к закрытому ядру.
0%
Тип
Функция
Приоритет
Максимальный
Цель
02.08.2026
Прогресс
0%
Содержимое
Цель
Создать стабильный, версионируемый и безопасный IPC-контур Sapphire I.C.D.S., через который сторонние разработчики смогут создавать внешние модули, сервисы и интеграции без доступа к закрытому C++-ядру платформы.
Первая линия SDK ориентирована на C, C++, Go, Rust и Zig. Архитектура контрактов должна позволять добавлять новые языки без изменения базового протокола.
Этапы разработки
- Контракт и модель протокола. Определение lifecycle соединения, handshake, version negotiation, request/response, events, correlation IDs, timeouts, cancellation, error model и совместимости между версиями.
- Транспорт и framing. Выбор и реализация локального транспорта, бинарного или структурированного framing, ограничений размера сообщений, backpressure и корректного восстановления после разрыва соединения.
- Безопасность и изоляция. Аутентификация локального клиента, capability/permission scopes, защита от подмены процесса, validation входных данных, rate limits, audit и безопасная обработка недоверенного payload.
- Reference SDK. Канонический C ABI и базовые SDK для C/C++, Go, Rust и Zig с единым поведением lifecycle, ошибок, cancellation и events.
- Developer experience. Headers/packages, build integration, минимальные шаблоны модулей, runnable examples, тестовый сервер/клиент, diagnostics, logging и пошаговая документация.
- Совместимость и hardening. Contract tests для всех SDK, fuzzing parser/framing, reconnect tests, version mismatch tests, resource cleanup и проверка работы с persistent FastCGI/runtime-процессами.
Критерии первой версии
- Опубликована спецификация IPC v1 и versioning policy.
- Есть reference implementation со стороны Sapphire.
- Работают SDK или официальные bindings минимум для C, C++, Go, Rust и Zig.
- Одинаковые error codes, lifecycle и cancellation semantics во всех SDK.
- Есть минимум один end-to-end внешний модуль, работающий без линковки с закрытым ядром.
- Присутствуют примеры, contract tests и базовая документация для стороннего разработчика.
- Протокол не раскрывает внутренние ABI и implementation details ядра.
Следующие этапы
После первой версии: дополнительные языки, code generation из схем, удалённый защищённый transport при необходимости, registry/capability discovery, package distribution и отдельная публичная документация для экосистемы.
Целевая дата: 2 августа 2026 года.