Commit Graph

537 Commits

Author SHA1 Message Date
057c2eff5f
fix: harden peer pod registration 2026-06-02 22:23:13 +09:00
093a84fc83
feat: add peer pod handshake command 2026-06-02 19:43:20 +09:00
8f987857e8
test: cover nearest workspace override 2026-06-01 22:16:06 +09:00
4beb1f61ea
feat: add workspace local manifest override 2026-06-01 22:06:41 +09:00
9dcbd4c3e0
docs: reorganize developer documentation 2026-06-01 20:59:32 +09:00
e6c458021c
rename: adopt yoi identity 2026-06-01 18:49:23 +09:00
342f194c87
fix: avoid projecting token measurements past latest usage 2026-06-01 17:29:58 +09:00
dbb47e0bef
merge: keys inline viewport UI 2026-06-01 11:21:55 +09:00
5886f6ad08
fix: align keys UI with TUI viewport 2026-06-01 11:16:16 +09:00
501dcc916f
fix: show initial TUI user message 2026-06-01 11:13:28 +09:00
6437580600
prompt: add pod orchestration guidance 2026-06-01 10:19:49 +09:00
375d0216d1
fix: correct prompt occupancy extrapolation 2026-06-01 09:52:39 +09:00
3a0c8e1597
memory: clean prompt helper warning 2026-06-01 07:50:27 +09:00
03256db913
memory: gate prompt guidance 2026-06-01 07:45:06 +09:00
7ddf74570a
secrets: polish key manager and docs 2026-06-01 07:19:28 +09:00
cc2c9a2973
secrets: add local key store 2026-06-01 07:07:39 +09:00
0031953ed3
dev: add pod runtime command override 2026-06-01 05:37:17 +09:00
4d897186c2
tui: extract single pod runtime 2026-05-31 22:51:21 +09:00
bc31bfac58
tui: move view mode state 2026-05-31 22:41:38 +09:00
37281b64f2
cli: reject resume with pod selection 2026-05-31 22:15:12 +09:00
22d974a722
cli: move product entrypoint to insomnia 2026-05-31 22:07:52 +09:00
365ec8b7fa
manifest: embed builtin resources 2026-05-31 20:47:06 +09:00
e232f5468a
test: make path fallback tests pure 2026-05-31 19:51:23 +09:00
458a87e81a
merge: remove pod command env override
# Conflicts:
#	docs/environment.md
2026-05-31 19:10:58 +09:00
c618fa694c
cli: remove pod command env override 2026-05-31 19:03:49 +09:00
e64a559595
test: remove test-only env vars 2026-05-31 19:00:16 +09:00
9e886bc73e
cli: rename pod command crate to insomnia 2026-05-31 15:49:14 +09:00
0d7d3c7bf1
cli: remove insomnia-pod binary output 2026-05-31 14:59:22 +09:00
4f622b8e32
cli: spawn pods through insomnia pod 2026-05-31 14:20:00 +09:00
544257bfdd
cli: add insomnia pod runtime entrypoint 2026-05-31 13:42:29 +09:00
5472ceca48
pod: simplify pod tool surface 2026-05-31 11:50:41 +09:00
277f94885f
merge: workspace memory lint cli 2026-05-31 11:14:38 +09:00
7a717f2d25
cli: add workspace memory lint 2026-05-31 10:03:12 +09:00
ed3e97c22a
provider: use codex gpt55 effective context 2026-05-31 09:41:17 +09:00
f6fbba4c48
provider: refresh builtin model catalog 2026-05-31 08:17:37 +09:00
44262c4236
web: harden reader navigation fallbacks 2026-05-31 07:19:08 +09:00
2a3208b96e
web: render readable html as markdown 2026-05-31 07:11:31 +09:00
7906ca5326
web: extract readable html content 2026-05-31 05:49:20 +09:00
d8051af226
merge: multi pod status probes 2026-05-30 14:45:14 +09:00
1ba99cdf8a
tui: probe multi-pod statuses concurrently 2026-05-30 14:40:53 +09:00
205eb7bacb
refactor: deduplicate inbound pod events 2026-05-30 14:37:02 +09:00
4c189fb0da
merge: spawnpod profile tool 2026-05-30 14:18:48 +09:00
b94891ed1b
test: cover SpawnPod profile config building 2026-05-30 14:16:33 +09:00
e65c023d4f
feat: add SpawnPod profile selection 2026-05-30 14:06:28 +09:00
39874d92dc
merge: scope subdelegation control only 2026-05-30 14:03:44 +09:00
b3fe725742
fix: keep scope subdelegation control-only 2026-05-30 14:01:09 +09:00
56bb46634c
tui: prioritize live pending pods in picker 2026-05-30 13:57:18 +09:00
e9354b38d6
chore: remove stale manifest cascade tests 2026-05-30 12:49:43 +09:00
2533a3d5d3
chore: remove nix mentions from rust 2026-05-30 12:10:37 +09:00
b981bbd87b
chore: remove legacy nix profile resources 2026-05-30 12:05:34 +09:00
cba46c6a39
feat: add lua profile authoring 2026-05-30 11:45:49 +09:00
23f234d095
fix: preserve spawn event trace setting 2026-05-30 09:30:05 +09:00
a47f2c4689
fix: preserve terminal turn failures 2026-05-30 09:02:11 +09:00
d2e80871ce
fix: reconcile missing delegated children 2026-05-30 07:46:09 +09:00
e10b4ad4f0
refactor: move scope authority to pod store 2026-05-30 07:36:17 +09:00
211738132c
refactor: split pod metadata store 2026-05-30 07:16:50 +09:00
20ac0c96a5
fix: remove generic overlay startup path 2026-05-30 04:34:27 +09:00
625730cb0a
feat: use builtin profile by default 2026-05-30 03:57:40 +09:00
4773be702a
fix: remove profile aliases 2026-05-30 03:20:34 +09:00
3f67c83d43
fix: move profile registry to profiles config 2026-05-30 03:10:46 +09:00
c9627a13d4
merge: manifest profile discovery and picker 2026-05-30 02:44:53 +09:00
d77a86d550
fix: mark resolved default profile aliases 2026-05-30 02:43:46 +09:00
ba9e924c89
feat: add fresh spawn profile picker 2026-05-30 02:34:42 +09:00
d5d50a3214
fix: suppress pod socket peer disconnect noise 2026-05-30 02:20:33 +09:00
ee7147b355
feat: add manifest profile discovery 2026-05-30 02:18:42 +09:00
c9a175af54
fix: ignore user manifest for profiles 2026-05-30 01:51:49 +09:00
5de31a9be2
feat: add nix manifest profile foundation 2026-05-30 01:41:06 +09:00
fed461036a
merge: web search fetch tools 2026-05-29 18:23:33 +09:00
82dcc57475
fix: bound web search network reads 2026-05-29 18:21:17 +09:00
d98f2ff7df
merge: composer input history 2026-05-29 18:20:06 +09:00
d42b4c22e1
tui: add composer input history recall 2026-05-29 18:17:26 +09:00
b391cb88e4
tui: poll multi pod dashboard 2026-05-29 17:58:46 +09:00
2be3a5bd36
feat: add web search and fetch tools 2026-05-29 17:58:11 +09:00
b9891e6127
merge: responses reasoning context safety 2026-05-29 17:10:22 +09:00
504a928b82
tui: reduce task reminder frequency 2026-05-29 17:08:55 +09:00
27b1891f1c
fix: omit responses reasoning context 2026-05-29 17:07:28 +09:00
8ed5939ebb
fix: preserve responses reasoning history 2026-05-29 16:54:11 +09:00
b870a77a55
fix: guard responses reasoning context 2026-05-29 16:11:37 +09:00
ef09a75fba
fix: render task reminder system items 2026-05-29 14:09:22 +09:00
e0caf7d17e
feat: type system reminder appends 2026-05-29 13:39:26 +09:00
e5f0107fa8
pod: initialize task reminder cooldown 2026-05-29 13:28:50 +09:00
4f1b17b9bf
pod: remind inactive task management 2026-05-29 13:23:01 +09:00
0c32f75df8
tui: add transient actionbar notices 2026-05-29 12:53:14 +09:00
89393e4623 tui: open multi pod entry on empty enter 2026-05-29 12:23:31 +09:00
cbb59a47d0 fix: guard manual rewind application 2026-05-29 12:05:33 +09:00
f8881f7289 feat: add manual rewind control 2026-05-29 11:48:56 +09:00
b904f56b4f merge: TUI command completion apply 2026-05-29 11:08:29 +09:00
f6a3d2c6e5 tui: apply command completions from keyboard 2026-05-29 10:15:13 +09:00
208143f01b fix: scroll tui composer around cursor 2026-05-29 10:10:49 +09:00
0b23aa8191 fix: rename installed binaries 2026-05-29 09:28:31 +09:00
eea40f5095 merge: memory tool guidance prompt 2026-05-29 08:58:47 +09:00
79da9aa102 prompt: add memory tool usage guidance 2026-05-29 08:49:24 +09:00
be54cb07ea tui: return to multi dashboard after opening pod 2026-05-29 08:45:15 +09:00
d3c54a2407 tui: section multi-pod list layout 2026-05-29 01:46:48 +09:00
6fb7b57054 feat: add multi pod tui dashboard 2026-05-29 01:04:56 +09:00
7d1db97754 tui: drain initial pod status events 2026-05-29 00:39:00 +09:00
0777bcf299 tui: add pod list model 2026-05-29 00:33:57 +09:00
d6fd4d1b9c fix: confirm initial SpawnPod run delivery 2026-05-28 22:14:28 +09:00
35d35ef471 test: fix runtime dir expectation 2026-05-28 18:53:52 +09:00
fcca67a9ad style: format manifest paths test 2026-05-28 12:38:53 +09:00
a85ca369ae style: revert unrelated manifest path formatting 2026-05-28 12:36:32 +09:00
11d1dcffb6 merge: main trace diagnostics 2026-05-28 12:32:24 +09:00
12dd35cfb2 feat: add compact session exploration tools 2026-05-28 12:31:44 +09:00
9a92443269 trace: llm stream open diagnostics 2026-05-28 12:26:14 +09:00
c274e4a891 feat: bound compact worker context 2026-05-28 11:59:41 +09:00
60b9cb169a fix: trace unhandled openai responses sse 2026-05-28 05:18:57 +09:00
c1a724aedf fix: preserve openai responses incomplete diagnostics 2026-05-28 03:22:53 +09:00
a7f1b348de merge: memory consolidation skip observability 2026-05-28 03:09:14 +09:00
9cd776eaec fix: add llm request lifecycle timeouts 2026-05-28 02:42:31 +09:00
876d75a747 fix: align codex oauth wire behavior 2026-05-28 01:57:04 +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
e5fda7efdf fix: refine command mode footer 2026-05-25 01:08:41 +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
14381b8ba5 feat: add TUI command mode 2026-05-24 08:32:21 +09:00
65c399e6d9 fix: route worker history appends through callbacks 2026-05-24 06:44:19 +09:00
45bc2265f4 feat: queue tui input during runs 2026-05-23 13:57:22 +09:00
df8f91bda7 feat: restore rolled back tui input 2026-05-23 13:28:56 +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
cf4ecf8d70 merge: memory-extract-remove-input-cap 2026-05-23 09:14:15 +09:00
d5da95499d fix: remove memory extract input cap 2026-05-23 09:14:07 +09:00
a8b311bd1f feat: restore tui sessions by pod 2026-05-23 09:13:06 +09:00
a26f18c466 fix: reclaim delegated scope from stopped children 2026-05-23 08:38:42 +09:00
ccc6efc0e6 update: tui -rの際のリストの時系列ソート 2026-05-23 08:02:05 +09:00
0ff39f33bb merge: tui-streaming-input-loss 2026-05-23 07:15:55 +09:00
7480a5732f fix: preserve tui input during streaming 2026-05-23 07:15:39 +09:00
a267ad8114 feat: show context usage in tui status 2026-05-23 07:15:03 +09:00
60daf64808 fix: tighten task tool usage guidance 2026-05-23 05:11:48 +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
8a062b1a19 feat: add pod metadata store backend 2026-05-22 22:03:11 +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
27b84abccc docs(memory): fix knowledge dir path in collect_resident_knowledge doc 2026-05-12 15:07:39 +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
cfb7f09e38 fix: bundle anthropic assistant bursts 2026-05-11 22:22:36 +09:00
6c93ec38df feat: add memory usage event metrics 2026-05-11 21:29:48 +09:00
eb9a67decc fix: remove remaining memory phase wording 2026-05-11 01:57:39 +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
3def5edbdf feat: client-crateの実装 2026-05-10 00:57:50 +09:00
f479aa5206 feat: Toolsのシンボリックリンク対応 2026-05-09 04:21:56 +09:00
60144c550a feat: パターンベースのツール権限制御を追加 2026-05-09 03:20:02 +09:00
41bce21339 feat: compactのプログレス表示 2026-05-09 03:11:53 +09:00
69edd29a46 update: Workflowディレクトリ修正のフォローアップ 2026-05-08 00:59:08 +09:00
902b8d759b feat: Workflowの読み取り位置変更の実装 2026-05-08 00:15:50 +09:00
6c95b2da56 feat: TUIのmarkdown対応 2026-05-05 18:30:25 +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