38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
# 実装報告: 00001KVTNAY20
|
|
|
|
## 変更概要
|
|
|
|
- `client::spawn` に `PodProcessLaunchConfig` と `PodProcessLaunchOptions` を導入し、低レベルの Pod プロセス起動設定から Ticket role marker を分離した。
|
|
- Ticket role 起動は `TicketRoleLaunchPlan::spawn_options()` 経由で hidden CLI marker を渡す形にし、`TicketRoleLaunchResult` に Run 受理証跡 (`TicketRoleLaunchAcceptanceEvidence`) を追加した。
|
|
- Workspace server の `LocalRuntimeBridge` を `WorkspaceWorkerRuntime` trait の実装として整理し、hosts/workers 一覧、worker lookup、spawn/stop typed request/result、将来の proxy/stream 接続点を型として追加した。
|
|
- Workspace 側の spawn request shape は policy intent ベースにし、browser/API caller から raw `workspace_root` / `cwd` / executable path / raw profile selector を受け取らない形にした。
|
|
- Dashboard/TUI 側の直接 spawn 呼び出しを新しい low-level config/options 分離に追従した。
|
|
|
|
## 変更ファイル
|
|
|
|
- `crates/client/src/lib.rs`
|
|
- `crates/client/src/spawn.rs`
|
|
- `crates/client/src/ticket_role.rs`
|
|
- `crates/tui/src/dashboard/mod.rs`
|
|
- `crates/tui/src/spawn.rs`
|
|
- `crates/workspace-server/src/hosts.rs`
|
|
- `crates/workspace-server/src/server.rs`
|
|
|
|
## 検証結果
|
|
|
|
- `cargo test -p yoi-workspace-server`: 成功
|
|
- `cargo check -p yoi`: 成功
|
|
- `cd web/workspace && deno task check && deno task build`: 成功
|
|
- `cargo test -p client`: 成功(追加確認)
|
|
- `git diff --check`: 成功
|
|
|
|
## コミット
|
|
|
|
- 実装コミット: `217a4828d73ab553b5406cc7e22e43b1ec7be48e`
|
|
|
|
## 残リスク / 非ゴールとして残したもの
|
|
|
|
- `WorkspaceWorkerRuntime::spawn_worker` / `stop_worker` は typed boundary と request/result を用意した段階で、実際の Worker operation UI 完成、stream proxy、remote Host protocol、認可/権限、registry locking までは実装していない。
|
|
- low-level launcher は trusted in-process resolver からの追加 CLI args を受け取れるが、Ticket role などのドメイン概念は `PodProcessLaunchConfig` からは除外している。
|
|
- TS 型生成やフロントエンド API surface の追加は本 Ticket の非ゴールとして変更していない。
|