ticket: close panel workspace pod filter

This commit is contained in:
Keisuke Hirata 2026-06-19 00:40:49 +09:00
parent 0ef36b4e02
commit 63449a8c26
No known key found for this signature in database
3 changed files with 179 additions and 2 deletions

View File

@ -1,8 +1,8 @@
---
title: 'Panel 表示を現在 workspace の Pod に限定する'
state: 'inprogress'
state: 'closed'
created_at: '2026-06-18T14:09:59Z'
updated_at: '2026-06-18T15:37:52Z'
updated_at: '2026-06-18T15:40:38Z'
assignee: null
readiness: 'ready'
risk_flags: ['panel', 'pod-metadata', 'workspace-boundary', 'runtime-observation']

View File

@ -0,0 +1,40 @@
Ticket `00001KVDH2E06` is complete.
Completed implementation:
- Normal `yoi panel` Pod rows and Pod action targets are filtered to the current runtime workspace using persisted Pod metadata / runtime workspace ownership.
- Added optional persisted `workspace_root` to `PodMetadata` and ensured normal metadata write-through persists it.
- Added `PodMetadataStore::set_active_with_workspace_root(...)` while keeping compatibility `set_active(...)` preserving existing workspace ownership.
- Workspace-external Pods are excluded from normal Panel rows/action targets.
- Unknown/corrupt/live-only metadata fail closed and are not treated as current workspace Pods.
- Current-workspace role-like Pods remain visible when persisted runtime workspace matches, independent of cwd/worktree differences.
Reviewed / merged:
- Initial implementation: `3b634d66` (`tui: filter panel pods by workspace`)
- Persistence-boundary fix: `160c96ad` (`pod: persist metadata workspace root`)
- First review requested changes for missing persistence of `workspace_root` through the normal store writer path.
- Re-review approved with no remaining blockers.
- Orchestrator merge commit: `0ef36b4e` (`merge: panel workspace pod filter`)
Validation in Orchestrator worktree:
- `cargo fmt --check` — passed
- `cargo check -p tui -p pod -p pod-store` — passed
- `cargo test -p pod metadata_writer_persists_workspace_root_through_store_update -- --nocapture` — passed
- `cargo test -p pod pod_metadata -- --nocapture` — passed
- `cargo test -p pod-store` — passed; 6 passed, 0 failed
- `cargo test -p tui workspace_panel -- --nocapture` — passed; 23 passed, 0 failed
- `cargo test -p tui pod_list -- --nocapture` — passed; 19 passed, 0 failed
- `git diff --check` — passed
Known validation debt:
- Full `cargo test -p tui` still has three pre-existing/unrelated failures reproduced on the Orchestrator branch before this implementation was merged:
- `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace`
- `spawn::tests::profile_choices_use_project_registry_default`
- `spawn::tests::profile_choices_include_builtin_and_project_default_marker`
Cleanup:
- Stopped Coder Pod `yoi-coder-00001KVDH2E06`.
- Stopped Reviewer Pod `yoi-reviewer-00001KVDH2E06-r2`.
- Removed child worktree `/home/hare/Projects/yoi/.worktree/00001KVDH2E06-panel-current-workspace-pods`.
- Deleted merged branch `impl/00001KVDH2E06-panel-current-workspace-pods`.
Root/original workspace was not read/written/merged/validated for this Ticket, per Panel Queue instruction. The completed work is integrated on the Orchestrator branch.

View File

@ -430,3 +430,140 @@ Conclusion:
- Implementation satisfies the recorded Ticket acceptance criteria and is ready for merge/validation in the Orchestrator worktree.
---
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-18T15:39:28Z -->
## Implementation report
Merge / validation report:
Implementation branch `impl/00001KVDH2E06-panel-current-workspace-pods` を Orchestrator worktree の `orchestration` branch に merge した。
Merge:
- merge commit: `0ef36b4e``merge: panel workspace pod filter`
- implementation commits:
- `3b634d66``tui: filter panel pods by workspace`
- `160c96ad``pod: persist metadata workspace root`
- changed files:
- `crates/pod-store/src/lib.rs`
- `crates/pod/src/discovery.rs`
- `crates/pod/src/pod.rs`
- `crates/pod/src/ticket_event_notify.rs`
- `crates/tui/src/multi_pod.rs`
- `crates/tui/src/pod_list.rs`
- `crates/tui/src/workspace_panel.rs`
Validation in Orchestrator worktree:
- `cargo fmt --check` — passed
- `cargo check -p tui -p pod -p pod-store` — passed
- `cargo test -p pod metadata_writer_persists_workspace_root_through_store_update -- --nocapture` — passed
- `cargo test -p pod pod_metadata -- --nocapture` — passed
- `cargo test -p pod-store` — passed; 6 passed, 0 failed
- `cargo test -p tui workspace_panel -- --nocapture` — passed; 23 passed, 0 failed
- `cargo test -p tui pod_list -- --nocapture` — passed; 19 passed, 0 failed
- `git diff --check` — passed
Review:
- First review returned `request_changes` for missing persistence of `workspace_root` in the normal metadata write-through path.
- Coder fixed the persistence boundary and added a targeted `pod_metadata_writer_for_store` + `FsPodStore` test.
- Re-review `yoi-reviewer-00001KVDH2E06-r2` returned `approve` with no blockers.
Known validation debt:
- Full `cargo test -p tui` has three failures that were reproduced on the Orchestrator branch before this branch was merged and are treated as pre-existing/unrelated for this Ticket:
- `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace`
- `spawn::tests::profile_choices_use_project_registry_default`
- `spawn::tests::profile_choices_include_builtin_and_project_default_marker`
Outcome:
- Normal Panel Pod rows/action targets are filtered to current workspace Pods using persisted runtime workspace metadata.
- External workspace Pods and unknown/corrupt/live-only metadata fail closed for normal rows.
- Current workspace role-like Pods remain visible when persisted runtime workspace matches, independent of cwd/worktree differences.
- Root/original workspace was not read/written/merged/validated for this Ticket, per Panel Queue instruction.
---
<!-- event: implementation_report author: yoi-orchestrator at: 2026-06-18T15:40:02Z -->
## Implementation report
Cleanup report:
Panel current-workspace Pod filter Ticket の implementation/review Pods と child worktree を cleanup した。
Stopped Pods:
- `yoi-coder-00001KVDH2E06`
- `yoi-reviewer-00001KVDH2E06-r2`
Removed child implementation worktree:
- `/home/hare/Projects/yoi/.worktree/00001KVDH2E06-panel-current-workspace-pods`
Deleted merged implementation branch:
- `impl/00001KVDH2E06-panel-current-workspace-pods` at `160c96ad`
Orchestrator branch remains the integration authority for this completed work. Root/original workspace was not touched for this Ticket, per Panel Queue instruction.
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-18T15:40:11Z from: inprogress to: done reason: merged_validated_review_approved field: state -->
## State changed
Implementation commits `3b634d66` and `160c96ad` were reviewed after blocker resolution, approved, merged into the Orchestrator branch as `0ef36b4e`, validated in the Orchestrator worktree, and child implementation resources were cleaned up. Requirements and acceptance criteria are satisfied for this Ticket. Root/original workspace was not operated on for this Ticket per Panel Queue instruction.
---
<!-- event: state_changed author: hare at: 2026-06-18T15:40:38Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-18T15:40:38Z status: closed -->
## 完了
Ticket `00001KVDH2E06` is complete.
Completed implementation:
- Normal `yoi panel` Pod rows and Pod action targets are filtered to the current runtime workspace using persisted Pod metadata / runtime workspace ownership.
- Added optional persisted `workspace_root` to `PodMetadata` and ensured normal metadata write-through persists it.
- Added `PodMetadataStore::set_active_with_workspace_root(...)` while keeping compatibility `set_active(...)` preserving existing workspace ownership.
- Workspace-external Pods are excluded from normal Panel rows/action targets.
- Unknown/corrupt/live-only metadata fail closed and are not treated as current workspace Pods.
- Current-workspace role-like Pods remain visible when persisted runtime workspace matches, independent of cwd/worktree differences.
Reviewed / merged:
- Initial implementation: `3b634d66` (`tui: filter panel pods by workspace`)
- Persistence-boundary fix: `160c96ad` (`pod: persist metadata workspace root`)
- First review requested changes for missing persistence of `workspace_root` through the normal store writer path.
- Re-review approved with no remaining blockers.
- Orchestrator merge commit: `0ef36b4e` (`merge: panel workspace pod filter`)
Validation in Orchestrator worktree:
- `cargo fmt --check` — passed
- `cargo check -p tui -p pod -p pod-store` — passed
- `cargo test -p pod metadata_writer_persists_workspace_root_through_store_update -- --nocapture` — passed
- `cargo test -p pod pod_metadata -- --nocapture` — passed
- `cargo test -p pod-store` — passed; 6 passed, 0 failed
- `cargo test -p tui workspace_panel -- --nocapture` — passed; 23 passed, 0 failed
- `cargo test -p tui pod_list -- --nocapture` — passed; 19 passed, 0 failed
- `git diff --check` — passed
Known validation debt:
- Full `cargo test -p tui` still has three pre-existing/unrelated failures reproduced on the Orchestrator branch before this implementation was merged:
- `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace`
- `spawn::tests::profile_choices_use_project_registry_default`
- `spawn::tests::profile_choices_include_builtin_and_project_default_marker`
Cleanup:
- Stopped Coder Pod `yoi-coder-00001KVDH2E06`.
- Stopped Reviewer Pod `yoi-reviewer-00001KVDH2E06-r2`.
- Removed child worktree `/home/hare/Projects/yoi/.worktree/00001KVDH2E06-panel-current-workspace-pods`.
- Deleted merged branch `impl/00001KVDH2E06-panel-current-workspace-pods`.
Root/original workspace was not read/written/merged/validated for this Ticket, per Panel Queue instruction. The completed work is integrated on the Orchestrator branch.
---