ticket: record embedded runtime implementation
This commit is contained in:
parent
a533d15bc6
commit
4616eb7254
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Backend RuntimeRegistryにembedded worker-runtimeを接続する'
|
title: 'Backend RuntimeRegistryにembedded worker-runtimeを接続する'
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-25T16:23:58Z'
|
created_at: '2026-06-25T16:23:58Z'
|
||||||
updated_at: '2026-06-26T05:19:30Z'
|
updated_at: '2026-06-26T05:41:14Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T16:31:30Z'
|
queued_at: '2026-06-25T16:31:30Z'
|
||||||
|
|
|
||||||
|
|
@ -153,3 +153,75 @@ Queued capacity note:
|
||||||
- Remote/WebConsole/TUI dependent Tickets remain queued until embedded/remote prerequisite chain is done.
|
- Remote/WebConsole/TUI dependent Tickets remain queued until embedded/remote prerequisite chain is done.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: implementation_report author: yoi-coder-00001KVZSGT0Q-embedded-runtime at: 2026-06-26T05:41:14Z -->
|
||||||
|
|
||||||
|
## Implementation report
|
||||||
|
|
||||||
|
Implementation report:
|
||||||
|
|
||||||
|
実装完了。現在のブランチにコミット済み。
|
||||||
|
|
||||||
|
Commit:
|
||||||
|
- `c8209285 feat: add embedded workspace runtime registry`
|
||||||
|
|
||||||
|
変更ファイル:
|
||||||
|
- `crates/workspace-server/src/hosts.rs`
|
||||||
|
- `crates/workspace-server/src/server.rs`
|
||||||
|
|
||||||
|
実装概要:
|
||||||
|
- `RuntimeRegistry` に backend-internal な embedded `worker_runtime::Runtime` source を追加。
|
||||||
|
- `EmbeddedWorkerRuntime::new_memory(...)`
|
||||||
|
- `RuntimeRegistry::for_workspace(...)`
|
||||||
|
- `RuntimeRegistry::register(...)`
|
||||||
|
- local compatibility source は既存の `local-worker-runtime` として維持し、embedded source は `embedded-worker-runtime` として distinct な kind / diagnostics に分離。
|
||||||
|
- embedded Runtime は browser/API に対して以下を露出しない projection にしている。
|
||||||
|
- HTTP endpoint
|
||||||
|
- token / credential
|
||||||
|
- socket / session path
|
||||||
|
- store path
|
||||||
|
- provider identity
|
||||||
|
- Worker 操作は `runtime_id + worker_id` で routing。
|
||||||
|
- worker create
|
||||||
|
- worker detail
|
||||||
|
- input acceptance
|
||||||
|
- bounded transcript projection
|
||||||
|
- v0 として in-memory / tools-less Worker create を実装。
|
||||||
|
- Ticket role では builtin profile fallback (`builtin:coder` など)
|
||||||
|
- Workspace companion/orchestrator では runtime default profile fallback
|
||||||
|
- `SocketReady` acceptance は embedded Runtime では明示的に reject。
|
||||||
|
|
||||||
|
追加/拡張 API:
|
||||||
|
- `POST /api/runtimes/{runtime_id}/workers`
|
||||||
|
- `GET /api/runtimes/{runtime_id}/workers/{worker_id}`
|
||||||
|
- `POST /api/runtimes/{runtime_id}/workers/{worker_id}/input`
|
||||||
|
- `GET /api/runtimes/{runtime_id}/workers/{worker_id}/transcript?start=...&limit=...`
|
||||||
|
|
||||||
|
既存 API への反映:
|
||||||
|
- `GET /api/runtimes`
|
||||||
|
- `GET /api/workers`
|
||||||
|
にも embedded runtime / embedded worker projection が載る。
|
||||||
|
|
||||||
|
テスト:
|
||||||
|
- embedded runtime registration / routing
|
||||||
|
- local compatibility source と embedded source の分離
|
||||||
|
- embedded Worker create
|
||||||
|
- input acceptance
|
||||||
|
- transcript projection
|
||||||
|
- wrong runtime_id での worker 操作が通らないこと
|
||||||
|
- browser-facing projection に内部 path / credential / socket/session 類が混ざらないこと
|
||||||
|
- `SocketReady` acceptance が embedded Runtime で reject されること
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo fmt --all`: success
|
||||||
|
- `cargo test -p yoi-workspace-server`: success
|
||||||
|
- `cargo check -p yoi`: success
|
||||||
|
- `git diff --check`: success
|
||||||
|
- `nix build .#yoi --no-link`: success
|
||||||
|
|
||||||
|
Residual risks / review focus:
|
||||||
|
- v0 は intentionally in-memory + tools-less Worker。LLM 実行、remote Runtime process client、FS store、REST command server、event stream server、Web Console、Profile/config sync は未実装。
|
||||||
|
- embedded runtime の API projection は内部情報を出さない方針だが、diagnostics / evidence / summary JSON に internal identity が混ざっていないか要確認。
|
||||||
|
- `requested_worker_name` は authority として使わず、embedded Runtime 側の opaque worker id を採用。UX 的表示名が必要なら別 Ticket で profile/config bundle や display metadata の設計が必要。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user