Commit Graph

302 Commits

Author SHA1 Message Date
12dd35cfb2 feat: add compact session exploration tools 2026-05-28 12:31:44 +09:00
c274e4a891 feat: bound compact worker context 2026-05-28 11:59:41 +09:00
8c6a4acf5f fix: suppress memory idle skip notices 2026-05-27 18:55:58 +09:00
8416533695 feat: trace pre-stream lifecycle 2026-05-26 21:05:45 +09:00
372a99bc0b feat: add session stream event trace flag 2026-05-26 19:57:47 +09:00
5ccfdea7c8 fix: compact retained split uses raw tail size 2026-05-26 17:52:09 +09:00
405339fb04 fix: align spawn user manifest env overlay 2026-05-26 10:09:17 +09:00
fea274cfe3 fix: split resident injection gates 2026-05-26 09:44:24 +09:00
9ec77a2a2b feat: inject memory summary into resident prompt 2026-05-26 09:21:10 +09:00
88619f36cf merge: memory consolidation skip observability 2026-05-26 08:37:32 +09:00
3f260d7d4e fix: confirm SpawnPod initial run delivery 2026-05-26 08:37:24 +09:00
bb917246ec fix: suppress memory idle skip notices 2026-05-26 08:03:17 +09:00
be753099ae feat: surface llm retry and continuation state 2026-05-26 07:13:59 +09:00
10d3556792 memory: add audit log events 2026-05-25 03:24:04 +09:00
891b6d91fd test: clean up compact event assertion 2026-05-24 09:39:57 +09:00
cabc556b2c feat: add manual compact command 2026-05-24 08:59:44 +09:00
65c399e6d9 fix: route worker history appends through callbacks 2026-05-24 06:44:19 +09:00
9fc3653502 chore: handle rolled back run result clients 2026-05-23 12:51:40 +09:00
03e7795130 feat: rollback empty interrupted turns 2026-05-23 12:50:46 +09:00
8813d966bb fix: make visible pod list schema object 2026-05-23 12:29:37 +09:00
044032ef2b merge: pod-discovery-restore-tools 2026-05-23 12:04:59 +09:00
fd1b06198e feat: add visible pod discovery tools 2026-05-23 12:04:45 +09:00
d5da95499d fix: remove memory extract input cap 2026-05-23 09:14:07 +09:00
a26f18c466 fix: reclaim delegated scope from stopped children 2026-05-23 08:38:42 +09:00
a267ad8114 feat: show context usage in tui status 2026-05-23 07:15:03 +09:00
369a5931bc merge: prune-token-budget 2026-05-23 05:00:15 +09:00
9ee7f04805 feat: protect prune tail by token budget 2026-05-23 05:00:06 +09:00
767400d5c2 fix: drain snapshots before pod callbacks 2026-05-23 04:57:03 +09:00
4795b6cb4a refactor: remove legacy plural log entries 2026-05-23 02:03:42 +09:00
1e0dc6566c feat: persist spawned pod registry 2026-05-22 23:30:02 +09:00
0e562dd4d9 feat: resume pods by name 2026-05-22 22:57:16 +09:00
58608c4f57 feat: wire pod metadata lifecycle writes 2026-05-22 22:29:08 +09:00
93c91e7c06 style: run cargo fmt 2026-05-22 22:03:27 +09:00
a9340a8817 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
0dfdd11921 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
5edc4d3b03 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
c2b55a498b 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
2d23673393 update: Session-lifetime/scoped を Pod-lifetime に修正
タスクストア/ファイルトラッカーは compaction を跨いで Pod プロセス寿命まで生きる。
旧 SessionId = Segment の時代の表現を Pod-lifetime に正す。pod_cli の表示も Segment: に。
2026-05-20 05:06:38 +09:00
22f5d02385 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
55c5ac4942 update: 旧用語コメントの掃除と KNOWN_ISSUES 追記
- 残存していた head_hash / SessionHead 言及コメントを 3 箇所更新
- FsStore::read_entry_count の O(n) 計測コストを KNOWN_ISSUES に登録
2026-05-20 04:53:33 +09:00
90e83bf2ae 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
72c1d04cf2 Merge: invoke-turn-llmcall-semantics
# Conflicts:
#	crates/pod/src/controller.rs
2026-05-15 22:08:41 +09:00
35988f3249 update: Paused→Run の interrupt 前処理を Pod::run に内包 2026-05-15 21:51:57 +09:00
79b8336a14 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
9f9e42ab59 update: Controllerで入力のValidationを行っていた部分をPod側に移す 2026-05-15 05:33:33 +09:00
d5a7cf2aab update: 親にターン完了を通達する経路の整理 2026-05-15 04:38:53 +09:00
35fec78519 update: エントリの単数化のフォローアップ 2026-05-14 19:42:23 +09:00
988495cfea update: 書き込みの不要なasyncを削除 2026-05-14 19:16:48 +09:00
f9def2d5bb update: SystemItem1本化 2026-05-14 14:36:29 +09:00
6358affd76 chore: cargo fmt 2026-05-14 03:36:08 +09:00
f73e648929 fix: 実態にそぐわないEvent::Entryを実装した構造を訂正 2026-05-14 03:35:52 +09:00
e7064878c2 refactor: Podのメインループのリファクタリング 2026-05-14 03:27:49 +09:00
28443d2e04 merge: file-ref-directory 2026-05-13 06:30:45 +09:00
a44288c258 merge: pod-cli-manifest-flags 2026-05-13 06:30:45 +09:00
ba3655522b refactor: PodControllerの構造のリファクタリング 2026-05-13 06:07:38 +09:00
524e3dc551 feat: handle directory file refs 2026-05-13 02:57:58 +09:00
b67023aafc feat: organize pod manifest cli flags 2026-05-13 02:57:50 +09:00
aa27f62409 feat: Languageインストラクションの追加 2026-05-13 02:27:30 +09:00
1803b0cf67 update: fmt + memoryに用いる言語の構成 2026-05-13 01:57:04 +09:00
93145afc3c fix: compact時にToolCallとOutputの間でCutしてしまう問題 2026-05-13 00:59:02 +09:00
cf822dbc5c refactor: extract shared lint record primitives 2026-05-12 21:56:25 +09:00
8d2ca5d530 feat: add manifest output upload limits 2026-05-12 16:20:15 +09:00
2f84bd32ba feat(pod): wire knowledge slugs into # completion 2026-05-12 14:45:46 +09:00
f70975789e refactor: extract workflow crate 2026-05-11 22:49:07 +09:00
6c93ec38df feat: add memory usage event metrics 2026-05-11 21:29:48 +09:00
a2aecbf029 update: memoryシステムの"Phase"表記を撤廃 2026-05-11 01:55:28 +09:00
2c8aec5385 feat: extract worker サーキットブレーカーを占有量ベースに統一 2026-05-11 01:20:37 +09:00
507b164822 review: compact-worker-occupancy-cap (set_max_turns 分岐削除) 2026-05-11 00:56:41 +09:00
8100a5dfd1 feat: compact worker サーキットブレーカーを占有量ベースに統一 2026-05-11 00:43:16 +09:00
60144c550a feat: パターンベースのツール権限制御を追加 2026-05-09 03:20:02 +09:00
902b8d759b feat: Workflowの読み取り位置変更の実装 2026-05-08 00:15:50 +09:00
9d709c6470 update: Agent skills実装のレビュー・対応 2026-05-05 13:54:02 +09:00
37065144da feat: agent skillsの互換実装 2026-05-05 13:16:10 +09:00
954cf200e2 feat: Pos処理の非同期化・Busy状態の削除 2026-05-04 15:52:27 +09:00
f2dda9097e feat: Podのステータス同期の修正 2026-05-04 12:55:29 +09:00
560c23bc75 feat: Podのステータスを厳密にし、同期漏れを防ぐ 2026-05-04 12:55:11 +09:00
a0771608b1 Merge branch 'tui-system-message-render' into develop 2026-05-04 12:10:17 +09:00
a0e1583916 feat: システムメッセージをTUIで表示させる 2026-05-04 12:04:09 +09:00
e6b6df09b8 feat: tuiのトークン集計表示の修正 2026-05-04 00:01:37 +09:00
9ffe91b5bc Merge branch 'session-todo-tools' into develop
# Conflicts:
#	tickets/session-todo.md
2026-05-03 21:50:30 +09:00
9679661313 fix: TaskStore snapshot を compact 後 history の末尾に置いて retained 中の TaskCreate 重複を防ぐ 2026-05-03 21:26:49 +09:00
9e58149dda feat: notify-history-persist実装 2026-05-03 19:27:22 +09:00
3cbd759397 feat: セッション内 Task ツール (TaskCreate/List/Get/Update + 履歴 replay + compact 跨ぎ) 2026-05-03 19:03:52 +09:00
7ddfdb09b5 Merge branch 'resume-scope-claim' into develop
# Conflicts:
#	TODO.md
2026-05-03 18:59:01 +09:00
4e48f35e55 feat: resume時のscope claimを過去の有効scopeに揃える 2026-05-03 17:12:36 +09:00
aca5bda1f2 feat: session-metrics完了 2026-05-03 15:56:06 +09:00
70c4f1930e feat: session-metrics実装 2026-05-03 15:10:43 +09:00
702ed79517 feat: TUIに他Podからの通知を表示する 2026-05-03 12:45:05 +09:00
261c682e5e update: memoryシステム周りのプロンプトの整理 2026-05-03 00:27:10 +09:00
689a988e83 update: Consolidationの不要なToken上限の削除 2026-05-02 23:48:33 +09:00
81ff4c6073 update: codexのキャッシュ利用が出来てなかった問題 2026-05-02 03:23:44 +09:00
08da79822d Merge branch 'workflow-impl' into develop
# Conflicts:
#	crates/pod/src/controller.rs
#	crates/pod/src/pod.rs
2026-05-02 01:47:49 +09:00
e9b426b825 feat: dynamic-scopeの実装修正 2026-05-02 01:33:32 +09:00
d33b1c111e feat: dynamic-scopeの実装 2026-05-02 01:26:17 +09:00
e2d1fa120f Implement workflow MVP 2026-05-02 00:46:47 +09:00
8e24b3c607 update: manifestで一部値のzeroの扱いを変更 2026-05-02 00:08:46 +09:00
9ac127d607 chore: dev-depsの整理 2026-05-01 23:50:14 +09:00
99dc94416b chore: 依存パッケージの集約 2026-05-01 23:35:46 +09:00
bccd60d9be feat: memory P2の修正 2026-05-01 23:22:49 +09:00
d8a7200ea4 メモリPhase2の実装 2026-05-01 23:00:55 +09:00
8773e751ec bashツール実装 2026-05-01 18:14:13 +09:00
d7bc7ab3dd ファイル参照を与えた際に自動的に読ませる実装 2026-04-30 21:58:10 +09:00
623b54cefc tuiの補完の実装 2026-04-30 12:46:48 +09:00
0df59462ea fix: セッション復元時にhistoryが表示されない問題 2026-04-30 00:02:26 +09:00
f31c58dccd cargo fmt 2026-04-29 23:20:25 +09:00
3fc65e6f6b templatureがcodexエンドポイントで使えない件の修正 2026-04-29 23:20:16 +09:00
fa68957277 session-logリファクタのレビュー・修正 2026-04-29 22:55:36 +09:00
e3b36371e9 session-log-segments実装 2026-04-29 22:42:10 +09:00
0b322a645a pod-registry-rename修正 2026-04-29 21:04:47 +09:00
8a8fd225bf scope-lock -> pod-registry 2026-04-29 20:01:32 +09:00
fd96a517bb tuiからセッションを復帰する経路の実装 2026-04-29 19:03:03 +09:00
87768c2e2d 不要なforkの削除 2026-04-28 20:19:50 +09:00
2b89bb6d2e resumeの実装 2026-04-28 18:52:58 +09:00
ce4c0930c3 max_tokensのスキーマ不整合に関する修正 2026-04-28 17:58:24 +09:00
cf4c454a03 TUIにThinkingを表示する実装 2026-04-28 16:10:48 +09:00
1e65287bf1 session-store-llm-worker-type-ownership完了 2026-04-28 15:44:16 +09:00
6fe19b84ce セッション関連の責務の分離 2026-04-28 15:43:34 +09:00
e49fb3f1a0 memory-phase1の、トークンカウントの実装位置が悪い件 2026-04-28 14:24:38 +09:00
e437028849 memory-phase1-extract修正 2026-04-28 13:12:21 +09:00
3d04f793de memoryを抽出する仕組みの実装 2026-04-28 12:58:33 +09:00
dfa6213c18 memoryのクエリと動作のテスト 2026-04-28 11:37:41 +09:00
bdf2a08459 生成設定のmanifest化の実装 2026-04-28 09:37:22 +09:00
7a0ed7d744 cargo fmt 2026-04-27 22:51:07 +09:00
0435ec5cbd model-reasoning-control実装 2026-04-27 22:25:27 +09:00
8cf0bd6374 home-dir-layout修正 2026-04-27 22:10:36 +09:00
8658845b02 home-dirの整理 2026-04-27 21:45:30 +09:00
695cfa05a7 memory-resident-injection完了 2026-04-27 18:30:21 +09:00
e8559d4bee メモリー内容のシステムプロンプトへの埋め込みの実装 2026-04-27 18:25:47 +09:00
978d542855 memory-search-tool完了 2026-04-27 17:26:07 +09:00
c9d1d4fa5c memoryサーチツールを実装 2026-04-27 17:24:08 +09:00
9f1443b027 manifest側で設定ファイルの収集を行うようにした 2026-04-27 16:52:23 +09:00
c4ca9e1d89 tuiからSpawnする仮UI 2026-04-27 16:22:06 +09:00
f2e47629d0 メモリーに関するクレート作成・ファイル構造の実装 2026-04-27 13:33:31 +09:00
0a3af686f7 submitをvec segmentを受け付ける形に変更 2026-04-27 11:03:58 +09:00
2ee536ed71 Method::NotifyとEvent::Notificationが紛らわしい問題 2026-04-26 23:25:50 +09:00
4763173f36 podのモジュール分割 2026-04-24 11:48:27 +09:00
30f9abacb8 modelsとprovidersをカタログ化 2026-04-24 10:45:03 +09:00
e21d2041ef Agents.mdを一定閾値でturncateする仕様を削除 2026-04-23 01:34:25 +09:00
b8d368f5e5 Promptを一元管理するファイルから参照する実装 2026-04-22 17:43:05 +09:00
ef294eeb68 複数クライアント間でのRunメソッドの同期漏れ 2026-04-21 23:59:49 +09:00
ce59c5320e TUIに向けたprotocolの詳細調整 2026-04-21 20:50:59 +09:00
b7b315cd39 protocol拡張の実装 2026-04-21 09:27:58 +09:00
5aea67ff5e llm-model-config完了 2026-04-20 00:57:27 +09:00
230936274b llm-model-configの実装 2026-04-19 23:32:14 +09:00
a89701bc43 マニフェストを継承してPodをスポーンさせる 2026-04-19 18:01:47 +09:00
25df7a79c1 SpawnPodツールが落ちる問題の発見 2026-04-19 15:14:15 +09:00
223d06c77e TUIからPauseする実装 2026-04-19 14:27:53 +09:00
605e78468c compact-improvements をマージ
- 閾値の個別指定化 (compact_threshold / compact_request_threshold) と Option 化
- 占有量ソースを UsageRecord timeline に一本化 (last_input_tokens 撤去)
- retained_turns → retained_tokens
- compact worker をツール駆動に再設計 (mark_read_required / add_reference / write_summary / read_file)
- Auto-read budget と compact_worker_max_input_tokens の上限制御
- 新 history は system message のみで構成 [summary, auto-read..., references, retained...]
2026-04-19 12:14:16 +09:00
1b33e63ce2 compact: retained_tokens テスト値を現実的な値に変更
2 を 8_000 に。retained_turns 時代の名残で 2 は "2 トークン保持" と読めてしまい意味不明だったため。
2026-04-19 12:02:11 +09:00
663ec91b45 Anthropicのキャッシュポイントを打つ実装 2026-04-19 11:57:55 +09:00