v0.28.2.ja.md
docs/i18n/release-notes/v0.28.2.ja.md
Tesserae v0.28.2 — シェルから使う verify_claim、そしてそれについて嘘をついていたドキュメント
<!-- translations:start -->
English · 한국어 · 中文 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-07-27 · PyPI · GitHub release · pip install --upgrade tesserae==0.28.2
いずれの項目も、別のコードベースで verify_claim を使って開発していたチームから の報告です。どちらも、実際に利用者になってみなければ見つからない種類の問題です。
tesserae verify-claim
verify_claim は MCP ツールでしかありませんでした。つまり、Tesserae をインポート せずサブプロセスとして呼ぶ側からはまったく到達できなかったということです。しかも インポートは無料ではありません。ツリー全体が仮想環境に引き込まれ、相手のプロジェ クトのバージョンがこちらに固定されてしまいます。
v0.25 で graph-map が埋めたのと同じ穴であり、同じ解決策です。
tesserae verify-claim -s 'Flash Attention' -p uses -o 'Tiling'
# -> {verdict, reason, triple, citation, provenance, advisory}
エンドポイントは、正確なノード id、ケースフォールドして一意な名前、または一意なエ イリアスでのみ解決されます。自然言語入力は設計上存在しません。それ以外は推測せず NOT_RESOLVABLE を返します。
終了コードは、答えとなるすべての判定に対して 0 です。ABSENT(「このグラフは それを主張していない」はエラーではなく本当の答えです)も含みます。そして NOT_RESOLVABLE には 2 を返すので、スクリプトは*確認できなかった*と*確認した 上での結果はこれである*を区別できます。分岐は verdict と provenance.class を 併せて見てください。reason では決して分岐しないでください。
再接地(re-grounding)は判定を変えます。ドキュメントは決して変えないと書いていました。
reground パラメータのドキュメントは、これが「advisory only」であり「判定を決し て変えない」と約束していました。実装は書かれた時点からそれに反しています。 document_backed は regrounded is not False を要求します。
正しかったのは実装のほうです。SUPPORTED は、主張の根拠が実在する文書の逐語 的なスパンであると断言します。ところが実際の 15,284 エッジのグラフでは、2,088 件の SUPPORTED 判定のうち 198 件が、そのファイルに明らかに存在しないテキストを 引用していました。抽出器が見出しをまたいで断片を継ぎ合わせたものです。class だ けではこれは見えません。class はメタデータから計算され、ディスクを読むのは再接地 だけだからです。
そこで、ゲートではなくドキュメントのほうを修正しました。
regrounded: false— ファイルを読み、スパンは存在しませんでした。反証された 根拠はSUPPORTEDではありえないので、判定はPRESENT_UNEVIDENCEDに降格しま す。regrounded: null— 未確認(--no-reground、または読み取り可能なsource_pathがない)。何も降格しません。仮定せず、反証してください。
判定は*reground を固定すれば*依然としてグラフのバイト列の純粋関数です。再接地 は、同じグラフが異なる答えを返しうる唯一の軸です。グラフが所有していないファイル を読む唯一の軸だからです。そしてそれは判定を下方向にしか動かせません。
verify_claim を利用しているなら、何を読むべきかが変わります。 verdict を 基準にしていたのは常に正しい判断でした。しかし regrounded を無視してよい装飾と 扱っていたのは正しくありません。それは verdict の入力であって、上に載った飾りで はありません。
その他
CLI 動詞は MCP ツールと同じ経路でグラフを読み込むようになったため、接続発見オー バーレイが両方に適用されます。verify_claim はペア局所的なので、検査対象の 2 つ のエンドポイント間に発見済みのエッジがあると、片方のサーフェスのエッジ集合にだけ 入り、もう片方には入らないという事態が起きていました。同じトリプルが、呼び方に よって違う答えを返すということです。
tesserae --help が verify-claim を 2 回表示していました。
v0.28.1 からのアップグレード
ドロップインです。API 変更はなく、verify_claim の 7 種類の判定契約とペイロード のキーは v0.27.0 から変わっていません。