From dcab396e69ac5fc77946acb66d1f1e84f096a1d2 Mon Sep 17 00:00:00 2001 From: Hare Date: Sat, 11 Jul 2026 02:38:25 +0900 Subject: [PATCH] ticket: close worker workdir registry work --- .yoi/tickets/00001KX6BPY7M/item.md | 4 +- .yoi/tickets/00001KX6BPY7M/resolution.md | 35 +++++++++ .yoi/tickets/00001KX6BPY7M/thread.md | 90 ++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 .yoi/tickets/00001KX6BPY7M/resolution.md diff --git a/.yoi/tickets/00001KX6BPY7M/item.md b/.yoi/tickets/00001KX6BPY7M/item.md index 7611f248..5805fff5 100644 --- a/.yoi/tickets/00001KX6BPY7M/item.md +++ b/.yoi/tickets/00001KX6BPY7M/item.md @@ -1,8 +1,8 @@ --- title: 'Add Backend Worker/Workdir registry and link model' -state: 'inprogress' +state: 'closed' created_at: '2026-07-10T15:53:02Z' -updated_at: '2026-07-10T17:35:29Z' +updated_at: '2026-07-10T17:38:20Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-07-10T16:10:57Z' diff --git a/.yoi/tickets/00001KX6BPY7M/resolution.md b/.yoi/tickets/00001KX6BPY7M/resolution.md new file mode 100644 index 00000000..523132ae --- /dev/null +++ b/.yoi/tickets/00001KX6BPY7M/resolution.md @@ -0,0 +1,35 @@ +Backend Worker/Workdir registry and link model を実装・レビュー・merge・検証した。 + +実装内容: +- Backend SQLite schema に `worker_registry`, `workdir_registry`, `worker_workdir_links` を追加。 +- Worker registry / Workdir registry / Worker-Workdir link の typed store API と projection を追加。 +- Backend 経由の Workdir 作成で Runtime materialization 前に Backend-managed pending row を作成。 +- Backend / Runtime scoped Worker creation で Worker registry row、Workdir registry row、Worker-Workdir link を同期。 +- Worker list は Runtime observation を同期したうえで Backend `worker_registry` / link authority から projection。 +- Worker stop は canonical registry row を削除せず、Worker lifecycle と linked Workdir status を同期。 +- Workdir list / launch options は Backend-managed rows を基準にし、`runtime_unmanaged` Workdirs は managed Browser list/options に混ぜず runtime/diagnostic projection で区別可能にした。 +- `pinned` retention が通常 Runtime sync で `normal` に clobber されないよう保護。 +- Browser-facing summaries に safe `management_kind` を追加し、raw Runtime materialized path を Backend registry / Browser response に保存・表示しない方針を維持。 + +Review: +- 初回 review は 5 blocker で `request_changes`。 +- `8695089f fix: sync backend worker registry projections` で主要 blocker を修正。 +- 2回目 review は unmanaged Workdir が managed list/options に混ざる blocker で `request_changes`。 +- `239f93b0 fix: keep unmanaged workdirs out of managed lists` で残 blocker を修正。 +- 最終 focused re-review は `approve`。 + +Merge / validation: +- Merge commit: `03652f82 merge: worker workdir registry`。 +- Final validation passed: + - `git diff --check` + - `cargo test -p yoi-workspace-server --lib` + - `cargo test -p worker-runtime --features ws-server,fs-store` + - `cargo check -p yoi` + - `cd web/workspace && deno task check` + - `cd web/workspace && deno task test` + - `yoi ticket doctor` + - `nix build .#yoi --no-link` +- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/worker-workdir-final-validation-1783704956.txt` + +Non-blocking follow-up noted by reviewer: +- Some runtime detail/create response paths still return direct Runtime summaries with `management_kind: None`; list/options surfaces required by this Ticket are safe, but a future cleanup can project detail responses through Backend records for more uniform diagnostics。 \ No newline at end of file diff --git a/.yoi/tickets/00001KX6BPY7M/thread.md b/.yoi/tickets/00001KX6BPY7M/thread.md index c28c8c17..602c4cf9 100644 --- a/.yoi/tickets/00001KX6BPY7M/thread.md +++ b/.yoi/tickets/00001KX6BPY7M/thread.md @@ -368,3 +368,93 @@ Non-blocking note: - Some runtime detail/create response paths still return direct Runtime summaries with `management_kind: None`; list/options surfaces required by this Ticket are now safe, but projecting details through Backend records would make diagnostics more uniformly typed later。 --- + + + +## Implementation report + +Merge / final validation report: + +- Reviewer approved the implementation after the final focused fix。 +- Merged branch `work/00001KX6BPY7M-worker-workdir-registry` into orchestration branch with merge commit `03652f82 merge: worker workdir registry`。 +- Ticket record conflicts from child branch were resolved in favor of Orchestrator-authoritative Ticket records; implementation code changes were merged。 +- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。 + +Validation passed: +- `git diff --check` +- `cargo test -p yoi-workspace-server --lib` +- `cargo test -p worker-runtime --features ws-server,fs-store` +- `cargo check -p yoi` +- `cd web/workspace && deno task check` +- `cd web/workspace && deno task test` +- `yoi ticket doctor` +- `nix build .#yoi --no-link` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/worker-workdir-final-validation-1783704956.txt` + +Reviewed/merged implementation commits: +- `3e5546ea feat: add backend worker workdir registry` +- `8695089f fix: sync backend worker registry projections` +- `239f93b0 fix: keep unmanaged workdirs out of managed lists` + +--- + + + +## State changed + +Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure. + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Backend Worker/Workdir registry and link model を実装・レビュー・merge・検証した。 + +実装内容: +- Backend SQLite schema に `worker_registry`, `workdir_registry`, `worker_workdir_links` を追加。 +- Worker registry / Workdir registry / Worker-Workdir link の typed store API と projection を追加。 +- Backend 経由の Workdir 作成で Runtime materialization 前に Backend-managed pending row を作成。 +- Backend / Runtime scoped Worker creation で Worker registry row、Workdir registry row、Worker-Workdir link を同期。 +- Worker list は Runtime observation を同期したうえで Backend `worker_registry` / link authority から projection。 +- Worker stop は canonical registry row を削除せず、Worker lifecycle と linked Workdir status を同期。 +- Workdir list / launch options は Backend-managed rows を基準にし、`runtime_unmanaged` Workdirs は managed Browser list/options に混ぜず runtime/diagnostic projection で区別可能にした。 +- `pinned` retention が通常 Runtime sync で `normal` に clobber されないよう保護。 +- Browser-facing summaries に safe `management_kind` を追加し、raw Runtime materialized path を Backend registry / Browser response に保存・表示しない方針を維持。 + +Review: +- 初回 review は 5 blocker で `request_changes`。 +- `8695089f fix: sync backend worker registry projections` で主要 blocker を修正。 +- 2回目 review は unmanaged Workdir が managed list/options に混ざる blocker で `request_changes`。 +- `239f93b0 fix: keep unmanaged workdirs out of managed lists` で残 blocker を修正。 +- 最終 focused re-review は `approve`。 + +Merge / validation: +- Merge commit: `03652f82 merge: worker workdir registry`。 +- Final validation passed: + - `git diff --check` + - `cargo test -p yoi-workspace-server --lib` + - `cargo test -p worker-runtime --features ws-server,fs-store` + - `cargo check -p yoi` + - `cd web/workspace && deno task check` + - `cd web/workspace && deno task test` + - `yoi ticket doctor` + - `nix build .#yoi --no-link` +- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/worker-workdir-final-validation-1783704956.txt` + +Non-blocking follow-up noted by reviewer: +- Some runtime detail/create response paths still return direct Runtime summaries with `management_kind: None`; list/options surfaces required by this Ticket are safe, but a future cleanup can project detail responses through Backend records for more uniform diagnostics。 + +---