feat(test-preflight): add verify and prepare skill
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
---
|
||||
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.
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user