Исследование: эволюция форматов vibevm
012026-08-09. Что здесь лежит, чем получено и в каком порядке читать.
Начинать отсюда
0212-HANDOFF.xml — состояние работы, пять вопросов владельца, и в разделе 2
полный список обязательного чтения в правильном порядке. Владелец потребовал
прочитать всё перечисленное до разговора с ним.
0313-NEXT-SESSION-PROMPT.xml — промт для новой сессии (копия того, что лежит
в репозитории как NEXT-SESSION-PROMPT.md).
Если читать только одно
0411-fable-review-and-verdict.xml — вердикт финального ревьюера.
Если и его много — там первый абзац написан как итог на случай, что дальше
читать не будут.
Если читать два
05Плюс 10-MEGA-REPORT.xml — свод всего. Его раздел 5 — разбор семи
противоречий, включая три ошибки в собственном своде босса, найденные
воркерами. Это интеллектуальное ядро всей серии.
Вопрос, ради которого всё затевалось
06vibevm публикует каталог пакетов: JSON-файлы в git-репозитории, которые читают чужие инструменты. Внешних потребителей ноль — значит ломающее изменение сейчас бесплатно и потом никогда не будет.
07Начали с узкого: где провести границу генерации типов из схем, раз одна форма
в языке схем невыразима. Пришли к широкому: какова политика эволюции
долговечных форматов vibevm — их три (каталог, vibe.toml, vibe.lock),
решены они по-разному, и никто этого не решал.
Файлы
| файл | что это | чем получено |
|---|---|---|
00-INDEX.xml |
этот файл | |
01-measure-our-wire-format-claudez.xml |
23 типа, 86 полей, все объединения, все словари, кругооборот — исчерпывающий замер нашего дерева | GLM по дереву |
02-research-package-indexes-web.xml |
crates.io, OCI, Debian, прокси Go, npm, Maven, RPM, PyPI, NuGet, Homebrew. 13 сходимостей | веб, дословные цитаты с датами |
02-primary-sources-cache/ |
сырые первоисточники, скачанные при исследовании | веб |
03-research-serialization-mechanics-web.xml |
протобуф, Avro, Thrift, JTD, Cap'n Proto, Kafka. Развороты решений и их причины | веб, дословные цитаты с датами |
04-research-client-survival-web.xml |
Meta, Twitter, Google, LinkedIn, Badoo, GraphQL, Discord, разбор аварии Cloudflare. Критерий переносимости | веб, дословные цитаты с датами |
05-boss-findings-digest.xml |
свод босса — вход для GLM. Содержит три ошибки, найденные воркерами; исправления в файле 10 §5 | босс |
06-glm-neighbours-and-principles.xml |
принцип за приёмами соседей; отличия нашего случая; шесть возражений | GLM, без сети |
07-glm-format-mechanics.xml |
пять конкретных форм тега для нашего объединения с ценой каждой; скепсис к модели Avro; граница терпимости | GLM, без сети |
08-glm-clients-and-vocabularies.xml |
формы запасного значения в словарях; четыре места в нашем каталоге, где старый читатель разберёт успешно и поймёт неверно | GLM, без сети |
09-glm-manifest-and-unified-policy.xml |
манифест; сильнейший довод против единой политики; чекер как набор машинных правил | GLM, без сети |
10-MEGA-REPORT.xml |
свод всего + разрешение семи противоречий + предложение + вопросы владельцу | босс |
11-fable-review-and-verdict.xml |
финальное ревью и вердикт | Fable |
worker-reports/ |
отчёты воркеров, каждый с обязательным разделом «с чем я не согласен» | GLM |
09Суффикс в имени говорит, чем получено: -web — с доступом в интернет,
-claudez / -glm — дешёвым воркером по дереву, без сети, -boss — мной.
Как это делалось, чтобы результату можно было верить
10Три независимые веб-полосы собирали факты с дословными цитатами и датами обращения; каждая обязана была помечать «не найдено» с описанием того, что искала, вместо правдоподобного заполнения.
11Четыре GLM-воркера получили сведённые находки как опциональный вход с
прямой инструкцией: «согласие без добавления — самый бесполезный из возможных
ответов», и обязательным разделом «с чем я не согласен». Интернета у них нет,
и это сказано прямо: своей памятью пользоваться можно, но каждое утверждение
о внешнем мире помечено [ИЗ СВОДА], [ИЗ ДЕРЕВА] с файлом и строкой, либо
[ПО ПАМЯТИ, НЕ ПРОВЕРЕНО].
12Это окупилось. Трое из четырёх независимо нашли одну и ту же фактическую ошибку в своде босса; двое независимо оспорили самую красивую идею свода и оказались правы; один переопределил стратегию целиком. Все правки внесены в файл 10 §5 с указанием, кто нашёл.
13Финальное ревью велось отдельной моделью по всему корпусу, с требованием проверить числа по дереву самостоятельно и найти то, что пропустили все восемь предыдущих участников.