GrooveSeek

Semantic search over a Markdown knowledge base, served over MCP.

View the Project on GitHub alphabet-h/grooveseek

29. 変わっていない文書は、形式ごとの policy key で一度だけ読み直す

背景と課題

ADR-0028 は、.docx の読み方の変更に 既存の索引が普通の run 1 回で追いつく仕組みを決めた: index_meta の policy key が現行値で ない間、変わっていない .docx を読み直し、行ごとに決着させる。この pass は .docx 専用で、 key、読み直す行を選ぶ述語 (rereads_unchanged_docx)、awaiting-reparse の印、最後の transaction がどれも "docx" を名指していた。

v1.19.0 は .pptx の読み方を変える: 表の行を 1 行に書き (セルはタブ区切り)、<a:br> を改行 として読む。変わっていない .pptx は、索引がある限り前の版が切った chunk のまま残る。 ADR-0028 が .docx で解いたのと同じ問題で、ADR-0028 の見直し条件「別の形式でも同じ追いつきが 要る変更が来た時」に当たる。本 ADR は、ADR-0028 の「行ごとの列 (選択肢 1) が一般形」という 一文を置き換える。

判断の軸

検討した選択肢

  1. 文書行ごとに「どの規則で書いたか」の列を持つ (ADR-0028 の選択肢 1)。正確で一般的だが、 migration 付きの schema 変更と全書き込み経路が埋める列が要り、.docx の test が key の値と 「key を消すと pass が開く」を固定している。この 2 点で却下。
  2. .docx の pass を .pptx 用に写す。 .docx の経路は変わらないが、同じ問い (「この run は この行を読み直すか」) に実装が 2 つになり、AGENTS.md が禁じる形になる。
  3. 形式ごとの policy key と、(拡張子, 古いか) の組で回す 1 つの述語。 採用。

決定

結果と代償

参考