From 54eaa44681b1bf2d960110fb35647bb2a4dce809 Mon Sep 17 00:00:00 2001 From: Hare Date: Sat, 11 Jul 2026 09:09:33 +0900 Subject: [PATCH] ticket: remove observation cursor surface --- .yoi/tickets/00001KX7838M2/artifacts/.gitkeep | 0 .yoi/tickets/00001KX7838M2/item.md | 29 +++++++++++++ .yoi/tickets/00001KX7838M2/thread.md | 42 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 .yoi/tickets/00001KX7838M2/artifacts/.gitkeep create mode 100644 .yoi/tickets/00001KX7838M2/item.md create mode 100644 .yoi/tickets/00001KX7838M2/thread.md diff --git a/.yoi/tickets/00001KX7838M2/artifacts/.gitkeep b/.yoi/tickets/00001KX7838M2/artifacts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.yoi/tickets/00001KX7838M2/item.md b/.yoi/tickets/00001KX7838M2/item.md new file mode 100644 index 00000000..b0e04999 --- /dev/null +++ b/.yoi/tickets/00001KX7838M2/item.md @@ -0,0 +1,29 @@ +--- +title: 'Remove worker observation WebSocket cursor surface' +state: 'inprogress' +created_at: '2026-07-11T00:09:06Z' +updated_at: '2026-07-11T00:09:33Z' +assignee: null +queued_by: 'yoi ticket' +queued_at: '2026-07-11T00:09:32Z' +--- + +## 背景 + +Workspace worker observation WebSocket には backend-local `cursor` / `event_id` surface が残っているが、backend replay を削除した後は resume cursor として意味を持たない。Console attach は Snapshot + live events のみで十分であり、未読 output 読み取りが必要な場合は WebSocket cursor ではなく durable output/log 専用 cursor を別設計する。 + +## 要件 + +- workspace-server の worker observation browser-facing WebSocket から backend-local cursor surface を削除する。 +- `ClientWorkerEventsWsQuery.cursor` / `BackendObservationCursor` / backend `next_sequence` / `open()` / `store()` を削除または単純な envelope mapping に縮小する。 +- browser-facing event envelope は Runtime/Worker identity と payload に限定し、存在するなら runtime event id のみを重複抑止用に渡す。 +- Frontend Console は backend cursor に依存せず、runtime event id で dedupe する。 +- cursor 付き WS 接続は API surface として提供しない。クエリを無視する設計にせず、不要な型・検証・診断を消す。 + +## 受け入れ条件 + +- worker observation WS response frame に backend-local cursor が含まれない。 +- Frontend Console model / route が cursor を保持・利用しない。 +- backend-local cursor 関連型と cursor malformed/unknown handling が削除される。 +- Runtime observation cursor は runtime 内部または runtime endpoint だけの概念として残り、workspace-server browser surface には露出しない。 +- `cargo test`、`cd web/workspace && deno task check`、`cd web/workspace && deno task test`、`nix build .#yoi` が通る。 diff --git a/.yoi/tickets/00001KX7838M2/thread.md b/.yoi/tickets/00001KX7838M2/thread.md new file mode 100644 index 00000000..5308e9ea --- /dev/null +++ b/.yoi/tickets/00001KX7838M2/thread.md @@ -0,0 +1,42 @@ + + +## 作成 + +LocalTicketBackend によって作成されました。 + +--- + + + +## Intake summary + +Marked ready by `yoi ticket state`. + +--- + + + +## State changed + +Marked ready by `yoi ticket state`. + + +--- + + + +## State changed + +Ticket を `yoi ticket` が queued にしました。 + + +--- + + + +## State changed + +State changed to `inprogress`. + + +---