Skip to content
frontmatter
キー値
specdojo.idspecdojo:pm-members-rulebook
specdojo.typerulebook
specdojo.deliverable_typeproject
specdojo.statusready
specdojo.target_formatyaml
specdojo.recipespecdojo:pm-members-recipe
specdojo.samplespecdojo:pm-members-sample
specdojo.templatespecdojo:pm-members-template
specdojo.based_onspecdojo:people-and-organization-definition-standard

プロジェクトメンバー定義 作成ルール ​

Project Human Member Roster Documentation Rulebook

pm-members.yaml を、人間の実行主体と対応 Role code を管理するプロジェクト成果物として作成・更新するためのルールです。実行可能な agent の定義は、リポジトリ共通の保護設定へ分離します。

1. 全体方針 ​

  • pm-members.yaml には人間の member だけを記載し、members[].type は human とします。
  • 実行可能な agent は .specdojo/agent-members.yaml を正本とし、pm-members.yaml に複製しません。
  • Member は実行主体、Role code は責務を表します。Schedule の owner には member nickname を書きません。
  • members[].roles には pm-roles.yaml に存在する Role code だけを記載します。
  • 公開文書には、不要な個人名、私用メールアドレス、非公開組織情報、アクセス情報を記載しません。
  • 人間の最終承認、公開可否、説明責任は agent 定義へ移しません。

2. 位置づけと用語定義 ​

情報正本粒度
人間の identity・連絡先・兼務pm-members.yamlproject
agent の identity・選択属性.specdojo/agent-members.yamlrepository
provider の起動コマンド.specdojo/exec-defaults.yamlrepository
Role code と責務pm-roles.yamlproject
Schedule の主責任Schedule の ownertask

loadMemberRoster は人間名簿と agent 定義を schema 検証した後に合成します。合成後の nickname は一意でなければならず、--by と実行イベントはこの合成名簿を参照します。

3. ファイル命名・ID規則 ​

  • ファイル名は pm-members.yaml とします。
  • 配置は docs/ja/projects/<project-id>/030-project-management/pm-members.yaml を推奨します。
  • id は <project-id>:pm-members、project_id は配置先 project ID と一致させます。
  • members[].nickname は英小文字または数字で始め、英小文字、数字、ハイフン、アンダースコアだけを使います。
  • 実行ログへ記録済みの nickname は変更せず、交代時は新しい member を追加します。
  • 同じ nickname を .specdojo/agent-members.yaml に定義しません。

4. 推奨メタ項目 ​

項目必須内容
id○<project-id>:pm-members
type○project
status○draft / ready / deprecated
title○名簿の表示名
rulebook○specdojo:pm-members-rulebook
based_on任意根拠文書 ID
version○1 以上のデータ版
project_id○対象 project ID

schema にないメタ項目は追加しません。成果物の status は作成中は draft とし、ready への変更は人間が判断します。

5. 本文要件 ​

要素必須内容
members○人間 member の配列
rules任意名簿利用時の project 固有の運用ルール

members[] は次のフィールドを使用します。

フィールド必須内容
nickname○CLI と履歴で使う安定識別子
display_name○公開可能な表示名
email任意公開可能な連絡先。不要または非公開なら null
roles○対応可能な Role code の配列
type○human 固定
persona任意作業姿勢を示す短いラベル
focus任意重視する観点の配列
scheduler_strategy任意critical-first / dependency-first / fifo / manual
note任意稼働条件や最終判断範囲などの公開可能な補足

6. 記述ガイド ​

6.1. 人間 member ​

  • 個人名を必要としない場合は、po や store-owner のような役割ベースの nickname と表示名を使います。
  • roles は兼務を表し、責務定義そのものは pm-roles.yaml に委ねます。
  • 最終判断、公開可否、説明責任を担う範囲は note に短く記載します。
  • 連絡先を公開できない場合は推測で補わず email: null とします。

6.2. 合成名簿との整合 ​

  • nickname が .specdojo/agent-members.yaml と重複しないことを確認します。
  • --by に人間または agent の nickname を指定する場合、合成名簿に一意に存在する値を使います。
  • pm-members.yaml に type: agent が残る場合は、specdojo config migrate-members --dry-run で移行内容を確認します。
  • agent の追加・優先度・能力変更は、保護設定を変更できる人間または orchestrator が行います。

6.3. 運用ルール ​

  • rules には owner、roles、--by の使い分けを判定可能な文として記載します。
  • project 固有の公開制約や交代時の扱いだけを記載し、共通 schema を再掲しません。
  • agent の provider、モデル、起動 command は記載しません。
  • 名簿の変更理由は project の変更管理記録に残します。

7. 禁止事項 ​

禁止事項理由
type: agent の member を記載する保護設定との責務境界が崩れるため
provider、command、mode、stage_role を記載するagent 実行設定を成果物から変更できるため
Schedule の owner に nickname や人名を書く責務と実行主体を混同するため
未定義の Role code を roles に書くロール正本との整合が失われるため
実行ログ記録後の nickname を変更する履歴の参照先が不明になるため
秘密情報、私用連絡先、非公開組織情報を記載する公開適性と安全性を損なうため