docs(specs): контракт n-rules:plugin@5.0.0 — повноваження як світи - #602
Merged
Conversation
Мета мажора не «додати ще одну поверхню», а зробити наступну поверхню безкоштовною: тип поверхні виноситься з форми ядрового світу. Три родини пакетів із власними циклами версіонування — ядро, caps (tool-runner, file-reader, llm-consumer), surfaces (coverage-provider, knowledge-extractor, docgen-stage). Прецедент закладений ще у v3 рішенням Л: n-rules:slots@1.0.0 уже існує окремо. Дискавері не потребує окремого механізму: маніфест у custom section, який вбудовує робота Д2, читається з байтів файлу до інстанціації — курка й яйце розвʼязані дистрибуцією, яку й так робимо. Зміряно й записано: усі шість гостей мають fs_read = [] і network = false, тобто наявний декларативний гейт порожній скрізь — він не перевіряє нічого реального. Це підпирає заміну його на типовий. Єдина зміна форми маніфесту — поле worlds; саме вона робить мажор неминучим. Решта змін форми (винесення run-tool/exec-tool, напівживих поверхонь) їде тим самим бампом, бо ламати шістьох гостей кілька разів замість одного було б помилкою. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Спека мажора, що реалізує рішення 1–5 (#600) і 6–11 (#601).
Мета — не «ще одна поверхня», а щоб наступна була безкоштовною
world.wit:105-111: без width-subtyping будь-яка зміна форми межі — мажор. Отже кожна нова поверхня сьогодні платна назавжди.5.0.0виносить тип поверхні з форми ядрового світу — і після нього нова поверхня коштує новий світ, а не зміну контракту.Дві виміряні підстави
fs_read = []іnetwork = false. Гейт існує, але не перевіряє нічого реального.n-rules:slots@1.0.0уже живе окремо з власним циклом версіонування (рішення Л).5.0.0доводить напрямок до кінця.Структура
Три родини пакетів: ядро,
caps(tool-runner,file-reader,llm-consumer),surfaces(coverage-provider,knowledge-extractor,docgen-stage). Гість, що не оголосивtool-runner, не має цих імпортів у своєму типі — не «дістає відмову в рантаймі».Курка і яйце розвʼязані дистрибуцією
Щоб знати світи, треба маніфест; щоб маніфест — треба інстанціювати; щоб інстанціювати — треба знати світи. Розвʼязання вже будується: робота Д2 вбудовує маніфест у custom section, і хост читає перелік світів із байтів файлу, до будь-якої інстанціації. Окремий механізм дискавері не потрібен.
Що входить у мажор
Єдина зміна форми маніфесту — поле
worlds; саме вона робить мажор неминучим. Решта (винесенняrun-tool/exec-tool, напівживихecosystem-outdated/docgen-render) їде тим самим бампом: ламати шістьох гостей кілька разів замість одного було б помилкою, яку доккомент4.0.0уже описав.Відкрито свідомо
Форма
llm-request(проєктувати разом із портомdocgen, коли буде видно потреби стадій), доляcapabilities.network, і гранулярність версіонуванняcaps.