Skip to content

v0.13.0 — どのエージェントを使っても、並列の衝突が起きない

Choose a tag to compare

@tacyan tacyan released this 10 Aug 02:15
· 217 commits to main since this release
9117870
  • どのエージェントを使っても、並列の衝突が起きなくなりました。これまで書き込みを止められたのは 33 種のうち claude / codex / gemini の 3 つだけで、cursor-agent や aider を使うと素通りしていました。git そのものを関所にしたので、どのエージェントでも、素の vim でも、CI からでも止まります。新規リポジトリで zai guard init と打つだけで、他の担当が持っているファイルへのコミットが実際に拒否されます
  • 追記どうしの衝突が自動で解決されるようになりました。設定一覧・翻訳表・mod 宣言・CHANGELOG のような「両方の行を残すだけ」の衝突を、git のマージドライバとして解決します。実測で、8 人が同時に書いたときに人が読む衝突行が 350 行から 70 行へ、32 人で 4526 行から 1054 行へ減りました。純粋な追記だけの一覧は 0 件になります
  • 配る前に「衝突し得ない担当表」を作れるようになりました。zai split にタスクを渡すと、互いに素な担当集合と、どうしても共有になるファイルの扱いを出します。分割が本当に互いに素であることを、出力自身が検査します
  • 並列の成果を順番に統合できるようになりました。zai train が乾式検査で「この順序なら衝突する」を実行前に出し、衝突の少ない順に自動リベースします。途中で衝突したら全部元に戻すので、中途半端な統合が残りません。ただし衝突の総数は減りません — 減るのは手が止まる回数だけです
  • いま自分がどこまで守られているかが 1 画面で分かるようになりました。パレットの「競合ゼロ点検」で、稼働中のエージェントを 1 体ずつ ✅/❌ で出します。「強制」と丸めて表示せず、フックを持たないエージェントは持たないと出します
  • マルチバッファで、複数ファイルをまとめて直せるようになりました。これまでは読むだけでした。検索結果を 1 画面に集めてその場で書き換え、「書き戻す」で各ファイルへ一度に反映します。取り消しは 1 回で戻ります
  • 日本語入力のままコマンドパレットを開けなかったのを直しました。IME が全角の を入れるため、> で始まるコマンド検索に入れず「一致するものはありません」で行き止まりになっていました。 も同じく効いていませんでした。コマンド名で検索して 0 件になったときは「> を付けると見つかります」と案内します
  • 行の左に出る作者名が、離れた 1 文字だけになるのを直しました。1 人で書いたファイルでは全行に同じ頭文字が並び、行番号まで大きく空いていました。作者が 1 人なら日時だけを行番号のすぐ隣に出します
  • 衝突レーダーが何も出さないことがあるのを直しました。共通の起点が見つからないとき、内部で「全部同じ変更」と誤って畳んでしまい、1 件も表示していませんでした