fix(tester): assume mobile capabilities in preflight
This commit is contained in:
@@ -18,10 +18,9 @@ fixtures:
|
||||
cleanup:
|
||||
required: true
|
||||
steps: [delete-run-data]
|
||||
# Optional project metadata. It is not a preflight gate.
|
||||
capabilities:
|
||||
# These baseline checks are mandatory for mobile rows and cannot be disabled
|
||||
# with AUTHORIZE_ALBUM or IME_PINYIN.
|
||||
required: [album_picker, photo_permission, ime_pinyin]
|
||||
assumed: [album_picker, photo_permission, ime_pinyin]
|
||||
matrix:
|
||||
- platform: android
|
||||
tester:
|
||||
@@ -52,34 +51,12 @@ needs non-empty `references`; a required cleanup needs non-empty `steps` or
|
||||
`run`. For a read-only run, use `required: false` with a non-empty `reason`.
|
||||
The skill never executes these values.
|
||||
|
||||
## Mobile capability contract
|
||||
## Client capabilities
|
||||
|
||||
Every Android/iOS matrix row checks these capabilities on the actual tester node:
|
||||
|
||||
| capability | required evidence |
|
||||
|---|---|
|
||||
| `album_picker` | `checks.picker`: the real platform album/Photos picker opened and returned a selectable asset |
|
||||
| `photo_permission` | `checks.permission` and `checks.test_image`: permission state was exercised and the declared test image was available |
|
||||
| `ime_pinyin` | `checks.composition` and `checks.candidates`: real Chinese pinyin composition and candidate selection succeeded |
|
||||
|
||||
The default list is always applied; `capabilities.required` can add project-specific
|
||||
checks but cannot remove these three. A contract runner receives one request per
|
||||
capability:
|
||||
|
||||
```json
|
||||
{
|
||||
"operation": "capability_probe",
|
||||
"platform": "android",
|
||||
"node": "tester.android",
|
||||
"capability": "ime_pinyin",
|
||||
"required_checks": ["composition", "candidates"]
|
||||
}
|
||||
```
|
||||
|
||||
It must return every requested check with `status`, `observed`, and (when useful)
|
||||
`expected`/`remediation`. Missing evidence is `blocked`; a real probe failure is
|
||||
`environment-fail`. Environment variables such as `AUTHORIZE_ALBUM` and
|
||||
`IME_PINYIN` are not capability evidence.
|
||||
The project assumes the mobile test nodes provide the album picker, photo permission,
|
||||
test image, and Chinese IME. These are not preflight declarations or gates. Journey
|
||||
cases exercise the real UI; failures are recorded as product failures. `AUTHORIZE_ALBUM`
|
||||
and `IME_PINYIN` are not read.
|
||||
|
||||
## Tester-node contract
|
||||
|
||||
|
||||
Reference in New Issue
Block a user