2.0 KiB
2.0 KiB
Review: approve
Decision: approve for Ticket 00001KV0TJVN5.
Evidence reviewed:
- Ticket intent/acceptance criteria require default E2E setup to build
yoiwithcargo build -p yoi --features e2e-test --bin yoi, then direct-spawn the produced binary, while preservingYOI_E2E_BINoverride and existing panel E2E behavior. tests/e2e/src/lib.rsnow resolvesyoi_binary()through aOnceLock-cachedBinaryProviderInfo. The default path runs${CARGO:-cargo} build -p yoi --features e2e-test --bin yoifrom the workspace root and returnstarget/{debug|release}/yoi; the override path validates and usesYOI_E2E_BINwithout invoking the cargo-build provider.- PTY execution remains
Command::new(&config.binary).arg("panel");cargo runis not in the process-under-test path. PanelHarness::spawnand fixturerun_yoi_captureboth callenv_clear()and then set only explicit fixture/test variables.PATHand provider credentials are not allowlisted.YOI_POD_RUNTIME_COMMANDis set to the resolved binary path, so tested subprocesses do not need hostPATH.- Diagnostics/artifacts include provider/build/env policy in
target/e2e-artifacts/binary-provider.json, panelrun.json, and fixturefixture-commands.jsonl. - Existing mouse-capture guard (
expect_mouse_capture_enabled/ SGR 1000+1006 tracking), background-task quit barrier assertions, ande2e-testproduction boundary code were not weakened by this diff.
Validation:
- Reviewer reran
git diff --check a4df9754..HEAD— passed. - Reviewer reran
cargo test -p yoi-e2e --features e2e tested_yoi_env_policy_is_env_clear_allowlist -- --nocapture— passed. - Also accepted Orchestrator-reported full validation, including fmt/check,
cargo check -p yoi-e2e --all-targets --features e2e, default panel E2E with host provider env present, andYOI_E2E_BINoverride panel E2E with host provider env present — all reported passed.
Risks / follow-up:
- No blocking issues found. The cargo build provider intentionally still uses build-tool environment; tested
yoisubprocesses are isolated.