Skip to content
frontmatter
キー値
specdojo.idprj-0001:pjr-c44h-plan-frontmatter-name-yaml-escape
specdojo.typeproject
specdojo.statusready
specdojo.rulebookspecdojo:pjr-rulebook
specdojo.part_ofprj-0001:pjr-index
specdojo.item_typeissue
specdojo.item_statusdone
specdojo.prioritymedium
specdojo.ownerDEV
specdojo.registered_at2026-09-29T13:53:49Z
specdojo.completed_at2026-09-30T04:05:15Z
specdojo.block_reasonintegrate failed: git commit failed: hint: to use in all of your new repositories, which will suppress this warning, / hint: to use in all of your new repositories, which will suppress this warning, /…
specdojo.conclusionplan・result・job の frontmatter の name を JSON.stringify で出力し、H1 のエスケープが残らず YAML として正しくなった

PJR-C44H plan の frontmatter の name に個票の H1 のエスケープが残り YAML が不正になる ​

1. 課題内容 ​

register 項目の plan の frontmatter の name は、src/exec-register.ts で次のように生成している。

  • 個票のタイトルに Markdown 用のエスケープ(escapeMarkdownInline)をかけ、" を ' に置き換えてから、YAML のダブルクォート文字列として書き出す。
  • タイトルに * などの Markdown 記号が含まれると、\* のようなバックスラッシュが入る。YAML のダブルクォートの中では \* は不正なエスケープであり、plan の frontmatter を YAML として読めない。

2026-09-29、PJR-Y06Y(タイトル「用語集(gl-*.yaml)の schema を作成する」)の plan で、VitePress の docs:build が unknown escape sequence で失敗した。orchestrator が plan の該当行を直して回避した(26a959d1)。利用者の環境でも、タイトルに Markdown 記号を含む項目を実行すると同じ失敗が起きる。

2. 影響範囲 ​

観点影響
スコープregister 項目の plan の生成。タイトルに * _ \ などを含む項目
スケジュールdocs サイトのビルドが止まる
コスト小
品質plan の frontmatter を YAML として読む処理(docs サイト、検証)が失敗する
関係者register を exec で実行する利用者

3. 対応方針 ​

項目内容
原因YAML の文字列に Markdown 用のエスケープをかけ、YAML としての正しいクォートをしていない
対応策frontmatter の値は、Markdown のエスケープをかけずに、YAML として正しい形(YAML ライブラリの出力、または JSON 互換のダブルクォート文字列)で書き出す。" を ' に置き換える処理もやめ、元のタイトルの文字をそのまま保つ。plan 本文の H1 など Markdown として出す箇所のエスケープは従来どおりとする
依存事項なし
完了条件タイトルに * _ \ " : # を含む項目の plan の frontmatter が YAML として読め、name が元のタイトルと一致することを単体テストで確かめる。result の frontmatter に同じ処理があれば、同じく直す。npm run check が成功する

4. 対応結果 ​

5. 関連ドキュメント ​

  • src/exec-register.ts(plan の frontmatter の生成)
  • PJR-Y06Y(発生した項目)、PJR-M8NA(同じ日に docs:build を検証した項目)