|
|
16963d15f2
|
fix: drain snapshots before pod callbacks
|
2026-05-23 04:57:03 +09:00 |
|
|
|
f55503edc3
|
docs: add pod event callback delivery ticket
|
2026-05-23 03:29:01 +09:00 |
|
|
|
d18e3a0256
|
docs: add spawned delegation scope reclaim ticket
|
2026-05-23 03:02:48 +09:00 |
|
|
|
5ba4be1c9b
|
refactor: remove legacy plural log entries
|
2026-05-23 02:03:42 +09:00 |
|
|
|
90d4c8f5ad
|
docs: track read pod output log entry bug
|
2026-05-23 00:53:47 +09:00 |
|
|
|
61c9719da5
|
docs: add pod discovery restore tools ticket
|
2026-05-23 00:09:34 +09:00 |
|
|
|
73fbdcc025
|
chore: complete spawned-registry-persist ticket
|
2026-05-22 23:30:16 +09:00 |
|
|
|
5fdc46db47
|
merge: spawned-registry-persist
|
2026-05-22 23:30:06 +09:00 |
|
|
|
534c6f4cac
|
feat: persist spawned pod registry
|
2026-05-22 23:30:02 +09:00 |
|
|
|
5540ca3d0e
|
chore: complete pod-name-resume ticket
|
2026-05-22 22:57:31 +09:00 |
|
|
|
edfdca3457
|
merge: pod-name-resume
|
2026-05-22 22:57:23 +09:00 |
|
|
|
bd32f704b4
|
feat: resume pods by name
|
2026-05-22 22:57:16 +09:00 |
|
|
|
e55fc9a834
|
chore: complete pod-state-write-points ticket
|
2026-05-22 22:29:23 +09:00 |
|
|
|
7f6e3b949f
|
merge: pod-state-write-points
|
2026-05-22 22:29:12 +09:00 |
|
|
|
0954a4804a
|
feat: wire pod metadata lifecycle writes
|
2026-05-22 22:29:08 +09:00 |
|
|
|
e9cc4b90dc
|
chore: complete pod-state-backend ticket
|
2026-05-22 22:03:36 +09:00 |
|
|
|
8aca67c97c
|
style: run cargo fmt
|
2026-05-22 22:03:27 +09:00 |
|
|
|
d7eabb18c9
|
merge: pod-state-backend
|
2026-05-22 22:03:17 +09:00 |
|
|
|
b13c2735bb
|
feat: add pod metadata store backend
|
2026-05-22 22:03:11 +09:00 |
|
|
|
67f135fbc6
|
Merge: live-fork-marker
|
2026-05-20 06:45:49 +09:00 |
|
|
|
a728b7045d
|
chore: 空になった Storage 親見出しを TODO から削除
|
2026-05-20 06:45:43 +09:00 |
|
|
|
3eabcb6a6d
|
ticket: live-fork-marker 完了
|
2026-05-20 06:45:19 +09:00 |
|
|
|
ffcba3aa54
|
chore: auto-fork ロジック二重実装を KNOWN_ISSUES に登録
|
2026-05-20 06:45:14 +09:00 |
|
|
|
eb752fb295
|
ticket: live-fork-marker レビュー (Approve)
|
2026-05-20 06:44:54 +09:00 |
|
|
|
ac3ee5fcbe
|
feat: live auto-fork の marker 形式を確定(seq 比較 + forked_from 記録)
方針: 末尾 entry-count 比較で検知し、元 Segment は immutable のまま
(terminal marker を書き戻さない)。fork lineage は新 Segment の
SegmentStart.forked_from に前向きに記録するため、log だけから辿れる。
過去 fork と対称で、nested fork も marker 位置の調停が不要。
- session-store ensure_head_or_fork に at_turn_index 引数を追加し
新 Segment へ forked_from を記録
- pod ensure_segment_head の auto-fork も同様に forked_from を記録
(at_turn_index = writer の現 turn_count)
- fork_at の doc に「元 Segment を mutate しない」invariant を明記
- test: nested past-fork が祖先を不変に保つ / Pod 並行 writer drift で
auto-fork し forked_from を記録 / 元 Segment に marker が書かれない
|
2026-05-20 06:42:09 +09:00 |
|
|
|
46b0e20685
|
Merge: session-grouping-introduce
|
2026-05-20 06:29:48 +09:00 |
|
|
|
6a4ee37be8
|
ticket: session-grouping-introduce 完了
|
2026-05-20 06:29:43 +09:00 |
|
|
|
3f3ead3b71
|
update: session-grouping review follow-up
- PickerOutcome::Picked から未使用の session_id を除去(pod-cli が lookup_session_of で再解決)
- picker preview が singular AssistantItem も拾うように
- fs_store layout doc に migration(後方互換なし、旧 flat sessions は破棄)を明記
- TaskStore は Session-lifetime、ScopedFs/Tracker は Pod-process lifetime と用語整理
- Pod::session_id / from_manifest_spawned のコメント補強
|
2026-05-20 06:29:37 +09:00 |
|
|
|
a6cc05f74c
|
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 |
|
|
|
e4cda5d3f2
|
Merge: segment-rename
|
2026-05-20 05:18:11 +09:00 |
|
|
|
dd9abfee2e
|
ticket: segment-rename 完了
|
2026-05-20 05:18:04 +09:00 |
|
|
|
d7ff25b6a7
|
update: 残存 Session 識別子の Segment 化(review follow-up)
レビュー指摘の通り、次の session-grouping-introduce で新 SessionId が
入る前に名称衝突を避けるため取り残しを掃除。
- PodError::Session{Empty,ScopeMissing} → Segment{Empty,ScopeMissing}
- ScopeLockError::SessionConflict → SegmentConflict
- Pod.session_state / SegmentState.set_session_id 系
- source_session_id / prev_session_id / ensure_session_head / short_session
- pod_cli の "Session ID:" 表示
- fs_store の sessions ローカル変数
|
2026-05-20 05:17:49 +09:00 |
|
|
|
7577577c9f
|
update: Session-lifetime/scoped を Pod-lifetime に修正
タスクストア/ファイルトラッカーは compaction を跨いで Pod プロセス寿命まで生きる。
旧 SessionId = Segment の時代の表現を Pod-lifetime に正す。pod_cli の表示も Segment: に。
|
2026-05-20 05:06:38 +09:00 |
|
|
|
0d7c37f673
|
update: SessionId / SessionStart / SessionOrigin 等を Segment 系名称へ
- Type/Function/Variantを Segment* 系へ統一
- SessionId/SessionStart/SessionOrigin/SessionStartState/SessionState/SessionLogSink/SessionLockInfo
- new_session_id / session_id / create_session* / list_sessions / lookup_session / update_session / find_by_session
- protocol Event::SessionRotated → SegmentRotated、CompactDone.new_session_id → new_segment_id
- Module: session_log → segment_log / session → segment (file mv 含む)
pod 側の session_log_sink → segment_log_sink も同様
- crate 名 (session-store)、CLI flag (--session)、ResumeWithSession (CLI tied) は据え置き
- session-tests/session_metrics_test 等の Store impl も追従
|
2026-05-20 05:06:04 +09:00 |
|
|
|
d5c7330659
|
Merge: entry-hash-abolish
|
2026-05-20 04:53:52 +09:00 |
|
|
|
9c1f51b4f0
|
ticket: entry-hash-abolish 完了
|
2026-05-20 04:53:47 +09:00 |
|
|
|
1d8a490504
|
update: 旧用語コメントの掃除と KNOWN_ISSUES 追記
- 残存していた head_hash / SessionHead 言及コメントを 3 箇所更新
- FsStore::read_entry_count の O(n) 計測コストを KNOWN_ISSUES に登録
|
2026-05-20 04:53:33 +09:00 |
|
|
|
6e791d8668
|
ticket: entry-hash-abolish レビュー (Approve)
|
2026-05-20 04:49:17 +09:00 |
|
|
|
d5dff6d17b
|
update: entry hash chain と session_head mutex を撤廃
- HashedEntry / EntryHash / compute_hash / build_chain 撤去、JSONL は 1 行 1 LogEntry
- SessionOrigin.at_hash → at_turn_index (TurnEnd 由来) に置換
- Pod 側 SessionHead mutex を ArcSwap<SessionId> + AtomicUsize の SessionState に置換
- ensure_head_or_fork は store の entry count と writer の append tally で判定
- session-store から sha2 / hex 依存、pod から parking_lot 依存を削除
|
2026-05-20 04:31:37 +09:00 |
|
|
|
35c15923db
|
ticket: 永続化整理を 8 個に分割
persistence-semantics と pod-persistent-state を実装可能な粒度に分割。
Storage 層 (Phase 1) を entry-hash-abolish / segment-rename /
session-grouping-introduce / live-fork-marker に、Pod 単位永続化
(Phase 2) を pod-state-backend / pod-state-write-points /
pod-name-resume / spawned-registry-persist に切り出した。
|
2026-05-20 04:07:44 +09:00 |
|
|
|
be5e413b55
|
Merge: invoke-turn-llmcall-semantics
# Conflicts:
# crates/pod/src/controller.rs
|
2026-05-15 22:08:41 +09:00 |
|
|
|
58c2a51ae1
|
ticket: invoke-turn-llmcall-semantics 完了
|
2026-05-15 21:54:40 +09:00 |
|
|
|
e00e284d8c
|
ticket: worker-history-append-contract 作成
|
2026-05-15 21:53:24 +09:00 |
|
|
|
e5f5670f68
|
chore: KNOWN_ISSUES に controller_test::double_run_returns_error の flakiness を追記
|
2026-05-15 21:52:40 +09:00 |
|
|
|
a2376b0742
|
ticket: pod-interrupt-prep-internalize 完了
|
2026-05-15 21:52:24 +09:00 |
|
|
|
fbd7d8acb7
|
ticket: pod-interrupt-prep-internalize レビュー (Approve with follow-up)
|
2026-05-15 21:51:57 +09:00 |
|
|
|
282a857248
|
update: Paused→Run の interrupt 前処理を Pod::run に内包
|
2026-05-15 21:51:57 +09:00 |
|
|
|
9304b52f17
|
ticket: invoke-turn-llmcall-semantics review (Approve)
|
2026-05-15 21:42:43 +09:00 |
|
|
|
d0dbac109d
|
feat: Invoke marker と LlmCall callback を導入し AgentTurn セマンティクスを明確化
- protocol: InvokeKind enum、Event::InvokeStart / LlmCallStart / LlmCallEnd 追加
- llm-worker: Worker.llm_call_count と on_llm_call_start/end callback、turn_count を AgentTurn 数として doc 更新
- session-store: LogEntry::Invoke { ts, trigger } 追加 (replay は marker のみで state 不変)
- pod: run/run_for_notification 開始時に Invoke marker commit、PendingRun::RunForNotification(InvokeKind) で kind を伝搬
- pod ipc: sink + server で Invoke エントリーを Event::InvokeStart として broadcast
- tui: 新 Event 3種を no-op で受理 (UI 設計はチケット範囲外)
|
2026-05-15 07:04:26 +09:00 |
|
|
|
d710cac879
|
ticket: invoke/turn/llmcall 決定事項と実装範囲を明文化
|
2026-05-15 06:48:57 +09:00 |
|