merge: orchestration planning returns

# Conflicts:
#	.yoi/tickets/00001KVZKSTJT/item.md
#	.yoi/tickets/00001KVZKSTJT/thread.md
This commit is contained in:
Keisuke Hirata 2026-06-26 05:28:20 +09:00
commit ee8fa17abd
No known key found for this signature in database
4 changed files with 61 additions and 3 deletions

View File

@ -1,6 +1,14 @@
{
"version": 1,
"relations": [
{
"ticket_id": "00001KVZ9JGK0",
"kind": "depends_on",
"target": "00001KVZKSTJT",
"note": "Companion Web Console MVP has response stream / transcript projection choices and must not fix WS/SSE/polling behavior before `00001KVZKSTJT` resolves the WebSocket/event-stream transport design decision.",
"author": "yoi-orchestrator",
"at": "2026-06-25T20:22:58Z"
},
{
"ticket_id": "00001KVZ9JGK0",
"kind": "depends_on",

View File

@ -1,8 +1,8 @@
---
title: 'Backend内蔵Companion RuntimeとWeb Console MVP'
state: 'queued'
state: 'planning'
created_at: '2026-06-25T11:45:17Z'
updated_at: '2026-06-25T16:45:24Z'
updated_at: '2026-06-25T20:23:10Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-06-25T16:44:45Z'

View File

@ -60,3 +60,28 @@ Escalate if:
- Backend internal Runtime foundation の scope が Companion MVP requirements を満たさない。
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-25T20:23:10Z from: queued to: planning reason: web_console_stream_transport_decision_missing field: state -->
## State changed
ユーザー指摘により queued から planning に戻す。
Missing decision / information:
- 本 Ticket は Web Console MVP の conversation/transcript model で「request/response 完了後に transcript を返す」または「SSE / streaming endpoint」を実装時に選んでよいとしており、実質的に WS/SSE/polling/streaming の transport 方針を固定し得る。
- これは `00001KVZKSTJT` で決定すべき WebSocket/event-stream transport 設計点であり、未決定のまま queued に置くのは不適切。
Context checked:
- Ticket body: Web Console UI、Companion message API、assistant response 取得または stream、conversation/transcript projection、Safety/authority。
- Existing relation: `00001KVZSGT0Q` への dependency。
- Added relation: `00001KVZKSTJT` への `depends_on` を追加し、WS/SSE/polling transport decision が解決するまで本 Ticket を blocker 付き planning として扱う。
- `00001KVZKSTE2` は REST command server であり、SSE/WebSocket event stream server は Non-goal と明記されているため、この差し戻し対象ではない。
Why implementation latitude is insufficient:
- Web Console の response delivery を request/response、SSE、WebSocket、polling のどれに寄せるかは後続 API/UI/Backend runtime integration の binding decision であり、Coder の local tactic として固定すべきではない。
Next planning question/action:
- `00001KVZKSTJT` で WebSocket/event-stream transport の採否、Backend-owned client / Browser-facing projection / cursor semantics / busy/error behavior を決める。
- その決定に基づいて、本 Ticket の conversation/transcript model と Web API acceptance criteria を再同期してから ready/queued に戻す。
---

View File

@ -77,6 +77,32 @@ Marked ready by `yoi ticket state`.
Marked ready by `yoi ticket state`.
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-25T20:21:27Z from: ready to: planning reason: websocket_transport_decision_missing field: state -->
## State changed
ユーザー指示により planning に戻す。
Missing decision / information:
- WebSocket / event-stream transport は `00001KVZKSTJT` 自体で決定すべき設計点であり、未決定のまま ready/queue 対象として扱うのは不適切。
- 少なくとも、Backend-owned WebSocket client 方式を v0 で採用するか、SSE / polling / Backend proxy projection との責務分離をどう置くか、cursor/backlog/error semantics をどこまで固定するかを planning で再確認する必要がある。
Context checked:
- Ticket body: `worker-runtimeにWebSocket event stream serverを追加する``ws-server` feature、WebSocket observation endpoint、cursor resume、unknown/expired cursor diagnostics を実装対象としている。
- Relations: `00001KVZBCQH4``00001KVZKSTE2` に depends_on、`00001KVZSGT14` が本 Ticket に depends_on。
- Current state: 本 Ticket は queued ではなく `ready` だったが、WS を扱う予定の Ticket として routing/queue 前に設計判断へ戻す。
Why implementation latitude is insufficient:
- Transport choice / ownership boundary / Browser direct access exclusion / Backend proxy shape は local implementation tactic ではなく、後続 Backend/remote Runtime/Web Console の設計前提になる binding decision。
Next planning question/action:
- `worker-runtime` observation transport は v0 で WebSocket を採用するのか、それとも SSE/polling/Backend projection を優先するのか。
- WebSocket を採用する場合、Backend-owned client、cursor/backlog/unknown cursor、worker-scoped filtering、Browser-facing protocol non-goal の境界を明文化する。
- 後続 `00001KVZSGT14` など remote observation 依存 Ticket は、この判断後に readiness/relations を再確認する。
---
<!-- event: state_changed author: "yoi ticket" at: 2026-06-25T20:24:40Z from: ready to: planning reason: cli_state field: state -->
@ -98,5 +124,4 @@ Backend proxy は v0 では pass-through projection を基本にし、`protocol:
権限系はこの Ticket で full auth / permission / redaction rule を実装しない。Backend proxy/projection layer に、後続で observe allow/deny、thinking/tool output/diagnostic redaction、action affordance、command API forwarding allow/deny を差し込める seam を作るに留める。
---