diff --git a/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl index 39afc0a4..340ec974 100644 --- a/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl +++ b/.yoi/tickets/00001KVZ9JGK0/artifacts/orchestration-plan.jsonl @@ -1 +1,2 @@ {"id":"orch-plan-20260625-164513-1","ticket_id":"00001KVZ9JGK0","kind":"blocked_by","related_ticket":"00001KVZSGT0Q","note":"Queue routing checked after Dashboard Queue. Backend internal Companion Runtime/Web Console depends on embedded worker-runtime Backend Registry connection `00001KVZSGT0Q`, which is still queued and itself blocked by earlier worker-runtime/core/Backend foundation dependencies. Do not start MVP implementation until that dependency chain is completed.","author":"yoi-orchestrator","at":"2026-06-25T16:45:13Z"} +{"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"} diff --git a/.yoi/tickets/00001KVZ9JGK0/item.md b/.yoi/tickets/00001KVZ9JGK0/item.md index a8ed9919..9355cde6 100644 --- a/.yoi/tickets/00001KVZ9JGK0/item.md +++ b/.yoi/tickets/00001KVZ9JGK0/item.md @@ -2,7 +2,7 @@ title: 'Backend内蔵Companion RuntimeとWeb Console MVP' state: 'queued' created_at: '2026-06-25T11:45:17Z' -updated_at: '2026-06-25T20:34:27Z' +updated_at: '2026-06-25T20:36:54Z' 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 279abdcf..6b40c81d 100644 --- a/.yoi/tickets/00001KVZ9JGK0/thread.md +++ b/.yoi/tickets/00001KVZ9JGK0/thread.md @@ -110,4 +110,26 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue 後に Ticket / relations / workspace state を確認した。 +- 本 Ticket は Web Console MVP であり、WebSocket/event-stream transport/proxy `00001KVZKSTJT` と Backend embedded Runtime connection `00001KVZSGT0Q` を前提にする。 +- `00001KVZKSTJT` は queued/blocked、`00001KVZSGT0Q` も Backend Registry foundation chain 待ち。Web Console を先に始めると response delivery / stream semantics を UI/API 側で先取りして固定するため開始しない。 + +Evidence checked: +- Ticket body: Companion Runtime/Web Console MVP、message API、transcript/stream response choice、Safety/authority。 +- Relations: `depends_on -> 00001KVZKSTJT` と `depends_on -> 00001KVZSGT0Q`。 +- Orchestration plan: blocker record `orch-plan-20260625-203613-1` を追加。 + +Next action: +- 本 Ticket は queued のまま待機。 +- `00001KVZKSTJT` と `00001KVZSGT0Q` が done になった後、Web Console MVP の acceptance criteria を再確認して routing する。 + --- diff --git a/.yoi/tickets/00001KVZKSTE2/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZKSTE2/artifacts/orchestration-plan.jsonl index fdb9855b..adc348c6 100644 --- a/.yoi/tickets/00001KVZKSTE2/artifacts/orchestration-plan.jsonl +++ b/.yoi/tickets/00001KVZKSTE2/artifacts/orchestration-plan.jsonl @@ -1,2 +1,3 @@ {"id":"orch-plan-20260625-164410-1","ticket_id":"00001KVZKSTE2","kind":"blocked_by","related_ticket":"00001KVZBCQH4","note":"Queue routing checked after Dashboard Queue. REST command server depends on worker-runtime core `00001KVZBCQH4`, which is currently inprogress and under review. Do not start HTTP/server implementation until core API is reviewed/merged/done.","author":"yoi-orchestrator","at":"2026-06-25T16:44:10Z"} {"id":"orch-plan-20260625-165601-2","ticket_id":"00001KVZKSTE2","kind":"waiting_capacity_note","note":"Core dependency is now done, but this REST/http-server Ticket is left queued in this acceptance pass because FS store and Backend Registry foundation were accepted first. `http-server` is likely to modify `crates/worker-runtime` feature/dependency/package surfaces and conflict with FS store work; start after FS store branch stabilizes or Orchestrator explicitly serializes merge conflict handling.","author":"yoi-orchestrator","at":"2026-06-25T16:56:01Z"} +{"id":"orch-plan-20260625-203533-3","ticket_id":"00001KVZKSTE2","kind":"accepted_plan","note":"Core dependency `00001KVZBCQH4` は done、FS store branch も done/merged 済みで previous waiting-capacity reason は解消。現在の inprogress `00001KVZKSV6C` は workspace-server foundation で主変更面が分離しているため並行受理可能。","accepted_plan":{"summary":"worker-runtime core/FS store done 後の optional `http-server` feature slice。REST command API と最小 process wrapper を worker-runtime に追加し、observation stream / Backend client integration / WebSocket は扱わない。","branch":"work/00001KVZKSTE2-worker-runtime-rest-server","worktree":"/home/hare/Projects/yoi/.worktree/00001KVZKSTE2-worker-runtime-rest-server","role_plan":"Orchestrator が dedicated child worktree を作成し、coder Worker に `crates/worker-runtime` と必要な Cargo/package files の write scope を委譲する。reviewer Worker は read-only で feature gating、REST handler delegation、Browser direct access exclusion、typed errors、scope creep absence を確認する。merge/validation/done/cleanup は Orchestrator が行う。"},"author":"yoi-orchestrator","at":"2026-06-25T20:35:33Z"} diff --git a/.yoi/tickets/00001KVZKSTE2/item.md b/.yoi/tickets/00001KVZKSTE2/item.md index 557782c6..136e5a22 100644 --- a/.yoi/tickets/00001KVZKSTE2/item.md +++ b/.yoi/tickets/00001KVZKSTE2/item.md @@ -1,8 +1,8 @@ --- title: 'worker-runtimeにREST command serverを追加する' -state: 'queued' +state: 'inprogress' created_at: '2026-06-25T14:44:02Z' -updated_at: '2026-06-25T16:56:01Z' +updated_at: '2026-06-25T20:36:02Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T16:39:39Z' diff --git a/.yoi/tickets/00001KVZKSTE2/thread.md b/.yoi/tickets/00001KVZKSTE2/thread.md index d08ae187..35037bdc 100644 --- a/.yoi/tickets/00001KVZKSTE2/thread.md +++ b/.yoi/tickets/00001KVZKSTE2/thread.md @@ -59,3 +59,79 @@ Escalate if: - REST server concerns を core crate に混ぜないと acceptance を満たせないように見える。 --- + + + +## Decision + +Routing decision: implementation_ready + +Reason: +- Dashboard Queue された dependent chain を再確認した。 +- `00001KVZBCQH4` worker-runtime core は done、`00001KVZKST83` FS store feature も done/merged/validated 済み。以前の dependency/capacity blocker は解消した。 +- 本 Ticket は REST command server であり、Non-goals に SSE / WebSocket event stream server が明記されている。WebSocket transport decision は `00001KVZKSTJT` 側で扱い、本 Ticket の implementation latitude には含めない。 +- 現在の inprogress `00001KVZKSV6C` は `crates/workspace-server` foundation、こちらは `crates/worker-runtime` http-server feature が主対象で、conflict risk は bounded。 + +Evidence checked: +- Ticket body: `http-server` feature、Runtime process wrapper、REST command endpoints、typed JSON/errors、Browser direct Runtime access exclusion、Non-goals。 +- Relations: outgoing dependency `00001KVZBCQH4` は done。incoming `00001KVZKSTJT`, `00001KVZSGT14` は後続。 +- Orchestration plan: accepted plan `orch-plan-20260625-203533-3` を記録。 +- Workspace state: orchestration worktree clean; current active foundation branch is separate surface. + +IntentPacket: + +Intent: +- `worker-runtime` に optional `http-server` feature と最小 Runtime process REST command API を追加する。 + +Binding decisions / invariants: +- REST handlers は `Runtime` lib API を呼ぶ wrapper とし、Worker semantics を二重実装しない。 +- Browser は Runtime process に直接接続せず、Backend 経由の前提を docs/comments/API comments に残す。 +- SSE / WebSocket event stream server、Backend HTTP client integration、dynamic Runtime registration、Web Console、full auth model は実装しない。 +- `http-server` disabled 時に core library は HTTP server dependency を強制しない。 +- Runtime authority は Runtime/Worker identity。legacy pod/socket/session path を public REST authority として設計しない。 + +Requirements / acceptance criteria: +- `http-server` feature と binary/process wrapper がある。 +- `GET /v1/runtime`, `GET /v1/workers`, `GET /v1/workers/{worker_id}`, `POST /v1/workers`, `POST /v1/workers/{worker_id}/input`, `stop`, `cancel`, `GET transcript` を扱う。 +- typed request/response/error shapes を持つ。 +- runtime id / bind address / store selection を v0 config として扱える。 +- minimal local token placeholder は可。ただし Browser に Runtime credential を渡す前提にしない。 + +Implementation latitude: +- HTTP framework/dependency、binary/module split、test helper、typed response shapes の詳細は Coder が選べる。 +- FS store 使用は既存 feature を使う範囲まで。新しい persistence design は不要。 + +Escalate if: +- WebSocket/SSE observation 実装が必要になりそうな場合。 +- Backend integration や dynamic runtime registration を同時に実装しないと REST command server が成立しない場合。 +- Core Runtime API の大幅変更が必要になる場合。 + +Validation: +- `cargo fmt --all` +- `cargo test -p worker-runtime --no-default-features` +- `cargo test -p worker-runtime --features http-server` +- 必要に応じて `cargo test -p worker-runtime --features fs-store,http-server` +- `cargo check -p yoi` +- `git diff --check` +- 可能なら `nix build .#yoi --no-link` + +Critical risks / reviewer focus: +- Feature gating/dependency leakage。 +- REST handler が Runtime semantics を複製すること。 +- Browser direct Runtime access や credential leakage。 +- WebSocket/SSE scope creep。 +- package.nix cargoHash / lock consistency。 + +--- + + + +## State changed + +Routing decision: implementation_ready。 + +Dependency `00001KVZBCQH4` worker-runtime core は done。以前の waiting-capacity reason だった FS store branch も done/merged/validated 済み。Ticket body / relations / workspace state / accepted plan を確認し、REST command server slice は unblocked と判断した。 + +これ以降、worktree creation / coder Worker routing などの implementation side effect に進める。 + +--- diff --git a/.yoi/tickets/00001KVZKSTJT/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZKSTJT/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..2ab3b48b --- /dev/null +++ b/.yoi/tickets/00001KVZKSTJT/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260625-203613-1","ticket_id":"00001KVZKSTJT","kind":"blocked_by","related_ticket":"00001KVZKSTE2","note":"Queue routing checked. WebSocket observation proxy depends on REST command server `00001KVZKSTE2`, which has just been accepted and is now inprogress. Leave this Ticket queued until REST command API/process wrapper is reviewed/merged/done, so WS/proxy semantics build on stable command surface.","author":"yoi-orchestrator","at":"2026-06-25T20:36:13Z"} diff --git a/.yoi/tickets/00001KVZKSTJT/item.md b/.yoi/tickets/00001KVZKSTJT/item.md index 7a07ff1b..ee0b28d8 100644 --- a/.yoi/tickets/00001KVZKSTJT/item.md +++ b/.yoi/tickets/00001KVZKSTJT/item.md @@ -2,7 +2,7 @@ title: 'Runtime/Backend WebSocket observation proxyを実装する' state: 'queued' created_at: '2026-06-25T14:44:02Z' -updated_at: '2026-06-25T20:34:20Z' +updated_at: '2026-06-25T20:36:24Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T20:34:20Z' diff --git a/.yoi/tickets/00001KVZKSTJT/thread.md b/.yoi/tickets/00001KVZKSTJT/thread.md index 8c5f6b16..915d2e30 100644 --- a/.yoi/tickets/00001KVZKSTJT/thread.md +++ b/.yoi/tickets/00001KVZKSTJT/thread.md @@ -150,4 +150,26 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue 後に Ticket / relations / workspace state を確認した。 +- 本 Ticket は `00001KVZKSTE2` REST command server に depends_on。`00001KVZKSTE2` は本 routing pass で accepted され `inprogress` になった。 +- WS observation proxy は Runtime process server surface と Backend proxy/client-facing stream を扱うため、REST command API/process wrapper の形が確定してから開始する。 + +Evidence checked: +- Ticket body: `Runtime -> Backend -> Client` WebSocket observation proxy、Runtime worker-scoped WS、Backend Runtime WS client、Client-facing WS、cursor/backlog/permission seam。 +- Relations: outgoing `depends_on -> 00001KVZKSTE2`; incoming dependent Tickets include Web Console MVP, remote Runtime process, TUI migration。 +- Orchestration plan: blocker record `orch-plan-20260625-203613-1` を追加。 + +Next action: +- 本 Ticket は queued のまま待機。 +- `00001KVZKSTE2` が review/merge/validation/done になった後に再 routing する。 + --- diff --git a/.yoi/tickets/00001KVZSGT14/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVZSGT14/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..fa6195d1 --- /dev/null +++ b/.yoi/tickets/00001KVZSGT14/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260625-203613-1","ticket_id":"00001KVZSGT14","kind":"blocked_by","related_ticket":"00001KVZKSTJT","note":"Queue routing checked. Remote worker-runtime process connection depends on WebSocket observation proxy `00001KVZKSTJT` and REST command server `00001KVZKSTE2`; REST is now inprogress and WS proxy remains queued, so this Ticket should wait.","author":"yoi-orchestrator","at":"2026-06-25T20:36:13Z"} diff --git a/.yoi/tickets/00001KVZSGT14/item.md b/.yoi/tickets/00001KVZSGT14/item.md index 1f2d2585..92275560 100644 --- a/.yoi/tickets/00001KVZSGT14/item.md +++ b/.yoi/tickets/00001KVZSGT14/item.md @@ -2,7 +2,7 @@ title: 'Backend RuntimeRegistryにremote worker-runtime processを接続する' state: 'queued' created_at: '2026-06-25T16:23:58Z' -updated_at: '2026-06-25T20:34:35Z' +updated_at: '2026-06-25T20:36:34Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T20:34:35Z' diff --git a/.yoi/tickets/00001KVZSGT14/thread.md b/.yoi/tickets/00001KVZSGT14/thread.md index d2de4570..fc8d57a6 100644 --- a/.yoi/tickets/00001KVZSGT14/thread.md +++ b/.yoi/tickets/00001KVZSGT14/thread.md @@ -30,4 +30,26 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue 後に Ticket / relations / workspace state を確認した。 +- 本 Ticket は WebSocket observation proxy `00001KVZKSTJT` と REST command server `00001KVZKSTE2` を前提にする remote worker-runtime process connection。 +- `00001KVZKSTE2` は現在 inprogress、`00001KVZKSTJT` は queued/blocked。remote process connection を先に始めると transport/API shape を先取りして固定するため開始しない。 + +Evidence checked: +- Ticket body: remote Runtime process接続、Backend RuntimeRegistry source、REST/WebSocket client boundary、Non-goals。 +- Relations: outgoing dependencies include `00001KVZKSTE2` / `00001KVZKSTJT` / `00001KVZKSV6C` 等。 +- Orchestration plan: blocker record `orch-plan-20260625-203613-1` を追加。 + +Next action: +- 本 Ticket は queued のまま待機。 +- REST command server と WebSocket observation proxy が done になった後に再 routing する。 + --- diff --git a/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..a770dafc --- /dev/null +++ b/.yoi/tickets/00001KW04A8K6/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"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"} diff --git a/.yoi/tickets/00001KW04A8K6/item.md b/.yoi/tickets/00001KW04A8K6/item.md index 4c0bf052..2bc5d48b 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-25T20:34:42Z' +updated_at: '2026-06-25T20:36:43Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-25T20:34:42Z' diff --git a/.yoi/tickets/00001KW04A8K6/thread.md b/.yoi/tickets/00001KW04A8K6/thread.md index b7879691..35a51a82 100644 --- a/.yoi/tickets/00001KW04A8K6/thread.md +++ b/.yoi/tickets/00001KW04A8K6/thread.md @@ -30,4 +30,26 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: blocked_by_dependency_or_missing_authority + +Reason: +- Dashboard Queue 後に Ticket / relations / workspace state を確認した。 +- 本 Ticket は Runtime API / WebSocket observation への TUI移行であり、Backend RuntimeRegistry foundation、embedded/remote Runtime routing、WebSocket observation proxy が前提。 +- 現在 `00001KVZKSV6C` は inprogress、`00001KVZKSTJT` / `00001KVZSGT0Q` / `00001KVZSGT14` は queued/blocked。TUI migration を先に始めると transport/API の未確定部分を TUI 側で固定してしまうため開始しない。 + +Evidence checked: +- Ticket body: TUI connection model、input path、output/observation path、Runtime WebSocket / Backend proxy reliance、compatibility/debug path。 +- Relations: outgoing dependencies include `00001KVZKSTJT`, `00001KVZKSV6C`, `00001KVZSGT0Q`, `00001KVZSGT14`。 +- Orchestration plan: blocker record `orch-plan-20260625-203613-1` を追加。 + +Next action: +- 本 Ticket は queued のまま待機。 +- Backend RuntimeRegistry / embedded+remote Runtime / WS proxy chain が done になった後に再 routing する。 + ---