PJR-KEFK オーケストレーター規範に feature ブランチ経由の commit 方針を反映する
1. 概要
prj-0001:pjr-ewwx-feature-branch-policy で、develop へ入る経路を exec ブランチ / feature ブランチ / 記帳の直接 commit の 3 層に分けることを決めた。オーケストレーター規範の現行記述は commit の承認方針しか定めておらず、どのブランチで commit するかを指示していない。このままではオーケストレーターは develop へ commit し続ける。
規範の正本は .agents/specdojo-orchestrator.agent.md で、Claude / Codex / Copilot / opencode の 4 環境に薄いラッパーがある。本文はバイト一致で保守し、tools/validate-orchestrator-sync.mjs が検証する。
2. 完了条件
.agents/specdojo-orchestrator.agent.mdに、自分が内容を書いた変更はfeature/<project-id>/<topic>を切って commit し、git pushと PR 作成は利用者へ引き渡すことが書かれている。- register の記帳(起票・状態遷移・生成物の再構築)は対象 project の
developへ直接 commit してよいことが、例外として明記されている。 - exec に流す予定の
todoは実行前にdevelopへ入っている必要があることが書かれている。 - 4 環境のラッパーが本文とバイト一致し、
npm run validate:orchestrator-syncが通過する。 npm run checkが通過している。
3. 作業内容
| No | 作業 | 担当 | 状態 | メモ |
|---|---|---|---|---|
| 1 | SSOT 本文の 基本方針 へ、ブランチの選び方と記帳の例外を追記する | DEV | open | オーケストレーターが直接対応 |
| 2 | 4 環境のラッパーへ本文を同期し、validate:orchestrator-sync を通す | DEV | open | 同上 |
| 3 | feature ブランチを切って commit し、push と PR を利用者へ引き渡す | DEV | open | 決定した経路をそのまま適用する |
4. 対応結果
.agents/specdojo-orchestrator.agent.mdの基本方針へ、commit 先ブランチの選び方を 1 項目(子 4 行)追加した。記帳は対象 project のdevelopへ直接 commit してよいこと、自分が内容を書いた変更はfeature/<project-id>/<topic>を切って commit し push と PR は利用者へ引き渡すこと、exec runはdevelop上で実行すること、exec に流すtodoは実行前にdevelopへ入れておくことを明記した。- 同期対象のラッパーは 4 ではなく 5 だった(
.claude/agents、.github/agents、.opencode/agentsの gemma と qwen、.codex/agentsの TOML)。全 5 件へ本文を反映し、npm run lint:orchestrator-syncがOK (5 wrappers)を返すことを確認した。 npm run checkが通過した(118 files / 1629 tests)。- 統合経路の検証:
feature/prj-0001/orchestrator-feature-branch-ruleから PR #6 を作成し、merge commit428de095として develop へ統合した。develop へ入ったのは6e785879の 1 commit だけで、first-parent には merge commit 1 件だけが現れた。今回は feature を切る前に develop を push 済みにしたため、PJR-EWWX で観測した差分の混入は発生しなかった。 - リポジトリ設定で squash merge と rebase merge が無効化されており、PR 画面に
Merge pull requestしか表示されないことを確認した。標準が求める merge commit 方式が設定で強制されている。
5. 関連ドキュメント
- prj-0001:pjr-ewwx-feature-branch-policy
- specdojo:git-branching-standard
.agents/specdojo-orchestrator.agent.mdtools/validate-orchestrator-sync.mjs