1.7 KiB
1.7 KiB
LLM 履歴永続化 plan(superseded)
Status: superseded / historical note.
この文書は、
session-store/ segment log / Pod metadata 分離が入る前の検討メモ。現在の実装仕様として読まないこと。現行仕様はdocs/architecture.mdの「セッション永続化」とcrates/session-store/crates/pod-store/crates/podを正とする。
現在の要点
- 会話・worker replay の authority は
session-storeの append-only JSONL segment log。 - fresh conversation は新しい
SessionIdを作る。 - compact / fork / rewind は同じ
SessionId配下のSegmentIdを切り替える。 - segment 出自は
LogEntry::SegmentStart内のSegmentOrigin(compacted_from/forked_from)で表す。 - Pod 名からの current state は
pod-storemetadata が持つ。- active
(SessionId, SegmentId)pointer resolved_manifest_snapshot- spawned child delegation / reclaim state
- active
- runtime socket path / registry mirror は live/derived state であり、conversation history や Pod-name current state の durable authority ではない。
Superseded な旧前提
この旧 plan は以下の前提を含んでいたため、現在の仕様とは一致しない。
- session を単一ファイル・単一系列として扱う前提。
- compact/fork で新 SessionId を作る前提。
- entry hash を replay lineage の主参照にする前提。
- Pod 名 current state と conversation log authority を分離しない前提。
履歴としては有用だが、実装時の根拠には使わない。新しい変更を検討する場合は、まず current code と work item を読むこと。