ticket: close workspace companion llm worker

This commit is contained in:
Keisuke Hirata 2026-06-28 16:19:54 +09:00
parent eb06b8a923
commit 9c54bfe997
No known key found for this signature in database
3 changed files with 137 additions and 2 deletions

View File

@ -1,8 +1,8 @@
--- ---
title: 'Workspace Companionを実LLM実行Workerとして起動する' title: 'Workspace Companionを実LLM実行Workerとして起動する'
state: 'inprogress' state: 'closed'
created_at: '2026-06-27T18:26:47Z' created_at: '2026-06-27T18:26:47Z'
updated_at: '2026-06-28T07:18:37Z' updated_at: '2026-06-28T07:19:50Z'
assignee: null assignee: null
queued_by: 'workspace-panel' queued_by: 'workspace-panel'
queued_at: '2026-06-27T19:06:32Z' queued_at: '2026-06-27T19:06:32Z'

View File

@ -0,0 +1,32 @@
Workspace Companion を embedded Runtime / `worker` runtime adapter 経由の実行可能 Worker として扱う実装を行い、reviewer approval 後に orchestration branch へ merge した。
実装内容:
- `/api/companion/messages` の旧 `companion_llm_not_connected` 固定拒否経路を廃止し、通常の Worker runtime input path (`RuntimeRegistry::send_input`) に接続。
- Companion bootstrap を `builtin:companion` profile / Companion config bundle path に変更。
- Companion transcript projection を Runtime transcript 由来に変更。
- Companion status / transport を input-capable なら `connected`、不可なら `not_input_capable` + typed diagnostics に変更。
- `/api/workspace``extension_points.companion_console` も Companion の実 status / diagnostics 由来に変更し、stale `not_connected` / disabled note を削除。
- `ExtensionPointState``diagnostics` を追加し、Workspace web type も更新。
- Browser-facing `/api/workspace` から raw `local_root` exposure を削除。
- deterministic test backend により Companion bootstrap / input dispatch / assistant output / observation event / transcript projection を Worker execution path 経由で検証。
- fake/providerless/canned assistant response は導入していない。
- Worker Console path は `runtime_id + worker_id` keyed のまま維持。
- public `can_stream_events` / `can_read_bounded_transcript` capability は復活させていない。
Integrated commits:
- `ee25cfbcfd90983a24091ef30c0128d653095003 fix: route workspace companion through worker runtime`
- `3be193223c7efc67636667d1ad526646da81fb63 fix: report companion console runtime status`
- merge: `eb06b8a9 merge: workspace companion llm worker`
Validation:
- `cargo fmt --all --check`: success
- `cd web/workspace && deno task test`: success
- `cd web/workspace && deno task check`: success
- `cd web/workspace && deno task build`: success
- `cargo test -p yoi-workspace-server`: success (`34 passed`)
- `cargo check -p yoi`: success
- `git diff --check`: success
- `nix build .#yoi --no-link`: success
Operational note:
- User instructed not to use `StopPod` for now after repeated stop/hang symptoms. Cleanup will skip role-Pod shutdown and remove only child implementation worktree / branch.

View File

@ -410,3 +410,106 @@ Evidence:
Reported validations は、updated server tests が Companion Console workspace status と runtime dispatch behavior を cover していることも含め、変更内容に対して妥当と判断した。 Reported validations は、updated server tests が Companion Console workspace status と runtime dispatch behavior を cover していることも含め、変更内容に対して妥当と判断した。
--- ---
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-28T07:19:29Z -->
## Implementation report
Merge / validation report:
Implementation branch was integrated into the orchestration branch after reviewer approval.
Integrated commits:
- `ee25cfbcfd90983a24091ef30c0128d653095003 fix: route workspace companion through worker runtime`
- `3be193223c7efc67636667d1ad526646da81fb63 fix: report companion console runtime status`
Merge commit:
- `eb06b8a9 merge: workspace companion llm worker`
Validation in orchestration worktree:
- `cargo fmt --all --check`: success
- `cd web/workspace && deno task test`: success
- `cd web/workspace && deno task check`: success
- `cd web/workspace && deno task build`: success
- `cargo test -p yoi-workspace-server`: success (`34 passed`)
- `cargo check -p yoi`: success
- `git diff --check`: success
- `nix build .#yoi --no-link`: success
Outcome:
- Workspace Companion now routes through embedded Runtime / `worker` runtime adapter instead of fake/providerless response or fixed non-connected rejection.
- `/api/companion/messages` is a compatibility route over the normal Worker input path.
- Companion bootstrap uses Companion profile / config bundle path.
- Companion status and `/api/workspace` companion console status report `connected` when input-capable, otherwise `not_input_capable` with typed diagnostics.
- Transcript projection is sourced from Runtime transcript / Worker protocol event flow.
- Worker Console path remains keyed by `runtime_id + worker_id`.
- Browser-facing raw `local_root` exposure was removed from `/api/workspace`.
- Public `can_stream_events` / `can_read_bounded_transcript` capability flags were not revived.
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-28T07:19:35Z from: inprogress to: done reason: implementation_merged_and_validated field: state -->
## State changed
Reviewer approval後に implementation branch を orchestration branch へ merge し、要求された validation が成功したため done に遷移する。
Validation:
- `cargo fmt --all --check`: success
- `cd web/workspace && deno task test`: success
- `cd web/workspace && deno task check`: success
- `cd web/workspace && deno task build`: success
- `cargo test -p yoi-workspace-server`: success (`34 passed`)
- `cargo check -p yoi`: success
- `git diff --check`: success
- `nix build .#yoi --no-link`: success
---
<!-- event: state_changed author: hare at: 2026-06-28T07:19:50Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-28T07:19:50Z status: closed -->
## 完了
Workspace Companion を embedded Runtime / `worker` runtime adapter 経由の実行可能 Worker として扱う実装を行い、reviewer approval 後に orchestration branch へ merge した。
実装内容:
- `/api/companion/messages` の旧 `companion_llm_not_connected` 固定拒否経路を廃止し、通常の Worker runtime input path (`RuntimeRegistry::send_input`) に接続。
- Companion bootstrap を `builtin:companion` profile / Companion config bundle path に変更。
- Companion transcript projection を Runtime transcript 由来に変更。
- Companion status / transport を input-capable なら `connected`、不可なら `not_input_capable` + typed diagnostics に変更。
- `/api/workspace``extension_points.companion_console` も Companion の実 status / diagnostics 由来に変更し、stale `not_connected` / disabled note を削除。
- `ExtensionPointState``diagnostics` を追加し、Workspace web type も更新。
- Browser-facing `/api/workspace` から raw `local_root` exposure を削除。
- deterministic test backend により Companion bootstrap / input dispatch / assistant output / observation event / transcript projection を Worker execution path 経由で検証。
- fake/providerless/canned assistant response は導入していない。
- Worker Console path は `runtime_id + worker_id` keyed のまま維持。
- public `can_stream_events` / `can_read_bounded_transcript` capability は復活させていない。
Integrated commits:
- `ee25cfbcfd90983a24091ef30c0128d653095003 fix: route workspace companion through worker runtime`
- `3be193223c7efc67636667d1ad526646da81fb63 fix: report companion console runtime status`
- merge: `eb06b8a9 merge: workspace companion llm worker`
Validation:
- `cargo fmt --all --check`: success
- `cd web/workspace && deno task test`: success
- `cd web/workspace && deno task check`: success
- `cd web/workspace && deno task build`: success
- `cargo test -p yoi-workspace-server`: success (`34 passed`)
- `cargo check -p yoi`: success
- `git diff --check`: success
- `nix build .#yoi --no-link`: success
Operational note:
- User instructed not to use `StopPod` for now after repeated stop/hang symptoms. Cleanup will skip role-Pod shutdown and remove only child implementation worktree / branch.
---