59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
---
|
|
name: test-preflight
|
|
description: >-
|
|
Verify or prepare a mobile/integration test environment from a declared matrix:
|
|
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.
|
|
---
|
|
|
|
# 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:
|
|
|
|
```bash
|
|
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](references/schema.md) for the input contract and
|
|
[references/boundaries.md](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, 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.
|
|
|
|
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
|
|
one result row per selected testcase with `blocked_by: [test-preflight]`.
|