Files
.pouch/skills/test-preflight/SKILL.md
T

3.0 KiB

name, description
name description
test-preflight 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, build, or business-data skill.

test-preflight

Use this skill before integration or journey tests. It answers whether the declared environment can start a run and emits one YAML and one CSV evidence file. It never logs in, creates business data, builds/downloads an artifact, or deploys production.

Modes

  • verify is read-only: validate the matrix, artifact identity, binding, actual tester-node platform/device state, DNS/TCP/HTTP probes, backend probes, and fixture/cleanup declarations. It must not install, launch, or deploy.
  • prepare is side-effecting only within the test environment: call the caller-supplied deployer command contract, run the same checks, then use the tester-node command contract to install and launch the already supplied APK or IPA. It never calls a builder and refuses environment: prod.

The command is:

python3 <skill-dir>/scripts/preflight.py verify \
  --config <matrix.yaml> --yaml <preflight.yaml> --csv <preflight.csv>
python3 <skill-dir>/scripts/preflight.py prepare \
  --config <matrix.yaml> --yaml <preflight.yaml> --csv <preflight.csv>

Read references/schema.md for the input contract and references/boundaries.md before wiring a real agent-runtime/deployer adapter. The included command-contract fixture is the safe way to test remote-node behavior without pretending that this machine is a Mac or that a deployment happened.

Overall status is ready, blocked, or environment-fail:

  • blocked means a required declaration, artifact, binding, runner, capability, 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.

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 one result row per selected testcase with blocked_by: [test-preflight].