yoi/crates/pod
Hare e8c16be475 feat: Session(Segment 群の grouping)を導入
- SessionId 型を新設、各 SegmentStart に session_id を持たせる
- compaction / 内部 fork は同 SessionId を継承、fork() は新 Session を発行
- Store API を (SessionId, SegmentId) ベースに、FsStore layout は
  <root>/<session_id>/<segment_id>.jsonl に
- Store::list_sessions / list_segments(session_id) / lookup_session_of を追加
- restore_by_segment shim を session-store に提供(pod-cli --session で使用)
- SegmentState に SegmentLocation (session_id, segment_id) を保持し ArcSwap で更新
- RestoredState に session_id: Option<SessionId> を追加
- Picker は Session 単位に列挙、leaf segment を解決して resume
2026-05-20 06:17:56 +09:00
..
examples update: 残存 Session 識別子の Segment 化(review follow-up) 2026-05-20 05:17:49 +09:00
src feat: Session(Segment 群の grouping)を導入 2026-05-20 06:17:56 +09:00
tests feat: Session(Segment 群の grouping)を導入 2026-05-20 06:17:56 +09:00
build.rs cargo fmt 2026-04-27 22:51:07 +09:00
Cargo.toml update: entry hash chain と session_head mutex を撤廃 2026-05-20 04:31:37 +09:00
README.md Remove Pod-ID 2026-04-11 14:18:49 +09:00

pod

独立したエージェント実行単位「Pod」を実装するクレート。LLM ワーカーセッションをマニフェスト設定・ファイルスコープ制約と組み合わせ、Unix ソケット経由の双方向通信で操作可能にする。

公開型

コア

  • Pod<C, St> — LLM ワーカーセッション + マニフェスト + スコープのラッパー(run(), resume(), from_manifest()
  • PodRunResult — 実行結果(Finished, Paused
  • PodError — エラー型

制御

  • PodController — Pod ライフサイクルを管理するアクター(spawn() でタスク起動)
  • PodHandle — Pod への操作ハンドル(send(), subscribe()
  • PodSharedState / PodStatus — 共有状態(Idle, Running, Paused

ランタイム

  • RuntimeDir$XDG_RUNTIME_DIR/insomnia/{pod_name}/ 配下のランタイムディレクトリ管理(ステータス・履歴のアトミック書き込み)
  • SocketServer — Pod Protocol 用 Unix ソケットサーバー