Skip to content

docs(graph): a.md/h.md — YAML-фронтматер у markdown, не голий YAML - #65

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

docs(graph): a.md/h.md — YAML-фронтматер у markdown, не голий YAML#65
vitaliytv merged 1 commit into
mainfrom
claude/flag-files-frontmatter

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

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

graph.md показував a.md/h.md у fence yaml **без** `---`, тобто як голий YAML у файлі з розширенням `.md`. Решта `.md`-артефактів вузла (`task.md`, `plan_NNN.md`, `run_NNN.md`, `fact_NNN.md`) подані як markdown із ----фронтматером, а контракт голого YAML належить .yml-файлам (.mt-claim.yml). Отже це неточність подання, а не свідоме рішення.

Тепер a.md/h.md явно задані як фронтматер + вільне тіло:

  • узгоджено з розширенням і з рештою .md-артефактів графа;
  • один код-шлях парсингу (parse_front_matter) замість двох;
  • нормально рендериться при рев'ю в GitHub — голий YAML у .md не рендериться;
  • лишає місце для прози: для h.md розгорнутий опис кваліфікації природно живе в тілі.

Реалізація

nitra/mt-rust#23 — жорсткий перехід: писач емітить фронтматер, читачі переведені, старий markdown-секційний формат відхиляється явною помилкою в preflight (щоб model_tier/agent_cli не з'їхали тихо в дефолти), 19 файлів dogfood-графа мігровано.

🤖 Generated with Claude Code

Спека показувала прапори виконавця у fence ```yaml без `---`, тобто
як голий YAML у файлі з розширенням .md — на відміну від task.md,
plan_NNN.md, run_NNN.md, які подані як ```markdown із фронтматером.
Це була неточність подання, а не свідоме рішення: контракт голого
YAML належить .yml-файлам (.mt-claim.yml).

Тепер a.md/h.md явно задані як фронтматер + вільне тіло: узгоджено з
рештою .md-артефактів, один код-шлях парсингу, нормальний рендер при
рев'ю і місце для прози (для h.md — розгорнутий опис кваліфікації).

Реалізація: nitra/mt-rust (жорсткий перехід, dogfood-граф мігровано).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv merged commit 1dd966a into main Aug 9, 2026
4 checks passed
vitaliytv added a commit to nitra/mt-rust that referenced this pull request Aug 9, 2026
)

Відкрите питання #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>
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