Skip to content

feat(mt-core)!: a.md/h.md — YAML-фронтматер замість markdown-секцій - #23

Merged
vitaliytv merged 1 commit into
mainfrom
claude/flag-files-frontmatter
Aug 9, 2026
Merged

feat(mt-core)!: a.md/h.md — YAML-фронтматер замість markdown-секцій#23
vitaliytv merged 1 commit into
mainfrom
claude/flag-files-frontmatter

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Відкрите питання #2 — закрито

Ні голий YAML (як показувала спека), ні markdown-секції (як робив код), а фронтматер у markdown: файл має розширення .md, тож це узгоджено з рештою артефактів вузла, дає один код-шлях парсингу, рендериться при рев'ю і лишає місце для прози в тілі. Спеку уточнено паралельним PR: nitra/mt#65.

Жорсткий перехід зроблено безпечним

Старий формат не читається як порожній — це підмінило б model_tier/agent_cli дефолтами, тобто вузол тихо виконався б не тим виконавцем на не тій моделі. Замість цього preflight падає до claim із вказівкою на graph.md, окремо розрізняючи «markdown-секційний формат» і «файл без frontmatter».

Парсер: дві відсутні конструкції

Форма зі спеки використовує inline flow-масиви (skills: [bash, write-files]) і списки мап (retry_ladder: - {} / - strategy: diagnose-first) — жодної з них хендмейд-парсер не вмів. Додано обидві, з рядками продовження для багатопольових щаблів. Кома в лапках не розрізає елемент; - http://x лишається скаляром, а не стає мапою. Серіалізатор не чіпано — байт-парність із JS збережена, наявні тести парсера проходять без змін.

Побічний ефект: retry_ladder тепер приймає і рядок, і мапу з strategy/model_tier_delta. Раніше секційний формат зводив щабель до одного рядка, тож багатопольові щаблі були невиразні в принципі — саме тому markdown і не міг виразити спеку.

Міграція

19 файлів dogfood-графа. created_at узято з дати додавання файлу в git, а не «зараз»; per-node значення збережені (перевірено на m0-dogfood-smoke: model_tier: MIN + agent_cli: codex).

Тести

7 на парсер (inline flow, списки мап, багаторядкові щаблі, двокрапка у значенні, повна форма a.md), 2 на відхилення старого формату, 2 на форму прапорів a.md/h.md. 158 passed у mt-core, cargo test --workspace зелений (19/19 наборів), clippy чистий.

Лишається одне відкрите питання — невидалений mt-napi.

🤖 Generated with Claude Code

Відкрите питання #2 з docs/conformance.md закрито: ні голий YAML (як
показувала спека), ні markdown-секції (як робив код), а фронтматер у
markdown — файл має розширення .md, тож це узгоджено з рештою
артефактів вузла, дає один код-шлях парсингу, рендериться при рев'ю і
лишає місце для прози в тілі. Спеку уточнено: nitra/mt#65.

Жорсткий перехід — старий формат НЕ читається як порожній (це підмінило
б model_tier/agent_cli дефолтами, тобто вузол тихо виконався б не тим
виконавцем), а валить preflight до claim із вказівкою на graph.md.

Парсер: додано дві конструкції, потрібні для форми зі спеки й раніше
відсутні — inline flow-масиви (skills: [bash, write-files]) і списки
мап (retry_ladder: - {} / - strategy: diagnose-first, з рядками
продовження). Кома в лапках не розрізає елемент; «- http://x» лишається
скаляром. Серіалізатор не чіпано — JS-байт-парність збережена.

retry_ladder тепер приймає і рядок, і мапу зі strategy/model_tier_delta;
раніше секційний формат зводив щабель до стрічки й багатопольові щаблі
були невиразні в принципі.

Міграція: 19 файлів dogfood-графа, created_at узято з дати додавання
файлу в git, per-node значення (MIN/MAX, agent_cli: codex) збережені.

Тести: 7 на парсер, 2 на відхилення старого формату, 2 на форму
прапорів. 158 passed у mt-core, cargo test --workspace зелений (19/19
наборів), clippy чистий.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv merged commit 5b017d3 into main Aug 9, 2026
2 of 4 checks passed
vitaliytv added a commit that referenced this pull request Aug 9, 2026
Формат a.md/h.md і видалення mt-napi закриті (#23, #24), але рядок
хвилі 1 усе ще перелічував формат серед незакритого. Карта має власне
правило «вердикт змінюється тим самим PR, що й код» — тут воно
відстало на один PR.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant