diff --git a/.yoi/tickets/00001KWY8EHEJ/item.md b/.yoi/tickets/00001KWY8EHEJ/item.md index e6ee282b..5c4f685c 100644 --- a/.yoi/tickets/00001KWY8EHEJ/item.md +++ b/.yoi/tickets/00001KWY8EHEJ/item.md @@ -1,8 +1,8 @@ --- title: 'Enable Browser-managed execution workspaces for Worker spawn' -state: 'inprogress' +state: 'closed' created_at: '2026-07-07T12:22:06Z' -updated_at: '2026-07-07T14:56:52Z' +updated_at: '2026-07-07T14:58:35Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-07-07T13:40:23Z' diff --git a/.yoi/tickets/00001KWY8EHEJ/resolution.md b/.yoi/tickets/00001KWY8EHEJ/resolution.md new file mode 100644 index 00000000..d837241d --- /dev/null +++ b/.yoi/tickets/00001KWY8EHEJ/resolution.md @@ -0,0 +1,35 @@ +完了。 + +実装内容: +- Browser-managed Execution Workspace API を scoped Workspace API に追加した。 + - `POST /api/w//execution-workspaces` + - `GET /api/w//execution-workspaces` + - detail / cleanup endpoint +- Browser create payload は configured `repository_id` / selector / policy を使い、raw host path / raw internal `ExecutionWorkspaceRequest` / internal runtime path を受け取らないようにした。 +- Browser response は allocation id、repository id、selector/commit evidence、status、cleanup policy など safe summary のみを返すようにした。 +- Worker launch UI で Execution Workspace を create/select できるようにした。 +- Worker spawn は selected allocation id + optional `relative_cwd` を使い、Runtime materialized workspace に接続するようにした。 +- `relative_cwd` は materialized root 相対として検証し、absolute path、`..` escape、symlink escape、nonexistent / non-directory を拒否するようにした。 +- invalid `relative_cwd` は Browser-facing API で typed `execution_workspace_relative_cwd_*` diagnostic として返るようにした。 +- Worker list/detail に execution workspace safe summary を含めた。 +- cleanup は allocation root に bounded され、typed/sanitized diagnostic を返すようにした。 +- Focused backend/runtime/web tests を追加した。 + +主な commit / merge: +- implementation: `684b19e8 feat: add browser execution workspaces` +- review fix: `9adb0fae fix: preserve execution workspace cwd diagnostics` +- merge into orchestration: `b52986e5 merge: browser execution workspaces` + +Review: +- 初回 external review は request_changes。 +- follow-up external review は approve。merge-blocking issue なし。 + +Final validation in Orchestrator worktree: +- `git diff --check`: pass +- `cd web/workspace && deno task check`: pass(0 errors / 0 warnings) +- `cd web/workspace && deno task test`: pass(17 tests) +- `cargo test -p yoi-workspace-server`: pass(67 lib tests + 2 main tests) +- `cargo test -p worker-runtime --features ws-server,fs-store`: pass(36 lib tests + 5 main tests + doc tests) +- `cargo check -p yoi`: pass +- `yoi ticket doctor`: ok +- `nix build .#yoi --no-link`: pass \ No newline at end of file diff --git a/.yoi/tickets/00001KWY8EHEJ/thread.md b/.yoi/tickets/00001KWY8EHEJ/thread.md index 29b7dd8b..7df385d7 100644 --- a/.yoi/tickets/00001KWY8EHEJ/thread.md +++ b/.yoi/tickets/00001KWY8EHEJ/thread.md @@ -275,3 +275,80 @@ Non-blocking follow-ups: none identified。 No merge-blocking issues found. --- + + + +## State changed + +Merge/validation acceptance: + +- Follow-up external review approved the implementation after blocker fix。 +- Implementation branch `work/00001KWY8EHEJ-browser-execution-workspaces` was merged into the orchestration branch with merge commit `b52986e5 merge: browser execution workspaces`。 +- Final validation in Orchestrator worktree passed: + - `git diff --check`: pass + - `cd web/workspace && deno task check`: pass(0 errors / 0 warnings) + - `cd web/workspace && deno task test`: pass(17 tests) + - `cargo test -p yoi-workspace-server`: pass(67 lib tests + 2 main tests) + - `cargo test -p worker-runtime --features ws-server,fs-store`: pass(36 lib tests + 5 main tests + doc tests) + - `cargo check -p yoi`: pass + - `yoi ticket doctor`: ok + - `nix build .#yoi --no-link`: pass + +Implementation commits: +- `684b19e8 feat: add browser execution workspaces` +- `9adb0fae fix: preserve execution workspace cwd diagnostics` + +No merge-blocking issues remain. + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +完了。 + +実装内容: +- Browser-managed Execution Workspace API を scoped Workspace API に追加した。 + - `POST /api/w//execution-workspaces` + - `GET /api/w//execution-workspaces` + - detail / cleanup endpoint +- Browser create payload は configured `repository_id` / selector / policy を使い、raw host path / raw internal `ExecutionWorkspaceRequest` / internal runtime path を受け取らないようにした。 +- Browser response は allocation id、repository id、selector/commit evidence、status、cleanup policy など safe summary のみを返すようにした。 +- Worker launch UI で Execution Workspace を create/select できるようにした。 +- Worker spawn は selected allocation id + optional `relative_cwd` を使い、Runtime materialized workspace に接続するようにした。 +- `relative_cwd` は materialized root 相対として検証し、absolute path、`..` escape、symlink escape、nonexistent / non-directory を拒否するようにした。 +- invalid `relative_cwd` は Browser-facing API で typed `execution_workspace_relative_cwd_*` diagnostic として返るようにした。 +- Worker list/detail に execution workspace safe summary を含めた。 +- cleanup は allocation root に bounded され、typed/sanitized diagnostic を返すようにした。 +- Focused backend/runtime/web tests を追加した。 + +主な commit / merge: +- implementation: `684b19e8 feat: add browser execution workspaces` +- review fix: `9adb0fae fix: preserve execution workspace cwd diagnostics` +- merge into orchestration: `b52986e5 merge: browser execution workspaces` + +Review: +- 初回 external review は request_changes。 +- follow-up external review は approve。merge-blocking issue なし。 + +Final validation in Orchestrator worktree: +- `git diff --check`: pass +- `cd web/workspace && deno task check`: pass(0 errors / 0 warnings) +- `cd web/workspace && deno task test`: pass(17 tests) +- `cargo test -p yoi-workspace-server`: pass(67 lib tests + 2 main tests) +- `cargo test -p worker-runtime --features ws-server,fs-store`: pass(36 lib tests + 5 main tests + doc tests) +- `cargo check -p yoi`: pass +- `yoi ticket doctor`: ok +- `nix build .#yoi --no-link`: pass + +---