swipium 2.0.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +32 -20
  3. package/THREAT_MODEL.md +109 -21
  4. package/dist/automationGen/run.js.map +1 -1
  5. package/dist/cli/init.js +101 -11
  6. package/dist/cli/init.js.map +1 -1
  7. package/dist/cli/verify.js +2 -2
  8. package/dist/cli/verify.js.map +1 -1
  9. package/dist/consent/consent.js +365 -17
  10. package/dist/consent/consent.js.map +1 -1
  11. package/dist/context/projectRoot.js +9 -4
  12. package/dist/context/projectRoot.js.map +1 -1
  13. package/dist/context/protocolEra.js +15 -0
  14. package/dist/context/protocolEra.js.map +1 -0
  15. package/dist/drivers/DirectDriver.js +5 -2
  16. package/dist/drivers/DirectDriver.js.map +1 -1
  17. package/dist/featureTesting/executionBootstrap.js +85 -77
  18. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  19. package/dist/flows/run.js +9 -5
  20. package/dist/flows/run.js.map +1 -1
  21. package/dist/lib/abortScope.js +36 -3
  22. package/dist/lib/abortScope.js.map +1 -1
  23. package/dist/lib/android.js +15 -6
  24. package/dist/lib/android.js.map +1 -1
  25. package/dist/lib/codexEnv.js +112 -0
  26. package/dist/lib/codexEnv.js.map +1 -0
  27. package/dist/lib/logger.js +18 -0
  28. package/dist/lib/logger.js.map +1 -1
  29. package/dist/lib/result.js +188 -10
  30. package/dist/lib/result.js.map +1 -1
  31. package/dist/lib/schemaHash.js +20 -31
  32. package/dist/lib/schemaHash.js.map +1 -1
  33. package/dist/lib/simctl.js +102 -3
  34. package/dist/lib/simctl.js.map +1 -1
  35. package/dist/lib/toolSchema.js +143 -0
  36. package/dist/lib/toolSchema.js.map +1 -0
  37. package/dist/lib/wda.js +5 -2
  38. package/dist/lib/wda.js.map +1 -1
  39. package/dist/mobileAudit/runner.js +12 -4
  40. package/dist/mobileAudit/runner.js.map +1 -1
  41. package/dist/oracle/failures.js +2 -2
  42. package/dist/oracle/failures.js.map +1 -1
  43. package/dist/orchestration/testThis/execute.js +21 -4
  44. package/dist/orchestration/testThis/execute.js.map +1 -1
  45. package/dist/orchestration/testThis/pipeline.js +2 -0
  46. package/dist/orchestration/testThis/pipeline.js.map +1 -1
  47. package/dist/orchestration/testThis/plan.js.map +1 -1
  48. package/dist/server.js +564 -139
  49. package/dist/server.js.map +1 -1
  50. package/dist/services/prepareAndroid.js +3 -2
  51. package/dist/services/prepareAndroid.js.map +1 -1
  52. package/dist/services/prepareIos.js +31 -4
  53. package/dist/services/prepareIos.js.map +1 -1
  54. package/dist/services/smoke.js +38 -4
  55. package/dist/services/smoke.js.map +1 -1
  56. package/dist/session/processRegistry.js +12 -1
  57. package/dist/session/processRegistry.js.map +1 -1
  58. package/dist/snapshot/parse.js +64 -9
  59. package/dist/snapshot/parse.js.map +1 -1
  60. package/dist/snapshot/present.js +14 -4
  61. package/dist/snapshot/present.js.map +1 -1
  62. package/dist/snapshot/settle.js +14 -3
  63. package/dist/snapshot/settle.js.map +1 -1
  64. package/dist/tools/act.js +694 -670
  65. package/dist/tools/act.js.map +1 -1
  66. package/dist/tools/agent.js +15 -16
  67. package/dist/tools/agent.js.map +1 -1
  68. package/dist/tools/appControl.js +4 -4
  69. package/dist/tools/appControl.js.map +1 -1
  70. package/dist/tools/appMap.js +11 -13
  71. package/dist/tools/appMap.js.map +1 -1
  72. package/dist/tools/build.js +4 -6
  73. package/dist/tools/build.js.map +1 -1
  74. package/dist/tools/bundletool.js +3 -3
  75. package/dist/tools/bundletool.js.map +1 -1
  76. package/dist/tools/clearOverlay.js +2 -3
  77. package/dist/tools/clearOverlay.js.map +1 -1
  78. package/dist/tools/device.js +4 -3
  79. package/dist/tools/device.js.map +1 -1
  80. package/dist/tools/doctor.js +23 -11
  81. package/dist/tools/doctor.js.map +1 -1
  82. package/dist/tools/explore.js +15 -21
  83. package/dist/tools/explore.js.map +1 -1
  84. package/dist/tools/featureTesting.js +22 -6
  85. package/dist/tools/featureTesting.js.map +1 -1
  86. package/dist/tools/firstRun.js +4 -5
  87. package/dist/tools/firstRun.js.map +1 -1
  88. package/dist/tools/flow.js +13 -17
  89. package/dist/tools/flow.js.map +1 -1
  90. package/dist/tools/flowRepair.js +3 -5
  91. package/dist/tools/flowRepair.js.map +1 -1
  92. package/dist/tools/generate.js +10 -11
  93. package/dist/tools/generate.js.map +1 -1
  94. package/dist/tools/getArtifact.js +114 -10
  95. package/dist/tools/getArtifact.js.map +1 -1
  96. package/dist/tools/health.js +2 -1
  97. package/dist/tools/health.js.map +1 -1
  98. package/dist/tools/ios.js +35 -13
  99. package/dist/tools/ios.js.map +1 -1
  100. package/dist/tools/issues.js +8 -8
  101. package/dist/tools/issues.js.map +1 -1
  102. package/dist/tools/jobs.js +26 -10
  103. package/dist/tools/jobs.js.map +1 -1
  104. package/dist/tools/metro.js +4 -5
  105. package/dist/tools/metro.js.map +1 -1
  106. package/dist/tools/mobileAudit.js +11 -10
  107. package/dist/tools/mobileAudit.js.map +1 -1
  108. package/dist/tools/note.js +2 -3
  109. package/dist/tools/note.js.map +1 -1
  110. package/dist/tools/prepareIosTarget.js +102 -31
  111. package/dist/tools/prepareIosTarget.js.map +1 -1
  112. package/dist/tools/prepareTarget.js +3 -5
  113. package/dist/tools/prepareTarget.js.map +1 -1
  114. package/dist/tools/report.js +4 -5
  115. package/dist/tools/report.js.map +1 -1
  116. package/dist/tools/resolveArtifact.js +2 -3
  117. package/dist/tools/resolveArtifact.js.map +1 -1
  118. package/dist/tools/resolveTarget.js +3 -6
  119. package/dist/tools/resolveTarget.js.map +1 -1
  120. package/dist/tools/screenRecord.js +2 -3
  121. package/dist/tools/screenRecord.js.map +1 -1
  122. package/dist/tools/screenshot.js +2 -2
  123. package/dist/tools/screenshot.js.map +1 -1
  124. package/dist/tools/smoke.js +4 -2
  125. package/dist/tools/smoke.js.map +1 -1
  126. package/dist/tools/snapshot.js +6 -7
  127. package/dist/tools/snapshot.js.map +1 -1
  128. package/dist/tools/startSession.js +12 -16
  129. package/dist/tools/startSession.js.map +1 -1
  130. package/dist/tools/suite.js +2 -4
  131. package/dist/tools/suite.js.map +1 -1
  132. package/dist/tools/testSuite.js +13 -19
  133. package/dist/tools/testSuite.js.map +1 -1
  134. package/dist/tools/testThis.js +28 -13
  135. package/dist/tools/testThis.js.map +1 -1
  136. package/dist/tools/visual.js +7 -9
  137. package/dist/tools/visual.js.map +1 -1
  138. package/dist/tools/wait.js +130 -21
  139. package/dist/tools/wait.js.map +1 -1
  140. package/dist/tools/wda.js +199 -60
  141. package/dist/tools/wda.js.map +1 -1
  142. package/dist/version.js +1 -1
  143. package/docs/README.md +4 -4
  144. package/docs/ci-reports.md +39 -7
  145. package/docs/concepts.md +37 -25
  146. package/docs/flows.md +1 -1
  147. package/docs/mcp-server.md +281 -76
  148. package/docs/physical-devices.md +4 -4
  149. package/docs/tools.md +59 -30
  150. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Single source of truth for the Swipium version and the public tool surface. Used by the
2
2
  // server identity, qa_doctor / qa_start_session, qa_status orientation, and `swipium verify`.
3
- export const SWIPIUM_VERSION = '2.0.1';
3
+ export const SWIPIUM_VERSION = '2.2.0';
4
4
  export const TOOL_NAMES = [
5
5
  // Start: autopilot, orientation, polling, blockers, artifacts
6
6
  'qa_test_this',
package/docs/README.md CHANGED
@@ -4,10 +4,10 @@ Public documentation for the Swipium MCP server. Start with the top-level [READM
4
4
 
5
5
  ## Guides
6
6
 
7
- - [Concepts](concepts.md): sessions and jobs, project root, consent, secrets and redaction, iOS modes (visual-only vs WebDriverAgent), and a glossary of terms such as app map, flow, POM suite, and `@eN` refs.
7
+ - [Concepts](concepts.md): sessions, jobs and cancellation, project root, consent (prompts, the `requiresConsent` re-call, operator pre-approval for headless runs), secrets and redaction, iOS modes (visual-only vs WebDriverAgent), devices, and a glossary of terms such as app map, flow, POM suite, and `@eN` refs.
8
8
  - [Flows](flows.md): writing, running, and repairing replayable flows, with an example, variables, and CI policy.
9
- - [MCP Server](mcp-server.md): the server command and per-client setup (Claude Code, Codex, Gemini CLI, Cursor, VS Code, Claude Desktop, Windsurf), verification, and server behavior.
10
- - [CI Reports](ci-reports.md): `swipium report` output formats (JUnit, SARIF, GitHub summary, Markdown, JSON), a GitHub Actions recipe, and the release-gate policy.
9
+ - [MCP Server](mcp-server.md): the server command, per-client setup (Claude Code, Codex, Gemini CLI, Cursor, VS Code, Claude Desktop, Windsurf, headless runs), protocol versions (2025-06-18, 2025-11-25 and 2026-07-28), what the model sees, server behavior, verification, debugging, and troubleshooting.
10
+ - [CI Reports](ci-reports.md): `swipium report` output formats (JUnit, SARIF, GitHub summary, Markdown, JSON), a GitHub Actions recipe with a headless agent step, pre-approving consents in CI, and the release-gate policy.
11
11
 
12
12
  ## Reference
13
13
 
@@ -17,7 +17,7 @@ Public documentation for the Swipium MCP server. Start with the top-level [READM
17
17
 
18
18
  ## Elsewhere in the repository
19
19
 
20
- - Upgrading from 1.5: the [checklist in the README](../README.md#upgrading-from-15) and the [migration table in the CHANGELOG](../CHANGELOG.md#migrating-from-150).
20
+ - Upgrading: the [README section](../README.md#upgrading) links the per-release checklists; from 1.5, also see the [migration table in the CHANGELOG](../CHANGELOG.md#migrating-from-150).
21
21
  - Security: [Threat Model](../THREAT_MODEL.md) and [Security Policy](../SECURITY.md).
22
22
  - Release history: [CHANGELOG](../CHANGELOG.md).
23
23
  - Development: [Contributing](../CONTRIBUTING.md). Getting help: [Support](../SUPPORT.md).
@@ -53,7 +53,7 @@ swipium report --format <junit|sarif|github-summary|markdown|json>
53
53
 
54
54
  ## GitHub Actions recipe (Android)
55
55
 
56
- This recipe keeps every Swipium consent out of the agent's hands:
56
+ This recipe keeps every Swipium consent out of the agent's hands, which is the safest setup:
57
57
 
58
58
  - The runner boots the emulator.
59
59
  - The workflow installs the APK with `adb`, so it is your decision, made in the workflow.
@@ -63,6 +63,9 @@ This recipe keeps every Swipium consent out of the agent's hands:
63
63
  request is refused instead of approved by the model. The run then reports **blocked** and says
64
64
  why.
65
65
 
66
+ If you'd rather let the agent install or run `qa_test_this`, pre-approve exactly those actions
67
+ instead (see [Pre-approving consents in CI](#pre-approving-consents-in-ci)).
68
+
66
69
  Prerequisites:
67
70
 
68
71
  - The repository builds a debug APK with Gradle. Adjust the build command, `APK` and `APP_ID` for
@@ -181,8 +184,8 @@ jobs:
181
184
  #!/usr/bin/env bash
182
185
  set -euo pipefail
183
186
 
184
- # 1. Install the app yourself. Swipium's own install path is consent-gated, and nobody can
185
- # approve a consent in CI.
187
+ # 1. Install the app yourself. Swipium's own install path is consent-gated, and nobody is there
188
+ # to answer a prompt. Installing here keeps that decision in the workflow.
186
189
  adb wait-for-device
187
190
  adb install -r -g "$APK"
188
191
 
@@ -198,7 +201,7 @@ JSON
198
201
  claude --bare -p "You are running unattended in CI. An Android emulator is booted and $APP_ID is installed.
199
202
  Use only the swipium MCP tools. Always pass projectRoot=\"$GITHUB_WORKSPACE\" where a tool accepts it.
200
203
  1. qa_start_session { projectRoot, profile: \"full_smoke\" }.
201
- 2. qa_prepare_target { sessionId, appId: \"$APP_ID\" }. If it returns a jobId, poll qa_job_status { sessionId, jobId, waitMs: 60000 } until it is no longer running.
204
+ 2. qa_prepare_target { sessionId, appId: \"$APP_ID\" }. If it returns a jobId, poll qa_job_status { sessionId, jobId, waitMs: 45000 } until it is no longer running.
202
205
  3. qa_smoke { sessionId }.
203
206
  4. If any result is requiresConsent, CONSENT_*, needs_input or blocked, do not try to work around it: record it with qa_note and go to step 5.
204
207
  5. qa_report { sessionId, format: \"summary\" } so the report is saved, then stop." \
@@ -226,15 +229,44 @@ Notes on the agent step:
226
229
  [CLI reference](https://code.claude.com/docs/en/cli-reference) and
227
230
  [permissions](https://code.claude.com/docs/en/permissions).
228
231
  - **Why the recipe avoids `qa_test_this` in CI.** Its execute mode requests one combined consent
229
- for the privileged steps it plans, and every app install is among them. With nobody to approve,
230
- it would end blocked. The low-level path above attaches to the running emulator, and an app that
231
- is already installed skips the install consent.
232
+ (`test_this_plan`) for the privileged steps it plans, and every app install is among them. With
233
+ nobody to approve and no pre-approval, it ends blocked. The low-level path above attaches to the
234
+ running emulator, and an app that is already installed skips the install consent.
232
235
  - **Testing more.** `qa_explore { sessionId }` can follow the smoke. By default it skips
233
236
  destructive-looking actions without asking. It asks for consent only when a call names one
234
237
  explicit `destructiveCandidate` to run, which the settings above would refuse.
235
238
  - **Timing** depends on the model and the app. Treat the first runs as calibration, and set
236
239
  `timeout-minutes` from them.
237
240
 
241
+ ### Pre-approving consents in CI
242
+
243
+ `claude -p` (and `codex exec`) answer every consent prompt automatically, so a gated action never
244
+ runs by default. The operator can pre-approve exact action names in the server `env` with
245
+ `SWIPIUM_CONSENT_PREAPPROVE`. It's read only from the server's environment, never from the
246
+ repository, and each approval is logged on stderr at `warn` with the exact command. The full rules
247
+ are in [concepts.md](concepts.md#operator-pre-approval).
248
+
249
+ For example, to let the agent install the APK itself (`qa_prepare_target { sessionId, apk }`, whose
250
+ boot and install consent is `prepare_plan`, or `qa_test_this` on the booted emulator, whose plan is
251
+ `test_this_plan`), change the server entry in `swipium-agent.sh` to:
252
+
253
+ ```json
254
+ { "mcpServers": { "swipium": { "command": "npx", "args": ["-y", "swipium"],
255
+ "env": { "SWIPIUM_REQUIRE_ELICITATION": "1",
256
+ "SWIPIUM_CONSENT_PREAPPROVE": "prepare_plan,test_this_plan" } } } }
257
+ ```
258
+
259
+ Keep the list as short as the prompt needs:
260
+
261
+ - Pre-approval works with `SWIPIUM_REQUIRE_ELICITATION=1`, which still refuses every action you
262
+ didn't list.
263
+ - Actions that run repository or model-chosen code (`build_from_source`, `start_metro`, seed
264
+ scripts and others) also need `SWIPIUM_CONSENT_PREAPPROVE_RUN_CODE=1`. A `test_this_plan` that
265
+ includes a build is only covered when `build_from_source` is pre-approved that way too. Building
266
+ in the workflow, as the recipe does, avoids that.
267
+ - Installing with `adb` in the workflow is still the safest option: nothing the model chooses gets
268
+ approved.
269
+
238
270
  ## What each file contains
239
271
 
240
272
  **JUnit** has two suites. The first holds one testcase per recorded workflow, the second one per
package/docs/concepts.md CHANGED
@@ -19,12 +19,12 @@ A session holds one run's device, app, budget, recorded actions, findings, notes
19
19
 
20
20
  ### Jobs
21
21
 
22
- Long operations run as background jobs and return a `jobId` at once: `qa_test_this` and `qa_test_feature` in `execute` or `interactive` mode, `qa_explore`, `qa_build` in `run` mode, `qa_bundletool`, and the boot and install steps of `qa_prepare_target`.
22
+ Long operations run as background jobs and return a `jobId` at once: `qa_test_this` and `qa_test_feature` in `execute` or `interactive` mode, `qa_explore`, `qa_build` in `run` mode, `qa_bundletool`, `qa_wda build`, the boot and install steps of `qa_prepare_target`, and the rest of a `qa_prepare_ios_target` whose simulator is still booting after 30 s. Every call that waits (a long-poll, `qa_wait`, `waitForCompletion`) returns within about 50 s, so it fits common client tool timeouts ([details](mcp-server.md#every-call-returns-within-about-50-s)).
23
23
 
24
24
  The usual loop:
25
25
 
26
26
  1. `qa_test_this {mode:"execute"}` (after any consent) returns `{sessionId, jobId, state:"running"}`.
27
- 2. `qa_job_status {sessionId, jobId, waitMs:60000}` until `status` is no longer `running`.
27
+ 2. `qa_job_status {sessionId, jobId, waitMs:45000}` until `status` is no longer `running`.
28
28
  3. On `result.state:"completed"`, read the report with `qa_get_artifact {uri: result.reportUri}`.
29
29
 
30
30
  **Job status and result state are different fields.**
@@ -35,14 +35,14 @@ The usual loop:
35
35
  | `result.state` (`qa_test_this` jobs) | `completed`, `blocked`, `unsafe`, `needs_input` | How the run ended. `completed` and `needs_input` end the job `done`; `blocked` and `unsafe` end it `failed`. The envelope is in `result` either way. |
36
36
 
37
37
  - **needs_input**: there is no `needs_input` job status. A job that stops on a question ends `done` with `result.state:"needs_input"`. `qa_test_this` can also return `state:"needs_input"` **directly, with no `jobId`**: in `interactive` mode, or with `stopOnNeedsInput` or `goal:"test_login"`, the credentials question is asked before any job starts when the project likely has a login and no credentials are available. Either way, relay the one question and make the returned resume call (`qa_continue_from_blocker`).
38
- - **Polling**: `qa_job_status {sessionId, jobId, waitMs}` returns `{jobId, kind, status, progress, progressDetail, error, result, artifactUris}`. `waitMs` (default 0, capped at 120000) long-polls: the call returns as soon as the job leaves `running` and adds `waited:{waitedMs, timedOut}`. An unknown `jobId` is `INVALID_ARGUMENT`.
39
- - **Blocking instead of polling**: `qa_test_this {waitForCompletion:true}` waits up to `timeoutMs` (default 120000) and returns the terminal result directly, or `state:"running"` with `timedOutWaiting:true`.
38
+ - **Polling**: `qa_job_status {sessionId, jobId, waitMs}` returns `{jobId, kind, status, progress, progressDetail, error, result, artifactUris}`. `waitMs` (default 0, use 45000; larger values are clamped to 50000) long-polls: the call returns as soon as the job leaves `running` and adds `waited:{waitedMs, timedOut}`. An unknown `jobId` is `INVALID_ARGUMENT`.
39
+ - **Blocking instead of polling**: `qa_test_this {waitForCompletion:true}` waits up to `timeoutMs` (default 45000; larger values are clamped to 50000) and returns the terminal result directly, or `state:"running"` with `timedOutWaiting:true`.
40
40
  - **Cancelling**: `qa_job_cancel {sessionId, jobId}` returns `{jobId, cancelled}`; `cancelled:false` means the job had already finished or is unknown. It aborts child processes (build, boot, install, record). A cancelled job has status `cancelled` and no `result`. Side effects already applied are not rolled back, and a worker never overwrites a cancelled job's status.
41
41
  - **Restarts**: jobs are persisted with the session. A job that was `running` when the server stopped is marked `failed` with `server restarted while job was running (child process gone)`.
42
42
 
43
43
  ### Cancellation
44
44
 
45
- When a tool call is cancelled (MCP `notifications/cancelled`) or its job is cancelled with `qa_job_cancel`, the interrupted work returns `failureCode:"CANCELLED"` with `retrySafe:true`. A call's cancel signal applies to that call only: cancelling an interactive call does not cancel a running job, and the other way round.
45
+ When a tool call is cancelled (MCP `notifications/cancelled`) or its job is cancelled with `qa_job_cancel`, the interrupted work returns `failureCode:"CANCELLED"` with `retrySafe:true`. Cancelling a call stops its waits and child processes right away (element waits, UI settling, boot and WDA startup waits, a `qa_job_status` long-poll), not at their deadline. A call's cancel signal applies to that call only: cancelling an interactive call does not cancel a running job, and the other way round. When the server shuts down (the client closed stdin, or a signal), it cancels every running job first.
46
46
 
47
47
  `CANCELLED` is not a failure. It is never recorded as a tool error, a snapshot failure, a finding, or a health verdict, and it never switches the session to visual-fallback. Side effects that already happened are not rolled back: a cancelled `qa_act` always reports `changedState:true`, and a cancelled `qa_explore` stops with `stoppedReason:"cancelled"` and records no finding for the screen it was observing.
48
48
 
@@ -51,7 +51,7 @@ When a tool call is cancelled (MCP `notifications/cancelled`) or its job is canc
51
51
  Tools that need a project resolve it in this order; the first hit wins:
52
52
 
53
53
  1. The `projectRoot` argument. It must be an absolute, existing directory. An invalid value is an error, never silently replaced.
54
- 2. MCP roots, when the client exposes a workspace. The first root with a project marker wins, else the first root that is not `/` or `$HOME`.
54
+ 2. MCP roots, when the client exposes a workspace. The first root with a project marker wins, else the first root that is not `/` or `$HOME`. Only on 2025-era connections: MCP 2026-07-28 deprecates roots and has no server-to-client `roots/list`, so 2026 clients go straight to the next steps (pass `projectRoot`, or set `SWIPIUM_PROJECT_ROOT`; Claude Code is covered by `CLAUDE_PROJECT_DIR`).
55
55
  3. `SWIPIUM_PROJECT_ROOT` from the server environment.
56
56
  4. `CLAUDE_PROJECT_DIR`, which Claude Code sets for stdio servers.
57
57
  5. The server's working directory, but never `/` or `$HOME`, and only when it contains a project marker.
@@ -66,13 +66,31 @@ When nothing resolves, tools fail with `PROJECT_ROOT_UNRESOLVED`: pass an absolu
66
66
 
67
67
  Privileged actions (build, boot, install, Metro start, data wipes, recordings, network changes, location spoofing, OCR, flow mutations, destructive exploration, remote WDA, writing into the project's test directory) are consent-gated. Nothing gated runs without approval.
68
68
 
69
- ### Mechanisms
69
+ ### How an action gets approved
70
70
 
71
- - **Elicitation**: when the client supports MCP form elicitation, the server asks the user directly and the tool continues on approval. The model never sees a `consentId`. The prompt times out after 10 minutes.
72
- - **Consent envelope** (client assertion): otherwise the tool returns `{requiresConsent:true, consentId, action, risk, explain, exactCommand, affects}`. The agent shows it to the user and, only after they agree, re-calls the same tool with the same arguments plus `consentId` and `approve:true`. Only `qa_test_this`'s envelope also carries `sessionId`, so its approving re-call reuses the session without `projectRoot`; for every other tool, re-call with the `sessionId` you already passed.
73
- - **Policy**: with `SWIPIUM_REQUIRE_ELICITATION=1` in the server environment, a client that cannot elicit gets `CONSENT_REFUSED` for every gated action, before the model sees a `consentId`, so the envelope path cannot be used. The setting has no effect on clients that support elicitation.
71
+ Swipium checks these in order for every gated call:
74
72
 
75
- How each action was approved (`elicitation`, `client-assertion`, or `policy`) is recorded in the report's [mutation ledger](#glossary).
73
+ 1. **Operator pre-approval**: if the action is listed in `SWIPIUM_CONSENT_PREAPPROVE` (and its tier allows it), it runs without a prompt, on any client. See [Operator pre-approval](#operator-pre-approval).
74
+ 2. **Elicitation**: when the client supports MCP form elicitation, the server asks the user directly and the tool continues on approval. The model never sees a `consentId`, and the prompt times out after 10 minutes. How the prompt travels depends on the protocol era ([mcp-server.md](mcp-server.md#protocol-versions)):
75
+ - MCP 2025-06-18 / 2025-11-25 (`initialize`): an `elicitation/create` request while the tool call waits.
76
+ - MCP 2026-07-28 (`server/discover`): the tool call answers with an `InputRequiredResult` carrying the same one-checkbox form, and the client retries the call with the user's answer. Swipium sends it only when the request's `_meta` client capabilities declare form elicitation. The `requestState` in that result is an opaque single-use handle: Swipium keeps what it stands for (the consent, the tool, a digest of the arguments, the session) on its side, so an answer can't be replayed or moved to another call. A retry without an answer gets the same prompt again.
77
+ 3. **Consent envelope** (client assertion): otherwise the tool returns `{requiresConsent:true, consentId, action, risk, explain, exactCommand, affects}`. The agent shows it to the user and, only after they agree, re-calls the same tool with the same arguments plus `consentId` and `approve:true`. Only `qa_test_this`'s envelope also carries `sessionId`, so its approving re-call reuses the session without `projectRoot`; for every other tool, re-call with the `sessionId` you already passed.
78
+
79
+ With `SWIPIUM_REQUIRE_ELICITATION=1` in the server environment, step 3 is closed: a client that can't elicit gets `CONSENT_REFUSED` for every gated action, before the model sees a `consentId`. The setting has no effect on clients that support elicitation, and it doesn't block operator pre-approval.
80
+
81
+ How each action was approved (`elicitation`, `client-assertion`, `operator-policy`, or `policy` for a refusal) is recorded in the report's [mutation ledger](#glossary). `elicitation` covers both protocol eras.
82
+
83
+ ### Operator pre-approval
84
+
85
+ Headless clients (`codex exec`, `claude -p`) advertise elicitation but decline or cancel every prompt automatically, so no gated action can run there. `SWIPIUM_CONSENT_PREAPPROVE` is the operator's way out: a comma-separated list of exact action names that are approved without a prompt.
86
+
87
+ - **Where it's read**: only from the server process environment. That is whatever the MCP client passes to the server (its config `env`) plus anything inherited from the shell that launched the client. For Codex, set it literally in the `env` table of `[mcp_servers.swipium]`; it is never forwarded by default ([setup](mcp-server.md#headless-runs)). It is never read from `.swipium/` or any repository file, so neither the model nor a cloned project can grant it.
88
+ - **Exact names only**: no wildcards or risk thresholds. Unknown names are ignored with one warning on stderr at startup, with a suggestion for near misses (`INSTALL-APP`: did you mean `install_app`?).
89
+ - **Action names**: `app_clear_data`, `app_fresh_start`, `automation_project_write`, `build_from_source`, `destructive_ui_candidate`, `erase_device`, `flow_mutation_run`, `geo_set`, `install_app`, `network_change`, `ocr_run`, `permission_grant`, `permission_revoke`, `prepare_plan` (boots and installs planned by `qa_prepare_target`), `privacy_reset`, `screen_record`, `seed_state`, `start_metro`, `suite_fresh_state_replay`, `test_this_plan`, `wda_build`, `wda_start`.
90
+ - **Actions that run code** need `SWIPIUM_CONSENT_PREAPPROVE_RUN_CODE=1` as well, or they are ignored with a startup warning: `build_from_source` (repository build scripts), `flow_mutation_run` (fixture seed scripts, external OCR providers, `openUrl` with variables), `ocr_run` (the configured OCR and mask commands), `seed_state` (fixture seed scripts), `start_metro` (`npx expo start` / `npx react-native start`, which load the project's Metro and Babel config), `suite_fresh_state_replay` (state-profile seed scripts), `wda_build` and `wda_start` (`xcodebuild` on a model-chosen `wdaProjectPath`). These run repository- or model-chosen code with your privileges; under `codex exec` they run outside the client's sandbox. Set the opt-in only for repositories you trust.
91
+ - **`test_this_plan`** bundles sub-steps. Pre-approving it doesn't cover a sub-step that runs code: a plan that includes a `build_from_source` step is approved without a prompt only if `build_from_source` is also listed and `SWIPIUM_CONSENT_PREAPPROVE_RUN_CODE=1` is set. Otherwise the plan is prompted for as usual.
92
+ - **`wda_non_loopback`** can never be pre-approved by name. List the exact URL in `SWIPIUM_ALLOW_REMOTE_WDA` instead ([Remote WDA rule](#ios-modes)).
93
+ - **Still audited**: a pre-approved challenge is still single-use and session-bound, and each approval is logged on stderr at `warn` (visible with `SWIPIUM_LOG_LEVEL=warn`) with the action and its exact command (or a short hash and the first 200 characters).
76
94
 
77
95
  ### Outcomes
78
96
 
@@ -84,7 +102,7 @@ Nothing runs in any of these, and a `refused` row is written to the mutation led
84
102
  | `CONSENT_CANCELLED` | The prompt was dismissed, timed out, failed in transport, or the call was aborted; also when the action changed while the user was deciding. Re-calling shows a fresh prompt. | yes |
85
103
  | `CONSENT_REFUSED` | `SWIPIUM_REQUIRE_ELICITATION=1` is set and the client cannot elicit. | no |
86
104
 
87
- Do not retry any of them without asking the user.
105
+ Do not retry any of them without asking the user. `CONSENT_DECLINED` and `CONSENT_CANCELLED` carry the `action` name, `answeredInMs`, and `likelyAutomatic` (answered in under 1.5 s, so probably no human saw it). Only when `likelyAutomatic` is true do they add a hint naming the [operator setting](#operator-pre-approval) that can pre-approve the action, and tell the agent not to re-call in a loop; a real human decline is never nudged toward pre-approval. When the prompt itself failed (timeout, transport error, aborted call), `likelyAutomatic` is false, `elicitationFailure` says why, and the ledger row's detail starts with `transport/abort`.
88
106
 
89
107
  ### Rules
90
108
 
@@ -167,27 +185,21 @@ Swipium drives iOS Simulators in one of two modes.
167
185
 
168
186
  - **Artifacts**: only simulator `.app` bundles install. A `.ipa` targets a real device and is refused with `IPA_NEEDS_REAL_DEVICE`.
169
187
  - **Session capabilities**: every WDA session created for an app sends `shouldTerminateApp:false` (unless `ios.wda.capabilities` in `.swipium/config.json` sets it), because WDA tears down the previous session with that session's setting. Re-binding a resumed session after a restart, and recovering from an invalid-session error, also send `forceAppLaunch:false`, so the running app is reused; the latter adds a warning to verify the screen state.
170
- - **Managed WDA lifetime**: `qa_wda start` spawns WDA (`xcodebuild test-without-building`) and records it in `~/.swipium/processes.json`; `qa_wda stop` terminates it, including one adopted from a previous server run. A normal server shutdown does not stop managed WDA, so a resumed iOS session can keep using it.
188
+ - **Managed WDA lifetime**: `qa_wda start` spawns WDA (`xcodebuild test-without-building`) and records it in `~/.swipium/processes.json`. It waits at most 45 s; if WDA is still booting it returns `status:"starting"`, and `qa_wait { for:"wda_ready" }` polls until it is up. Booting a simulator works the same way: `qa_ios boot` waits at most 40 s, then returns `status:"booting"` (the simulator is bound already), and `qa_wait { for:"simulator_booted" }` polls. `qa_wda build` runs as a background job (poll `qa_job_status`); `qa_wda stop` terminates it, including one adopted from a previous server run. A normal server shutdown does not stop managed WDA, so a resumed iOS session can keep using it.
171
189
  - **Adoption at startup**: a managed WDA from a previous run is adopted only when it is less than 12 hours old (from its original start) and `GET /status` reports ready; older or unhealthy ones are stopped, as are orphaned Metro bundlers and screen recorders. Orphaned emulators are adopted and left running. A process owned by another running Swipium server is never touched. Each registered process records its start time and full command line, and an orphan is signalled or adopted only when both still match, so a recycled pid is never touched. The startup sweep runs in the background after the server connects.
172
190
  - **Remote WDA rule**: loopback means `localhost`, `127.0.0.0/8`, or `[::1]`. A non-loopback `webDriverAgentUrl` needs `allowNonLoopback:true` plus the `wda_non_loopback` consent, otherwise `DESTRUCTIVE_REFUSED`. The only pre-approval is user-level: `SWIPIUM_ALLOW_REMOTE_WDA`, a comma-separated list of exact WDA base URLs in the MCP server's environment. The repository's `.swipium/config.json` cannot pre-approve one: `ios.wda.allowNonLoopbackUrls` only adds a note, and a non-loopback `ios.wda.url` is labelled "configured by the repository (.swipium/config.json), unreviewed" in the prompt. `qa_prepare_ios_target` and `qa_test_this` never connect to a non-loopback configured URL on their own.
173
191
 
174
192
  ## Devices
175
193
 
176
- Swipium drives Android Emulators and iOS Simulators on the local machine. Physical devices are out of scope ([physical-devices.md](physical-devices.md)).
194
+ Swipium drives Android Emulators and iOS Simulators on the local machine. Physical devices are out of scope.
177
195
 
178
196
  ### Physical devices
179
197
 
180
- A connected phone is refused with `PHYSICAL_DEVICE_UNSUPPORTED` only when:
181
-
182
- - it is requested explicitly (its serial or UDID as `device`),
183
- - it is the only option (no emulator online, no AVD to boot, and it is the only device on the chosen platform), or
184
- - `preferRealDevice` is set and a phone is visible.
185
-
186
- Otherwise target selection (`qa_resolve_target`, `qa_test_this`) picks an emulator or simulator and only mentions the phone in the selection `reason` (for example `Physical device <serial> is visible but out of scope`). Two exceptions: `qa_test_this` refuses `preferRealDevice:true` even when no phone is visible, and refuses an artifact that installs only on a real iOS device; and `qa_prepare_target` acts on the online device rather than planning: a phone that is the only online device is refused, and with more than one device online (a phone included) and no `device` it returns `MULTIPLE_DEVICES`, so pass the emulator's serial. `qa_test_this` is the path that boots an AVD while a phone is connected.
198
+ A connected phone doesn't stop a run by itself: target selection (`qa_resolve_target`, `qa_test_this`) picks an emulator or simulator when one is viable and only mentions the phone in the selection `reason`. The phone is refused with `PHYSICAL_DEVICE_UNSUPPORTED` when it is requested explicitly (its serial or UDID as `device`), when it is the only option, or when `preferRealDevice` is set. `qa_prepare_target` acts on the online devices rather than planning, so with a phone and an emulator online and no `device` it returns `MULTIPLE_DEVICES`; pass the emulator's serial. The per-tool behavior and how emulators are recognized are in [physical-devices.md](physical-devices.md).
187
199
 
188
200
  ### Android
189
201
 
190
- - **Emulator detection**: an `emulator-NNNN` serial is an emulator. Any other serial, such as an adb-over-TCP `localhost:5555` or `127.0.0.1:<port>`, counts as an emulator only when one `getprop` probe shows an emulator (`ro.kernel.qemu=1`, `ro.boot.qemu=1`, a goldfish or ranchu `ro.hardware`, or Genymotion). When a session binds a device whose properties cannot be read, it is refused as `DEVICE_NOT_READY`; if they show real hardware, `PHYSICAL_DEVICE_UNSUPPORTED`.
202
+ - **Emulator detection**: an `emulator-NNNN` serial is an emulator. Any other serial (an adb-over-TCP `localhost:5555`, Genymotion) counts as one only when a `getprop` probe shows an emulator ([details](physical-devices.md#how-android-emulators-are-recognized)). When a session binds a device whose properties can't be read, it is refused as `DEVICE_NOT_READY`; if they show real hardware, `PHYSICAL_DEVICE_UNSUPPORTED`.
191
203
  - **Booting**: when an AVD must be booted (headless by default), Swipium records the serials online before the boot and uses only a new serial that is a verified emulator, then waits for `sys.boot_completed` (up to 180 s). So when a phone is connected and an AVD exists, it boots the AVD and installs only on the new emulator. A boot that never comes up is `EMULATOR_BOOT_FAILED`; an online device that never finishes booting is `DEVICE_NOT_READY`.
192
204
  - **Several devices**: with more than one device online (phones count) and no `device` argument, `qa_prepare_target` returns `MULTIPLE_DEVICES` with the online serials.
193
205
  - **Binding**: a session is only re-bound to its own device. An offline device is never replaced by a different online one.
@@ -201,9 +213,9 @@ See [iOS modes](#ios-modes). `qa_ios` and `qa_prepare_ios_target` pick a simulat
201
213
 
202
214
  | Term | Meaning |
203
215
  | --- | --- |
204
- | **`@eN` ref** | A handle such as `@e3` for one element of the latest `qa_snapshot`. Refs are invalid after navigation; an old one returns `STALE_REF`. |
216
+ | **`@eN` ref** | A handle such as `@e3` for one element of the latest `qa_snapshot`. Results list elements as one line each, starting with the ref (see [Element lines](tools.md#element-lines)). Refs are invalid after navigation; an old one returns `STALE_REF`. |
205
217
  | **App map** | Swipium's durable memory of the app in `.swipium/app-map.json`: features, screens, navigation, tests, and a code index, each with provenance. Built by `qa_app_map_build` and updated by runs. |
206
- | **Approval mechanism** | How a consent was decided: `elicitation` (a real user prompt), `client-assertion` (the client re-called with `consentId` and `approve:true`), or `policy` (refused by `SWIPIUM_REQUIRE_ELICITATION=1`). Recorded in the mutation ledger. |
218
+ | **Approval mechanism** | How a consent was decided: `elicitation` (a real user prompt, in either protocol era), `client-assertion` (the client re-called with `consentId` and `approve:true`), `operator-policy` (pre-approved by `SWIPIUM_CONSENT_PREAPPROVE`), or `policy` (refused by `SWIPIUM_REQUIRE_ELICITATION=1`). Recorded in the mutation ledger. |
207
219
  | **Budget** | A session's limits on time, actions, screenshots, consecutive snapshot failures, and no-change actions. A spent budget returns `{ok:true, stopped:true, reason}`. |
208
220
  | **Canonical suite** | The durable, curated test-case catalog in `.swipium/test-suite.json`, managed by the `qa_suite_*` tools. Unlike per-run assets, it grows across runs. |
209
221
  | **Capability group** | One of the groups the tools are organised into (start, setup, build, device, drive, run, app-map, feature, flows, generate, test-suite, issues, first-run). `qa_status` without a session returns them. |
@@ -218,7 +230,7 @@ See [iOS modes](#ios-modes). `qa_ios` and `qa_prepare_ios_target` pick a simulat
218
230
  | **Mutation ledger** | The report's audit trail of every state-changing action: tool, action, risk, target, consent (with its approval mechanism), and status (`requested`, `approved`, `executed`, `refused`, `blocked`, or `restored`). |
219
231
  | **Pack** | A YAML list of flows run together, under `.swipium/packs/`. |
220
232
  | **POM suite** | A generated page-object-model suite (page objects plus suites under `.swipium/`) that compiles into runnable flows. Produced by `qa_generate target:"suite"`. |
221
- | **Response mode** | `compact`, `normal`, or `verbose`: how much of a result is repeated in the text channel. See [Response modes](tools.md#response-modes). |
233
+ | **Response mode** | `compact`, `normal`, or `verbose`: how much of a result is repeated in the text channel, and whether element lists are `@eN` lines or full objects (`verbose`). See [Response modes](tools.md#response-modes). |
222
234
  | **Sensitive session** | A session started with `sensitive:true`; it refuses all pixel, video, and log capture. |
223
235
  | **Stale client** | A client still running a pre-upgrade tool list; removed calls return `STALE_CLIENT`. |
224
236
  | **Visual-fallback** | A per-screen switch to screenshot-based work after repeated failed UI-tree dumps (`VISUAL_ONLY_SCREEN`). The next successful structured observation switches back. |
package/docs/flows.md CHANGED
@@ -89,7 +89,7 @@ Prefer durable ids (`testID`, `accessibilityIdentifier`, resource ids) over visi
89
89
 
90
90
  **`clearOverlay`** hides an open keyboard and does nothing else. Otherwise, on Android it presses BACK only when a BACK-dismissible overlay is actually open (a dialog, sheet, permission prompt, or RN LogBox or RedBox), never on a bare screen and never for a snackbar or banner; with nothing to clear it reports `nothingCleared:true`. On iOS it dismisses alerts and sheets with the native alert API. When the backend has no alert API or the overlay survives, the step reports `nothingCleared:false` with a note instead of claiming success.
91
91
 
92
- **Mutating steps** are `networkOffline`, `networkOnline`, `seed`, `restartApp`, and `openUrl` with a `${VAR}` in its URL. They, and the OCR steps `tapOcrText` and `assertOcrText` (which send screenshots to an external provider), need the `flow_mutation_run` consent in `qa_flow_run` (risk high for script seeds, otherwise medium). `qa_smoke` never runs such a flow implicitly: it records it as `blocked` (category `destructive_refused`) with a pointer to `qa_flow_run`. OCR steps are refused in sensitive sessions (`UNSAFE_ACTION_REFUSED`).
92
+ **Mutating steps** are `networkOffline`, `networkOnline`, `seed`, `restartApp`, and `openUrl` with a `${VAR}` in its URL. They, and the OCR steps `tapOcrText` and `assertOcrText` (which send screenshots to an external provider), need the `flow_mutation_run` consent in `qa_flow_run` (risk high for script seeds, otherwise medium). On a headless client (`codex exec`, `claude -p`) that consent can only come from [operator pre-approval](concepts.md#operator-pre-approval), and because these steps can run seed scripts or an external OCR command, it also needs `SWIPIUM_CONSENT_PREAPPROVE_RUN_CODE=1`. `qa_smoke` never runs such a flow implicitly: it records it as `blocked` (category `destructive_refused`) with a pointer to `qa_flow_run`. OCR steps are refused in sensitive sessions (`UNSAFE_ACTION_REFUSED`).
93
93
 
94
94
  **Paths**: `tapImage` and `assertImage` templates and `assertDiff` baselines must resolve (after symlinks) inside the project root, otherwise the step fails with `UNSAFE_ACTION_REFUSED`.
95
95