diff --git a/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl index 6463e53a..722e8958 100644 --- a/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl +++ b/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl @@ -2,3 +2,4 @@ {"id":"orch-plan-20260625-203613-2","ticket_id":"00001KVZ9JGK0","kind":"blocked_by","related_ticket":"00001KVZKSTJT","note":"Queue routing checked after requeue. Companion Web Console MVP depends on WebSocket/event-stream transport decision/proxy `00001KVZKSTJT` and backend embedded runtime connection. `00001KVZKSTJT` is queued/blocked by REST command server, so this Ticket remains queued.","author":"yoi-orchestrator","at":"2026-06-25T20:36:13Z"} {"id":"orch-plan-20260626-054930-3","ticket_id":"00001KVZ9JGK0","kind":"waiting_capacity_note","note":"Web Console MVP is left queued while remote Runtime process connection `00001KVZSGT14` is accepted/inprogress. Although embedded Runtime and WS proxy are done, Web Console work would touch similar Backend/API surfaces and should wait until remote source routing stabilizes.","author":"yoi-orchestrator","at":"2026-06-26T05:49:30Z"} {"id":"orch-plan-20260626-063306-4","ticket_id":"00001KVZ9JGK0","kind":"waiting_capacity_note","note":"Web Console MVP is left queued while Profile/config bundle sync `00001KVZQHPNY` is accepted/inprogress. Web Console will likely touch worker creation/profile selection and Backend API surfaces; start after bundle sync branch is reviewed/merged/done.","author":"yoi-orchestrator","at":"2026-06-26T06:33:06Z"} +{"id":"orch-plan-20260626-074131-5","ticket_id":"00001KVZ9JGK0","kind":"accepted_plan","note":"Dependencies are done: embedded Runtime registry `00001KVZSGT0Q`, WebSocket observation proxy `00001KVZKSTJT`, and config bundle sync `00001KVZQHPNY`. No active inprogress remains.","accepted_plan":{"summary":"Backend internal Runtime 上の toolsなし Companion Worker と Web Console MVP を追加する。Backend API で status/transcript/message send を提供し、Web UI で message round-trip を表示する。raw provider credential/socket/session/runtime path は Browser に出さず、full TUI parity/tool UI/FS-shell authority は扱わない。","branch":"work/00001KVZ9JGK0-web-console-mvp","worktree":"/home/hare/Projects/yoi/.worktree/00001KVZ9JGK0-web-console-mvp","role_plan":"Orchestrator が dedicated child worktree を作成し、coder Worker に `crates/workspace-server`, `web/workspace`, `resources/prompts` と必要最小 Cargo/package files の write scope を委譲する。reviewer Worker は read-only で authority non-leak、toolsなし Companion、prompt resource boundary、stream/transcript semantics、backend API/UI tests を確認する。merge/validation/done/cleanup は Orchestrator が行う。"},"author":"yoi-orchestrator","at":"2026-06-26T07:41:31Z"} diff --git a/.yoi/tickets/00001KVZ9JGK0/item.md b/.yoi/tickets/00001KVZ9JGK0/item.md index c03b5175..f7b8f523 100644 --- a/.yoi/tickets/00001KVZ9JGK0/item.md +++ b/.yoi/tickets/00001KVZ9JGK0/item.md @@ -1,8 +1,8 @@ --- title: 'Backend内蔵Companion RuntimeとWeb Console MVP' -state: 'queued' +state: 'inprogress' created_at: '2026-06-25T11:45:17Z' -updated_at: '2026-06-26T06:33:06Z' +updated_at: '2026-06-26T07:42:06Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T20:34:27Z' diff --git a/.yoi/tickets/00001KVZ9JGK0/thread.md b/.yoi/tickets/00001KVZ9JGK0/thread.md index 6b40c81d..28744193 100644 --- a/.yoi/tickets/00001KVZ9JGK0/thread.md +++ b/.yoi/tickets/00001KVZ9JGK0/thread.md @@ -133,3 +133,83 @@ Next action: - `00001KVZKSTJT` と `00001KVZSGT0Q` が done になった後、Web Console MVP の acceptance criteria を再確認して routing する。 --- + + + +## Decision + +Routing decision: implementation_ready + +Reason: +- Dependencies are done: `00001KVZSGT0Q` embedded Runtime connection、`00001KVZKSTJT` WebSocket observation proxy、`00001KVZQHPNY` config bundle sync。 +- Current `inprogress` is 0. Web Console MVP can now build on stable Backend internal Runtime / Worker create / transcript / WS/proxy foundations. +- Ticket body has concrete backend API, Web UI, safety/authority, Non-goals, and validation requirements. + +Evidence checked: +- Ticket body: Backend internal Companion runtime, conversation/transcript model, Web API, Web Console UI, Runtime/LLM integration, Safety/authority, acceptance criteria。 +- Relations: depends_on `00001KVZSGT0Q` and `00001KVZKSTJT`, both done. +- Orchestration plan: accepted plan `orch-plan-20260626-074131-5` recorded. +- Workspace state: orchestration worktree clean; no spawned child Workers currently active. + +IntentPacket: + +Intent: +- Backend internal Runtime 上に toolsなし Companion Worker を作成・保持し、Web frontend から status/transcript/message send/response display ができる Console MVP を実装する。 + +Binding decisions / invariants: +- Companion v0 は workspace filesystem / shell / git / Ticket mutation authority を持たない。 +- Browser は raw provider credential、socket path、session path、runtime file path、Runtime direct endpoint/token を扱わない。 +- Backend API / WS/projection を authority とし、local session file / Pod socket を直接読まない。 +- Prompt prose は Rust 直書きではなく `resources/prompts` など prompt resource boundary に置く。 +- v0 は full TUI parity / tool call UI / file viewer / diff viewer / thinking block grouping / multi Worker attach を実装しない。 +- Long-running request 中の追加 message は single-flight / busy reject でよい。 + +Requirements / acceptance criteria: +- Backend internal runtime 上に Companion Worker が存在し、runtime/worker API から確認できる。 +- Web frontend から Companion status / transcript projection を取得できる。 +- Web Console UI から user message を送信できる。 +- Companion が LLM response を生成し、Web UI に表示される、または v0実装上の provider-less/mock boundary が明確で reviewer が確認できる。 +- v0 Companion は filesystem / shell / git / Ticket mutation tools を持たない。 +- Provider busy/error/timeout/cancelled が typed error/UI state で扱われる。 +- Focused backend/frontend tests or manual validation notes are present. + +Implementation latitude: +- Request/response completion vs existing WS/projection usageの具体方式は Coder が既存 foundation に合わせて選べる。ただし `00001KVZKSTJT` の Backend-owned observation/proxy境界を壊さない。 +- v0 LLM/provider integration が重すぎる場合は、Backend internal Runtimeの現在能力内で最小 toolsなし conversational round-trip を成立させ、未実装 provider execution boundaryを明確に報告すること。 +- UI route/layout/component naming は existing `web/workspace` style に合わせる。 + +Escalate if: +- Filesystem/shell/git/Ticket mutation authority が必要になる。 +- Browser に Runtime/provider credentials や raw path を渡す必要が出る。 +- Full TUI console parity or tool-call UI が必要になる。 +- Existing worker-runtime cannot generate a real LLM response without broad worker/engine integration and acceptance criteria cannot be satisfied honestly. + +Validation: +- `cargo fmt --all` +- `cargo test -p yoi-workspace-server` +- `cargo check -p yoi` +- `cd web/workspace && deno task check` +- `cd web/workspace && deno task build` +- `git diff --check` +- 可能なら `nix build .#yoi --no-link` + +Critical risks / reviewer focus: +- Authority leakage to Browser or Companion Worker。 +- Hidden context injection instead of normal conversation history。 +- Prompt prose embedded in Rust instead of prompt resource。 +- UI claiming live LLM behavior if implementation is actually mock/provider-less。 +- Over-scoping into full TUI parity/tool UI。 + +--- + + + +## State changed + +Routing decision: implementation_ready。 + +Embedded Runtime connection、WebSocket observation proxy、Profile/config bundle sync は done。Ticket body / relations / workspace state / accepted plan を確認し、Backend internal Companion Web Console MVP は unblocked と判断した。accepted plan と IntentPacket は thread / orchestration plan に記録済み。 + +これ以降、worktree creation / coder Worker routing などの implementation side effect に進める。 + +--- diff --git a/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl index 5f0e2985..710304fb 100644 --- a/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl +++ b/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl @@ -1,3 +1,4 @@ {"id":"orch-plan-20260625-203613-1","ticket_id":"00001KW04A8K6","kind":"blocked_by","related_ticket":"00001KVZSGT14","note":"Queue routing checked. TUI migration to Runtime API/WebSocket depends on remote/backend runtime connection and WebSocket observation proxy foundation. Those dependencies are not done; keep this Ticket queued.","author":"yoi-orchestrator","at":"2026-06-25T20:36:13Z"} {"id":"orch-plan-20260626-054937-2","ticket_id":"00001KW04A8K6","kind":"blocked_by","related_ticket":"00001KVZSGT14","note":"TUI migration depends on remote Runtime process connection `00001KVZSGT14`, which is now inprogress. Keep queued until remote source routing is reviewed/merged/done.","author":"yoi-orchestrator","at":"2026-06-26T05:49:37Z"} {"id":"orch-plan-20260626-063414-3","ticket_id":"00001KW04A8K6","kind":"waiting_capacity_note","note":"TUI migration is left queued while Profile/config bundle sync `00001KVZQHPNY` is accepted/inprogress. Runtime worker creation/profile semantics are still being finalized; start after bundle sync branch is reviewed/merged/done to avoid API churn.","author":"yoi-orchestrator","at":"2026-06-26T06:34:14Z"} +{"id":"orch-plan-20260626-074213-4","ticket_id":"00001KW04A8K6","kind":"waiting_capacity_note","note":"TUI Runtime API/WebSocket migration is left queued while Web Console MVP `00001KVZ9JGK0` is accepted/inprogress. Both are UI/control-surface consumers of the new Runtime APIs; start TUI migration after Web Console branch is reviewed/merged/done to avoid API/UX churn.","author":"yoi-orchestrator","at":"2026-06-26T07:42:13Z"} diff --git a/.yoi/tickets/00001KW04A8K6/item.md b/.yoi/tickets/00001KW04A8K6/item.md index 5003c3b7..def2c1b1 100644 --- a/.yoi/tickets/00001KW04A8K6/item.md +++ b/.yoi/tickets/00001KW04A8K6/item.md @@ -2,7 +2,7 @@ title: 'TUIをRuntime API/WebSocket接続へ移行する' state: 'queued' created_at: '2026-06-25T19:32:38Z' -updated_at: '2026-06-26T06:34:14Z' +updated_at: '2026-06-26T07:42:13Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T20:34:42Z'