共有ナレッジと競合
Cloudワークスペースでチームのナレッジを同期させる仕組み、保存時に重なった編集を検出する仕組み、そして作業を失わずに競合を解決する方法を説明します。
Pathruleは共有のナレッジレイヤーなので、いずれ2人が同じメモリ、ルール、スキルを同時に編集する場面が出てきます。Cloudへの書き込みは共有され、編集の重なりは保存時にチェックされ、その解決方法はあなたが決めます。
最新の状態を読む
Cloudワークスペースに書き込まれたメモリ、ルール、スキルは、その共有ワークスペースの一部になります。現在のCloudバックエンドには、チームメンバーの編集を開いているビューへ逐一プッシュするリアルタイムのサブスクリプションはありません。
最新の状態を読むには、ナレッジビューを更新するか、ナレッジを再度リクエストしてください。ローカルのフックや指示ファイルは、準備済みのワークスペースナレッジを使います。これらのファイルとインデックスを更新するにはpathrule syncを実行してください。すでに準備済みのセッションが、チームメンバーの最新の編集を受け取っているとは考えないでください。
ローカルワークスペースは1台のマシン上にあります。ナレッジを共有のCloudワークスペースにコピーするまで、その変更は他のメンバーには届きません。
保存時の重なりの検出
Pathruleは、誰かがアイテムを開いている間にそのアイテムをロックしません。ロックすると、実際には衝突しない編集のためにチームの作業が止まってしまうからです。その代わり、保存のたびにバージョントークン(メモリの書き方で説明しているものと同じトークン)が送られ、2つの保存が同じ開始バージョンを対象にしている場合にのみ重なりが検出されます。
| 状況 | 結果 |
|---|---|
| 保存した時点で、開始バージョンがまだ最新である | 通常どおり保存されます |
| 保存したが、作業開始後にチームメンバーが新しいバージョンを保存していた | 競合になり、以下の選択肢で解決します。選択するまであなたのバージョンは保存されません |
チェックは個々のアイテム単位で行われるため、別々のメモリを編集しているチームメンバー同士が互いを妨げることはありません。
競合の解決
Pathrule for VS Codeでは、メモリ、ルール、スキルはMarkdownのタブとして開きます。保存時に競合が起きると、VS Codeはリモートで内容が変更されたこと、そしてあなたのバージョンが保存されていないことを知らせ、3つの選択肢を提示します。
| 選択肢 | 動作 |
|---|---|
| Reload | 最新のバージョンを読み込み、保存していない編集を破棄します。 |
| Copy My Version & Reload | 先にあなたのテキストをクリップボードにコピーしてから最新のバージョンを読み込むので、意図していた変更を適用し直せます。 |
| Keep Mine (Overwrite) | あなたのバージョンで最新のバージョンを上書き保存します。相手の変更は破棄されるため、明示的に選ぶ操作になっています。 |
いずれかを選ぶまで、何も上書きされません。MCP経由では、アシスタントが最後に読み込んだバージョンを渡せます。不一致の場合は最新のバージョンが返されるので、アシスタントはそれを読み直し、上書きせずに自分の変更をマージします。
変更履歴
メモリ、ルール、スキルへの変更はすべてバージョン管理され、記録されます。
- 各変更には、誰が、いつ行ったか、人とAIクライアントのどちらによるものかが残ります。
- VS Codeでは、Infoアクションでアイテムのバージョン、作成者、最終編集者、ソースを確認できます。
履歴は可視化のためのものです。アイテムが現在の状態に至った経緯がわかります。これは、ナレッジが実態からずれ始めたときにリフレッシュタスクが答えを出す手助けをするのと同じ問いです。