4.9 KB · updated 2026-07-06 · md

v0.8.0.ja.md

docs/i18n/release-notes/v0.8.0.ja.md

Tesserae v0.8.0 — tesserae engine --all:すべてのプロジェクトをひとつのエンジンで

<!-- translations:start -->

English · 한국어 · 中文 · Русский · Español · Français · Deutsch

<!-- translations:end -->

リリース日 2026-06-13 · PyPI · GitHub release · pip install --upgrade tesserae==0.8.0

これまでリフレッシュエンジンはプロジェクトごとに 1 プロセスでした。N 個の登録プロジェクトは、起動・停止・管理が必要な N 個のデーモンを意味しました。v0.8.0 はフリートモードを追加します — ~/.tesserae/registry.json に登録されたすべてのプロジェクトを 1 つのプロセスで新鮮に保ちます。

tesserae engine --all

1. ひとつのプロセス、すべての登録プロジェクト

tesserae engine --all はレジストリのエントリごとにプロジェクト単位のエンジンユニットを 1 つずつ監督し、各ユニットは自前のウォッチャーとデバウンス付き再コンパイルループを持ちます。プロジェクトの登録・登録解除は再起動なしで反映されます — フリートは 10 秒ごとにレジストリと調整(reconcile)し、登録ルートが移動したユニットを再起動し、スレッドが死んだユニットを復活させます。ディスク上にディレクトリが存在しないプロジェクトは、フリートを失敗させる代わりに警告付きでスキップされます。

既存の単一プロジェクトモードは変更ありません。tesserae engine --project X は従来どおり動作し、すでにスタンドアロンエンジンが動いているプロジェクトをフリートが二重所有することは拒否されます。

2. フリート全体のコンパイル抑制

異なるプロジェクトの同時コンパイルは、同じ LLM CLI アカウントとレート制限を共有します。フリートは共有セマフォでこれらを直列化します — --compile-slots N(デフォルト 1)がフリート全体で同時に走るコンパイル数を制限します。これは v0.7.2 のプロジェクト別コンパイルロックと協調します。flock は外部のコンパイルから守り、セマフォは内部のコンパイルをスケジューリングします。

3. 堅牢なライフサイクル、徹底的なレビュー

フリートはマージ前に 3 ラウンドの敵対的レビュー(Codex、xhigh 推論強度)を受けました。発見されたすべての問題は修正され、テストでカバーされています:

  • シャットダウンはコンパイルを決して見捨てません。 ユニットスレッドは non-daemon で、停止のファンアウトは — 定期的な警告ログを出しながら — 各ユニットが現在のパイプラインを完了するまで待ちます。reconcile がクラッシュした場合を含むすべての終了経路で同様です。
  • 競合のない pidfile。 グローバルな ~/.tesserae/engine.pid はサイドカー flock の下で O_CREAT|O_EXCL により取得されるため、2 つの同時起動が両方勝つことはありません — そしてフリートは自分が所有している pidfile しか削除しません。flock のないプラットフォームでは、競合する代わりに明確な手動削除メッセージとともに自動回収を拒否します。
  • 壊れたレジストリはフリートを殺せません。 破損した JSON、読めないファイル、形の誤った・falsey な projects 値、不正な個別エントリのいずれも、すべてを壊す代わりに現在のユニットを動かし続けます(ログを出して次のポーリングで再試行)。

4. CLI の詳細

--all--project と相互排他です。フリートモードでは --debounce--interval がすべてのユニットに適用されます。--once はプロジェクトごとに 1 回の有界リフレッシュを順次実行します(CI 向け)。TESSERAE_REGISTRYTESSERAE_FLEET_PIDFILE でレジストリと pidfile の場所を上書きできます。

v0.7.2 からのアップグレード

そのまま差し替え可能で、設定変更は不要です。既存の tesserae engine の呼び出しは同一に動作します。フリートモードを使うには、プロジェクトを登録し(tesserae projects / MCP の register_project ツール)、tesserae engine --all を実行してください。