ticket: add e2e evidence followup

This commit is contained in:
Keisuke Hirata 2026-06-15 00:35:53 +09:00
parent becb963bd0
commit 71bf43224d
No known key found for this signature in database
5 changed files with 112 additions and 1 deletions

View File

@ -2,7 +2,7 @@
title: 'Plugin distribution package format and discovery' title: 'Plugin distribution package format and discovery'
state: 'planning' state: 'planning'
created_at: '2026-06-01T06:49:53Z' created_at: '2026-06-01T06:49:53Z'
updated_at: '2026-06-14T14:56:35Z' updated_at: '2026-06-14T15:12:07Z'
--- ---
## Background ## Background

View File

@ -96,3 +96,16 @@ Intake 確認:
- duplicate Ticket は作成していない。 - duplicate Ticket は作成していない。
--- ---
<!-- event: comment author: intake at: 2026-06-14T15:12:07Z -->
## 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 明文化」を扱う。
---

View File

@ -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

View File

@ -0,0 +1,7 @@
<!-- event: create author: ticket-intake at: 2026-06-14T15:24:05Z -->
## 作成
LocalTicketBackend によって作成されました。
---