From 71bf43224d8a5be8e95f0be8ded32ff21c1b8529 Mon Sep 17 00:00:00 2001 From: Hare Date: Mon, 15 Jun 2026 00:35:53 +0900 Subject: [PATCH] ticket: add e2e evidence followup --- .yoi/tickets/00001KT0Z4BK8/item.md | 2 +- .yoi/tickets/00001KT0Z4BK8/thread.md | 13 +++ .yoi/tickets/00001KV3BQ7Q3/artifacts/.gitkeep | 0 .yoi/tickets/00001KV3BQ7Q3/item.md | 91 +++++++++++++++++++ .yoi/tickets/00001KV3BQ7Q3/thread.md | 7 ++ 5 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 .yoi/tickets/00001KV3BQ7Q3/artifacts/.gitkeep create mode 100644 .yoi/tickets/00001KV3BQ7Q3/item.md create mode 100644 .yoi/tickets/00001KV3BQ7Q3/thread.md diff --git a/.yoi/tickets/00001KT0Z4BK8/item.md b/.yoi/tickets/00001KT0Z4BK8/item.md index 239cac8e..52a9e0d2 100644 --- a/.yoi/tickets/00001KT0Z4BK8/item.md +++ b/.yoi/tickets/00001KT0Z4BK8/item.md @@ -2,7 +2,7 @@ title: 'Plugin distribution package format and discovery' state: 'planning' created_at: '2026-06-01T06:49:53Z' -updated_at: '2026-06-14T14:56:35Z' +updated_at: '2026-06-14T15:12:07Z' --- ## Background diff --git a/.yoi/tickets/00001KT0Z4BK8/thread.md b/.yoi/tickets/00001KT0Z4BK8/thread.md index 888bc942..47c4a3d0 100644 --- a/.yoi/tickets/00001KT0Z4BK8/thread.md +++ b/.yoi/tickets/00001KT0Z4BK8/thread.md @@ -96,3 +96,16 @@ Intake 確認: - duplicate Ticket は作成していない。 --- + + + +## Comment + +ユーザー確認の要点: +- ユーザーは latency / mouse / E2E の経緯説明ではなく、最終的な evidence status を確認している。 +- Ticket 記録上、`00001KV0723PC` の元の Panel Quit latency 修正は post-merge measurement で「still present / not proven fixed」と記録されており、ユーザー観測の latency 改善としては最終的に認められていない。 +- `00001KV072V89` の元の mouse selection 修正も post-merge user verification で「マウス選択全く効かない」と記録され、元の done decision は insufficient とされている。 +- 後続 E2E は fixture/PTY 上で mouse click/wheel と quit pending-barrier regression を pass させたが、これは user の実環境・実インストール経路で latency が解消したこと、または mouse 操作が実際に動作したことの human/live confirmation ではない。 +- `00001KT0Z4BK8` 自体の Plugin package requirements には現時点で反映しない。必要なら別 follow-up Ticket として「E2E 結果と user-visible validation gap の整理 / merge gate 明文化」を扱う。 + +--- diff --git a/.yoi/tickets/00001KV3BQ7Q3/artifacts/.gitkeep b/.yoi/tickets/00001KV3BQ7Q3/artifacts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.yoi/tickets/00001KV3BQ7Q3/item.md b/.yoi/tickets/00001KV3BQ7Q3/item.md new file mode 100644 index 00000000..d74692bd --- /dev/null +++ b/.yoi/tickets/00001KV3BQ7Q3/item.md @@ -0,0 +1,91 @@ +--- +title: '対象 TUI/Panel merge commit の挙動を現行 E2E で確認する' +state: 'ready' +created_at: '2026-06-14T15:24:05Z' +updated_at: '2026-06-14T15:24:05Z' +assignee: null +readiness: 'implementation_ready' +risk_flags: ['e2e', 'tui', 'panel', 'regression-evidence'] +--- + +## Background + +過去に以下の merge commit が、user-visible な TUI / Panel 挙動として十分な実経路確認なしに merge された、または merge 後に証明不足が問題化した。 + +- `802fa1f00f8725fe35336e083cd05652fee1409e` — `merge: rewind live refresh` +- `02311883f7cda116676d8e179a14ad0be9e7a244` — `merge: panel mouse selection` +- `db7bad7a64766c2039a4c10781801cb571027955` — `merge: panel quit latency` + +特に Panel latency / mouse selection は、focused tests や code review だけでは実ユーザー経路の保証として不十分だった経緯がある。後続で E2E harness が整備されたため、現行の E2E システムで、これらの commit が意図した user-visible behavior を確認する。 + +この Ticket は「過去の merge 判断を後付けで正当化する」ためではなく、現行 HEAD / 現行 E2E infrastructure において、対象 behavior が実プロセス PTY 経路で確認できるかを明示するための validation work item である。 + +## Requirements + +- 対象 commit ごとに、確認すべき user-visible behavior を明確化する。 + - `802fa1f0`: rewind picker で `Enter` 後、live TUI 表示が restart / restore なしに巻き戻し後状態へ更新されること。 + - `02311883`: Panel mouse selection が実プロセス PTY 経路で動作し、click が selection を変え、click だけで action dispatch しないこと。 + - `db7bad7a`: Panel quit latency 改善として意図された経路が、現行 E2E で bounded に確認できること。少なくとも pending background work が quit を user-visible に block しないことを確認し、元の latency 観測を直接保証できない場合はその gap を明示する。 +- 現行 E2E システムで各 behavior を確認する。 +- 既存 E2E coverage がある場合は、どの test / scenario がどの commit の behavior を確認しているかを実装報告に明記する。 +- 既存 E2E coverage が不足している場合は、最小限の E2E scenario / assertion を追加または更新して確認可能にする。 +- E2E で確認できない性質がある場合は、pass 扱いにせず、coverage gap として明示する。 +- 実ユーザー環境での manual/live confirmation と、fixture PTY E2E confirmation を混同しない。 + +## Acceptance criteria + +- `802fa1f0`, `02311883`, `db7bad7a` の3件それぞれについて、現行 E2E での確認結果が pass / fail / coverage gap のいずれかとして記録されている。 +- pass とする場合は、対応する E2E test 名、assertion、実行 command、結果が実装報告に記録されている。 +- coverage gap とする場合は、何が現行 E2E では確認できないのか、追加 E2E が必要なのか、manual/live validation が必要なのかが明示されている。 +- mouse selection は、focused unit test ではなく実 `yoi` binary + PTY 経路で `selection_changed` 等の user-visible observer を確認している。 +- quit latency は、単に process が終了するだけでなく、latency / pending work / threshold の観点で何を保証しているかが明示されている。 +- rewind live refresh は、restart / restore なしの live 表示更新が E2E で確認されるか、未確認ならその不足が明示されている。 +- `cargo test -p yoi-e2e --features e2e` または同等の現行 E2E command が実行され、結果が記録されている。 +- E2E を追加・更新した場合、fixture-local HOME / XDG / runtime / workspace isolation と no-provider / no-network 前提を維持している。 + +## Binding decisions / invariants + +- focused tests / code-path review だけで user-visible Panel/TUI behavior を確認済み扱いにしない。 +- E2E pass と manual/live user confirmation は別物として記録する。 +- 現行 E2E が確認していない behavior を、確認済みとして表現しない。 +- この Ticket の主目的は validation / evidence 整理であり、対象 behavior の大きな再設計や unrelated fix は行わない。 +- 対象 commit の historical merge decision を書き換えるのではなく、現行状態の evidence を追加する。 + +## Implementation latitude + +- 既存 `yoi-e2e` scenario の再利用、test 名 / assertion の明確化、必要最小限の scenario 追加は実装者判断で行ってよい。 +- E2E observer / fixture helper に不足がある場合、production behavior に影響しない `e2e-test` feature gate 配下の補助を追加してよい。 +- latency threshold は既存 E2E の基準を優先し、変更が必要な場合は理由を実装報告に明記する。 +- 既存 E2E が flake する場合は、原因を切り分け、test hardening と behavior fix を混同しない。 + +## Readiness + +- readiness: implementation_ready +- risk_flags: [e2e, tui, panel, regression-evidence] + +## Escalation conditions + +- 現行 E2E infrastructure では対象 behavior を原理的に確認できず、実端末 manual validation や新しい harness 設計が必要な場合。 +- latency の再現・測定が既存 observer / threshold では意味を持たない場合。 +- mouse behavior が PTY SGR injection では pass するが、実端末 mouse 操作と乖離する疑いが残る場合。 +- 対象 behavior の確認中に actual regression が見つかり、validation ticket の範囲を超える修正が必要になった場合。 + +## Validation + +- `cargo test -p yoi-e2e --features e2e` +- 必要に応じて対象 E2E scenario の narrow run +- E2E 追加・更新時: + - `cargo test -p yoi-e2e --no-run` + - `cargo fmt --check` + - `git diff --check` +- 変更範囲に応じて `cargo check -p yoi-e2e -p yoi -p tui` + +## Related work + +- `00001KV04NJ8D` — TUI rewind picker の Enter 後に live 表示が巻き戻らない問題を調査・修正する +- `00001KV072V89` — Panel mouse selection +- `00001KV0723PC` — Panel quit latency +- `00001KSKBP9YG` — opt-in Panel PTY E2E harness +- `00001KV0TJVN5` — E2E binary provider / latest binary validation +- `00001KV0YK5S0` — E2E tmp/runtime isolation +- `00001KV10SN02` — E2E critical path coverage diff --git a/.yoi/tickets/00001KV3BQ7Q3/thread.md b/.yoi/tickets/00001KV3BQ7Q3/thread.md new file mode 100644 index 00000000..66e7ed00 --- /dev/null +++ b/.yoi/tickets/00001KV3BQ7Q3/thread.md @@ -0,0 +1,7 @@ + + +## 作成 + +LocalTicketBackend によって作成されました。 + +---