Ignacy Łątka
b27f222386
fix(flows): refuse to record a step whose native-devtools precheck blocked ( #1116 )
...
Fixes #935 .
**Cause:** a blocked native-devtools precheck is a *resolved* result, so
`flow-add-step` read "it returned" as "it ran" and wrote the step - a
`restart-app` that terminated and launched nothing became a passing
`launch:`, while the runner scores that same result an error at replay.
**Fix:** the recorder reads the runner's own
`isNativeDevtoolsBlockResult` right after the sub-invoke and fails the
call, recording nothing. Keyed on `params.command`, so it covers all
nine precheck tools, not just the `restart-app` in the report.
**Left alone:** `isDebuggerNotConnectedResult` is the same shape on the
recorder path and is filed separately as #964 ;
`nestedOrchestratorOutcome` is #719 's scope.
**Docs:** none needed - no tool, CLI, config key or flow directive
changed, and `flow-add-step`'s description already states that an error
means nothing was recorded.
<details>
<summary>Verification</summary>
New
`packages/tool-server/test/flows/flow-record-native-devtools-gate.test.ts`
- all four block statuses on `restart-app`, the raw `tool:` spelling on
`native-full-hierarchy`, plus two negative controls (a green
`restart-app` still records `launch:`; a `gesture-tap` answering
`{status: "connect_pending"}` still records).
Discriminates - with the source hunk stashed:
```
Tests 5 failed | 2 passed (7)
AssertionError: promise resolved "{ ...(5) }" instead of rejecting
+ "message": "Step added to \"nd-rec\" flow",
+ "recorded": "1. tool: native-full-hierarchy {\"bundleId\":\"com.example.app\"}",
```
Restored:
```
Test Files 1 passed (1)
Tests 7 passed (7)
```
- `npx tsc --build` - clean
- `npm run typecheck:tests -w @argent/tool-server` - clean
- `npm test -w @argent/tool-server` - 369 files, 4839 passed, 1 skipped
- `npx prettier --check` on both files - unchanged
- eslint on the two files could not run locally
(`packages/docs/tsconfig.json` needs its own `npm ci`); CI covers it.
</details>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-10 16:56:23 +02:00
..
2026-09-09 20:17:23 +02:00
2026-09-09 22:54:01 +02:00
2026-09-09 23:11:11 +02:00
2026-09-07 16:35:42 +02:00
2026-09-10 16:56:23 +02:00
2026-09-07 12:59:29 +02:00
2026-09-09 12:39:02 +02:00
2026-09-09 22:44:09 +02:00
2026-09-09 21:26:51 +02:00
2026-09-09 20:17:23 +02:00
2026-09-09 12:38:51 +02:00
2026-09-03 14:33:11 +02:00
2026-08-10 11:51:45 +02:00
2026-07-01 14:59:37 +02:00
2026-05-11 11:39:10 +02:00
2026-05-27 16:24:31 +02:00
2026-08-19 23:06:48 +02:00
2026-08-21 17:34:59 +02:00
2026-05-12 14:21:09 +02:00
2026-06-22 20:31:45 +02:00
2026-08-19 23:06:48 +02:00
2026-08-19 23:06:48 +02:00
2026-05-12 14:21:09 +02:00
2026-08-21 17:34:59 +02:00
2026-07-01 14:59:37 +02:00
2026-07-03 16:19:23 +02:00
2026-09-04 22:02:57 +02:00
2026-08-21 17:34:59 +02:00
2026-07-10 12:51:24 +02:00
2026-07-07 16:29:22 +02:00
2026-07-01 14:59:37 +02:00
2026-09-07 16:35:42 +02:00
2026-08-24 12:09:51 +02:00
2026-09-09 12:38:51 +02:00
2026-08-19 23:06:48 +02:00
2026-09-07 14:42:23 +02:00
2026-09-07 14:42:23 +02:00
2026-08-19 23:06:48 +02:00
2026-09-04 22:02:57 +02:00
2026-08-24 14:51:16 +02:00
2026-08-28 12:49:10 +02:00
2026-08-24 14:51:16 +02:00
2026-08-24 14:51:16 +02:00
2026-06-22 20:31:45 +02:00
2026-07-08 17:22:31 +02:00
2026-08-21 12:00:50 +02:00
2026-08-21 12:00:50 +02:00
2026-09-04 14:43:54 +02:00
2026-09-10 13:39:57 +02:00
2026-09-07 11:34:30 +02:00
2026-09-10 16:12:38 +02:00
2026-09-03 14:33:11 +02:00
2026-09-09 12:38:37 +02:00
2026-09-04 22:02:57 +02:00
2026-06-15 14:32:06 +02:00
2026-07-22 13:53:32 +02:00
2026-06-15 11:03:23 +02:00
2026-09-09 12:39:02 +02:00
2026-06-15 15:31:51 +02:00
2026-06-15 11:03:23 +02:00
2026-08-21 12:00:50 +02:00
2026-06-15 11:03:23 +02:00
2026-08-28 09:55:47 +02:00
2026-06-15 11:03:23 +02:00
2026-08-19 23:06:48 +02:00
2026-06-17 12:20:55 +02:00
2026-09-10 15:40:33 +02:00
2026-07-02 16:42:10 +02:00
2026-07-13 17:15:01 +02:00
2026-06-15 11:03:23 +02:00
2026-06-15 11:03:23 +02:00
2026-06-15 11:03:23 +02:00
2026-09-09 12:39:02 +02:00
2026-06-15 15:57:45 +02:00
2026-08-03 11:09:11 +02:00
2026-09-04 14:43:54 +02:00
2026-06-25 21:16:03 +02:00
2026-09-09 12:38:51 +02:00
2026-07-22 13:53:32 +02:00
2026-09-03 14:33:11 +02:00
2026-07-03 16:19:16 +02:00
2026-05-11 11:39:10 +02:00
2026-07-13 17:15:01 +02:00
2026-04-28 15:32:39 +02:00
2026-09-03 14:33:11 +02:00
2026-07-13 17:15:01 +02:00
2026-09-03 14:33:11 +02:00
2026-08-31 14:49:11 +02:00
2026-05-11 11:39:10 +02:00
2026-09-04 22:02:57 +02:00
2026-07-01 14:59:37 +02:00
2026-09-04 22:02:57 +02:00
2026-08-21 17:34:59 +02:00
2026-09-09 20:31:05 +02:00
2026-07-07 13:36:27 +02:00
2026-08-28 12:49:10 +02:00
2026-09-09 12:39:02 +02:00
2026-09-09 20:17:37 +02:00
2026-09-09 20:17:37 +02:00
2026-09-04 22:02:57 +02:00
2026-09-04 22:02:57 +02:00
2026-09-10 13:33:31 +02:00
2026-09-09 12:39:02 +02:00
2026-09-09 12:39:02 +02:00
2026-06-19 18:22:34 +02:00
2026-04-28 15:15:03 +02:00
2026-07-23 07:44:26 +02:00
2026-08-31 18:31:53 +02:00
2026-07-10 12:29:48 +02:00
2026-08-10 11:51:45 +02:00
2026-09-04 22:02:57 +02:00
2026-08-10 10:54:58 +02:00
2026-06-03 17:44:15 +02:00
2026-09-07 11:55:57 +02:00
2026-07-23 21:14:37 +02:00
2026-09-03 14:53:25 +02:00
2026-08-10 17:09:16 +02:00
2026-09-07 11:55:57 +02:00
2026-06-01 17:15:12 +02:00
2026-09-09 21:26:51 +02:00
2026-06-17 12:20:55 +02:00
2026-09-07 12:59:29 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-09 20:17:14 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-09 20:17:14 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-07-31 15:14:03 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:33:11 +02:00
2026-09-03 14:53:25 +02:00
2026-09-03 14:33:11 +02:00
2026-07-07 16:29:22 +02:00
2026-08-17 21:06:26 +02:00
2026-08-17 21:06:26 +02:00
2026-07-12 13:42:23 +02:00
2026-08-31 14:49:11 +02:00
2026-09-03 14:33:11 +02:00
2026-07-20 19:26:33 +02:00
2026-08-17 15:01:23 +02:00
2026-08-17 15:01:23 +02:00
2026-09-04 14:43:54 +02:00
2026-09-03 14:33:11 +02:00
2026-09-07 11:34:30 +02:00
2026-09-03 14:33:11 +02:00
2026-08-17 15:01:23 +02:00
2026-09-03 14:33:11 +02:00
2026-09-04 22:02:57 +02:00
2026-09-04 22:02:57 +02:00
2026-07-22 13:53:32 +02:00
2026-07-01 19:57:56 +02:00
2026-08-19 23:06:48 +02:00
2026-07-01 19:57:56 +02:00
2026-06-25 13:29:10 +02:00
2026-07-01 11:02:33 +02:00
2026-09-04 22:02:57 +02:00
2026-09-09 21:26:51 +02:00
2026-06-24 11:22:57 +02:00
2026-07-13 17:15:01 +02:00
2026-07-13 17:15:01 +02:00
2026-09-04 22:02:57 +02:00
2026-07-23 21:14:37 +02:00
2026-04-07 17:36:56 +02:00
2026-08-19 23:06:48 +02:00
2026-09-04 22:02:57 +02:00
2026-08-25 13:26:46 +02:00
2026-08-19 23:06:48 +02:00
2026-09-04 22:02:57 +02:00
2026-08-19 23:06:48 +02:00
2026-09-04 22:02:57 +02:00
2026-07-03 16:45:29 +02:00
2026-07-03 16:45:29 +02:00
2026-07-03 16:45:29 +02:00
2026-07-31 15:14:03 +02:00
2026-08-10 10:54:58 +02:00
2026-09-09 12:38:37 +02:00
2026-08-10 10:54:58 +02:00
2026-08-10 10:54:58 +02:00
2026-08-10 10:54:58 +02:00
2026-09-04 22:02:57 +02:00
2026-09-10 14:00:01 +02:00
2026-06-01 15:04:25 +02:00
2026-07-21 16:56:31 +02:00
2026-08-21 16:51:51 +02:00
2026-07-01 19:57:56 +02:00
2026-07-01 19:57:56 +02:00
2026-07-01 19:57:56 +02:00
2026-08-17 21:25:51 +02:00
2026-07-01 19:57:56 +02:00
2026-06-24 11:22:57 +02:00
2026-07-07 13:36:27 +02:00
2026-07-22 16:56:54 +02:00
2026-09-03 14:33:11 +02:00
2026-07-12 13:42:23 +02:00
2026-08-11 17:18:11 +02:00
2026-07-12 13:42:23 +02:00
2026-07-03 16:19:31 +02:00
2026-08-10 10:54:58 +02:00
2026-07-02 17:37:30 +02:00
2026-08-21 17:34:59 +02:00
2026-08-31 20:51:21 +02:00
2026-08-25 10:48:49 +02:00
2026-09-09 20:17:23 +02:00
2026-09-09 21:42:01 +02:00
2026-07-02 12:40:19 +02:00
2026-06-03 22:28:20 +02:00
2026-06-01 15:04:25 +02:00
2026-09-09 12:39:02 +02:00
2026-09-10 16:29:32 +02:00
2026-09-03 14:33:11 +02:00
2026-07-01 14:59:37 +02:00
2026-09-10 16:12:38 +02:00
2026-08-17 18:19:39 +02:00
2026-07-22 08:47:52 +02:00
2026-09-04 22:02:57 +02:00
2026-06-24 21:00:54 +02:00
2026-09-04 22:02:57 +02:00
2026-09-04 22:02:57 +02:00
2026-09-04 22:02:57 +02:00
2026-09-04 22:02:57 +02:00
2026-08-19 23:06:48 +02:00
2026-09-04 22:02:57 +02:00
2026-07-22 13:53:32 +02:00
2026-09-03 14:33:11 +02:00
2026-06-24 14:03:57 +02:00
2026-09-07 11:55:57 +02:00
2026-09-09 20:17:37 +02:00
2026-06-01 15:04:25 +02:00
2026-09-09 20:17:23 +02:00
2026-09-04 22:02:57 +02:00
2026-08-19 23:06:48 +02:00
2026-09-09 22:52:03 +02:00
2026-07-07 16:29:22 +02:00
2026-08-19 23:06:48 +02:00
2026-07-01 14:59:37 +02:00
2026-05-12 14:21:09 +02:00
2026-09-07 16:35:42 +02:00
2026-07-08 12:24:19 +02:00
2026-08-19 23:06:48 +02:00
2026-06-17 15:22:04 +02:00
2026-07-13 16:56:49 +02:00
2026-07-03 16:19:29 +02:00
2026-07-03 16:19:29 +02:00
2026-07-03 16:19:29 +02:00
2026-07-01 11:02:33 +02:00
2026-06-22 20:31:45 +02:00
2026-08-19 23:06:48 +02:00
2026-09-10 14:00:01 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-08-17 15:01:23 +02:00
2026-08-17 15:01:23 +02:00
2026-06-22 20:31:45 +02:00
2026-07-20 17:05:16 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-06-22 20:31:45 +02:00
2026-07-07 10:05:42 +02:00
2026-06-26 16:40:27 +02:00
2026-07-23 21:14:37 +02:00
2026-08-17 18:19:39 +02:00
2026-08-19 23:06:48 +02:00
2026-09-09 20:17:00 +02:00