ticket: record web console implementation
This commit is contained in:
parent
d6fe8b8d8a
commit
95c992ddbd
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Backend内蔵Companion RuntimeとWeb Console MVP'
|
title: 'Backend内蔵Companion RuntimeとWeb Console MVP'
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-25T11:45:17Z'
|
created_at: '2026-06-25T11:45:17Z'
|
||||||
updated_at: '2026-06-26T07:43:09Z'
|
updated_at: '2026-06-26T08:02:43Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T20:34:27Z'
|
queued_at: '2026-06-25T20:34:27Z'
|
||||||
|
|
|
||||||
|
|
@ -233,3 +233,83 @@ Queued capacity note:
|
||||||
- `00001KW04A8K6` remains queued while Web Console MVP is inprogress because both are UI/control-surface consumers of the new Runtime APIs; TUI migration should start after this branch is reviewed/merged/done.
|
- `00001KW04A8K6` remains queued while Web Console MVP is inprogress because both are UI/control-surface consumers of the new Runtime APIs; TUI migration should start after this branch is reviewed/merged/done.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: implementation_report author: yoi-coder-00001KVZ9JGK0-web-console at: 2026-06-26T08:02:43Z -->
|
||||||
|
|
||||||
|
## Implementation report
|
||||||
|
|
||||||
|
Implementation report:
|
||||||
|
|
||||||
|
実装完了。指定 worktree / branch 上で commit 済み。
|
||||||
|
|
||||||
|
Commit:
|
||||||
|
- `f3ad9c96b3fd48b5afce2a46b9c46efc5dce16f6 feat: add workspace companion console MVP`
|
||||||
|
|
||||||
|
変更概要:
|
||||||
|
|
||||||
|
### Backend
|
||||||
|
|
||||||
|
変更ファイル:
|
||||||
|
- `crates/workspace-server/src/companion.rs`
|
||||||
|
- `crates/workspace-server/src/lib.rs`
|
||||||
|
- `crates/workspace-server/src/server.rs`
|
||||||
|
- `resources/prompts/worker/web_companion_providerless.md`
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- Backend 内部の tools-less Companion Console 境界を追加。
|
||||||
|
- `WorkspaceApi` 初期化時に `embedded-worker-runtime` 上へ `workspace_companion` Worker を spawn。
|
||||||
|
- runtime / worker API の `/api/workers` から visible。
|
||||||
|
- v0 capabilities は input / bounded transcript projection のみで、filesystem / shell / git / Ticket mutation authority は持たせていない。
|
||||||
|
- Companion 専用 API を追加:
|
||||||
|
- `GET /api/companion/status`
|
||||||
|
- `GET /api/companion/transcript?start=&limit=`
|
||||||
|
- `POST /api/companion/messages`
|
||||||
|
- `POST /api/companion/cancel`
|
||||||
|
- status / transcript / message response は typed state を返す:
|
||||||
|
- `ready`, `busy`, `error`, `timeout`, `cancelled`, `accepted`, `rejected`
|
||||||
|
- Browser へは Backend API projection のみ返し、raw Worker socket/session/runtime path や provider credentials は返さない設計。
|
||||||
|
- 実 LLM/provider 実行は既存 runtime foundation へ狭く接続できなかったため、fake せず provider-less/conversation boundary として実装。
|
||||||
|
- user message は backend-internal Worker へ input として記録。
|
||||||
|
- UI transcript には resource-defined assistant boundary response を返す。
|
||||||
|
- この制限は API diagnostics / UI transport description に明示。
|
||||||
|
- prompt / assistant boundary prose は Rust hard-code ではなく `resources/prompts/worker/web_companion_providerless.md` に配置。
|
||||||
|
|
||||||
|
### Web UI
|
||||||
|
|
||||||
|
変更ファイル:
|
||||||
|
- `web/workspace/src/routes/console/+page.svelte`
|
||||||
|
- `web/workspace/src/lib/workspace-sidebar/CompanionNavSection.svelte`
|
||||||
|
- `web/workspace/src/lib/workspace-sidebar/WorkspaceSidebar.svelte`
|
||||||
|
- `web/workspace/src/lib/workspace-sidebar/types.ts`
|
||||||
|
- `web/workspace/src/app.css`
|
||||||
|
|
||||||
|
実装内容:
|
||||||
|
- `/console` route を追加。
|
||||||
|
- Sidebar に `Companion Console` 導線を追加。
|
||||||
|
- Console UI:
|
||||||
|
- Companion status 表示
|
||||||
|
- transport / limitation 表示
|
||||||
|
- bounded transcript 表示
|
||||||
|
- user message composer
|
||||||
|
- Send / Refresh / Cancel UI
|
||||||
|
- busy / error / timeout / cancelled / rejected state 表示
|
||||||
|
- diagnostics 表示
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success(36 passed)
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `cd web/workspace && deno task check`: success(0 errors / 0 warnings)
|
||||||
|
- `cd web/workspace && deno task build`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
Residual risks / review focus:
|
||||||
|
- 実 LLM 応答は未接続。今回の実装は intentionally provider-less boundary であり、assistant response は resource-defined limitation response。
|
||||||
|
- 既存 worker-runtime へ安全に provider-backed completion を流すには、Worker engine integration / lifecycle / streaming boundary の追加設計が必要そう。
|
||||||
|
- transcript は v0 in-memory projection。server restart で Companion UI transcript は消える。
|
||||||
|
- Backend runtime 側には user input のみ記録され、assistant boundary response は Companion projection 側。
|
||||||
|
- busy は single-flight typed state として用意しているが、provider-less response は同期即時完了のため見える場面は限定的。
|
||||||
|
- UI は Console MVP に限定。tool call UI / thinking grouping / diff/file viewer / multi Worker attach は非対応。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user