From 05a592d80bb33b8f31f8af722fbe1ad39ae023f7 Mon Sep 17 00:00:00 2001 From: Hare Date: Tue, 7 Jul 2026 23:37:08 +0900 Subject: [PATCH] ticket: record browser execution workspace review blocker --- .yoi/tickets/00001KWY8EHEJ/item.md | 2 +- .yoi/tickets/00001KWY8EHEJ/thread.md | 32 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/00001KWY8EHEJ/item.md b/.yoi/tickets/00001KWY8EHEJ/item.md index 3fc81833..04230bde 100644 --- a/.yoi/tickets/00001KWY8EHEJ/item.md +++ b/.yoi/tickets/00001KWY8EHEJ/item.md @@ -2,7 +2,7 @@ title: 'Enable Browser-managed execution workspaces for Worker spawn' state: 'inprogress' created_at: '2026-07-07T12:22:06Z' -updated_at: '2026-07-07T14:23:27Z' +updated_at: '2026-07-07T14:36:39Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-07-07T13:40:23Z' diff --git a/.yoi/tickets/00001KWY8EHEJ/thread.md b/.yoi/tickets/00001KWY8EHEJ/thread.md index beb1ac5f..c663ba2c 100644 --- a/.yoi/tickets/00001KWY8EHEJ/thread.md +++ b/.yoi/tickets/00001KWY8EHEJ/thread.md @@ -189,3 +189,35 @@ Implementation progress report: - External review will be requested via a read-only sibling Reviewer Pod. `StopPod` は使わない。 --- + + + +## Review: request changes + +External review result: request_changes + +Blocker: + +1. Invalid `relative_cwd` is rejected internally, but the Browser-facing Worker spawn API does not return the required typed Execution Workspace diagnostic。 + - Ticket acceptance requires invalid `relative_cwd` to be rejected as a typed diagnostic。 + - Materializer has specific typed codes: + - `execution_workspace_relative_cwd_invalid` + - `execution_workspace_relative_cwd_unavailable` + - `execution_workspace_relative_cwd_escape_rejected` + - `crates/worker-runtime/src/worker_backend.rs` converts `ExecutionWorkspaceDiagnostic` to a plain string in `WorkerExecutionResult::rejected(...)`。 + - Workspace host/API then maps this to generic diagnostics/error codes, including generic embedded execution rejection and generic `workspace_worker_create_failed`。 + - Result: Browser caller submitting invalid `relative_cwd` gets a generic worker-create/runtime rejection rather than a typed `execution_workspace_relative_cwd_*` diagnostic。 + - Browser/scoped API-level tests cover materializer bind validation but not the API rejection shape。 + +Required fix: +- Preserve/propagate `ExecutionWorkspaceDiagnostic.code` through Worker spawn, or prevalidate allocation + `relative_cwd` in the Workspace API and return that typed diagnostic directly。 +- Add a scoped Browser API test for at least one invalid `relative_cwd` that asserts the typed `execution_workspace_relative_cwd_*` diagnostic is returned。 + +Non-blocking follow-ups: +- The implementation otherwise appears aligned with the pre-allocation design: scoped `/api/w//execution-workspaces` routes exist, Browser create payload uses configured `repository_id`/selector/policy rather than raw `ExecutionWorkspaceRequest`, summaries avoid raw paths, UI explicitly creates/selects allocations, and cleanup is bounded to the allocation root。 + +Validation reviewed: +- Reviewer read Ticket item/thread, inspected `git show --stat --check 684b19e8` / `git show --name-only 684b19e8`, and reviewed Runtime, Workspace API/host, and frontend launch files。 +- Reviewer did not rerun full validation; Orchestrator-provided validation was used as passing evidence。 + +---