v0.28.0.ja.md
docs/i18n/release-notes/v0.28.0.ja.md
Tesserae v0.28.0 — あなたのお金を誤って費やしてしまう可能性のないフック
<!-- translations:start -->
English · 한국어 · 中文 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-07-27 · PyPI · GitHub release · pip install --upgrade tesserae==0.28.0
最初の項目のアップグレード。 これは費用バグであり、実際のマシンで再現されました。
$HOME トラップ
~/.tesserae のナレッジベースは $HOME をプロジェクトルートのように見せかけます。 プラグインの resolve_project_root() は作業ディレクトリから上へ歩んで、 最初に見つかった .tesserae/ に到達しました。そのため、登録されたプロジェクト の外で開始されたセッションはすべて $HOME に解決され、PostToolUse フックは ホームディレクトリ全体に対して tesserae compile --changed-only をバックグラウンドで 実行しました。
15k ファイル、795 MB のグラフ、およそ 10 時間の LLM 費用、 それを開始したセッションより長く生き残った setsid 'd プロセスから。 毎回の Edit/Write で起火しました。
フォールバックはそれをさらに悪くしました。.tesserae/ が見つからなかった場合、 リゾルバーはこれを行いました:
echo "$PWD"
return 0
それはどの*ディレクトリ*もプロジェクトだと主張しました。呼び出し側はその後 -d "$root/.tesserae" をテストしました—これは $HOME 下のどの作業ディレクトリに対しても 成功しました。そのテストは防御の最後の行でしたが、フォールバックはまっすぐそれを 通り抜けました。
今は 2 つの拒否があります。$HOME はウォークアップパスでもgit-root パスでも プロジェクトルートではありません。そして、マッチなしは非ゼロステータスで空を返すため、 呼び出し側は推測する代わりに何もしません。
費用をかけるフックはオプトイン。 TESSERAE_HOOK_AUTOCOMPILE=1 は自動 リコンパイルを有効にします。ない場合、何もしません。実際に費用をかける 2 つに のみ適用されます—posttooluse-edit.sh と session-end.sh。session-start.sh は決定的な code sync を実行し、pretooluse-compile.sh はあなたが自分で入力した tesserae compile をインターセプトするだけなので、どちらもゲートされていません。
バックグラウンドでモデルワークを行うフックは、請求が到着した後にオフに スイッチするのではなく、意図的にオンに切り替えるべきです。
Python CLI にはこのバグがありませんでした。ProjectWiki.load() は与えられた パスを使用し、上へ歩みません。そのため、登録されたプロジェクト外で手動で tesserae compile を実行するとクリーンに失敗します。トラップはシェルフック だけにありました。
OKF v0.2
Google's Open Knowledge Format v0.2 は出所、信頼、ライフサイクル、および認証をファーストクラスにします。Tesserae は現在 v0.2 を発行し、v0.1 を引き続き使用します。
発行:抽出器およびエージェントマーカーからの generated: {by, at}; 信頼シグナルを持つ sources(セッションカウント、usage_window、 last_modified、および正確に 1 つの authored_by Person が存在する 場所のみ author);supersedes エッジから派生した status: deprecated と stale_after。
発行されない:verified、したがって unverified を上回る信頼層はありません。 Tesserae にはアクターとタイムスタンプ付きの記録されたベリフィケーション*イベント* がありません。その 4 つの出処クラスはエッジプロパティです—グラフがトリプルを どの程度強くライセンスするか—一方、OKF の信頼ファミリーは概念あたりの ベリフィケーションイベントです。異なる軸;1 つを他にマップすることは、 信頼を仕様を通してランダリーします。5,193 の実際の概念に対してベリフィケーション: verified 発行 0 回、generated.by クレーム human: 0 回。
3 つのコンシューマーバグが修正されました。すべて仕様の Appendix A を 実際の CLI を通じて読み込むことで見つかりました。以前はクラッシュしていました: 引用符なし YAML タイムスタンプは datetime に解決され、シリアライゼーションを 破りました;v0.1 timestamp フォールバックはその同じ引用符なし形式に サイレントに何もしませんでした;そして §6.1 の推奨バンドル相対リンク (/tables/customers.md)はゼロエッジを生成したため、仕様に従うバンドルは 切断されたノードとしてインポートされました。
仕様独自の句から書かれた検証ツールは、5,193 概念エクスポートをゼロ失敗で、 無損失でバイト-アイデンポーテンにパスします。
同語反復の評決に名前が付きました
約 40% の verify_claim の SUPPORTED 評決は、引用されたスパンがエッジ自体の ターゲットである evidenced_by エッジでした—「C は S により実証」、 S を読むことで確認。真ですが、情報がなく、以前は本物のドキュメント裏付け評決 と区別できませんでした。
ペイロードは現在、どちらであるかを言います。15,284 個のエッジすべてにわたって: すべての evidenced_by SUPPORTED がフラグ付きで、他に何もフラグなし、 そして評決の真の値は変わりません。追加的なため、v0.27.0 の 7 評決契約は 変わりません。
v0.27.0 からアップグレード
ライブラリのドロップイン。プラグインを再インストールしてフックフィックスを 取得し、自動リコンパイルを戻す場合は、TESSERAE_HOOK_AUTOCOMPILE=1 を設定します。
以前の偶発的なコンパイルから $HOME に異常な .tesserae が存在する場合、 それは現在は不活性です—しかしそれはまた大きく、レジストリとコンフィグが 別の場所に存在することを確認したら、それを削除するのは安全です。