diff --git a/.yoi/tickets/00001KV0TJVN5/artifacts/.gitkeep b/.yoi/tickets/00001KV0TJVN5/artifacts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.yoi/tickets/00001KV0TJVN5/artifacts/relations.json b/.yoi/tickets/00001KV0TJVN5/artifacts/relations.json new file mode 100644 index 00000000..df464a4f --- /dev/null +++ b/.yoi/tickets/00001KV0TJVN5/artifacts/relations.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "relations": [ + { + "ticket_id": "00001KV0TJVN5", + "kind": "related", + "target": "00001KSKBP9YG", + "note": "既存 E2E harness first slice の post-merge binary freshness gap を補正する follow-up。", + "author": "orchestrator", + "at": "2026-06-13T15:46:12Z" + } + ] +} diff --git a/.yoi/tickets/00001KV0TJVN5/item.md b/.yoi/tickets/00001KV0TJVN5/item.md new file mode 100644 index 00000000..7672ac33 --- /dev/null +++ b/.yoi/tickets/00001KV0TJVN5/item.md @@ -0,0 +1,34 @@ +--- +title: 'E2E harness が最新 yoi binary を自動 build して使うようにする' +state: 'queued' +created_at: '2026-06-13T15:46:07Z' +updated_at: '2026-06-13T15:46:29Z' +assignee: null +readiness: 'ready' +queued_by: 'yoi ticket' +queued_at: '2026-06-13T15:46:29Z' +--- + +## 背景 + +`00001KSKBP9YG` の E2E harness first slice では `YOI_E2E_BIN` または推測された `target/debug/yoi` を process-under-test として使っていた。これだと任意タイミングの `cargo test -p yoi-e2e --features e2e ...` 実行時に、最新 source から build された `yoi` binary が使われる保証がない。 + +ユーザー判断: +- `cargo run` を process-under-test にするより、E2E harness が test setup で `cargo build -p yoi --features e2e-test --bin yoi` を実行し、生成された binary を直接 PTY spawn する方針で修正する。 + +## 要件 + +- `YOI_E2E_BIN` が明示されていない通常 E2E 実行では、harness が workspace root で `cargo build -p yoi --features e2e-test --bin yoi` を実行してから、生成された binary path を使う。 +- `cargo run` を PTY の process-under-test にしない。PTY / Ctrl+C / Quit latency 測定対象は `yoi` binary 本体にする。 +- `YOI_E2E_BIN` は明示 override として残してよい。 +- 複数 test で build が重複しすぎないよう、可能なら `OnceLock` 等で同一 test process 内 1 回に寄せる。 +- artifact / error message に binary provider / build command / binary path が分かる情報を残す。 +- 既存の production/non-production boundary、`e2e-test` feature gating、mouse capture tracking、quit pending barrier を壊さない。 + +## 受け入れ条件 + +- `cargo test -p yoi-e2e --features e2e --test panel -- --nocapture` だけで、事前の手動 `cargo build -p yoi --features e2e-test` なしに E2E が実行できる。 +- E2E 実行時に build された `target/debug/yoi` が PTY に直接 spawn される。 +- `YOI_E2E_BIN=` 指定時は override としてその path が使われる。 +- 既存 Panel E2E 2 本が pass する。 +- `cargo fmt --check`、`git diff --check`、関連 package check が pass する。 diff --git a/.yoi/tickets/00001KV0TJVN5/thread.md b/.yoi/tickets/00001KV0TJVN5/thread.md new file mode 100644 index 00000000..f3cceef2 --- /dev/null +++ b/.yoi/tickets/00001KV0TJVN5/thread.md @@ -0,0 +1,33 @@ + + +## 作成 + +LocalTicketBackend によって作成されました。 + +--- + + + +## Intake summary + +ユーザーが `cargo build` による最新 `yoi` binary 入手を E2E harness default にする方針を明示した。要件・受け入れ条件は、`YOI_E2E_BIN` override を残しつつ、通常 E2E 実行では harness が `cargo build -p yoi --features e2e-test --bin yoi` を実行し、生成 binary を直接 PTY spawn すること。 + +--- + + + +## State changed + +Ticket planning が完了しました。state planning -> ready。 + + +--- + + + +## State changed + +Ticket を `yoi ticket` が queued にしました。 + + +---