← Стенд ROADMAP · v0.4.0 → v1.0 v0.4.0 DOI: 10.5281/zenodo.23722094

Техническая дорожная карта Rul (.rl) — от движка v0.4 к системному языку v1.0

Дорожная карта из 4 этапов по расширению Rul (.rl) от 29-опкодного колоночного движка (v0.4) до системного языка общего назначения, заменяющего Rust и Go для ИИ-разработки (v1.0).

[0x01] STRATEGY

Почему мы начали с конвейеров данных (v0.1 – v0.4)

Чтобы доказать работоспособность 16-байтного бинарного формата инструкций на реальном кремнии до добавления конструкций общего назначения, в версиях v0.1–v0.4 мы сосредоточились на обработке массивов и векторов (29 опкодов) — подтвердив верификацию O(N) за ~5.78 нс/узел, компиляцию автономного ELF64 за ~6.4 мкс и пропускную способность 51.53 ГБ/с.

[0x02] SIX-MONTH ROADMAP TO v1.0

Четыре этапа к системному языку общего назначения v1.0

v0.1.0 → v0.4.0 · Выпущенная производственная база ✓ В ПРОДАКШЕНЕ

Колоночное ядро SSA-DAG (29 опкодов), трассировщик «белого ящика» и компилятор AVX2 ELF64 AOT

На реальном оборудовании доказана эффективность 16-байтного формата инструкций, однопроходного верификатора O(N) (~5.8 нс/узел), 3-уровневого движка, сервера rul-mcp и компилятора Linux ELF64 без LLVM (~6.4 мкс).

  • 01. 64-байтный RulHeader, 16-байтный ArenaDescriptor, 16-байтный ProofEntry и 16-байтный NodeFrame для 29 опкодов.
  • 02. Обратимый без потерь ассемблер .rls <-> .rl, автономный CLI rul, пакет rul-bench и сервер rul-mcp из 6 инструментов.
  • 03. Линейный распределитель регистров YMM (ymm2..ymm13), достигающий 51.53 ГБ/с (в 4.72 раза быстрее C) на массивах 80 МБ.
v0.5 · Этап 1 (Месяцы 1–2) ● В РАЗРАБОТКЕ

Поток управления общего назначения, функции и составные типы данных

Расширение 16-байтного набора инструкций за пределы числовых массивов: скаляры, структуры, перечисления, строки UTF-8, хэш-таблицы, ветвления и циклы с доказательством завершения.

  • 01. Поддержка первого класса для i64, i32, u8, f32, структур с фиксированной разметкой, алгебраических объединений, строк UTF-8 и хэш-таблиц в аренах.
  • 02. SelectBranch: условное ветвление, требующее слияния обеих ветвей в идентичном состоянии версий памяти (проверка за O(1)).
  • 03. RegionLoop и Call: ограниченные циклы со свидетельствами завершения в ProofEntry и модульные функции, проверяемые без инлайнинга всей программы.
v0.6 – v0.7 · Этап 2 (Месяцы 2–3) ○ ЗАПЛАНИРОВАНО

Владение кучей уровня Rust и времена жизни структур за время O(N)

Обобщение 32-битных версий TokenOp и 16-байтных сертификатов ProofEntry с плоских массивов на регионные аллокации в куче и заимствования полей структур.

  • 01. Детерминированное выделение и освобождение регионов кучи, привязанное к линейным токенам владения — без GC и без фрагментации malloc/free.
  • 02. Сертификаты ProofEntry для независимых мутаций полей структур и времён жизни срезов zero-copy, проверяемые за O(1) на инструкцию.
  • 03. Полная защита от use-after-free, double-free и алиасинга без многосекундного решения ограничений Borrow Checker.
v0.8 – v0.9 · Этап 3 (Месяцы 4–5) ○ ЗАПЛАНИРОВАНО

Детерминированная конкурентность в стиле Go и системный ввод-вывод под контролем CapabilityMask

Введение легковесных задач, каналов с передачей владения и детализированных битов разрешений в заголовке для системных вызовов файлов, сети и процессов.

  • 01. Отправка буфера через типизированный канал выполняет AffineConsume токена отправителя и передаёт владение получателю — исключая гонки данных при загрузке без GC.
  • 02. Расширение 64-битной маски RulHeader.capability_mask для контроля чтения/записи файлов, сетевых сокетов, таймеров и подпроцессов.
  • 03. Бинарный файл .rl с CAP_NONE (0x0) математически заблокирован от любых сетевых или дисковых вызовов ещё до начала выполнения.
v1.0 · Этап 4 (Месяц 6) ○ ЗАПЛАНИРОВАНО

Мультиархитектурные нативные бэкенды (x86_64, ARM64, WASI) и формальные доказательства Kani

Генерация автономных исполняемых файлов для Linux, macOS, Windows и WebAssembly без LLVM, подтверждённая проверкой моделей Kani и набором из 50 тестов соответствия v1.0.

  • 01. Прямая генерация машинного кода без LLVM для x86_64 и AArch64 (ARM64) на Linux, macOS и Windows, а также детерминированных модулей WASI.
  • 02. Доказательства корректности с помощью Kani model-checking и непрерывный дифференциальный фаззинг декодера, O(N) верификатора и кодогенератора.
  • 03. Заморозка бинарной спецификации .rl v1.0 и публикация открытого набора из 50 эталонных программ.
[0x03] ARCHITECTURAL DISCIPLINE

Ключевые инженерные правила (Non-Goals)

1. Никаких решателей с откатом (No Backtracking)

Каждое свойство безопасности (типы, владение, границы, завершение циклов, права ввода-вывода) должно проверяться за один прямой проход O(N).

2. Никакого сборщика мусора (No Garbage Collector)

Ноль пауз GC и ноль скрытых фоновых потоков; время жизни памяти отслеживается явно через версионные арены и регионы.

3. Никаких скрытых откатов (No Silent Fallbacks)

Каждый уровень выполнения (Tier 0, Tier 1, Tier 2 и ELF64 AOT) обязан выдавать идентичный результат или безопасно завершаться с детерминированной ошибкой.