PJR-V2W5 kata を新しく作る approach の名前と仕組みを決める
1. 背景
register の approach では、既存の kata を直すことと、成果物と kata を一組で作ること(bootstrap)はできるが、既存の成果物から新しい kata を起こすことと、kata だけを新しく作ることができない。approach の名前、対象の指定、利用者のリポジトリでの新しい kata の置き場所と id、カタログの参照の付け替えを決める
2026-10-22 時点の approach(src/shared/agent-types.ts の APPROACHES)のうち、kata に関わるものは次のとおり。
| 用途 | approach | 対象 |
|---|---|---|
| 成果物と kata を一組で作る(初期立ち上げ) | bootstrap | カタログの成果物 |
| 既存の kata を直す | rulebook-maintenance・recipe-maintenance・sample-maintenance・template-maintenance | 既にある kata の id |
| 既存の成果物から新しい kata を起こす | なし | - |
| kata だけを新しく作る | なし | - |
命名の型は次のとおり。成果物の作り方は <型の使い方>-guided(fully-guided・recipe-guided)と freeform、kata の保守は <kata の種類>-maintenance。kata を書くときの規則の文書は <kata の種類>-authoring-standard(rulebook-authoring-standard・sample-authoring-standard など)。
2. 検討した選択肢
2.1. approach の名前
| 選択肢 | 内容 | 利点 | 懸念 |
|---|---|---|---|
| N1(推奨) | kata の種類ごとに rulebook-authoring・recipe-authoring・sample-authoring・template-authoring | 既存の <種類>-maintenance と対になり(新しく作る/既にあるものを直す)、従う規則の文書 <種類>-authoring-standard と名前がそろう | approach が 4 つ増える(12 から 16) |
| N2 | 1 つの kata-authoring にまとめ、種類は対象の id の末尾(-rulebook など)から決める | 名前が 1 つで済む | 種類ごとに分けた <種類>-maintenance と型がそろわない |
| N3 | 手本の成果物の有無で <種類>-extraction と <種類>-authoring に分ける | 用途が名前から分かる | 名前が 8 つ増える。手本の有無は対象の指定で表せる |
| N4 | kata-bootstrap など bootstrap の派生 | 初期立ち上げとの関係が分かる | bootstrap・bootstrap-finalize は成果物を作る流れの名前で、成果物を作らない用途と混ざる |
2.2. 対象の指定
| 選択肢 | 内容 | 利点 | 懸念 |
|---|---|---|---|
| T1(推奨) | --target の 1 つ目に新しく作る kata の id、2 つ目以降に手本にする成果物の doc id(任意)を書く | 今の --target(繰り返し可)のまま書ける。手本の有無で「成果物から起こす」と「kata だけを作る」を 1 つの approach で表せる | 1 つ目と 2 つ目以降で意味が違う |
| T2 | 手本を --source など別のオプションで書く | 意味が分かれる | オプションが増え、register・schedule・plan の項目も増える |
T1 では、1 つ目の id が既にある場合は止めて <種類>-maintenance を案内する。id の末尾(-rulebook など)が approach の種類と合わない場合も止める。
2.3. 利用者のリポジトリでの新しい kata の id と置き場所
| 選択肢 | 内容 | 利点 | 懸念 |
|---|---|---|---|
| P1 | eject と同じく docs/ja/specdojo/<種類>s/ に、specdojo: の id で置く | 解決の仕組みを変えずに済む | 利用者の kata と SpecDojo の kata の区別がつかない。後の版で SpecDojo が同じ id の kata を出すと、利用者の kata が黙って優先され続ける |
| P2(推奨) | リポジトリ単位の名前空間(設定の新しいキー。既定はリポジトリのディレクトリ名から作る)で id を付け、specdojo: は SpecDojo の kata 専用とする。置き場所と解決の順は実装の todo で決め、解決の順は「利用者の名前空間の kata は利用者のリポジトリだけから探す」とする | SpecDojo の kata と衝突しない。同じリポジトリの複数の project で共有できる | 解決の仕組みの追加が要る |
| P3 | project ID の名前空間(prj-0001: など)で、project の下に置く | 置き場所が分かりやすい | 同じリポジトリの別の project と共有できない。別のリポジトリでは同じ project ID が使われ得る |
本リポジトリ(SpecDojo 自身)では、新しい kata は今までどおり specdojo: の id で docs/ja/specdojo/ の下に作る。
2.4. カタログの参照の付け替え
| 選択肢 | 内容 | 利点 | 懸念 |
|---|---|---|---|
| C1(推奨) | 手本にした成果物のカタログの参照(rulebook などのうち、作った種類)が undecided か未記入なら、同じ実行で新しい kata の id に付け替える。既に別の kata を指している場合は付け替えず、result の申し送りに書く | 作った kata がすぐ使われる。既存の参照を黙って変えない | カタログの書き換えが approach の作業に入る |
| C2 | 付け替えは別の手順(人か別の todo)にする | 実行の範囲が小さい | 作った kata が使われないまま残りやすい |
2.5. bootstrap との使い分けと schedule
bootstrapは、成果物もまだない初期立ち上げで、成果物と kata を一組で作るときに使う。<種類>-authoringは、成果物が既にあるか成果物を作らないときに、kata だけを作るときに使う。この使い分けを specdojo:kata-guide と Quick Start に書く。- 新しい approach は register だけでなく schedule の approach としても使えるようにし、
<種類>-maintenanceと同じく schedule の strategy の profile を用意するかは実装の todo で決める。
3. 決定内容
推奨のとおり、次のように決める。
- 名前は N1 とする。kata を新しく作る approach を
rulebook-authoring・recipe-authoring・sample-authoring・template-authoringの 4 つとし、既存の<種類>-maintenanceと対にする。 - 対象の指定は T1 とする。
--targetの 1 つ目に新しく作る kata の id、2 つ目以降に手本にする成果物の doc id(任意)を書く。1 つ目の id が既にある場合と、id の末尾が approach の種類と合わない場合は、起票と実行の時点で止め、既にある場合は<種類>-maintenanceを案内する。 - 利用者のリポジトリでの新しい kata は P2 とする。リポジトリ単位の名前空間(設定の新しいキー。既定はリポジトリのディレクトリ名から作る)で id を付け、
specdojo:は SpecDojo の kata 専用とする。利用者の名前空間の kata は利用者のリポジトリだけから探す。置き場所と設定のキーの名前は実装の todo で決める。本リポジトリでは今までどおりspecdojo:の id でdocs/ja/specdojo/の下に作る。 - カタログの参照の付け替えは C1 とする。手本にした成果物のカタログの参照のうち、作った種類のものが
undecidedか未記入なら、同じ実行で新しい kata の id に付け替える。既に別の kata を指している場合は付け替えず、result の申し送りに書く。 bootstrapは成果物もまだない初期立ち上げ、<種類>-authoringは成果物が既にあるか成果物を作らないときに使う。この使い分けを specdojo:kata-guide と Quick Start に書く。新しい approach を schedule でも使えるようにするかは、実装の todo で決める。
4. 採択理由
<種類>-authoringは、既存の<種類>-maintenance(既にある kata を直す)と対になり、従う規則の文書<種類>-authoring-standardとも名前がそろう。- 手本の成果物を
--targetの 2 つ目以降で書くことで、オプションを増やさずに「成果物から起こす」と「kata だけを作る」を 1 つの approach で表せる。 specdojo:を SpecDojo の kata 専用にすることで、後の版で SpecDojo が同じ id の kata を出しても、利用者の kata と衝突しない。- 既存のカタログの参照を黙って変えないことで、作った kata を使い始めつつ、意図しない置き換えを防ぐ。
5. 承認
| 項目 | 内容 |
|---|---|
| 決定者 | 利用者(indie) |
| 決定日 | 2026-10-22 |
| 承認方式 | commit |
| 証跡 | orchestrator との会話(2026-10-22)で、推奨の N1・T1・P2・C1 を「推奨でお願いします」として承認 |
- 承認方式は
commitまたはPRを記載する。PRの場合は証跡に PR URL と merge SHA を本文テキストで記載する。 - 不可逆・高リスク・framework schema 破壊的変更に該当する決定は
PR方式で承認する。
6. 影響範囲とフォローアップ
| 項目 | 内容 |
|---|---|
| 影響範囲 | src/shared/agent-types.ts の APPROACHES、register の approach の検証(src/register/approach.ts)、plan の生成(src/exec/register.ts・src/exec/plans-generation.ts)、kata の解決(src/kata/)、設定の schema、関係するガイド |
| 必要な対応 | 実装の todo を 1 件起票した |
| 追跡先 | 実装の todo(本決定の close と同時に起票) |
7. 関連ドキュメント
- specdojo:kata-guide
- PJR-H72A(register の approach の方針)