yoi/.yoi/tickets/00001KW2GCPYF/thread.md

5.5 KiB

作成

LocalTicketBackend によって作成されました。


Intake summary

Marked ready by yoi ticket state.


State changed

Marked ready by yoi ticket state.


State changed

Ticket を workspace-panel が queued にしました。


Decision

Routing decision: implementation_ready

Reason:

  • Dashboard Queue により routing 許可済み。
  • Relations はなし、OrchestrationPlan も未設定だった。blocking dependency は見当たらない。
  • Current inprogress is 0。orchestration worktree is clean and current HEAD already contains Runtime/Backend/WebSocket/WebConsole/TUI foundations.
  • Ticket body は navigation/route model、attach routing、UX redesign、protocol rendering model、input/observation、Non-goals、acceptance criteria が具体的。

Evidence checked:

  • Ticket body: Workspace top Worker list から任意 Worker Console、runtime_id + worker_id authority、Companion を通常 Worker として扱う、standalone Console sidebar entry / old /console fallback removal、protocol::Event rendering semantics、degrade path、validation requirements。
  • Relations: none。
  • Orchestration plan: accepted plan orch-plan-20260626-174605-1 recorded。
  • Workspace state: queued 1 / inprogress 0、orchestration clean、child spawned count 0。

IntentPacket:

Intent:

  • Workspace Web Console を Companion 固定 UI から、Worker list 起点の任意 Worker attach Console に再設計する。

Binding decisions / invariants:

  • Console target authority は runtime_id + worker_id
  • Browser は Runtime endpoint / credential / socket path / session path を扱わない。
  • Sidebar に standalone Console category / navigation entry を残さない。
  • Companion は通常 Worker として list から attach する。Companion 専用 route/sidebar/Console implementation は正規導線に残さない。
  • /console route redirect/fallback 互換は残さない。
  • Backend Worker API / Backend client-facing observation WS を使う。
  • TUI の見た目や keybinding は移植しない。移植対象は protocol::Event rendering semantics。
  • 未実装 Runtime/permission/advanced control UI、multi-worker split view、raw provider trace viewer は作らない。

Requirements / acceptance criteria:

  • Workspace top Worker list から任意 Worker Console を開ける。
  • Console route/state は runtime_id + worker_id を持つ。
  • Worker detail/capabilities、bounded transcript/Snapshot相当、observation WS、input API を使う。
  • protocol::Event 由来の user / assistant / thinking / tool call/result / status / error / usage / snapshot / in-flight を表示する。
  • Metadata/diagnostics は compact header/details/collapsible area に逃がし、主 transcript 幅を過剰に占有しない。
  • Streaming 非対応 Worker は transcript-only/manual refresh等の degrade path を明示。
  • Focused Web UI tests/component tests を追加する。
  • deno task check/build, cargo check -p yoi, git diff --check, nix build .#yoi --no-link が通る。

Implementation latitude:

  • Route naming、Worker list UI placement、component split、protocol event state model、degrade UI の詳細は Coder が existing web/workspace style に合わせて選べる。
  • Backend API に小さな不足があれば crates/workspace-server で最小 support を追加してよい。
  • Existing Companion provider-less backend can remain as a normal worker source, but no special Console UI path。

Escalate if:

  • Browser に Runtime endpoint/token/socket/session path を渡す必要が出る。
  • old /console fallback を残さないと navigation が成立しないと判明する。
  • Full TUI parity / tool UI / raw provider trace viewer / multi-worker split view が必要になる。
  • Backend protocol/WS foundation の大幅 redesign が必要になる。

Validation:

  • cargo fmt --all
  • 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:

  • Companion special-case route/sidebar implementation が残ること。
  • Route target が runtime_id + worker_id ではなく worker_id-only になること。
  • Runtime endpoint/token/socket/session path leak。
  • protocol::Event を簡易 chat message に潰しすぎること。
  • Metadata/diagnostics が主 transcript を圧迫すること。
  • Old /console redirect/fallback compatibility が残ること。

State changed

Routing decision: implementation_ready。

Ticket body / relations / workspace state / accepted plan を確認し、Workspace Worker Console redesign は unblocked と判断した。Relations はなく、current inprogress は 0。accepted plan と IntentPacket は thread / orchestration plan に記録済み。

これ以降、worktree creation / coder Worker routing などの implementation side effect に進める。