AMTS 2.0.0は、現在初期ベータの設計段階です。新しいモデルが十分に 記述・検証されるまで、安定版のAMTS 1.x仕様は変更されません。
なぜ組み込みのチーム機能が必要なのか
多くの人とアシスタントシステムが同じSpaceを継続的に更新すると、 プロジェクトやSpaceの中心的なデータへの変更が重なることがあります。 AMTS 2では、保護され統合された中核データと、各メンバーによる分散した 貢献を区別することを目指します。
Spaceとプロジェクトの責任者が正式な中核データを管理します。メンバーは、 担当する貢献領域にタスクの進捗、結果、求められた意見を記録します。 責任者はそれらを確認し、必要な内容を中核データへ意識的に統合します。
アイデンティティと責任
AMTS 2は、ローカル環境でメンバーを識別し、共有Space内の安定した公開Aliasへ 対応付けます。Aliasには、すでに公開されているGitHubユーザー名または自由に 選んだニックネームを使用できます。共有情報とローカル情報は明確に分離します。
- 共有・同期する情報: 公開Alias、役割、Spaceおよびプロジェクトの所属。
- ローカルのみの情報: 正式名または私的な名前、GitHubユーザー名を含む 各種アカウント名、コンピューターのアカウント名、ローカルのRepositoryパス、 端末ごとの識別情報、他のSpaceへの参照。
ローカルのAlias対応表が、既知の名前とアカウントを公開Aliasへ対応付けます。 これにより、私的な識別情報を同期せずに、タスクが現在の利用者向けか判断できます。
Spaceは責任者を指定します。各プロジェクトも責任者とメンバーを指定します。 保護された中核データを変更できるのは、その範囲で許可された人だけです。
貢献モデルの案
正確なファイル構造はベータ設計の対象です。候補の一例は次のとおりです。
members/<member-id>/profile.md
governance.md
contributions/<member-id>/
projects/<Project>/governance.md
projects/<Project>/contributions/<member-id>/
公開されるメンバー用ディレクトリには、公開Alias、役割、貢献の要約だけを 保存します。タスク、進捗、結果、フィードバックへの回答を個別に管理することで、 複数の人が同じ作業ファイルを上書きする必要をなくします。
governance.mdは、責任者、所属、保護対象の中核データ、統合ルールを記述する
ための現在の候補です。ファイル名と形式はまだ正式な仕様ではありません。
タスクとGitHub Issues
タスクには1人の担当メンバー、または明示された主担当者が必要です。タスクは 対象範囲と、結果が将来どの中核データへ統合されるかを記述します。
GitHub Issuesを最初の外部タスクソースとして利用する予定です。Repository、 Issue番号、AssigneeをローカルのAlias対応表によって公開AMTS Aliasへ対応付けます。 現在の状態についてはIssueを正とし、SpaceにはAMTS固有の割り当て、結果、 統合情報の要約だけを保存します。これにより、Issue全体の古いコピーがSpace内に 残ることを防ぎます。
意見とフィードバックを求める
開始者は、特定のメンバーや役割に意見を依頼できます。依頼された各メンバーは、 自分の貢献領域に回答を記録します。開始者が結果をまとめ、自分の作業へ何を 取り入れるかを決定します。フィードバックは開始者の責任や、中核データを変更する 権限を置き換えるものではありません。
共有するタスク領域とフィードバック領域には要約だけを記録します。完全な会話は 私的なローカルChatとして保持し、明示的に共有された場合だけ同期対象のSpaceへ 加えます。
そのため、プロジェクトを開始するとき、AMTSはローカルで識別されたメンバーに 未完了のタスク、期待される貢献、フィードバック依頼があるか確認します。
初期化時の質問
初期化または再初期化では、次の内容を順番に確認します。
- 希望する呼び方と公開Alias、
- GitHubユーザー名を含め、そのAliasへ対応付けるローカルの名前とアカウント、
- 端末ごとのローカル識別情報とRepositoryパス、
- 他のSpaceへの任意のローカル相互参照、
- Spaceの責任者とメンバー、
- 既存または新規プロジェクトの責任者とメンバー。
書き込み前に、AMTSは現在のメンバーを識別し、そのメンバーのタスクと依頼を読み、 対象ファイルが本人の貢献領域か、保護された中核データかを確認します。
ルールと技術的な保護
AMTSは責任と書き込みルールを定義できますが、MarkdownのSpaceだけでローカルの
ファイルアクセスを技術的に禁止することはできません。Gitを使う実装では、
保護されたBranch、必須Review、CODEOWNERSによってルールを補強できます。
他の保存システムは、それぞれのアクセス制御を利用できます。
2.0.0ベータでは、どのファイルを中核データとして保護するか、メンバーIDを Space間でどのように安定させるか、競合または放棄されたタスクをどのように 再割り当てするかを、今後さらに定義します。