fix(tester): assume mobile capabilities in preflight

This commit is contained in:
2026-10-16 14:33:55 +08:00
parent 5b9a693fda
commit 3a757e3376
10 changed files with 35 additions and 217 deletions
+7 -9
View File
@@ -2,8 +2,8 @@
name: test-preflight
description: >-
Verify or prepare a mobile/integration test environment from a declared matrix:
artifacts, tester bindings, HOST/PUBLIC_HOST, service probes, mobile capability
probes, and fixture/cleanup contracts. Use before tester runs; it is not a deployment,
artifacts, tester bindings, HOST/PUBLIC_HOST, service probes, and fixture/cleanup
contracts. Use before tester runs; it is not a deployment,
build, or business-data skill.
---
@@ -41,19 +41,17 @@ Mac or that a deployment happened.
Overall status is `ready`, `blocked`, or `environment-fail`:
- `blocked` means a required declaration, artifact, binding, runner, capability, fixture,
- `blocked` means a required declaration, artifact, binding, runner, fixture,
cleanup contract, or authorization is absent/unsafe.
- `environment-fail` means a declared environment exists but DNS/TCP/HTTP,
device/toolchain, installation, launch, or deployment execution failed.
- `ready` means every recorded check passed. A ready preflight permits the
caller to continue with `integration`; this skill does not run test cases.
For every mobile matrix row, preflight requires real tester-node capability evidence for
`album_picker`, `photo_permission` (including a usable test image), and `ime_pinyin`
(composition and candidate selection). Android evidence must exercise the Android picker,
permission state and real Chinese IME composition; iOS evidence must exercise the corresponding
Photos picker/permission and text-input capabilities on the iOS node. `AUTHORIZE_ALBUM` and
`IME_PINYIN` are never accepted as substitutes for these probes.
This project assumes the client has the required album picker, photo permission, and Chinese
IME capabilities. Preflight does not probe or gate these capabilities, and does not read
`AUTHORIZE_ALBUM` or `IME_PINYIN`. Their real behavior is exercised by journey cases; a failure
there is a product test failure, not an environment block.
Do not treat a preflight report as a product result. A preflight failure means
no client session may be created; the tester owns `not-run` propagation and must write