ticket: route websocket runtime queue chain
This commit is contained in:
parent
75a458ddd9
commit
523b04d391
|
|
@ -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-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"}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Backend内蔵Companion RuntimeとWeb Console MVP'
|
title: 'Backend内蔵Companion RuntimeとWeb Console MVP'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-25T11:45:17Z'
|
created_at: '2026-06-25T11:45:17Z'
|
||||||
updated_at: '2026-06-25T20:34:27Z'
|
updated_at: '2026-06-25T20:36:54Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T20:34:27Z'
|
queued_at: '2026-06-25T20:34:27Z'
|
||||||
|
|
|
||||||
|
|
@ -110,4 +110,26 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-25T20:36:54Z -->
|
||||||
|
|
||||||
|
## 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 する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -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-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-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"}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: 'worker-runtimeにREST command serverを追加する'
|
title: 'worker-runtimeにREST command serverを追加する'
|
||||||
state: 'queued'
|
state: 'inprogress'
|
||||||
created_at: '2026-06-25T14:44:02Z'
|
created_at: '2026-06-25T14:44:02Z'
|
||||||
updated_at: '2026-06-25T16:56:01Z'
|
updated_at: '2026-06-25T20:36:02Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T16:39:39Z'
|
queued_at: '2026-06-25T16:39:39Z'
|
||||||
|
|
|
||||||
|
|
@ -59,3 +59,79 @@ Escalate if:
|
||||||
- REST server concerns を core crate に混ぜないと acceptance を満たせないように見える。
|
- REST server concerns を core crate に混ぜないと acceptance を満たせないように見える。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-25T20:35:55Z -->
|
||||||
|
|
||||||
|
## 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。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-25T20:36:02Z from: queued to: inprogress reason: routing_accepted_after_core_and_fs_store_done field: state -->
|
||||||
|
|
||||||
|
## 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 に進める。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
|
|
@ -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"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Runtime/Backend WebSocket observation proxyを実装する'
|
title: 'Runtime/Backend WebSocket observation proxyを実装する'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-25T14:44:02Z'
|
created_at: '2026-06-25T14:44:02Z'
|
||||||
updated_at: '2026-06-25T20:34:20Z'
|
updated_at: '2026-06-25T20:36:24Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T20:34:20Z'
|
queued_at: '2026-06-25T20:34:20Z'
|
||||||
|
|
|
||||||
|
|
@ -150,4 +150,26 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-25T20:36:24Z -->
|
||||||
|
|
||||||
|
## 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 する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -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"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Backend RuntimeRegistryにremote worker-runtime processを接続する'
|
title: 'Backend RuntimeRegistryにremote worker-runtime processを接続する'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-25T16:23:58Z'
|
created_at: '2026-06-25T16:23:58Z'
|
||||||
updated_at: '2026-06-25T20:34:35Z'
|
updated_at: '2026-06-25T20:36:34Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T20:34:35Z'
|
queued_at: '2026-06-25T20:34:35Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,26 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-25T20:36:34Z -->
|
||||||
|
|
||||||
|
## 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 する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -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"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'TUIをRuntime API/WebSocket接続へ移行する'
|
title: 'TUIをRuntime API/WebSocket接続へ移行する'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-25T19:32:38Z'
|
created_at: '2026-06-25T19:32:38Z'
|
||||||
updated_at: '2026-06-25T20:34:42Z'
|
updated_at: '2026-06-25T20:36:43Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-25T20:34:42Z'
|
queued_at: '2026-06-25T20:34:42Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,26 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-25T20:36:43Z -->
|
||||||
|
|
||||||
|
## 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 する。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user