diff options
Diffstat (limited to 'docs/Design.md')
| -rw-r--r-- | docs/Design.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/Design.md b/docs/Design.md index f370b74..b9a05c7 100644 --- a/docs/Design.md +++ b/docs/Design.md @@ -96,12 +96,24 @@ content または metadata を部分更新する。`expected_revision` が一致 次の view を持つ。 - `history`: session の時系列ページ。安定 cursor を返す +- `content`: message contentをUTF-8 byte offsetとbounded limitで分割取得する - `context`: target の前後メッセージと incoming/outgoing relation を返す。relation depth は 0~2 - `sessions`: session ごとの件数、kind 集計、代表 summary、最終時刻を返す - `export`: versioned JSONL をページ出力する互換 view レスポンスは 8 MiB budget を超えない位置でページを区切る。 +`content` viewは既定4096 bytes、最大65536 bytesを返す。offsetは0、末尾、またはUTF-8 +code point境界だけを受理し、limit位置がcode point途中なら直前の境界まで戻す。limitが +1 code pointより小さい場合だけ、そのcode pointを完全に返して進捗を保証する。各responseの +`revision`と`total_bytes`を返し、2回目以降の`expected_revision`で途中更新を`CONFLICT`として +検出する。このviewは永続data、access履歴、revisionを変更しない。message検索に必要な既存の +in-memory indexは、他のread viewと同様に必要時だけ構築する。 + +このview追加は既存toolへのadditive schema changeだけである。既存viewのinput、response、 +cursor semanticsと、保存recordおよびsnapshotのformat versionは変更しないため、data migration +とrebuildは不要であり、旧binaryと新binaryは同じdataを読み込める。 + ### `search_messages` content、summary、tags を対象に検索する。session、kind、tier、tag、minimum importance で絞り込める。matched fields、score と field 別 score 内訳、任意の前後 context を返す。 |
