4.8 KB · updated 2026-07-06 · md

v0.7.1.ja.md

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

Tesserae v0.7.1 — tesserae ingest がフルリコンパイルなしで単一ソースをマージします

<!-- translations:start -->

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

<!-- translations:end -->

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

tesserae ingest <file|url> は、単一のドキュメントまたは URL を知識ベースにマージする新しいトップレベルコマンドです — コーパス全体を再抽出することなく — それでいてフルコンパイルとバイト単位で同一のままです。ファイルを 1 つ投入するか、Web ページを指定するだけで、毎回フルリコンパイルのコストを払う代わりに、グラフが増分的に更新されます。

1. tesserae ingest <input>... — 増分的な単一ソースのインジェスト

新しいコマンドは 1 つ以上の入力 — ローカルファイルパスまたは http(s) URL — を受け取り、それぞれを既存の知識ベースに個別に折り込みます。これは tesserae code ingest とは異なります。これはコードのインデックス作成ではなく、メイングラフへのドキュメント/ソースのインジェストです。

デフォルトでは ingest は新しいソースのみに触れる増分ファストパスを実行します。このファストパスは*パリティでゲートされています*。フルコンパイルとバイト単位で同一であることが検証されており、パリティを保証できない場合は自動的にフルリコンパイルにフォールバックするため、正しさが危険にさらされることは決してありません。--exact を渡すと、フルリコンパイルを自分で強制できます。

フラグ: --exact--dry-run--title--source-kind

2. URL は取得・変換され、来歴情報とともに追跡されます

ingesthttp(s) URL を与えると、ページを取得して markdown に変換し、来歴の front-matter とともに data/ingested/<slug>.md の下に追跡対象ソースとして永続化します。来歴とは source_urlfetched_atcontent_sha256、そしてソースが arXiv 論文として検出された場合の arxiv_id です。

URL インジェストは、基本インストールを軽量に保つため、新しいオプションの extra の背後で提供されます。

pip install tesserae[ingest-url]

3. コーパス外のローカルファイルがコーパスの一部になります

追跡対象コーパスの外部にあるローカルファイルをインジェストすると、ingest がそれをコーパス内にコピーします。こうすることで、後でフルの tesserae compile を実行しても、まったく同じ結果が再現されます — 増分インジェストとゼロからのコンパイルが同一のバイトに収束します。

4. 内部の仕組み: パリティを保持する増分シーム(seam)

増分ファストパスは、コンパイルパイプライン内の呼び出しごとの incremental_override シームの上に構築されています。これはデフォルトでは不活性(inert)です — 何もそれをオーバーライドしなければ、エンジンは以前とまったく同じように振る舞い、フルコンパイルのパリティが保持されます。ゴールデンパリティテストがこの機能をゲートし、増分インジェストとフルコンパイルがバイト単位で同一の出力を生成することをアサートします。

ハードニング

来歴の front-matter は YAML セーフなパスを通じて書き込まれるようになり、front-matter 値のインジェクションを塞ぎました(細工されたタイトルや URL が front-matter ブロックから抜け出すことはもうできません)。

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

ドロップインです。tesserae ingest <file> はローカルファイルに対してそのまま動作します。URL をインジェストするには、pip install tesserae[ingest-url] で extra をインストールしてください。既存の tesserae compile / refresh の動作は変わりません — 増分シームは ingest が駆動しない限り不活性のままです。