Этот план показывает порядок зависимостей и границы продукта, а не обещанные даты.
Сейчас
- Это руководство описывает Топаз 5.18.1 /
topaz-5.18. Установленный самокомпилируемый компилятор по-прежнему используется по умолчанию для поддерживаемых маршрутов текущего языка. - Установленная команда
topaz lispex embed runвыполняет один ограниченный запрос Lispex через точный компонент внутри бинарного файла Топаза. Лимиты конечны, отказы явны, а выбор, поиск, загрузка, callback, импорт и fallback отсутствуют. - Компилятор на Rust остаётся явно доступным для сравнения, восстановления и совместимости. Самокомпиляция по умолчанию не означает исчезновения цепочки восстановления на Rust.
- Компилятор, среда выполнения, пакет npm, артефакты, документация и Playground по-прежнему обозначают один продукт. Поддержка нативных, Python-, браузерных, HTTP-, локальных и двоичных прикладных маршрутов сохраняется.
- Неподдерживаемый выбор компилятора завершается ошибкой, а не скрытой заменой движка. Полные платформенные и дифференциальные проверки выполняются для кандидата выпуска; обычные изменения проходят целевые проверки.
- Установленный нативный файл
topazвключает локальный stdio-сервер MCPtopaz mcp serveи новый рабочий процесс без полномочий для каждого вызова.
Следующие приоритеты
- В 5.18 довести ограниченные приложения решений до всех нативных целей. Поддерживаемый пакет готовит точные правила Lispex один раз, вычисляет много входов, сохраняет и повторно выполняет неаутентифицированные потребительские свидетельства, а также достигает семантических, общих и временных границ. Он уже прошёл обычную установку через npm и выполнился как перенесённый нативный продукт после удаления исходников и компилятора. Точный исходный код кандидата 5.18 уже активирован. До выбора публичного профиля языка тот же автономный сценарий должен пройти на всех поддерживаемых нативных целях. Python и веб остаются явными отказами без скрытого fallback. Следующий этап связывает точный коммит кандидата с принадлежащим Топазу контуром фиксации и неизменной церемонией H1, после чего выполняются I1-L, H1 и I1-C. Обычное движение репозитория поставщика не является входом и не останавливает разработку Топаза. Только явно одобренное владельцем версионированное предложение H2B открывает необязательную проверку приёма.
- В 5.19 завершить приложения полного профиля. Отдельный вычислитель полного профиля без импортов и его свидетельства уже получены и прошли закрытую приёмку и сохраняются закрыто, но Топаз пока не выполняет и не допускает этот компонент как часть продукта. Следующая линия добавит точные нативные, Python-, Raw Web-, Worker- и управляемые веб-хосты для обоих профилей. Ограниченный профиль решений останется неизменяемым вариантом по умолчанию и не будет расширен на месте.
- Переходить к 5.20 только после исчерпывающего рефакторинга всего компилятора. После выпуска полной интеграции всё актуальное дерево компилятора, написанное на Topaz, проходит повторяющиеся полные аудиты и волны рефакторинга. Верхней границы номера исправления нет, при необходимости работа продолжается после девяноста девяти исправлений. Подготовка кандидата запрещена, пока остаётся хотя бы один исполнимый, отложенный, неизвестный или непроверенный пункт либо сохранённый пункт без решения владельца, конкретного инварианта и точной защиты от регрессии. Каждое принятое изменение семантики должно быть закрыто в спецификации, профиле, реализациях, свидетельствах и документации. Кандидат Topaz 5.20 допустим только после двух последовательных аудитов без новых находок на идентичных байтах компилятора.
- Сохранять точную связь между продуктом и свидетельствами. Каждый выпуск получает новую запись допуска и проверку отзыва. Повторно использованный результат отмечается как повторно использованный, а восстановление, доступность инструментария и платформенная работоспособность регулярно проверяются заново.
Границы свидетельств
Число строк с примитивами не является знаменателем соответствия всему языку. Специальные формы, управление, значения, ошибки, транскрипты и вывод, диагностика, ресурсы, граница хоста и квитанции учитываются отдельно.
Готовность прикладной интеграции, семантический охват Lispex и охват целей Топаза учитываются отдельно. Успех по одному из этих направлений не закрывает два остальных и не складывается с ними в общий процент.
Установленный ограниченный вычислитель подтверждает только описанные команду, компонент, профиль, входы, лимиты, результаты и поддерживаемые платформы. Он не доказывает эквивалентность всего Lispex и не добавляет независимого семантического свидетеля. LIT остаётся полезным свидетельством регрессий и интеграции внутри общего происхождения, но не является бэкендом Топаза. Завершённые этапы перечислены в Истории.
Исследования
- Расширять дифференциальное тестирование и фаззинг, которые находят неверное понимание языка генераторами кода.
- Рассматривать проверку моделей и механизированные доказательства только для конкретных и воспроизводимых результатов.
- Возвращаться к прямой компиляции в WebAssembly только при измеренной проблеме продукта. Широкая оптимизация, асинхронный синтаксис, перехват ошибок выполнения, API графем, пользовательские шаблоны, общий FFI хоста и новый синтаксис не входят в текущий план.