diff --git a/mobile/rpc-foundation/goldens/b1.json b/mobile/rpc-foundation/goldens/b1.json
new file mode 100644
index 00000000000..179ee66224b
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/b1.json
@@ -0,0 +1,555 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "305c86832cd8": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3390ae6d62f2": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 240
+ }
+ }
+ ],
+ "35af95861be6": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "select-b": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "reset-a": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "fresh": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "5386959d4549": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "select-b": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "reset-a": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "fresh": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "third": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "602e35a92eec": {
+ "files": []
+ },
+ "6713de8f80d3": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "97ccce4248eb": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 120
+ }
+ }
+ ],
+ "a129552fdc6e": {
+ "files": ["third.ts"]
+ },
+ "ad0f58f0684c": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ },
+ {
+ "name": "files.searchPaths#2",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"fresh\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#2",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "e72410768c32": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "fresh.ts"
+ },
+ {
+ "relativePath": "third.ts"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "b1",
+ "checkpoints": [
+ {
+ "id": "old-pending",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "305c86832cd8",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "stale-arrived-fresh-pending",
+ "observation": {
+ "sender": "3390ae6d62f2",
+ "payloads": "ad0f58f0684c",
+ "settlements": "35af95861be6",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "third-query",
+ "observation": {
+ "sender": "3390ae6d62f2",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "fresh-arrived",
+ "observation": {
+ "sender": "e72410768c32",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "a129552fdc6e",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/b2.json b/mobile/rpc-foundation/goldens/b2.json
new file mode 100644
index 00000000000..e613fbcd652
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/b2.json
@@ -0,0 +1,200 @@
+{
+ "operation": "project.update-metadata",
+ "family": "project-explicit-false",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0318f81a142b": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"github.project.updateIssueBySlug\",\"params\":{\"owner\":\"owner\",\"repo\":\"repo\",\"host\":\"github.enterprise.test\",\"number\":1,\"updates\":{\"addLabels\":[\"recorded\"]}}}"
+ }
+ ],
+ "0c4dced3e005": {
+ "error": "",
+ "mutating": true,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "15516afe97e7": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "204a5c5728c2": {
+ "error": "Cannot read properties of null (reading 'ok')",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "3b9a7724526d": [
+ {
+ "name": "projectMutating",
+ "value": true
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7e11552b02fa": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "dd1ba4033a27": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "Cannot read properties of null (reading 'ok')"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "b2",
+ "checkpoints": [
+ {
+ "id": "pending",
+ "observation": {
+ "sender": "15516afe97e7",
+ "payloads": "0318f81a142b",
+ "settlements": "f117d93cf44a",
+ "state": "0c4dced3e005",
+ "effects": "3b9a7724526d"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "7e11552b02fa",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "204a5c5728c2",
+ "effects": "dd1ba4033a27"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/b3.json b/mobile/rpc-foundation/goldens/b3.json
new file mode 100644
index 00000000000..eeb8111ca7d
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/b3.json
@@ -0,0 +1,310 @@
+{
+ "operation": "linear.issue-detail",
+ "family": "linear-detail-barrier",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0b631657711f": [
+ {
+ "name": "linear.getIssue#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ }
+ ],
+ "26c78123b573": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "42903545f0f8": {
+ "error": "comments transport error",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "68d958edb978": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "6d65777cf6fe": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "comments transport error"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "780aaf1d97be": {
+ "error": "",
+ "loading": true,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "db6e863f7087": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "fc7910387ac9": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "b3",
+ "checkpoints": [
+ {
+ "id": "pending",
+ "observation": {
+ "sender": "fc7910387ac9",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json b/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json
new file mode 100644
index 00000000000..62d7bbe0659
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/interruptions-inventory-lifecycle.json
@@ -0,0 +1,371 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "305c86832cd8": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "44517661da0d": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "602e35a92eec": {
+ "files": []
+ },
+ "6713de8f80d3": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "8c70b1eb7a30": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "8d7ff0ac3500": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 120,
+ "settledAt": 30120,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: files.list",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "da74303641ea": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 120,
+ "settledAt": 120,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "e01595c0caa4": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 120,
+ "settledAt": 120,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "interruptions-inventory-lifecycle",
+ "checkpoints": [
+ {
+ "id": "inventory-lifecycle.timeout:interrupted",
+ "observation": {
+ "sender": "8d7ff0ac3500",
+ "payloads": "6713de8f80d3",
+ "settlements": "305c86832cd8",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.timeout:settled",
+ "observation": {
+ "sender": "8d7ff0ac3500",
+ "payloads": "6713de8f80d3",
+ "settlements": "305c86832cd8",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.disconnect:interrupted",
+ "observation": {
+ "sender": "e01595c0caa4",
+ "payloads": "6713de8f80d3",
+ "settlements": "8c70b1eb7a30",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.disconnect:settled",
+ "observation": {
+ "sender": "e01595c0caa4",
+ "payloads": "6713de8f80d3",
+ "settlements": "8c70b1eb7a30",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.cutover:interrupted",
+ "observation": {
+ "sender": "da74303641ea",
+ "payloads": "6713de8f80d3",
+ "settlements": "44517661da0d",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.cutover:settled",
+ "observation": {
+ "sender": "da74303641ea",
+ "payloads": "6713de8f80d3",
+ "settlements": "44517661da0d",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json
new file mode 100644
index 00000000000..d638592749c
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/interruptions-settings-bot-overrides-fulfilled.json
@@ -0,0 +1,269 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "77571e1166d2": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "79828a30028a": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "7a5a1b086254": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "8df6a469391c": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "d5feb23d2615": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "interruptions-settings-bot-overrides-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-bot-overrides-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.timeout:interrupted",
+ "observation": {
+ "sender": "79828a30028a",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "79828a30028a",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.disconnect:interrupted",
+ "observation": {
+ "sender": "7a5a1b086254",
+ "payloads": "9e493785145e",
+ "settlements": "77571e1166d2",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "7a5a1b086254",
+ "payloads": "9e493785145e",
+ "settlements": "77571e1166d2",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.cutover:interrupted",
+ "observation": {
+ "sender": "d5feb23d2615",
+ "payloads": "9e493785145e",
+ "settlements": "8df6a469391c",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.cutover:settled",
+ "observation": {
+ "sender": "d5feb23d2615",
+ "payloads": "9e493785145e",
+ "settlements": "8df6a469391c",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/inventory-lifecycle.json b/mobile/rpc-foundation/goldens/inventory-lifecycle.json
new file mode 100644
index 00000000000..c8cb4af6903
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/inventory-lifecycle.json
@@ -0,0 +1,137 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "305c86832cd8": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "6713de8f80d3": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "ab2510585ba0": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "fe1aebea954c": {
+ "files": ["old.ts"]
+ }
+ },
+ "recording": {
+ "scenario": "inventory-lifecycle",
+ "checkpoints": [
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "305c86832cd8",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/inventory-repeat-query.json b/mobile/rpc-foundation/goldens/inventory-repeat-query.json
new file mode 100644
index 00000000000..fad898ff0c2
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/inventory-repeat-query.json
@@ -0,0 +1,397 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "003a57e2bf31": {
+ "files": ["alpha.ts"]
+ },
+ "07920a7dd2ac": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"alpha\",\"limit\":16}}"
+ },
+ {
+ "name": "files.searchPaths#2",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"beta\",\"limit\":16}}"
+ },
+ {
+ "name": "files.searchPaths#3",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"gamma\",\"limit\":16}}"
+ }
+ ],
+ "16c03a5dc6c8": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "alpha",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "alpha.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "beta",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "beta.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#3",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "gamma",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 360
+ }
+ }
+ ],
+ "22ab9118541c": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "alpha",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "alpha.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "beta",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "beta.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#3",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "gamma",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 360,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "gamma.ts"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "3642acfe438f": {
+ "files": ["beta.ts"]
+ },
+ "4f53cda18c2b": [],
+ "d89c93bd8899": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "alpha": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "beta": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "gamma": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "repeat-alpha": {
+ "status": "fulfilled",
+ "startedAt": 360,
+ "settledAt": 360,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "eeba4d799744": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "alpha": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "beta": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "gamma": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "repeat-alpha": {
+ "status": "fulfilled",
+ "startedAt": 360,
+ "settledAt": 360,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "delta": {
+ "status": "fulfilled",
+ "startedAt": 360,
+ "settledAt": 360,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "repeat-beta": {
+ "status": "fulfilled",
+ "startedAt": 360,
+ "settledAt": 360,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "inventory-repeat-query",
+ "checkpoints": [
+ {
+ "id": "cached-alpha",
+ "observation": {
+ "sender": "16c03a5dc6c8",
+ "payloads": "07920a7dd2ac",
+ "settlements": "d89c93bd8899",
+ "state": "003a57e2bf31",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "stale-search-ignored",
+ "observation": {
+ "sender": "22ab9118541c",
+ "payloads": "07920a7dd2ac",
+ "settlements": "d89c93bd8899",
+ "state": "003a57e2bf31",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "cached-beta-cancels-debounce",
+ "observation": {
+ "sender": "22ab9118541c",
+ "payloads": "07920a7dd2ac",
+ "settlements": "eeba4d799744",
+ "state": "3642acfe438f",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/lifecycle-b3.json b/mobile/rpc-foundation/goldens/lifecycle-b3.json
new file mode 100644
index 00000000000..bd168eee619
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/lifecycle-b3.json
@@ -0,0 +1,1148 @@
+{
+ "operation": "linear.issue-detail",
+ "family": "linear-detail-barrier",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0493f3387b35": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.getIssue#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "0622544ec536": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "remount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0b631657711f": [
+ {
+ "name": "linear.getIssue#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ }
+ ],
+ "20d650b20730": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-blur": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "26c78123b573": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "42903545f0f8": {
+ "error": "comments transport error",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "65dee1e4669e": [
+ {
+ "name": "linear.getIssue#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.getIssue#2",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#2",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ }
+ ],
+ "68d958edb978": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "6d65777cf6fe": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "comments transport error"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "780aaf1d97be": {
+ "error": "",
+ "loading": true,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "af0499e7a20b": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "badbba34d659": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.getIssue#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "d6672f158011": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.getIssue#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "db6e863f7087": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "eb595117f4da": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-reset": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "f1a1b18f7d0e": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "comments transport error"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "f7efecfbed85": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "fc7910387ac9": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "lifecycle-b3",
+ "checkpoints": [
+ {
+ "id": "b3.prelude:pending",
+ "observation": {
+ "sender": "fc7910387ac9",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.prelude:issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.reset-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "d6672f158011",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-before-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "badbba34d659",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-before-1:settled",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "badbba34d659",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-after-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "badbba34d659",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-after-1:settled",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "badbba34d659",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-before-2:settled",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.reset-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "f1a1b18f7d0e"
+ }
+ },
+ {
+ "id": "b3.reset-after-2:settled",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "eb595117f4da",
+ "state": "780aaf1d97be",
+ "effects": "f1a1b18f7d0e"
+ }
+ },
+ {
+ "id": "b3.unmount-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "fc7910387ac9",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-before-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-before-1:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-before-1:remounted",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "0622544ec536",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.unmount-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-after-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-after-1:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-after-1:remounted",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "0622544ec536",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.unmount-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-before-2:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.unmount-before-2:remounted",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "0622544ec536",
+ "state": "780aaf1d97be",
+ "effects": "af0499e7a20b"
+ }
+ },
+ {
+ "id": "b3.unmount-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.unmount-after-2:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "f7efecfbed85",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.unmount-after-2:remounted",
+ "observation": {
+ "sender": "0493f3387b35",
+ "payloads": "65dee1e4669e",
+ "settlements": "0622544ec536",
+ "state": "780aaf1d97be",
+ "effects": "f1a1b18f7d0e"
+ }
+ },
+ {
+ "id": "b3.blur-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "fc7910387ac9",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.blur-before-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.blur-before-1:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.blur-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.blur-after-1:issue-refused-comments-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.blur-after-1:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.blur-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.blur-before-2:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.blur-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.blur-after-2:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "20d650b20730",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json b/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json
new file mode 100644
index 00000000000..dc9ddd7381c
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/lifecycle-inventory-lifecycle.json
@@ -0,0 +1,602 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "1a957d27c347": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 120
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "602e35a92eec": {
+ "files": []
+ },
+ "6713de8f80d3": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "8baaca44e19f": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-blur": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "97ccce4248eb": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 120
+ }
+ }
+ ],
+ "a5b853493ed4": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ }
+ ],
+ "ab2510585ba0": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "c8fe68914ed2": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "ca50cabf84eb": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "remount": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "e55f989316a7": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-reset": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "fe1aebea954c": {
+ "files": ["old.ts"]
+ }
+ },
+ "recording": {
+ "scenario": "lifecycle-inventory-lifecycle",
+ "checkpoints": [
+ {
+ "id": "inventory-lifecycle.reset-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "1a957d27c347",
+ "payloads": "a5b853493ed4",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-before-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-after-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-before-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.reset-after-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "e55f989316a7",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "1a957d27c347",
+ "payloads": "a5b853493ed4",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-1:remounted",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "ca50cabf84eb",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-1:remounted",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "ca50cabf84eb",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-before-2:remounted",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "ca50cabf84eb",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "c8fe68914ed2",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.unmount-after-2:remounted",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "ca50cabf84eb",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "1a957d27c347",
+ "payloads": "a5b853493ed4",
+ "settlements": "8baaca44e19f",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-before-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-after-1:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-before-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "inventory-lifecycle.blur-after-2:settled",
+ "observation": {
+ "sender": "ab2510585ba0",
+ "payloads": "6713de8f80d3",
+ "settlements": "8baaca44e19f",
+ "state": "fe1aebea954c",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json
new file mode 100644
index 00000000000..4b84544682c
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/lifecycle-settings-bot-overrides-fulfilled.json
@@ -0,0 +1,464 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0622544ec536": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "remount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1d4a2fa741de": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "settings.get#2",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "20d650b20730": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-blur": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "84155dde485f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "a7af6ac4ce05": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "d52c8e96e222": ["bot-user"],
+ "d7482cfe1d66": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "eb595117f4da": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-reset": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "f7efecfbed85": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "lifecycle-settings-bot-overrides-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-bot-overrides-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.reset-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "d7482cfe1d66",
+ "payloads": "1d4a2fa741de",
+ "settlements": "eb595117f4da",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.reset-before-1:settled",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "eb595117f4da",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.reset-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "eb595117f4da",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.reset-after-1:settled",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "eb595117f4da",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f7efecfbed85",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-before-1:settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "f7efecfbed85",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-before-1:remounted",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "0622544ec536",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "f7efecfbed85",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-after-1:settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "f7efecfbed85",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.unmount-after-1:remounted",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "0622544ec536",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.blur-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "20d650b20730",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.blur-before-1:settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "20d650b20730",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.blur-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "20d650b20730",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.blur-after-1:settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "20d650b20730",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json
new file mode 100644
index 00000000000..c5c3455682e
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/lifecycle-settings-task-hydration-fulfilled.json
@@ -0,0 +1,2699 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0622544ec536": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "remount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1825a87a7ca8": {
+ "hydrated": false,
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "25ff3ce217de": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "3fd4c6d2c2d9": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "58c52d8b7c76": {
+ "hydrated": true,
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "5a9cc1957824": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "693961f25be2": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "8574a5791dce": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "9f7245427281": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "status.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c607f2ac3543": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "status.get#2",
+ "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "e71a3d7fabe9": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ece0e400ef82": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ef23c7cad0d6": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "f7efecfbed85": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "lifecycle-settings-task-hydration-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-task-hydration-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-2:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-2:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "ece0e400ef82",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-2:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-2:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-3:lifecycle-boundary",
+ "observation": {
+ "sender": "ece0e400ef82",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-3:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-3:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-3:lifecycle-boundary",
+ "observation": {
+ "sender": "693961f25be2",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-3:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-3:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-4:lifecycle-boundary",
+ "observation": {
+ "sender": "693961f25be2",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-4:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-4:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-4:lifecycle-boundary",
+ "observation": {
+ "sender": "ef23c7cad0d6",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-4:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-4:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-5:lifecycle-boundary",
+ "observation": {
+ "sender": "ef23c7cad0d6",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-5:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-before-5:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "c6178e6a0f4e",
+ "effects": "3fd4c6d2c2d9"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-5:lifecycle-boundary",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "58c52d8b7c76",
+ "effects": "8574a5791dce"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-5:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "f7efecfbed85",
+ "state": "58c52d8b7c76",
+ "effects": "8574a5791dce"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.unmount-after-5:remounted",
+ "observation": {
+ "sender": "9f7245427281",
+ "payloads": "c607f2ac3543",
+ "settlements": "0622544ec536",
+ "state": "1825a87a7ca8",
+ "effects": "25ff3ce217de"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json
new file mode 100644
index 00000000000..8f91a9f26a6
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/lifecycle-settings-workspace-context-fulfilled.json
@@ -0,0 +1,1444 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0622544ec536": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "remount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "093a51a3d76e": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "20d650b20730": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-blur": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "2a7485a88169": {
+ "providers": ["github"],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "trust": {}
+ },
+ "2d2b2b78a6fc": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "60fdc69b3ee5": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7d7f0d2cb674": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#2",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#2",
+ "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#2",
+ "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#2",
+ "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7e236d701bd4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "8a63b85fee0c": {
+ "providers": [],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "trust": {}
+ },
+ "b6262011bf13": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "edae57429e34": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ },
+ "f7efecfbed85": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "lifecycle-unmount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "lifecycle-settings-workspace-context-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-workspace-context-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-1:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-1:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "2d2b2b78a6fc",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-1:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-1:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "2d2b2b78a6fc",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-2:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-2:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "b6262011bf13",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-2:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-2:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-3:lifecycle-boundary",
+ "observation": {
+ "sender": "b6262011bf13",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-3:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-3:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-3:lifecycle-boundary",
+ "observation": {
+ "sender": "093a51a3d76e",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-3:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-3:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-4:lifecycle-boundary",
+ "observation": {
+ "sender": "093a51a3d76e",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-4:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-before-4:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-4:lifecycle-boundary",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-4:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "f7efecfbed85",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.unmount-after-4:remounted",
+ "observation": {
+ "sender": "60fdc69b3ee5",
+ "payloads": "7d7f0d2cb674",
+ "settlements": "0622544ec536",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-1:lifecycle-boundary",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-1:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-1:lifecycle-boundary",
+ "observation": {
+ "sender": "2d2b2b78a6fc",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-1:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-2:lifecycle-boundary",
+ "observation": {
+ "sender": "2d2b2b78a6fc",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-2:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-2:lifecycle-boundary",
+ "observation": {
+ "sender": "b6262011bf13",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-2:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-3:lifecycle-boundary",
+ "observation": {
+ "sender": "b6262011bf13",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-3:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-3:lifecycle-boundary",
+ "observation": {
+ "sender": "093a51a3d76e",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-3:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-4:lifecycle-boundary",
+ "observation": {
+ "sender": "093a51a3d76e",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-before-4:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "8a63b85fee0c",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-4:lifecycle-boundary",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.blur-after-4:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "20d650b20730",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json b/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json
new file mode 100644
index 00000000000..0f206ec4049
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-legacy-inventory.json
@@ -0,0 +1,1785 @@
+{
+ "operation": "workspace.file-inventory",
+ "family": "legacy-inventory",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0a3be69f9399": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "third.ts"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "305c86832cd8": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3390ae6d62f2": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 240
+ }
+ }
+ ],
+ "35af95861be6": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "select-b": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "reset-a": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "fresh": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "503748c2080e": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 240,
+ "settledAt": 360,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "5386959d4549": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "old": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "select-b": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "reset-a": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "fresh": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "third": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "602e35a92eec": {
+ "files": []
+ },
+ "669922ce9786": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-4",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "6713de8f80d3": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "704590c6cdbf": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "872323868410": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "9263e4ff521c": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "97ccce4248eb": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 120
+ }
+ }
+ ],
+ "a129552fdc6e": {
+ "files": ["third.ts"]
+ },
+ "a2895aaf51be": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "ad0f58f0684c": [
+ {
+ "name": "files.searchPaths#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"old\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ },
+ {
+ "name": "files.searchPaths#2",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"files.searchPaths\",\"params\":{\"worktree\":\"id:A\",\"query\":\"fresh\",\"limit\":16}}"
+ },
+ {
+ "name": "files.list#2",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"files.list\",\"params\":{\"worktree\":\"id:A\"}}"
+ }
+ ],
+ "b3b91a2d6c56": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ }
+ ],
+ "d99de913c78a": [
+ {
+ "name": "files.searchPaths#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "old",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 120,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 120,
+ "settledAt": 240,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "files.searchPaths#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.searchPaths"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 16,
+ "query": "fresh",
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 240,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "files.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "files.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 240,
+ "settledAt": 360,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-4",
+ "ok": false
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-legacy-inventory",
+ "checkpoints": [
+ {
+ "id": "b1.prelude:old-pending",
+ "observation": {
+ "sender": "97ccce4248eb",
+ "payloads": "6713de8f80d3",
+ "settlements": "305c86832cd8",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.prelude:stale-arrived-fresh-pending",
+ "observation": {
+ "sender": "3390ae6d62f2",
+ "payloads": "ad0f58f0684c",
+ "settlements": "35af95861be6",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.prelude:third-query",
+ "observation": {
+ "sender": "3390ae6d62f2",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.normal:fresh-arrived",
+ "observation": {
+ "sender": "0a3be69f9399",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "a129552fdc6e",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.result-absent:fresh-arrived",
+ "observation": {
+ "sender": "872323868410",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.result-null:fresh-arrived",
+ "observation": {
+ "sender": "a2895aaf51be",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.inner-ok-missing:fresh-arrived",
+ "observation": {
+ "sender": "b3b91a2d6c56",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.inner-false-string-error:fresh-arrived",
+ "observation": {
+ "sender": "704590c6cdbf",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.inner-false-object-error:fresh-arrived",
+ "observation": {
+ "sender": "9263e4ff521c",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.outer-refused:fresh-arrived",
+ "observation": {
+ "sender": "d99de913c78a",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.method-not-found:fresh-arrived",
+ "observation": {
+ "sender": "669922ce9786",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "b1.transport-rejection:fresh-arrived",
+ "observation": {
+ "sender": "503748c2080e",
+ "payloads": "ad0f58f0684c",
+ "settlements": "5386959d4549",
+ "state": "602e35a92eec",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json b/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json
new file mode 100644
index 00000000000..13233b96451
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-linear-detail-barrier.json
@@ -0,0 +1,1547 @@
+{
+ "operation": "linear.issue-detail",
+ "family": "linear-detail-barrier",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "06ac7de606b0": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "0b631657711f": [
+ {
+ "name": "linear.getIssue#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ }
+ ],
+ "0bacee1fd734": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "22fee85e951d": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "26c78123b573": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "41d671e5ddb5": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4209c465bb82": {
+ "error": "transport failure",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "42903545f0f8": {
+ "error": "comments transport error",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "4459d3293464": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "description": "recorded",
+ "id": "issue-1",
+ "labels": [],
+ "subIssues": []
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "56347116b50e": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "6b339c91cb7a": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "description": "recorded",
+ "id": "issue-1",
+ "labels": [],
+ "subIssues": []
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "6d65777cf6fe": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "comments transport error"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "780aaf1d97be": {
+ "error": "",
+ "loading": true,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "79c413f4eb2f": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "8e4ec646fe68": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "91ecf3840376": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "a1fe2909ee2d": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "be20443fa8ea": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "c54f044b3646": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "c87738a469b5": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "d32256097c5b": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "transport failure"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "d506d2297694": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "e1b67946d177": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ea6e0a4be08b": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "fc7910387ac9": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ff6ab6813ba1": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-linear-detail-barrier",
+ "checkpoints": [
+ {
+ "id": "b3.prelude:pending",
+ "observation": {
+ "sender": "fc7910387ac9",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.normal:issue-refused-comments-pending",
+ "observation": {
+ "sender": "4459d3293464",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.normal:settled",
+ "observation": {
+ "sender": "6b339c91cb7a",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.result-absent:issue-refused-comments-pending",
+ "observation": {
+ "sender": "22fee85e951d",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.result-absent:settled",
+ "observation": {
+ "sender": "ff6ab6813ba1",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.result-null:issue-refused-comments-pending",
+ "observation": {
+ "sender": "d506d2297694",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.result-null:settled",
+ "observation": {
+ "sender": "8e4ec646fe68",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.inner-ok-missing:issue-refused-comments-pending",
+ "observation": {
+ "sender": "79c413f4eb2f",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.inner-ok-missing:settled",
+ "observation": {
+ "sender": "a1fe2909ee2d",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.inner-false-string-error:issue-refused-comments-pending",
+ "observation": {
+ "sender": "ea6e0a4be08b",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.inner-false-string-error:settled",
+ "observation": {
+ "sender": "06ac7de606b0",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.inner-false-object-error:issue-refused-comments-pending",
+ "observation": {
+ "sender": "91ecf3840376",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.inner-false-object-error:settled",
+ "observation": {
+ "sender": "0bacee1fd734",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.outer-refused:issue-refused-comments-pending",
+ "observation": {
+ "sender": "41d671e5ddb5",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.outer-refused:settled",
+ "observation": {
+ "sender": "c87738a469b5",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.method-not-found:issue-refused-comments-pending",
+ "observation": {
+ "sender": "e1b67946d177",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.method-not-found:settled",
+ "observation": {
+ "sender": "be20443fa8ea",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.transport-rejection:issue-refused-comments-pending",
+ "observation": {
+ "sender": "56347116b50e",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "4209c465bb82",
+ "effects": "d32256097c5b"
+ }
+ },
+ {
+ "id": "b3.transport-rejection:settled",
+ "observation": {
+ "sender": "c54f044b3646",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "4209c465bb82",
+ "effects": "d32256097c5b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json b/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json
new file mode 100644
index 00000000000..9ced172e4d8
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-project-explicit-false.json
@@ -0,0 +1,852 @@
+{
+ "operation": "project.update-metadata",
+ "family": "project-explicit-false",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0318f81a142b": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"github.project.updateIssueBySlug\",\"params\":{\"owner\":\"owner\",\"repo\":\"repo\",\"host\":\"github.enterprise.test\",\"number\":1,\"updates\":{\"addLabels\":[\"recorded\"]}}}"
+ }
+ ],
+ "0af9e441da2d": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "Failed to update GitHub item"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "0c4dced3e005": {
+ "error": "",
+ "mutating": true,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "15516afe97e7": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "204a5c5728c2": {
+ "error": "Cannot read properties of null (reading 'ok')",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "22021a77bba3": {
+ "error": "Unknown method",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "26facd6684ea": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "29f9b15bed7a": {
+ "error": "Cannot read properties of undefined (reading 'ok')",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "2b3c1b95331e": {
+ "error": "outer refused",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "2d4bb5e23b2b": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "Cannot read properties of undefined (reading 'ok')"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "32cc1f3ceec8": {
+ "error": "inner refused",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "341bf4999ec7": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "3b9a7724526d": [
+ {
+ "name": "projectMutating",
+ "value": true
+ }
+ ],
+ "572294a588f2": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "outer refused"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "5ea692508d69": {
+ "error": "transport failure",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7000538c4980": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ }
+ ],
+ "7df10429e862": {
+ "error": "",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [
+ {
+ "color": "808080",
+ "name": "recorded"
+ }
+ ],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "7e11552b02fa": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "8bb949ebd8c5": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "8f4cdf6e9ea3": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "9033c0d7d9eb": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "Unknown method"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "9c6bc085b45b": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "content": {
+ "assignees": [],
+ "labels": [
+ {
+ "color": "808080",
+ "name": "recorded"
+ }
+ ],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ {
+ "name": "githubProjectTable",
+ "value": {
+ "rows": [
+ {
+ "content": {
+ "assignees": [],
+ "labels": [
+ {
+ "color": "808080",
+ "name": "recorded"
+ }
+ ],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ ]
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "9cf0630c4079": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "ok": true
+ }
+ }
+ }
+ }
+ ],
+ "c679565dc881": {
+ "error": "Failed to update GitHub item",
+ "mutating": false,
+ "row": {
+ "content": {
+ "assignees": [],
+ "labels": [],
+ "number": 1,
+ "repository": "owner/repo"
+ },
+ "id": "item-1",
+ "itemType": "ISSUE"
+ }
+ },
+ "c7c7fd6677d0": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "c7e42c33f7cc": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "inner refused"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "c7ff11bf23e1": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "transport failure"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "dd1ba4033a27": [
+ {
+ "name": "projectMutating",
+ "value": true
+ },
+ {
+ "name": "projectRowDetailError",
+ "value": "Cannot read properties of null (reading 'ok')"
+ },
+ {
+ "name": "projectMutating",
+ "value": false
+ }
+ ],
+ "ed0dd90e4fa1": [
+ {
+ "name": "github.project.updateIssueBySlug#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "github.project.updateIssueBySlug"
+ },
+ {
+ "name": "params",
+ "value": {
+ "host": "github.enterprise.test",
+ "number": 1,
+ "owner": "owner",
+ "repo": "repo",
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "matrix-project-explicit-false",
+ "checkpoints": [
+ {
+ "id": "b2.prelude:pending",
+ "observation": {
+ "sender": "15516afe97e7",
+ "payloads": "0318f81a142b",
+ "settlements": "f117d93cf44a",
+ "state": "0c4dced3e005",
+ "effects": "3b9a7724526d"
+ }
+ },
+ {
+ "id": "b2.normal:settled",
+ "observation": {
+ "sender": "9cf0630c4079",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "7df10429e862",
+ "effects": "9c6bc085b45b"
+ }
+ },
+ {
+ "id": "b2.result-absent:settled",
+ "observation": {
+ "sender": "8f4cdf6e9ea3",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "29f9b15bed7a",
+ "effects": "2d4bb5e23b2b"
+ }
+ },
+ {
+ "id": "b2.result-null:settled",
+ "observation": {
+ "sender": "7e11552b02fa",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "204a5c5728c2",
+ "effects": "dd1ba4033a27"
+ }
+ },
+ {
+ "id": "b2.inner-ok-missing:settled",
+ "observation": {
+ "sender": "7000538c4980",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "7df10429e862",
+ "effects": "9c6bc085b45b"
+ }
+ },
+ {
+ "id": "b2.inner-false-string-error:settled",
+ "observation": {
+ "sender": "341bf4999ec7",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "c679565dc881",
+ "effects": "0af9e441da2d"
+ }
+ },
+ {
+ "id": "b2.inner-false-object-error:settled",
+ "observation": {
+ "sender": "26facd6684ea",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "32cc1f3ceec8",
+ "effects": "c7e42c33f7cc"
+ }
+ },
+ {
+ "id": "b2.outer-refused:settled",
+ "observation": {
+ "sender": "c7c7fd6677d0",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "2b3c1b95331e",
+ "effects": "572294a588f2"
+ }
+ },
+ {
+ "id": "b2.method-not-found:settled",
+ "observation": {
+ "sender": "8bb949ebd8c5",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "22021a77bba3",
+ "effects": "9033c0d7d9eb"
+ }
+ },
+ {
+ "id": "b2.transport-rejection:settled",
+ "observation": {
+ "sender": "ed0dd90e4fa1",
+ "payloads": "0318f81a142b",
+ "settlements": "6dfef4ef572b",
+ "state": "5ea692508d69",
+ "effects": "c7ff11bf23e1"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json b/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json
new file mode 100644
index 00000000000..d8cc103f5e8
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings-agent-read.json
@@ -0,0 +1,1246 @@
+{
+ "operation": "settings.new-tab-agents",
+ "family": "settings-agent-read",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "01f870ebca30": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "14dfe9dcf7ac": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "155ff7f445b7": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2e619bc93ff5": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "3076d0a13ab4": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "503a535a0cd0": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}"
+ }
+ ],
+ "53c0d711b3b1": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ "53d4af0ebef0": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "5dd334d8e3a2": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "62f9b0245c5d": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "745cabcc39bc": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "outer refused",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ "87e67d23b91d": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "TypeError",
+ "message": "Cannot read properties of undefined (reading 'settings')",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ "a589d29c3d86": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": [
+ {
+ "agent": "claude",
+ "label": "Claude"
+ },
+ {
+ "agent": "codex",
+ "label": "Codex"
+ }
+ ]
+ }
+ },
+ "af415469fd8d": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "b32c25e899be": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": [
+ {
+ "agent": "codex",
+ "label": "Codex"
+ }
+ ]
+ }
+ },
+ "ca9a08d11780": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "d7d54028020d": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "TypeError",
+ "message": "Cannot read properties of null (reading 'settings')",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ "f044f1381dbf": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Unknown method",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ "f897165ab180": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings-agent-read",
+ "checkpoints": [
+ {
+ "id": "settings-new-tab-ssh.prelude:pending",
+ "observation": {
+ "sender": "155ff7f445b7",
+ "payloads": "3076d0a13ab4",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.normal:settled",
+ "observation": {
+ "sender": "5dd334d8e3a2",
+ "payloads": "503a535a0cd0",
+ "settlements": "b32c25e899be",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.result-absent:settled",
+ "observation": {
+ "sender": "01f870ebca30",
+ "payloads": "503a535a0cd0",
+ "settlements": "87e67d23b91d",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.result-null:settled",
+ "observation": {
+ "sender": "ca9a08d11780",
+ "payloads": "503a535a0cd0",
+ "settlements": "d7d54028020d",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.inner-ok-missing:settled",
+ "observation": {
+ "sender": "14dfe9dcf7ac",
+ "payloads": "503a535a0cd0",
+ "settlements": "a589d29c3d86",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.inner-false-string-error:settled",
+ "observation": {
+ "sender": "62f9b0245c5d",
+ "payloads": "503a535a0cd0",
+ "settlements": "a589d29c3d86",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.inner-false-object-error:settled",
+ "observation": {
+ "sender": "53d4af0ebef0",
+ "payloads": "503a535a0cd0",
+ "settlements": "a589d29c3d86",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.outer-refused:settled",
+ "observation": {
+ "sender": "f897165ab180",
+ "payloads": "503a535a0cd0",
+ "settlements": "745cabcc39bc",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.method-not-found:settled",
+ "observation": {
+ "sender": "af415469fd8d",
+ "payloads": "503a535a0cd0",
+ "settlements": "f044f1381dbf",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.transport-rejection:settled",
+ "observation": {
+ "sender": "2e619bc93ff5",
+ "payloads": "503a535a0cd0",
+ "settlements": "53c0d711b3b1",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json b/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json
new file mode 100644
index 00000000000..e32906e5221
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings-best-effort.json
@@ -0,0 +1,496 @@
+{
+ "operation": "settings.task-preferences",
+ "family": "settings-best-effort",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "30dcc6c2791e": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "5db909d58c6f": {
+ "preset": "assigned"
+ },
+ "86cae7d2eb05": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "9c7e0ecdf09b": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "a11ef678ac34": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "ok": true
+ }
+ }
+ }
+ }
+ ],
+ "a4cc6c82ee53": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "write": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "b26f6d594d62": [
+ {
+ "name": "defaultGitHubPreset",
+ "value": "assigned"
+ }
+ ],
+ "c48c361670b0": [
+ {
+ "name": "settings.update#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.update\",\"params\":{\"defaultTaskViewPreset\":\"assigned\"}}"
+ }
+ ],
+ "c8c488b25f28": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "de2d142b9c07": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "dfbe228314eb": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "e02c44633084": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "e4c31c436812": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ }
+ ],
+ "fe2d291961f4": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings-best-effort",
+ "checkpoints": [
+ {
+ "id": "settings-task-write.prelude:optimistic",
+ "observation": {
+ "sender": "e02c44633084",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.normal:settled",
+ "observation": {
+ "sender": "a11ef678ac34",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.result-absent:settled",
+ "observation": {
+ "sender": "30dcc6c2791e",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.result-null:settled",
+ "observation": {
+ "sender": "c8c488b25f28",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.inner-ok-missing:settled",
+ "observation": {
+ "sender": "e4c31c436812",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.inner-false-string-error:settled",
+ "observation": {
+ "sender": "9c7e0ecdf09b",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.inner-false-object-error:settled",
+ "observation": {
+ "sender": "fe2d291961f4",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.outer-refused:settled",
+ "observation": {
+ "sender": "de2d142b9c07",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.method-not-found:settled",
+ "observation": {
+ "sender": "dfbe228314eb",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settings-task-write.transport-rejection:settled",
+ "observation": {
+ "sender": "86cae7d2eb05",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json b/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json
new file mode 100644
index 00000000000..da5b45172b0
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.bot-overrides.json
@@ -0,0 +1,496 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0c7c10d0f1d4": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "35364e9332cb": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "3c782ee7b9a5": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "41b24c27cb2d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "5a6be9b97ba7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "624fba4da33b": ["recorded-bot"],
+ "6435848e9b34": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "9c753d3a11f2": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "cd41018879b7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "f60b502aa33d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.bot-overrides",
+ "checkpoints": [
+ {
+ "id": "settings-bot-overrides-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.normal:settled",
+ "observation": {
+ "sender": "9c753d3a11f2",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "624fba4da33b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "5a6be9b97ba7",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "41b24c27cb2d",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "0c7c10d0f1d4",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "3c782ee7b9a5",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "6435848e9b34",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "cd41018879b7",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "35364e9332cb",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "f60b502aa33d",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json b/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json
new file mode 100644
index 00000000000..7ff487b81d8
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.home-providers.json
@@ -0,0 +1,1177 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "12acf4c4a5fe": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "1f8a6cbcd93e": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "3c732ff4c1cc": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "48a7b8f82a20": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "4900d1ca16fc": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "4af4478c9ff7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "50274b2889df": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "780ac4cd0c2f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ },
+ "7ce2f25d1362": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "f92025565519": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "fffe79429077": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.home-providers",
+ "checkpoints": [
+ {
+ "id": "settings-home-providers-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "780ac4cd0c2f",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.normal:settled",
+ "observation": {
+ "sender": "7ce2f25d1362",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "f92025565519",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "fffe79429077",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "1f8a6cbcd93e",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "12acf4c4a5fe",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "48a7b8f82a20",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "3c732ff4c1cc",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "4af4478c9ff7",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "4900d1ca16fc",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json b/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json
new file mode 100644
index 00000000000..1a3315dbce7
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.repo-metadata.json
@@ -0,0 +1,1784 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0837485f8127": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "5253115f3df7": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "761c46565fca": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "7f26ac212cfb": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "99ae3bb2bccc": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "a41bafbceb66": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "b3120b1bb291": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "c16d6d4f8169": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "dda2a4a55813": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ],
+ "ee11b2883633": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.repo-metadata",
+ "checkpoints": [
+ {
+ "id": "settings-repo-metadata-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "0837485f8127",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.normal:settled",
+ "observation": {
+ "sender": "7f26ac212cfb",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "761c46565fca",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "a41bafbceb66",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "5253115f3df7",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "c16d6d4f8169",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "b3120b1bb291",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "99ae3bb2bccc",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "dda2a4a55813",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "ee11b2883633",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json b/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json
new file mode 100644
index 00000000000..a8bbf756339
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.resume-metadata.json
@@ -0,0 +1,1865 @@
+{
+ "operation": "settings.resume-metadata",
+ "family": "settings.resume-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "054256a485b9": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "1d038db50833": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-4",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "1f0e36a0a4b5": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "240ff20b8a08": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "315be0bdeb87": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "3b459ec36be9": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "44136fa355b3": {},
+ "4ef7f873c93e": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "808c2c00a156": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "836ae6d52a30": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "8497b4c38684": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "979c190bfe01": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}"
+ },
+ {
+ "name": "projectGroup.list#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.ps#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}"
+ }
+ ],
+ "a0c6c67dc5dc": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "e20abf8f82dd": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-4",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.resume-metadata",
+ "checkpoints": [
+ {
+ "id": "settings-resume-metadata-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f0e36a0a4b5",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.normal:settled",
+ "observation": {
+ "sender": "836ae6d52a30",
+ "payloads": "979c190bfe01",
+ "settlements": "3b459ec36be9",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "054256a485b9",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "808c2c00a156",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "240ff20b8a08",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "a0c6c67dc5dc",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "315be0bdeb87",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "e20abf8f82dd",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "1d038db50833",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "8497b4c38684",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json b/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json
new file mode 100644
index 00000000000..b3d767ec5c2
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.task-hydration.json
@@ -0,0 +1,3217 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0fdc1eff756c": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "42a9fcde7c06": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "Cannot read properties of undefined (reading 'settings')"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "43ec58eac575": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "Cannot read properties of null (reading 'settings')"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "4938f7af0ad2": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "4f3bef981c44": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "71fb483bdd18": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "86956ff3c10b": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "8c9d20f37c09": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "91788ef43e61": {
+ "hydrated": true,
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ "9188f452e9d7": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {}
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "963a91c532c8": {
+ "hydrated": true,
+ "settings": {}
+ },
+ "9af7a66f6898": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "b878001053f1": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c479baa4b17d": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {}
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "cd0427494b39": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "e71a3d7fabe9": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ef0a7060adef": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "transport failure"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.task-hydration",
+ "checkpoints": [
+ {
+ "id": "settings-task-hydration-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.normal:settled",
+ "observation": {
+ "sender": "8c9d20f37c09",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "91788ef43e61",
+ "effects": "9188f452e9d7"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "71fb483bdd18",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "42a9fcde7c06"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "86956ff3c10b",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "43ec58eac575"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "9af7a66f6898",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "4f3bef981c44",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "4938f7af0ad2",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "cd0427494b39",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "0fdc1eff756c",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "b878001053f1",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "ef0a7060adef"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json b/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json
new file mode 100644
index 00000000000..7e59dd8497a
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.task-workspace.json
@@ -0,0 +1,682 @@
+{
+ "operation": "settings.task-workspace",
+ "family": "settings.task-workspace",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0c7c10d0f1d4": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "235e65047685": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ "236832733364": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "workspaceAgent",
+ "value": "codex"
+ },
+ {
+ "name": "workspaceAgentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "290a60cb44eb": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ {
+ "name": "workspaceAgent",
+ "value": "codex"
+ },
+ {
+ "name": "workspaceAgentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "35364e9332cb": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "3c782ee7b9a5": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "41b24c27cb2d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "5a6be9b97ba7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "6435848e9b34": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7abdfe20af50": {
+ "creating": "linear:1",
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "9c753d3a11f2": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "adec34c2065c": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "",
+ "settings": {}
+ },
+ "b05ebf557542": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "b4ddfb3cab99": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {}
+ },
+ {
+ "name": "setupPrompt",
+ "value": {
+ "agentOverride": "claude",
+ "command": "setup",
+ "item": {
+ "key": "linear:1",
+ "provider": "linear",
+ "source": {
+ "id": "issue-1"
+ }
+ },
+ "repoName": "Repo",
+ "source": "repo"
+ }
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "cd41018879b7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "d5df3f6b123a": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "f60b502aa33d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.task-workspace",
+ "checkpoints": [
+ {
+ "id": "settings-task-workspace-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "7abdfe20af50",
+ "effects": "b05ebf557542"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.normal:settled",
+ "observation": {
+ "sender": "9c753d3a11f2",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "235e65047685",
+ "effects": "290a60cb44eb"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "5a6be9b97ba7",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "41b24c27cb2d",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "0c7c10d0f1d4",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "adec34c2065c",
+ "effects": "b4ddfb3cab99"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "3c782ee7b9a5",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "adec34c2065c",
+ "effects": "b4ddfb3cab99"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "6435848e9b34",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "adec34c2065c",
+ "effects": "b4ddfb3cab99"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "cd41018879b7",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "35364e9332cb",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ },
+ {
+ "id": "settings-task-workspace-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "f60b502aa33d",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json b/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json
new file mode 100644
index 00000000000..87982b58c1b
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.workspace-context.json
@@ -0,0 +1,1545 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "05a3907fc57c": [
+ {
+ "name": "unhandled-rejection",
+ "value": {
+ "category": "TypeError",
+ "isRpcDeliveryUnknown": false,
+ "message": "Cannot read properties of undefined (reading 'settings')"
+ }
+ }
+ ],
+ "07dbd26a6b6d": {
+ "providers": ["github"],
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ },
+ "trust": {}
+ },
+ "15f4a9e72fac": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "1897d766b8c3": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "325b2edaa7ef": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "3576d57d5781": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "3a834cb85dd8": {
+ "providers": ["github"],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ },
+ "4f53cda18c2b": [],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7e236d701bd4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "86d603e18680": [
+ {
+ "name": "unhandled-rejection",
+ "value": {
+ "category": "TypeError",
+ "isRpcDeliveryUnknown": false,
+ "message": "Cannot read properties of null (reading 'settings')"
+ }
+ }
+ ],
+ "a83fbca4ceba": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "aaedee00559f": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "c86883087001": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "ce2e3297d3b7": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f0339fb06e98": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ }
+ },
+ "recording": {
+ "scenario": "matrix-settings.workspace-context",
+ "checkpoints": [
+ {
+ "id": "settings-workspace-context-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.normal:settled",
+ "observation": {
+ "sender": "3576d57d5781",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "07dbd26a6b6d",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "c86883087001",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "05a3907fc57c"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "1897d766b8c3",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "86d603e18680"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "a83fbca4ceba",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "aaedee00559f",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "ce2e3297d3b7",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "15f4a9e72fac",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "325b2edaa7ef",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "f0339fb06e98",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json b/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json
new file mode 100644
index 00000000000..400d7ff15af
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/matrix-settings.workspace-submit.json
@@ -0,0 +1,739 @@
+{
+ "operation": "settings.workspace-submit",
+ "family": "settings.workspace-submit",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0e315dbfe7a8": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "selectedAgent",
+ "value": {
+ "id": "codex",
+ "label": "Codex"
+ }
+ },
+ {
+ "name": "agentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ }
+ ],
+ "13c996e4ec2b": {
+ "creating": true,
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "19c5a22f57c5": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "refused"
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.create#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.create"
+ },
+ {
+ "name": "params",
+ "value": {
+ "createdWithAgent": "claude",
+ "displayName": "recorded",
+ "displayNameKind": "user",
+ "name": "recorded",
+ "repo": "id:repo-1",
+ "setupDecision": "inherit",
+ "startupAgent": "claude"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 600000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "20a67073e822": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.create#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.create\",\"params\":{\"repo\":\"id:repo-1\",\"setupDecision\":\"inherit\",\"name\":\"recorded\",\"displayName\":\"recorded\",\"displayNameKind\":\"user\",\"startupAgent\":\"claude\",\"createdWithAgent\":\"claude\"}}"
+ }
+ ],
+ "2e8e352c8dd1": {
+ "creating": false,
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "35364e9332cb": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "41b24c27cb2d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "$rpc": "null"
+ }
+ }
+ }
+ }
+ ],
+ "450706871c5d": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeSettings",
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ ],
+ "4d460234095c": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": {
+ "message": "inner refused"
+ },
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.create#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.create"
+ },
+ {
+ "name": "params",
+ "value": {
+ "createdWithAgent": "claude",
+ "displayName": "recorded",
+ "displayNameKind": "user",
+ "name": "recorded",
+ "repo": "id:repo-1",
+ "setupDecision": "inherit",
+ "startupAgent": "claude"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 600000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "5a6be9b97ba7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true
+ }
+ }
+ }
+ ],
+ "6a24a7e95a3d": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeSettings",
+ "value": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ {
+ "name": "selectedAgent",
+ "value": {
+ "id": "codex",
+ "label": "Codex"
+ }
+ },
+ {
+ "name": "agentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7b1c9637063f": {
+ "creating": true,
+ "error": "",
+ "settings": {
+ "$rpc": "undefined"
+ }
+ },
+ "9c753d3a11f2": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "b5bca9fe006b": {
+ "creating": false,
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "defaultLinearTeamSelection": {
+ "$rpc": "null"
+ },
+ "defaultRepoSelection": {
+ "$rpc": "null"
+ },
+ "defaultTaskSource": "github",
+ "defaultTaskViewPreset": "all",
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "githubProjects": {},
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["recorded-bot"],
+ "visibleTaskProviders": ["github"]
+ }
+ },
+ "c0cb3df4feef": [
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "cd41018879b7": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "outer refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "f60b502aa33d": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "transport failure",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "fa75111ee066": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "error": "inner refused",
+ "ok": false
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.create#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.create"
+ },
+ {
+ "name": "params",
+ "value": {
+ "createdWithAgent": "claude",
+ "displayName": "recorded",
+ "displayNameKind": "user",
+ "name": "recorded",
+ "repo": "id:repo-1",
+ "setupDecision": "inherit",
+ "startupAgent": "claude"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 600000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "matrix-settings.workspace-submit",
+ "checkpoints": [
+ {
+ "id": "settings-workspace-submit-fulfilled.prelude:settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "13c996e4ec2b",
+ "effects": "c0cb3df4feef"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.normal:settled",
+ "observation": {
+ "sender": "9c753d3a11f2",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "b5bca9fe006b",
+ "effects": "6a24a7e95a3d"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.result-absent:settled",
+ "observation": {
+ "sender": "5a6be9b97ba7",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.result-null:settled",
+ "observation": {
+ "sender": "41b24c27cb2d",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.inner-ok-missing:settled",
+ "observation": {
+ "sender": "19c5a22f57c5",
+ "payloads": "20a67073e822",
+ "settlements": "f117d93cf44a",
+ "state": "7b1c9637063f",
+ "effects": "450706871c5d"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.inner-false-string-error:settled",
+ "observation": {
+ "sender": "fa75111ee066",
+ "payloads": "20a67073e822",
+ "settlements": "f117d93cf44a",
+ "state": "7b1c9637063f",
+ "effects": "450706871c5d"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.inner-false-object-error:settled",
+ "observation": {
+ "sender": "4d460234095c",
+ "payloads": "20a67073e822",
+ "settlements": "f117d93cf44a",
+ "state": "7b1c9637063f",
+ "effects": "450706871c5d"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.outer-refused:settled",
+ "observation": {
+ "sender": "cd41018879b7",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.method-not-found:settled",
+ "observation": {
+ "sender": "35364e9332cb",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled.transport-rejection:settled",
+ "observation": {
+ "sender": "f60b502aa33d",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-b3.json b/mobile/rpc-foundation/goldens/schedules-b3.json
new file mode 100644
index 00000000000..b9a8cdc51c2
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-b3.json
@@ -0,0 +1,991 @@
+{
+ "operation": "linear.issue-detail",
+ "family": "linear-detail-barrier",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "0b631657711f": [
+ {
+ "name": "linear.getIssue#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"linear.getIssue\",\"params\":{\"id\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ },
+ {
+ "name": "linear.issueComments#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.issueComments\",\"params\":{\"issueId\":\"issue-1\",\"workspaceId\":\"linear-workspace\"}}"
+ }
+ ],
+ "24f3de063dfd": {
+ "error": "linear.issueComments#1 rejected",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "26c78123b573": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ }
+ ],
+ "2852f47712e0": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "Request timed out: linear.getIssue"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "3ab28be1560f": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "linear.getIssue#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "linear.issueComments#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "3edc657e906b": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "linear.issueComments#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "42903545f0f8": {
+ "error": "comments transport error",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "606c2767b466": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "68d958edb978": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "6c671f71ee89": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "Connection lost"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "6d65777cf6fe": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "comments transport error"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "77571e1166d2": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "780aaf1d97be": {
+ "error": "",
+ "loading": true,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "88573133f7d5": {
+ "error": "RPC interrupted by connection migration",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "8ba072374c63": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: linear.getIssue",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: linear.issueComments",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "8df6a469391c": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "a13282292b43": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "a778223fed77": {
+ "error": "linear.getIssue#1 rejected",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "b4cf0b80bf2a": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "linear.issueComments#1 rejected"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "b9b67d6bf2bb": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "cbf28b66143a": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "RPC interrupted by connection migration"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "ce1aa70ed814": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "linear.getIssue#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "d004d139c7df": [
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailError",
+ "value": ""
+ },
+ {
+ "name": "detailLoading",
+ "value": true
+ },
+ {
+ "name": "detailError",
+ "value": "linear.getIssue#1 rejected"
+ },
+ {
+ "name": "detailLoading",
+ "value": false
+ }
+ ],
+ "d40dd5c93d21": {
+ "error": "Connection lost",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ },
+ "db6e863f7087": [
+ {
+ "name": "linear.getIssue#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.getIssue"
+ },
+ {
+ "name": "params",
+ "value": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "linear.issueComments#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.issueComments"
+ },
+ {
+ "name": "params",
+ "value": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "comments transport error",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "fc6d55bc97ed": {
+ "error": "Request timed out: linear.getIssue",
+ "loading": false,
+ "payload": {
+ "$rpc": "null"
+ }
+ }
+ },
+ "recording": {
+ "scenario": "schedules-b3",
+ "checkpoints": [
+ {
+ "id": "b3.forward:sibling-pending",
+ "observation": {
+ "sender": "68d958edb978",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "780aaf1d97be",
+ "effects": "26c78123b573"
+ }
+ },
+ {
+ "id": "b3.forward:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.reverse:sibling-pending",
+ "observation": {
+ "sender": "b9b67d6bf2bb",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.reverse:settled",
+ "observation": {
+ "sender": "db6e863f7087",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "42903545f0f8",
+ "effects": "6d65777cf6fe"
+ }
+ },
+ {
+ "id": "b3.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "ce1aa70ed814",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "a778223fed77",
+ "effects": "d004d139c7df"
+ }
+ },
+ {
+ "id": "b3.both-reject-forward:settled",
+ "observation": {
+ "sender": "3ab28be1560f",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "a778223fed77",
+ "effects": "d004d139c7df"
+ }
+ },
+ {
+ "id": "b3.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "3edc657e906b",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "24f3de063dfd",
+ "effects": "b4cf0b80bf2a"
+ }
+ },
+ {
+ "id": "b3.both-reject-reverse:settled",
+ "observation": {
+ "sender": "3ab28be1560f",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "24f3de063dfd",
+ "effects": "b4cf0b80bf2a"
+ }
+ },
+ {
+ "id": "b3.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "ce1aa70ed814",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "a778223fed77",
+ "effects": "d004d139c7df"
+ }
+ },
+ {
+ "id": "b3.reject-peer-pending:settled",
+ "observation": {
+ "sender": "ce1aa70ed814",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "a778223fed77",
+ "effects": "d004d139c7df"
+ }
+ },
+ {
+ "id": "b3.timeout:settled",
+ "observation": {
+ "sender": "8ba072374c63",
+ "payloads": "0b631657711f",
+ "settlements": "0131611322e3",
+ "state": "fc6d55bc97ed",
+ "effects": "2852f47712e0"
+ }
+ },
+ {
+ "id": "b3.disconnect:settled",
+ "observation": {
+ "sender": "606c2767b466",
+ "payloads": "0b631657711f",
+ "settlements": "77571e1166d2",
+ "state": "d40dd5c93d21",
+ "effects": "6c671f71ee89"
+ }
+ },
+ {
+ "id": "b3.client-cutover:settled",
+ "observation": {
+ "sender": "a13282292b43",
+ "payloads": "0b631657711f",
+ "settlements": "8df6a469391c",
+ "state": "88573133f7d5",
+ "effects": "cbf28b66143a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json
new file mode 100644
index 00000000000..ddfb65744fa
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-home-providers-fulfilled.json
@@ -0,0 +1,1149 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "2cfe071e77cd": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "3b52deb98f39": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "50274b2889df": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "57fc05304f41": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "7481db6c50f8": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ },
+ "8871f1ea875e": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "8b1b9b7a2c5b": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "950ea1b3a4be": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "preflight.check#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "98072a0a081c": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: preflight.check",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: linear.status",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "b822f26514d9": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "preflight.check#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "be3d5b12ba84": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "d4eeda0e5df4": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "fa1c6c5bbada": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "schedules-settings-home-providers-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-home-providers-fulfilled.forward:sibling-pending",
+ "observation": {
+ "sender": "8b1b9b7a2c5b",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.forward:settled",
+ "observation": {
+ "sender": "3b52deb98f39",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.reverse:sibling-pending",
+ "observation": {
+ "sender": "57fc05304f41",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.reverse:settled",
+ "observation": {
+ "sender": "3b52deb98f39",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "2cfe071e77cd",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.both-reject-forward:settled",
+ "observation": {
+ "sender": "950ea1b3a4be",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "b822f26514d9",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.both-reject-reverse:settled",
+ "observation": {
+ "sender": "950ea1b3a4be",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "2cfe071e77cd",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.reject-peer-pending:settled",
+ "observation": {
+ "sender": "7481db6c50f8",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "98072a0a081c",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "d4eeda0e5df4",
+ "payloads": "13d58e42ea1c",
+ "settlements": "8871f1ea875e",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "settings-home-providers-fulfilled.client-cutover:settled",
+ "observation": {
+ "sender": "be3d5b12ba84",
+ "payloads": "13d58e42ea1c",
+ "settlements": "fa1c6c5bbada",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json b/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json
new file mode 100644
index 00000000000..5c7533b1d84
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-new-tab-ssh.json
@@ -0,0 +1,1169 @@
+{
+ "operation": "settings.new-tab-agents",
+ "family": "settings-agent-read",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "05bb4ee23d42": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "08dec2e70517": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": []
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "11ede0a6f64b": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "preflight.detectRemoteAgents#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "2726579a3989": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "preflight.detectRemoteAgents#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ "321b03c89225": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "preflight.detectRemoteAgents#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "454927834d30": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4643a45e7ec6": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "4990c034cddd": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": [
+ {
+ "agent": "codex",
+ "label": "Codex"
+ },
+ {
+ "agent": "claude",
+ "label": "Claude"
+ }
+ ]
+ }
+ },
+ "4f53cda18c2b": [],
+ "503a535a0cd0": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}"
+ }
+ ],
+ "8e8786e18ff2": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: preflight.detectRemoteAgents",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "9872eba313bf": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": []
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "9c1600fca2c8": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "d7ce0a2846ab": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ "e39e86a064ab": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ "ea238a170c2b": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "f9f7e6bd5583": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "schedules-settings-new-tab-ssh",
+ "checkpoints": [
+ {
+ "id": "settings-new-tab-ssh.forward:sibling-pending",
+ "observation": {
+ "sender": "9872eba313bf",
+ "payloads": "503a535a0cd0",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.forward:settled",
+ "observation": {
+ "sender": "08dec2e70517",
+ "payloads": "503a535a0cd0",
+ "settlements": "4990c034cddd",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.reverse:sibling-pending",
+ "observation": {
+ "sender": "4643a45e7ec6",
+ "payloads": "503a535a0cd0",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.reverse:settled",
+ "observation": {
+ "sender": "08dec2e70517",
+ "payloads": "503a535a0cd0",
+ "settlements": "4990c034cddd",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "454927834d30",
+ "payloads": "503a535a0cd0",
+ "settlements": "e39e86a064ab",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.both-reject-forward:settled",
+ "observation": {
+ "sender": "321b03c89225",
+ "payloads": "503a535a0cd0",
+ "settlements": "e39e86a064ab",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "11ede0a6f64b",
+ "payloads": "503a535a0cd0",
+ "settlements": "2726579a3989",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.both-reject-reverse:settled",
+ "observation": {
+ "sender": "321b03c89225",
+ "payloads": "503a535a0cd0",
+ "settlements": "2726579a3989",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "454927834d30",
+ "payloads": "503a535a0cd0",
+ "settlements": "e39e86a064ab",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.reject-peer-pending:settled",
+ "observation": {
+ "sender": "454927834d30",
+ "payloads": "503a535a0cd0",
+ "settlements": "e39e86a064ab",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.timeout:settled",
+ "observation": {
+ "sender": "8e8786e18ff2",
+ "payloads": "503a535a0cd0",
+ "settlements": "d7ce0a2846ab",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.disconnect:settled",
+ "observation": {
+ "sender": "f9f7e6bd5583",
+ "payloads": "503a535a0cd0",
+ "settlements": "ea238a170c2b",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-new-tab-ssh.client-cutover:settled",
+ "observation": {
+ "sender": "05bb4ee23d42",
+ "payloads": "503a535a0cd0",
+ "settlements": "9c1600fca2c8",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json
new file mode 100644
index 00000000000..9be978d75f7
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-repo-metadata-fulfilled.json
@@ -0,0 +1,1748 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0accf38c1070": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "17f4e5897116": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "1de50f3b4aac": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": {
+ "$rpc": "null"
+ },
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "26692074e876": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "2c55a9809422": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: host.platform",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "564017ad6e41": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "652e9534e16e": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "host.platform#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "816876f4042f": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "83b3ffbc60ed": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "host.platform#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "bcb5d1795ffc": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "cb923c11ddca": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "cfebaa1d407b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "d1abf04c97e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "d90e99979f09": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "schedules-settings-repo-metadata-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-repo-metadata-fulfilled.forward:sibling-pending",
+ "observation": {
+ "sender": "17f4e5897116",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.forward:settled",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.reverse:sibling-pending",
+ "observation": {
+ "sender": "26692074e876",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.reverse:settled",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "0accf38c1070",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.both-reject-forward:settled",
+ "observation": {
+ "sender": "83b3ffbc60ed",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "1de50f3b4aac",
+ "effects": "564017ad6e41"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "652e9534e16e",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.both-reject-reverse:settled",
+ "observation": {
+ "sender": "83b3ffbc60ed",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "1de50f3b4aac",
+ "effects": "564017ad6e41"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "0accf38c1070",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.reject-peer-pending:settled",
+ "observation": {
+ "sender": "0accf38c1070",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "2c55a9809422",
+ "payloads": "83ef5f7039bf",
+ "settlements": "d1abf04c97e3",
+ "state": "1de50f3b4aac",
+ "effects": "564017ad6e41"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "816876f4042f",
+ "payloads": "83ef5f7039bf",
+ "settlements": "cfebaa1d407b",
+ "state": "1de50f3b4aac",
+ "effects": "564017ad6e41"
+ }
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled.client-cutover:settled",
+ "observation": {
+ "sender": "bcb5d1795ffc",
+ "payloads": "83ef5f7039bf",
+ "settlements": "cb923c11ddca",
+ "state": "1de50f3b4aac",
+ "effects": "564017ad6e41"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json
new file mode 100644
index 00000000000..8d52263d40f
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-resume-metadata-fulfilled.json
@@ -0,0 +1,1751 @@
+{
+ "operation": "settings.resume-metadata",
+ "family": "settings.resume-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "09fea004b891": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ "12d84e6b7567": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4683bd69c2f9": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": {
+ "$rpc": "null"
+ }
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4f53239c1410": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "worktree.ps#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "5a83d3e4c539": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": {
+ "$rpc": "null"
+ }
+ }
+ }
+ },
+ "65c557da4079": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "7c1aad2b38f8": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "8d58bed8d904": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "96c81b544556": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "979c190bfe01": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}"
+ },
+ {
+ "name": "projectGroup.list#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.ps#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}"
+ }
+ ],
+ "b04cfa013a4b": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "b22374c40ccd": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "worktree.ps#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "b5c5e188c7f0": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "e0fbdb9e1ad2": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": {
+ "$rpc": "null"
+ }
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "f48c5a8191d8": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: worktree.ps",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "schedules-settings-resume-metadata-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-resume-metadata-fulfilled.forward:sibling-pending",
+ "observation": {
+ "sender": "b04cfa013a4b",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.forward:settled",
+ "observation": {
+ "sender": "7c1aad2b38f8",
+ "payloads": "979c190bfe01",
+ "settlements": "65c557da4079",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.reverse:sibling-pending",
+ "observation": {
+ "sender": "8d58bed8d904",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.reverse:settled",
+ "observation": {
+ "sender": "7c1aad2b38f8",
+ "payloads": "979c190bfe01",
+ "settlements": "65c557da4079",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "96c81b544556",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.both-reject-forward:settled",
+ "observation": {
+ "sender": "b22374c40ccd",
+ "payloads": "979c190bfe01",
+ "settlements": "5a83d3e4c539",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "4f53239c1410",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.both-reject-reverse:settled",
+ "observation": {
+ "sender": "b22374c40ccd",
+ "payloads": "979c190bfe01",
+ "settlements": "5a83d3e4c539",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "96c81b544556",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.reject-peer-pending:settled",
+ "observation": {
+ "sender": "96c81b544556",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "f48c5a8191d8",
+ "payloads": "979c190bfe01",
+ "settlements": "09fea004b891",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "b5c5e188c7f0",
+ "payloads": "979c190bfe01",
+ "settlements": "4683bd69c2f9",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled.client-cutover:settled",
+ "observation": {
+ "sender": "12d84e6b7567",
+ "payloads": "979c190bfe01",
+ "settlements": "e0fbdb9e1ad2",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json
new file mode 100644
index 00000000000..497424e6dd7
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-task-hydration-fulfilled.json
@@ -0,0 +1,3271 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "029687777f22": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "21a036777905": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "ui.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "2c67761f206c": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "3a9fc3afc213": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: ui.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: preflight.check",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: linear.status",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "4403aed122f0": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "settings.get#1 rejected"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "58c52d8b7c76": {
+ "hydrated": true,
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "5a9cc1957824": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "6bb5a0040cbb": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "77571e1166d2": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7fd922790267": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "Connection lost"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "8574a5791dce": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "8df6a469391c": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "ad1a6c26758a": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "b3e738cd15c7": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "ui.get#1 rejected"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "ca2e38e02916": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "ui.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "ece0e400ef82": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "f0b7ab6c41c5": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "Request timed out: settings.get"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "f7ab8f398a84": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "f8958c854fa5": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "RPC interrupted by connection migration"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "schedules-settings-task-hydration-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-task-hydration-fulfilled.forward:sibling-pending",
+ "observation": {
+ "sender": "ece0e400ef82",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.forward:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "58c52d8b7c76",
+ "effects": "8574a5791dce"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.reverse:sibling-pending",
+ "observation": {
+ "sender": "f7ab8f398a84",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.reverse:settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "58c52d8b7c76",
+ "effects": "8574a5791dce"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "ad1a6c26758a",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "4403aed122f0"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.both-reject-forward:settled",
+ "observation": {
+ "sender": "21a036777905",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "4403aed122f0"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "ca2e38e02916",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "b3e738cd15c7"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.both-reject-reverse:settled",
+ "observation": {
+ "sender": "21a036777905",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "b3e738cd15c7"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "ad1a6c26758a",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "4403aed122f0"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.reject-peer-pending:settled",
+ "observation": {
+ "sender": "029687777f22",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "4403aed122f0"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "3a9fc3afc213",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "f0b7ab6c41c5"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "6bb5a0040cbb",
+ "payloads": "4345d70c756e",
+ "settlements": "77571e1166d2",
+ "state": "c6178e6a0f4e",
+ "effects": "7fd922790267"
+ }
+ },
+ {
+ "id": "settings-task-hydration-fulfilled.client-cutover:settled",
+ "observation": {
+ "sender": "2c67761f206c",
+ "payloads": "4345d70c756e",
+ "settlements": "8df6a469391c",
+ "state": "c6178e6a0f4e",
+ "effects": "f8958c854fa5"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json
new file mode 100644
index 00000000000..2dc53f4d1ab
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/schedules-settings-workspace-context-fulfilled.json
@@ -0,0 +1,1460 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "151393ed2773": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "29d92c5a9f4a": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2a7485a88169": {
+ "providers": ["github"],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "trust": {}
+ },
+ "2d2b2b78a6fc": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "3a834cb85dd8": {
+ "providers": ["github"],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ },
+ "4f53cda18c2b": [],
+ "4faa4c60d187": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "50cf78d5eb2d": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "ui.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "629c1141d84a": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "ui.get#1 rejected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "65c9212479d4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "Connection lost",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "6626d90d16a3": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: preflight.check",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: linear.status",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: settings.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 30000,
+ "error": {
+ "category": "Error",
+ "message": "Request timed out: ui.get",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "70768868971b": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "LogicalClientCutoverError",
+ "message": "RPC interrupted by connection migration",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ }
+ ],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "77571e1166d2": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "disconnect": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "8df6a469391c": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cutover": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "edae57429e34": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ }
+ },
+ "recording": {
+ "scenario": "schedules-settings-workspace-context-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-workspace-context-fulfilled.forward:sibling-pending",
+ "observation": {
+ "sender": "2d2b2b78a6fc",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.forward:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.reverse:sibling-pending",
+ "observation": {
+ "sender": "151393ed2773",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.reverse:settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.both-reject-forward:sibling-pending",
+ "observation": {
+ "sender": "29d92c5a9f4a",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.both-reject-forward:settled",
+ "observation": {
+ "sender": "50cf78d5eb2d",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.both-reject-reverse:sibling-pending",
+ "observation": {
+ "sender": "629c1141d84a",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.both-reject-reverse:settled",
+ "observation": {
+ "sender": "50cf78d5eb2d",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.reject-peer-pending:sibling-pending",
+ "observation": {
+ "sender": "29d92c5a9f4a",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.reject-peer-pending:settled",
+ "observation": {
+ "sender": "4faa4c60d187",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.timeout:settled",
+ "observation": {
+ "sender": "6626d90d16a3",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.disconnect:settled",
+ "observation": {
+ "sender": "65c9212479d4",
+ "payloads": "7076fb41232c",
+ "settlements": "77571e1166d2",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settings-workspace-context-fulfilled.client-cutover:settled",
+ "observation": {
+ "sender": "70768868971b",
+ "payloads": "7076fb41232c",
+ "settlements": "8df6a469391c",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json
new file mode 100644
index 00000000000..3e35dac58b4
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-fulfilled.json
@@ -0,0 +1,126 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "a7af6ac4ce05": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "d52c8e96e222": ["bot-user"]
+ },
+ "recording": {
+ "scenario": "settings-bot-overrides-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json
new file mode 100644
index 00000000000..6edc60959d3
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-refresh-refused.json
@@ -0,0 +1,315 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1d4a2fa741de": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "settings.get#2",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "83bb868a6681": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "Settings refused"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "84155dde485f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "a7af6ac4ce05": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "a7c491dcb172": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "refresh": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "d52c8e96e222": ["bot-user"]
+ },
+ "recording": {
+ "scenario": "settings-bot-overrides-refresh-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "refresh-pending",
+ "observation": {
+ "sender": "84155dde485f",
+ "payloads": "1d4a2fa741de",
+ "settlements": "a7c491dcb172",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "refused-retains-overrides",
+ "observation": {
+ "sender": "83bb868a6681",
+ "payloads": "1d4a2fa741de",
+ "settlements": "a7c491dcb172",
+ "state": "d52c8e96e222",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json
new file mode 100644
index 00000000000..e239df03cfd
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-refused.json
@@ -0,0 +1,120 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "16043f76be6c": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-bot-overrides-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "16043f76be6c",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json b/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json
new file mode 100644
index 00000000000..0da2f5000f4
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-bot-overrides-transport-error.json
@@ -0,0 +1,117 @@
+{
+ "operation": "settings.bot-overrides",
+ "family": "settings.bot-overrides",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "4f53cda18c2b": [],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "d069f81df435": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-bot-overrides-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d069f81df435",
+ "payloads": "9e493785145e",
+ "settlements": "0131611322e3",
+ "state": "4f53cda18c2b",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-home-coalesced.json b/mobile/rpc-foundation/goldens/settings-home-coalesced.json
new file mode 100644
index 00000000000..7daf263bea6
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-home-coalesced.json
@@ -0,0 +1,977 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "1476fcb5bc03": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ },
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "31e52986b3e4": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#2",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#2",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#2",
+ "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#3",
+ "json": "{\"id\":\"frame-7\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#3",
+ "json": "{\"id\":\"frame-8\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#3",
+ "json": "{\"id\":\"frame-9\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "780ac4cd0c2f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ },
+ "8792ba235e35": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "overlapping-load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "third-load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "9c0b1bcf8ef1": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "overlapping-load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "aa599367ba4b": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-6",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "d1e42a0a312d": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#2",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#2",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#2",
+ "json": "{\"id\":\"frame-6\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "d6e8453528de": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "e7049095b2b6": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-6",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#3",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#3",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#3",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-home-coalesced",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "780ac4cd0c2f",
+ "payloads": "13d58e42ea1c",
+ "settlements": "9c0b1bcf8ef1",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d6e8453528de",
+ "payloads": "d1e42a0a312d",
+ "settlements": "9c0b1bcf8ef1",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ },
+ {
+ "id": "follow-up-settled",
+ "observation": {
+ "sender": "aa599367ba4b",
+ "payloads": "d1e42a0a312d",
+ "settlements": "9c0b1bcf8ef1",
+ "state": "79b8c1b0d1d1",
+ "effects": "1476fcb5bc03"
+ }
+ },
+ {
+ "id": "third-query",
+ "observation": {
+ "sender": "e7049095b2b6",
+ "payloads": "31e52986b3e4",
+ "settlements": "8792ba235e35",
+ "state": "79b8c1b0d1d1",
+ "effects": "1476fcb5bc03"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json b/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json
new file mode 100644
index 00000000000..479ab4a9e20
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-home-providers-fulfilled.json
@@ -0,0 +1,263 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "3b52deb98f39": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "50274b2889df": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "780ac4cd0c2f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ }
+ },
+ "recording": {
+ "scenario": "settings-home-providers-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "780ac4cd0c2f",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "3b52deb98f39",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-refused.json b/mobile/rpc-foundation/goldens/settings-home-providers-refused.json
new file mode 100644
index 00000000000..ebb8c753a32
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-home-providers-refused.json
@@ -0,0 +1,258 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "50274b2889df": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "780ac4cd0c2f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ },
+ "b6fb70e7de43": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-home-providers-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "780ac4cd0c2f",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "b6fb70e7de43",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json b/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json
new file mode 100644
index 00000000000..9b2c8bb70e0
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-home-providers-transport-error.json
@@ -0,0 +1,255 @@
+{
+ "operation": "settings.home-providers",
+ "family": "settings.home-providers",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13326bd872a6": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "13d58e42ea1c": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "40b162c1b21a": [
+ {
+ "name": "providers",
+ "value": {
+ "host-1": ["github"]
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "50274b2889df": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "780ac4cd0c2f": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "79b8c1b0d1d1": {
+ "host-1": ["github"]
+ }
+ },
+ "recording": {
+ "scenario": "settings-home-providers-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "780ac4cd0c2f",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "13326bd872a6",
+ "payloads": "13d58e42ea1c",
+ "settlements": "50274b2889df",
+ "state": "79b8c1b0d1d1",
+ "effects": "40b162c1b21a"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-refused.json b/mobile/rpc-foundation/goldens/settings-new-tab-refused.json
new file mode 100644
index 00000000000..0c44711e5f4
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-new-tab-refused.json
@@ -0,0 +1,241 @@
+{
+ "operation": "settings.new-tab-agents",
+ "family": "settings-agent-read",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "155ff7f445b7": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "16de1d62c270": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "274355646d54": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings refused",
+ "isRpcDeliveryUnknown": false
+ }
+ }
+ },
+ "3076d0a13ab4": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "503a535a0cd0": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-new-tab-refused",
+ "checkpoints": [
+ {
+ "id": "pending",
+ "observation": {
+ "sender": "155ff7f445b7",
+ "payloads": "3076d0a13ab4",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "16de1d62c270",
+ "payloads": "503a535a0cd0",
+ "settlements": "274355646d54",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json b/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json
new file mode 100644
index 00000000000..85b23d83d62
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-new-tab-ssh.json
@@ -0,0 +1,248 @@
+{
+ "operation": "settings.new-tab-agents",
+ "family": "settings-agent-read",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "08dec2e70517": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": []
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "155ff7f445b7": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "3076d0a13ab4": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "44136fa355b3": {},
+ "4990c034cddd": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": [
+ {
+ "agent": "codex",
+ "label": "Codex"
+ },
+ {
+ "agent": "claude",
+ "label": "Claude"
+ }
+ ]
+ }
+ },
+ "4f53cda18c2b": [],
+ "503a535a0cd0": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-new-tab-ssh",
+ "checkpoints": [
+ {
+ "id": "pending",
+ "observation": {
+ "sender": "155ff7f445b7",
+ "payloads": "3076d0a13ab4",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "08dec2e70517",
+ "payloads": "503a535a0cd0",
+ "settlements": "4990c034cddd",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json b/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json
new file mode 100644
index 00000000000..c3a65ce6a21
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-new-tab-transport-error.json
@@ -0,0 +1,238 @@
+{
+ "operation": "settings.new-tab-agents",
+ "family": "settings-agent-read",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "155ff7f445b7": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "3076d0a13ab4": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "503a535a0cd0": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.detectRemoteAgents\",\"params\":{\"connectionId\":\"ssh-1\"}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "d309fe89b198": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "id": "repo-1"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "preflight.detectRemoteAgents#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.detectRemoteAgents"
+ },
+ {
+ "name": "params",
+ "value": {
+ "connectionId": "ssh-1"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ }
+ }
+ ],
+ "ddae1d634b3e": {
+ "load": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-new-tab-transport-error",
+ "checkpoints": [
+ {
+ "id": "pending",
+ "observation": {
+ "sender": "155ff7f445b7",
+ "payloads": "3076d0a13ab4",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d309fe89b198",
+ "payloads": "503a535a0cd0",
+ "settlements": "ddae1d634b3e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json b/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json
new file mode 100644
index 00000000000..4365bde3bf8
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-repo-cache-expiry.json
@@ -0,0 +1,811 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0837485f8127": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "0f10f753b645": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cached-query": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "26ce47c562c3": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ },
+ {
+ "name": "repo.list#2",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "6c2fa8796498": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cached-query": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "warm-query": {
+ "status": "fulfilled",
+ "startedAt": 59000,
+ "settledAt": 59000,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "8dff1fd17ddc": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ },
+ {
+ "name": "repo.list#2",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 60000
+ }
+ }
+ ],
+ "cff69ce01bb1": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "cached-query": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "warm-query": {
+ "status": "fulfilled",
+ "startedAt": 59000,
+ "settledAt": 59000,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "expired-query": {
+ "status": "pending",
+ "startedAt": 60000
+ }
+ },
+ "d90e99979f09": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-repo-cache-expiry",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "0837485f8127",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "cache-hit",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "0f10f753b645",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "cache-warm",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "6c2fa8796498",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ },
+ {
+ "id": "cache-expired",
+ "observation": {
+ "sender": "8dff1fd17ddc",
+ "payloads": "26ce47c562c3",
+ "settlements": "cff69ce01bb1",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json
new file mode 100644
index 00000000000..e5991be7cb5
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-fulfilled.json
@@ -0,0 +1,478 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0837485f8127": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "d90e99979f09": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-repo-metadata-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "0837485f8127",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d90e99979f09",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json
new file mode 100644
index 00000000000..8126fa0d7e2
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-refused.json
@@ -0,0 +1,473 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0837485f8127": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ],
+ "fc6ef6e9b0c0": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-repo-metadata-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "0837485f8127",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "fc6ef6e9b0c0",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json
new file mode 100644
index 00000000000..14c92037f1b
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-single-host.json
@@ -0,0 +1,142 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "2bd489a9fa29": {
+ "repoColorsByName": [
+ ["Remote", "#f97316"],
+ ["Remote folder", "#ec4899"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "ssh:ssh-1"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Remote", "repo-1"],
+ ["Remote folder", "repo-2"]
+ ]
+ },
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3af5a7c8dbf8": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote folder",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "5e0c4a6ec80d": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Remote", "#f97316"],
+ ["Remote folder", "#ec4899"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Remote", "repo-1"],
+ ["Remote folder", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "ssh:ssh-1"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "8442ee22b3fc": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-repo-metadata-single-host",
+ "checkpoints": [
+ {
+ "id": "single-host-without-label-lookups",
+ "observation": {
+ "sender": "3af5a7c8dbf8",
+ "payloads": "8442ee22b3fc",
+ "settlements": "2bf0f26c9185",
+ "state": "2bd489a9fa29",
+ "effects": "5e0c4a6ec80d"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json b/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json
new file mode 100644
index 00000000000..d14ace76a55
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-repo-metadata-transport-error.json
@@ -0,0 +1,470 @@
+{
+ "operation": "settings.repo-metadata",
+ "family": "settings.repo-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "071880b671a1": {
+ "hostLabelById": [["ssh:ssh-1", "SSH"]],
+ "hostPlatform": "linux",
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "0837485f8127": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "148d92080e35": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "connectionId": {
+ "$rpc": "null"
+ },
+ "displayName": "Local",
+ "id": "repo-1"
+ },
+ {
+ "connectionId": "ssh-1",
+ "displayName": "Remote",
+ "id": "repo-2"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ssh.listTargetSummaries"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "host.platform#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "host.platform"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ }
+ }
+ ],
+ "2bf0f26c9185": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3d1e2998e81c": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ }
+ ],
+ "6134b73f18d0": {
+ "repoColorsByName": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ],
+ "repoHostIdByRepoId": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ],
+ "repoIconsByName": [],
+ "repoIdsByName": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ "83ef5f7039bf": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "ssh.listTargetSummaries#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"ssh.listTargetSummaries\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "host.platform#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"host.platform\"}"
+ }
+ ],
+ "e91286279b33": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ "ec7bb9cef277": [
+ {
+ "name": "repoColorsByName",
+ "value": [
+ ["Local", "#6366f1"],
+ ["Remote", "#f97316"]
+ ]
+ },
+ {
+ "name": "repoIconsByName",
+ "value": []
+ },
+ {
+ "name": "repoIdsByName",
+ "value": [
+ ["Local", "repo-1"],
+ ["Remote", "repo-2"]
+ ]
+ },
+ {
+ "name": "repoHostIdByRepoId",
+ "value": [
+ ["repo-1", "local"],
+ ["repo-2", "ssh:ssh-1"]
+ ]
+ },
+ {
+ "name": "hostLabelById",
+ "value": [["ssh:ssh-1", "SSH"]]
+ },
+ {
+ "name": "hostPlatform",
+ "value": "linux"
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-repo-metadata-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "0837485f8127",
+ "payloads": "83ef5f7039bf",
+ "settlements": "e91286279b33",
+ "state": "6134b73f18d0",
+ "effects": "3d1e2998e81c"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "148d92080e35",
+ "payloads": "83ef5f7039bf",
+ "settlements": "2bf0f26c9185",
+ "state": "071880b671a1",
+ "effects": "ec7bb9cef277"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json
new file mode 100644
index 00000000000..8d48f15422e
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-fulfilled.json
@@ -0,0 +1,414 @@
+{
+ "operation": "settings.resume-metadata",
+ "family": "settings.resume-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "1f0e36a0a4b5": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4f53cda18c2b": [],
+ "65c557da4079": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "7c1aad2b38f8": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "979c190bfe01": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}"
+ },
+ {
+ "name": "projectGroup.list#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.ps#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-resume-metadata-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f0e36a0a4b5",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "7c1aad2b38f8",
+ "payloads": "979c190bfe01",
+ "settlements": "65c557da4079",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json
new file mode 100644
index 00000000000..993ab1a489e
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-refused.json
@@ -0,0 +1,405 @@
+{
+ "operation": "settings.resume-metadata",
+ "family": "settings.resume-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "111461dd9433": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-4",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "1f0e36a0a4b5": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4ef7f873c93e": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "979c190bfe01": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}"
+ },
+ {
+ "name": "projectGroup.list#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.ps#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-resume-metadata-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f0e36a0a4b5",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "111461dd9433",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json b/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json
new file mode 100644
index 00000000000..838b1138d47
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-resume-metadata-transport-error.json
@@ -0,0 +1,402 @@
+{
+ "operation": "settings.resume-metadata",
+ "family": "settings.resume-metadata",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "059fe1eb42cb": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ }
+ }
+ ],
+ "1f0e36a0a4b5": [
+ {
+ "name": "repo.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "repo.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ }
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "folderWorkspace.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ }
+ },
+ {
+ "name": "projectGroup.list#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "projectGroup.list"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "worktree.ps#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "worktree.ps"
+ },
+ {
+ "name": "params",
+ "value": {
+ "limit": 10000
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "timeoutMs": 30000
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "44136fa355b3": {},
+ "4ef7f873c93e": {
+ "load": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "folderWorkspaces": [],
+ "projectGroups": [],
+ "repos": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "worktrees": []
+ }
+ }
+ },
+ "4f53cda18c2b": [],
+ "979c190bfe01": [
+ {
+ "name": "repo.list#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"repo.list\"}"
+ },
+ {
+ "name": "folderWorkspace.list#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"folderWorkspace.list\"}"
+ },
+ {
+ "name": "projectGroup.list#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"projectGroup.list\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "worktree.ps#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.ps\",\"params\":{\"limit\":10000,\"supportsWorktreeVisibilitySourceDefaults\":true}}"
+ }
+ ],
+ "b11c8efab170": {
+ "load": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-resume-metadata-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f0e36a0a4b5",
+ "payloads": "979c190bfe01",
+ "settlements": "b11c8efab170",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "059fe1eb42cb",
+ "payloads": "979c190bfe01",
+ "settlements": "4ef7f873c93e",
+ "state": "44136fa355b3",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json b/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json
new file mode 100644
index 00000000000..1cd6c4ef3c9
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-hydration-fulfilled.json
@@ -0,0 +1,875 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "58c52d8b7c76": {
+ "hydrated": true,
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "5a9cc1957824": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "8574a5791dce": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "e71a3d7fabe9": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-task-hydration-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "5a9cc1957824",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "58c52d8b7c76",
+ "effects": "8574a5791dce"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json b/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json
new file mode 100644
index 00000000000..2ad4f26f78d
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-hydration-refused.json
@@ -0,0 +1,858 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "69474d6e5c50": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-2",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "963a91c532c8": {
+ "hydrated": true,
+ "settings": {}
+ },
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c479baa4b17d": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {}
+ },
+ {
+ "name": "trustedOrcaHooks",
+ "value": {}
+ },
+ {
+ "name": "githubProjectHiddenFieldIdsByView",
+ "value": {}
+ },
+ {
+ "name": "linearConnected",
+ "value": false
+ },
+ {
+ "name": "linearWorkspaces",
+ "value": []
+ },
+ {
+ "name": "linearTeams",
+ "value": []
+ },
+ {
+ "name": "selectedLinearTeamIds",
+ "value": []
+ },
+ {
+ "name": "selectedLinearWorkspaceId",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "visibleProviders",
+ "value": ["github", "linear"]
+ },
+ {
+ "name": "provider",
+ "value": "github"
+ },
+ {
+ "name": "githubMode",
+ "value": "items"
+ },
+ {
+ "name": "defaultGitHubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubPreset",
+ "value": "issues"
+ },
+ {
+ "name": "githubKind",
+ "value": "issues"
+ },
+ {
+ "name": "linearFilter",
+ "value": "all"
+ },
+ {
+ "name": "githubProjectSettings",
+ "value": {
+ "activeProject": {
+ "$rpc": "null"
+ },
+ "lastViewByProject": {},
+ "pinned": [],
+ "recent": []
+ }
+ },
+ {
+ "name": "query",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "appliedQuery",
+ "value": "is:issue is:open"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": true
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "e71a3d7fabe9": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-task-hydration-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "69474d6e5c50",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "963a91c532c8",
+ "effects": "c479baa4b17d"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json b/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json
new file mode 100644
index 00000000000..72f8d65e696
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-hydration-transport-error.json
@@ -0,0 +1,774 @@
+{
+ "operation": "settings.task-hydration",
+ "family": "settings.task-hydration",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "4345d70c756e": [
+ {
+ "name": "status.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"status.get\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ },
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-5\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ }
+ ],
+ "4908672a6114": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "error",
+ "value": "settings disconnected"
+ },
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ }
+ ],
+ "b6ff724ea992": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-5",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ }
+ ],
+ "c3f33d88e338": [
+ {
+ "name": "taskStateHydrated",
+ "value": false
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "unknown"
+ }
+ },
+ {
+ "name": "showLinearWorkspacePicker",
+ "value": false
+ },
+ {
+ "name": "showLinearTeamPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearViewPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearGroupPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearOrderPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearDisplayPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearConnect",
+ "value": false
+ },
+ {
+ "name": "showProviderPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubKindPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPresetPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitLabFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showLinearFilterPicker",
+ "value": false
+ },
+ {
+ "name": "showSortPicker",
+ "value": false
+ },
+ {
+ "name": "showRepoPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubIssueSourcePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubPagePicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectViewPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectSortPicker",
+ "value": false
+ },
+ {
+ "name": "showGitHubProjectFieldsPicker",
+ "value": false
+ },
+ {
+ "name": "pendingGitHubProjectViewSelection",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "actionItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRepoNotInOrca",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "detailPayload",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "projectRowDetail",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "showCreateTask",
+ "value": false
+ },
+ {
+ "name": "showCreateTargetPicker",
+ "value": false
+ },
+ {
+ "name": "linearStatusPickerItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingProjectGitHubMerge",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "pendingHostedStateChange",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodTaskItem",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "mergeMethodProjectRow",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "reset-workspace",
+ "value": {
+ "$rpc": "null"
+ }
+ },
+ {
+ "name": "tasksSupportState",
+ "value": {
+ "client": "logical-client",
+ "kind": "supported"
+ }
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "c6178e6a0f4e": {
+ "hydrated": false,
+ "settings": {}
+ },
+ "e71a3d7fabe9": [
+ {
+ "name": "status.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "status.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-task-hydration-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "e71a3d7fabe9",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "c3f33d88e338"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "b6ff724ea992",
+ "payloads": "4345d70c756e",
+ "settlements": "0131611322e3",
+ "state": "c6178e6a0f4e",
+ "effects": "4908672a6114"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json b/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json
new file mode 100644
index 00000000000..d81acfd7b73
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-workspace-fulfilled.json
@@ -0,0 +1,214 @@
+{
+ "operation": "settings.task-workspace",
+ "family": "settings.task-workspace",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0ffb818cf79c": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeTaskSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "workspaceAgent",
+ "value": "codex"
+ },
+ {
+ "name": "workspaceAgentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7abdfe20af50": {
+ "creating": "linear:1",
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "8b8197eed660": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "a7af6ac4ce05": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "b05ebf557542": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-task-workspace-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "7abdfe20af50",
+ "effects": "b05ebf557542"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "8b8197eed660",
+ "effects": "0ffb818cf79c"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json b/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json
new file mode 100644
index 00000000000..9cab07994bd
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-workspace-refused.json
@@ -0,0 +1,195 @@
+{
+ "operation": "settings.task-workspace",
+ "family": "settings.task-workspace",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "16043f76be6c": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "236832733364": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "workspaceAgent",
+ "value": "codex"
+ },
+ {
+ "name": "workspaceAgentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7abdfe20af50": {
+ "creating": "linear:1",
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "b05ebf557542": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "d5df3f6b123a": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-task-workspace-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "7abdfe20af50",
+ "effects": "b05ebf557542"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "16043f76be6c",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json b/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json
new file mode 100644
index 00000000000..1e887837140
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-workspace-transport-error.json
@@ -0,0 +1,192 @@
+{
+ "operation": "settings.task-workspace",
+ "family": "settings.task-workspace",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "236832733364": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "workspaceAgent",
+ "value": "codex"
+ },
+ {
+ "name": "workspaceAgentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ },
+ {
+ "name": "creatingKey",
+ "value": {
+ "$rpc": "null"
+ }
+ }
+ ],
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "7abdfe20af50": {
+ "creating": "linear:1",
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "b05ebf557542": [
+ {
+ "name": "creatingKey",
+ "value": "linear:1"
+ },
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "d069f81df435": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "d5df3f6b123a": {
+ "creating": {
+ "$rpc": "null"
+ },
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-task-workspace-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "7abdfe20af50",
+ "effects": "b05ebf557542"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d069f81df435",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "d5df3f6b123a",
+ "effects": "236832733364"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-task-write.json b/mobile/rpc-foundation/goldens/settings-task-write.json
new file mode 100644
index 00000000000..e33c778b1fc
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-task-write.json
@@ -0,0 +1,133 @@
+{
+ "operation": "settings.task-preferences",
+ "family": "settings-best-effort",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "1e0992e3ef1e": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "write disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "5db909d58c6f": {
+ "preset": "assigned"
+ },
+ "a4cc6c82ee53": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "write": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "b26f6d594d62": [
+ {
+ "name": "defaultGitHubPreset",
+ "value": "assigned"
+ }
+ ],
+ "c48c361670b0": [
+ {
+ "name": "settings.update#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.update\",\"params\":{\"defaultTaskViewPreset\":\"assigned\"}}"
+ }
+ ],
+ "e02c44633084": [
+ {
+ "name": "settings.update#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.update"
+ },
+ {
+ "name": "params",
+ "value": {
+ "defaultTaskViewPreset": "assigned"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ]
+ },
+ "recording": {
+ "scenario": "settings-task-write",
+ "checkpoints": [
+ {
+ "id": "optimistic",
+ "observation": {
+ "sender": "e02c44633084",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "1e0992e3ef1e",
+ "payloads": "c48c361670b0",
+ "settlements": "a4cc6c82ee53",
+ "state": "5db909d58c6f",
+ "effects": "b26f6d594d62"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json b/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json
new file mode 100644
index 00000000000..b57980b7679
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-context-fulfilled.json
@@ -0,0 +1,331 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "2a7485a88169": {
+ "providers": ["github"],
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ },
+ "trust": {}
+ },
+ "4f53cda18c2b": [],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7e236d701bd4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "edae57429e34": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-3",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-context-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "edae57429e34",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "2a7485a88169",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json b/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json
new file mode 100644
index 00000000000..5c94794f9b0
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-context-refused.json
@@ -0,0 +1,322 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3a834cb85dd8": {
+ "providers": ["github"],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ },
+ "4f53cda18c2b": [],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7e236d701bd4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "96691837821b": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-3",
+ "ok": false
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-context-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "96691837821b",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json b/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json
new file mode 100644
index 00000000000..28e605e5748
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-context-transport-error.json
@@ -0,0 +1,319 @@
+{
+ "operation": "settings.workspace-context",
+ "family": "settings.workspace-context",
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0131611322e3": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "3a834cb85dd8": {
+ "providers": ["github"],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ },
+ "4f53cda18c2b": [],
+ "7076fb41232c": [
+ {
+ "name": "preflight.check#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"preflight.check\"}"
+ },
+ {
+ "name": "linear.status#1",
+ "json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"linear.status\"}"
+ },
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-3\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ },
+ {
+ "name": "ui.get#1",
+ "json": "{\"id\":\"frame-4\",\"deviceToken\":\"recording-device\",\"method\":\"ui.get\"}"
+ }
+ ],
+ "7e236d701bd4": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "86f1b091bb72": [
+ {
+ "name": "preflight.check#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "preflight.check"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "linear.status#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "linear.status"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-2",
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ }
+ },
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ },
+ {
+ "name": "ui.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "ui.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-4",
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ }
+ }
+ ],
+ "f6a09f8c5b85": {
+ "providers": [],
+ "settings": {
+ "$rpc": "null"
+ },
+ "trust": {}
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-context-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "7e236d701bd4",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "f6a09f8c5b85",
+ "effects": "4f53cda18c2b"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "86f1b091bb72",
+ "payloads": "7076fb41232c",
+ "settlements": "0131611322e3",
+ "state": "3a834cb85dd8",
+ "effects": "4f53cda18c2b"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json
new file mode 100644
index 00000000000..f67a7b51a25
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-fulfilled.json
@@ -0,0 +1,201 @@
+{
+ "operation": "settings.workspace-submit",
+ "family": "settings.workspace-submit",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "13c996e4ec2b": {
+ "creating": true,
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "5efbd884ea5a": {
+ "creating": false,
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "9db655095867": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "runtimeSettings",
+ "value": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ },
+ {
+ "name": "selectedAgent",
+ "value": {
+ "id": "codex",
+ "label": "Codex"
+ }
+ },
+ {
+ "name": "agentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ }
+ ],
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "a7af6ac4ce05": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "id": "frame-1",
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": ["claude"],
+ "hostSettingOverrides": {},
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"]
+ }
+ }
+ }
+ }
+ }
+ ],
+ "c0cb3df4feef": [
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-submit-fulfilled",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "13c996e4ec2b",
+ "effects": "c0cb3df4feef"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "a7af6ac4ce05",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "5efbd884ea5a",
+ "effects": "9db655095867"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json
new file mode 100644
index 00000000000..e5ad545d601
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-refused.json
@@ -0,0 +1,182 @@
+{
+ "operation": "settings.workspace-submit",
+ "family": "settings.workspace-submit",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0e315dbfe7a8": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "selectedAgent",
+ "value": {
+ "id": "codex",
+ "label": "Codex"
+ }
+ },
+ {
+ "name": "agentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ }
+ ],
+ "13c996e4ec2b": {
+ "creating": true,
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "16043f76be6c": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ },
+ "id": "frame-1",
+ "ok": false
+ }
+ }
+ }
+ ],
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2e8e352c8dd1": {
+ "creating": false,
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "c0cb3df4feef": [
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-submit-refused",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "13c996e4ec2b",
+ "effects": "c0cb3df4feef"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "16043f76be6c",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json b/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json
new file mode 100644
index 00000000000..1e6c5a03d01
--- /dev/null
+++ b/mobile/rpc-foundation/goldens/settings-workspace-submit-transport-error.json
@@ -0,0 +1,179 @@
+{
+ "operation": "settings.workspace-submit",
+ "family": "settings.workspace-submit",
+ "namedDeltas": [],
+ "runnerVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "lockfileSha256": "7bcb20be34e3665506cb46b00c50e986be6c671b32d1a303e2e5d12cd7ab4cdf",
+ "recorderSha256": "18f1dccead77f1301b82e8480c1eb1e29a88607b9fe096873a39f8863a09d632",
+ "platform": "darwin",
+ "scenarioVersion": 1,
+ "projectionVersion": 2,
+ "goldenFormatVersion": 2,
+ "values": {
+ "0e315dbfe7a8": [
+ {
+ "name": "error",
+ "value": ""
+ },
+ {
+ "name": "selectedAgent",
+ "value": {
+ "id": "codex",
+ "label": "Codex"
+ }
+ },
+ {
+ "name": "agentOverridden",
+ "value": false
+ },
+ {
+ "name": "error",
+ "value": "Selected agent is disabled. Choose an enabled agent before creating."
+ }
+ ],
+ "13c996e4ec2b": {
+ "creating": true,
+ "error": "",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "1f2f2a0a5737": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ ],
+ "2e8e352c8dd1": {
+ "creating": false,
+ "error": "Selected agent is disabled. Choose an enabled agent before creating.",
+ "settings": {
+ "disabledTuiAgents": ["claude"]
+ }
+ },
+ "6dfef4ef572b": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ }
+ },
+ "9e493785145e": [
+ {
+ "name": "settings.get#1",
+ "json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
+ }
+ ],
+ "c0cb3df4feef": [
+ {
+ "name": "error",
+ "value": ""
+ }
+ ],
+ "d069f81df435": [
+ {
+ "name": "settings.get#1",
+ "args": [
+ {
+ "name": "method",
+ "value": "settings.get"
+ },
+ {
+ "name": "params",
+ "value": {
+ "$rpc": "absent"
+ }
+ },
+ {
+ "name": "options",
+ "value": {
+ "$rpc": "absent"
+ }
+ }
+ ],
+ "settlement": {
+ "status": "rejected",
+ "startedAt": 0,
+ "settledAt": 0,
+ "error": {
+ "category": "Error",
+ "message": "settings disconnected",
+ "isRpcDeliveryUnknown": true
+ }
+ }
+ }
+ ],
+ "f117d93cf44a": {
+ "mount": {
+ "status": "fulfilled",
+ "startedAt": 0,
+ "settledAt": 0,
+ "value": {
+ "$rpc": "undefined"
+ }
+ },
+ "submit": {
+ "status": "pending",
+ "startedAt": 0
+ }
+ }
+ },
+ "recording": {
+ "scenario": "settings-workspace-submit-transport-error",
+ "checkpoints": [
+ {
+ "id": "settings-pending",
+ "observation": {
+ "sender": "1f2f2a0a5737",
+ "payloads": "9e493785145e",
+ "settlements": "f117d93cf44a",
+ "state": "13c996e4ec2b",
+ "effects": "c0cb3df4feef"
+ }
+ },
+ {
+ "id": "settled",
+ "observation": {
+ "sender": "d069f81df435",
+ "payloads": "9e493785145e",
+ "settlements": "6dfef4ef572b",
+ "state": "2e8e352c8dd1",
+ "effects": "0e315dbfe7a8"
+ }
+ }
+ ]
+ }
+}
diff --git a/mobile/rpc-foundation/pilot-scenarios.json b/mobile/rpc-foundation/pilot-scenarios.json
new file mode 100644
index 00000000000..b09d40dd60a
--- /dev/null
+++ b/mobile/rpc-foundation/pilot-scenarios.json
@@ -0,0 +1,2504 @@
+{
+ "schemaVersion": 1,
+ "baseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "scenarios": [
+ {
+ "id": "b1",
+ "operation": "workspace.file-inventory",
+ "version": 1,
+ "family": "legacy-inventory",
+ "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"],
+ "schedules": ["a-b-a", "stale-inflight-cleanup"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "query",
+ "id": "old",
+ "args": {
+ "query": "old"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "complete": "files.searchPaths#1",
+ "params": {
+ "worktree": "id:A",
+ "query": "old",
+ "limit": 16
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ }
+ }
+ },
+ {
+ "bind": "old-inventory",
+ "request": "files.list#1",
+ "params": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "checkpoint": "old-pending"
+ },
+ {
+ "action": "select",
+ "id": "select-b",
+ "args": {
+ "workspace": "B"
+ }
+ },
+ {
+ "action": "select",
+ "id": "reset-a",
+ "args": {
+ "workspace": "A"
+ }
+ },
+ {
+ "action": "query",
+ "id": "fresh",
+ "args": {
+ "query": "fresh"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "complete": "files.searchPaths#2",
+ "params": {
+ "worktree": "id:A",
+ "query": "fresh",
+ "limit": 16
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ }
+ }
+ },
+ {
+ "bind": "fresh-inventory",
+ "request": "files.list#2",
+ "params": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "complete": "old-inventory",
+ "params": {
+ "worktree": "id:A"
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "stale-arrived-fresh-pending"
+ },
+ {
+ "action": "query",
+ "id": "third",
+ "args": {
+ "query": "third"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "checkpoint": "third-query"
+ },
+ {
+ "complete": "fresh-inventory",
+ "params": {
+ "worktree": "id:A"
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "fresh.ts"
+ },
+ {
+ "relativePath": "third.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "fresh-arrived"
+ }
+ ]
+ },
+ {
+ "id": "b2",
+ "operation": "project.update-metadata",
+ "version": 1,
+ "family": "project-explicit-false",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-project-metadata-actions.tsx"],
+ "schedules": [],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "pending"
+ },
+ {
+ "complete": "github.project.updateIssueBySlug#1",
+ "params": {
+ "owner": "owner",
+ "repo": "repo",
+ "host": "github.enterprise.test",
+ "number": 1,
+ "updates": {
+ "addLabels": ["recorded"]
+ }
+ },
+ "reply": {
+ "ok": true,
+ "result": null
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "b3",
+ "operation": "linear.issue-detail",
+ "version": 1,
+ "family": "linear-detail-barrier",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-item-detail-loading.tsx"],
+ "schedules": ["issue-first", "peer-pending"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "pending"
+ },
+ {
+ "complete": "linear.getIssue#1",
+ "params": {
+ "id": "issue-1",
+ "workspaceId": "linear-workspace"
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "issue refused"
+ }
+ }
+ },
+ {
+ "checkpoint": "issue-refused-comments-pending"
+ },
+ {
+ "complete": "linear.issueComments#1",
+ "params": {
+ "issueId": "issue-1",
+ "workspaceId": "linear-workspace"
+ },
+ "reject": {
+ "message": "comments transport error",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-new-tab-ssh",
+ "operation": "settings.new-tab-agents",
+ "version": 1,
+ "family": "settings-agent-read",
+ "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "pending"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "defaultTuiAgent": "codex",
+ "disabledTuiAgents": []
+ }
+ }
+ }
+ },
+ {
+ "complete": "preflight.detectRemoteAgents#1",
+ "params": {
+ "connectionId": "ssh-1"
+ },
+ "reply": {
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-write",
+ "operation": "settings.task-preferences",
+ "version": 1,
+ "family": "settings-best-effort",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-client-settings-actions.tsx"],
+ "schedules": [],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "write",
+ "id": "write",
+ "args": {
+ "preset": "assigned"
+ }
+ },
+ {
+ "checkpoint": "optimistic"
+ },
+ {
+ "complete": "settings.update#1",
+ "params": {
+ "defaultTaskViewPreset": "assigned"
+ },
+ "reject": {
+ "message": "write disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-bot-overrides-fulfilled",
+ "operation": "settings.bot-overrides",
+ "version": 1,
+ "family": "settings.bot-overrides",
+ "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-bot-overrides-refused",
+ "operation": "settings.bot-overrides",
+ "version": 1,
+ "family": "settings.bot-overrides",
+ "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-bot-overrides-transport-error",
+ "operation": "settings.bot-overrides",
+ "version": 1,
+ "family": "settings.bot-overrides",
+ "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-workspace-context-fulfilled",
+ "operation": "settings.workspace-context",
+ "version": 1,
+ "family": "settings.workspace-context",
+ "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ],
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"]
+ },
+ {
+ "id": "settings-workspace-context-refused",
+ "operation": "settings.workspace-context",
+ "version": 1,
+ "family": "settings.workspace-context",
+ "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ],
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"]
+ },
+ {
+ "id": "settings-workspace-context-transport-error",
+ "operation": "settings.workspace-context",
+ "version": 1,
+ "family": "settings.workspace-context",
+ "sites": ["mobile/src/components/use-new-workspace-runtime-context.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ],
+ "namedDeltas": ["new-workspace-runtime-context-null-settings-typeerror"]
+ },
+ {
+ "id": "settings-home-providers-fulfilled",
+ "operation": "settings.home-providers",
+ "version": 1,
+ "family": "settings.home-providers",
+ "sites": ["mobile/src/home/mobile-home-host-requests.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-home-providers-refused",
+ "operation": "settings.home-providers",
+ "version": 1,
+ "family": "settings.home-providers",
+ "sites": ["mobile/src/home/mobile-home-host-requests.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-home-providers-transport-error",
+ "operation": "settings.home-providers",
+ "version": 1,
+ "family": "settings.home-providers",
+ "sites": ["mobile/src/home/mobile-home-host-requests.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-resume-metadata-fulfilled",
+ "operation": "settings.resume-metadata",
+ "version": 1,
+ "family": "settings.resume-metadata",
+ "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ },
+ {
+ "complete": "folderWorkspace.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ },
+ {
+ "complete": "projectGroup.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "worktree.ps#1",
+ "params": {
+ "limit": 10000,
+ "supportsWorktreeVisibilitySourceDefaults": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-resume-metadata-refused",
+ "operation": "settings.resume-metadata",
+ "version": 1,
+ "family": "settings.resume-metadata",
+ "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ },
+ {
+ "complete": "folderWorkspace.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ },
+ {
+ "complete": "projectGroup.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "worktree.ps#1",
+ "params": {
+ "limit": 10000,
+ "supportsWorktreeVisibilitySourceDefaults": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-resume-metadata-transport-error",
+ "operation": "settings.resume-metadata",
+ "version": 1,
+ "family": "settings.resume-metadata",
+ "sites": ["mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": []
+ }
+ }
+ },
+ {
+ "complete": "folderWorkspace.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "folderWorkspaces": []
+ }
+ }
+ },
+ {
+ "complete": "projectGroup.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "groups": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "worktree.ps#1",
+ "params": {
+ "limit": 10000,
+ "supportsWorktreeVisibilitySourceDefaults": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "worktrees": []
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-repo-metadata-fulfilled",
+ "operation": "settings.repo-metadata",
+ "version": 1,
+ "family": "settings.repo-metadata",
+ "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "displayName": "Local",
+ "connectionId": null
+ },
+ {
+ "id": "repo-2",
+ "displayName": "Remote",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "ssh.listTargetSummaries#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "host.platform#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-repo-metadata-refused",
+ "operation": "settings.repo-metadata",
+ "version": 1,
+ "family": "settings.repo-metadata",
+ "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "displayName": "Local",
+ "connectionId": null
+ },
+ {
+ "id": "repo-2",
+ "displayName": "Remote",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "ssh.listTargetSummaries#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "host.platform#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-repo-metadata-transport-error",
+ "operation": "settings.repo-metadata",
+ "version": 1,
+ "family": "settings.repo-metadata",
+ "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "displayName": "Local",
+ "connectionId": null
+ },
+ {
+ "id": "repo-2",
+ "displayName": "Remote",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "ssh.listTargetSummaries#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "host.platform#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-hydration-fulfilled",
+ "operation": "settings.task-hydration",
+ "version": 1,
+ "family": "settings.task-hydration",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "complete": "status.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-hydration-refused",
+ "operation": "settings.task-hydration",
+ "version": 1,
+ "family": "settings.task-hydration",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "complete": "status.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-hydration-transport-error",
+ "operation": "settings.task-hydration",
+ "version": 1,
+ "family": "settings.task-hydration",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "complete": "status.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "capabilities": ["mobile.tasks.v1"]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "ui.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "ui": {}
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-workspace-submit-fulfilled",
+ "operation": "settings.workspace-submit",
+ "version": 1,
+ "family": "settings.workspace-submit",
+ "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-workspace-submit-refused",
+ "operation": "settings.workspace-submit",
+ "version": 1,
+ "family": "settings.workspace-submit",
+ "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-workspace-submit-transport-error",
+ "operation": "settings.workspace-submit",
+ "version": 1,
+ "family": "settings.workspace-submit",
+ "sites": ["mobile/src/components/use-new-workspace-create-submit.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-workspace-fulfilled",
+ "operation": "settings.task-workspace",
+ "version": 1,
+ "family": "settings.task-workspace",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-workspace-refused",
+ "operation": "settings.task-workspace",
+ "version": 1,
+ "family": "settings.task-workspace",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-task-workspace-transport-error",
+ "operation": "settings.task-workspace",
+ "version": 1,
+ "family": "settings.task-workspace",
+ "sites": ["mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "submit",
+ "id": "submit"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-new-tab-refused",
+ "operation": "settings.new-tab-agents",
+ "version": 1,
+ "family": "settings-agent-read",
+ "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "pending"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "settings refused"
+ }
+ }
+ },
+ {
+ "complete": "preflight.detectRemoteAgents#1",
+ "params": {
+ "connectionId": "ssh-1"
+ },
+ "reply": {
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-new-tab-transport-error",
+ "operation": "settings.new-tab-agents",
+ "version": 1,
+ "family": "settings-agent-read",
+ "sites": ["mobile/src/session/mobile-new-tab-agent-loader.ts"],
+ "schedules": ["settings-first"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "checkpoint": "pending"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reject": {
+ "message": "settings disconnected",
+ "deliveryUnknown": true
+ }
+ },
+ {
+ "complete": "preflight.detectRemoteAgents#1",
+ "params": {
+ "connectionId": "ssh-1"
+ },
+ "reply": {
+ "ok": true,
+ "result": ["codex", "claude"]
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "settings-home-coalesced",
+ "operation": "settings.home-providers",
+ "version": 1,
+ "family": "settings.home-providers",
+ "sites": ["mobile/src/home/mobile-home-host-requests.ts"],
+ "schedules": ["stale-inflight-cleanup", "follow-up-cache-observation"],
+ "steps": [
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "action": "load",
+ "id": "overlapping-load"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ },
+ {
+ "complete": "settings.get#2",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "preflight.check#2",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "glab": {
+ "installed": false
+ }
+ }
+ }
+ },
+ {
+ "complete": "linear.status#2",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "connected": false
+ }
+ }
+ },
+ {
+ "checkpoint": "follow-up-settled"
+ },
+ {
+ "action": "load",
+ "id": "third-load"
+ },
+ {
+ "checkpoint": "third-query"
+ }
+ ]
+ },
+ {
+ "id": "settings-repo-cache-expiry",
+ "operation": "settings.repo-metadata",
+ "version": 1,
+ "family": "settings.repo-metadata",
+ "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"],
+ "schedules": ["follow-up-cache-observation", "timer-expiry"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "displayName": "Local",
+ "connectionId": null
+ },
+ {
+ "id": "repo-2",
+ "displayName": "Remote",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "complete": "ssh.listTargetSummaries#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "targets": [
+ {
+ "id": "ssh-1",
+ "label": "SSH"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "complete": "host.platform#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "platform": "linux"
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ },
+ {
+ "action": "load-cached",
+ "id": "cached-query"
+ },
+ {
+ "checkpoint": "cache-hit"
+ },
+ {
+ "advance": 59000
+ },
+ {
+ "action": "load-cached",
+ "id": "warm-query"
+ },
+ {
+ "checkpoint": "cache-warm"
+ },
+ {
+ "advance": 1000
+ },
+ {
+ "action": "load-cached",
+ "id": "expired-query"
+ },
+ {
+ "checkpoint": "cache-expired"
+ }
+ ]
+ },
+ {
+ "id": "inventory-lifecycle",
+ "operation": "workspace.file-inventory",
+ "version": 1,
+ "family": "legacy-inventory",
+ "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"],
+ "schedules": ["reset", "unmount-remount", "blur-retained-route"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "query",
+ "id": "old",
+ "args": {
+ "query": "old"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "complete": "files.searchPaths#1",
+ "params": {
+ "worktree": "id:A",
+ "query": "old",
+ "limit": 16
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "method_not_found",
+ "message": "Unknown method"
+ }
+ }
+ },
+ {
+ "bind": "old-inventory",
+ "request": "files.list#1",
+ "params": {
+ "worktree": "id:A"
+ }
+ },
+ {
+ "complete": "old-inventory",
+ "params": {
+ "worktree": "id:A"
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "old.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ }
+ ]
+ },
+ {
+ "id": "inventory-repeat-query",
+ "operation": "workspace.file-inventory",
+ "version": 1,
+ "family": "legacy-inventory",
+ "sites": ["mobile/src/session/use-mobile-native-chat-file-search.ts"],
+ "schedules": ["normalized-repeat", "cache-cancels-debounce", "cache-stales-inflight"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "query",
+ "id": "alpha",
+ "args": {
+ "query": " ALPHA "
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "complete": "files.searchPaths#1",
+ "params": {
+ "worktree": "id:A",
+ "query": "alpha",
+ "limit": 16
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "alpha.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "action": "query",
+ "id": "beta",
+ "args": {
+ "query": "beta"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "complete": "files.searchPaths#2",
+ "params": {
+ "worktree": "id:A",
+ "query": "beta",
+ "limit": 16
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "beta.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "action": "query",
+ "id": "gamma",
+ "args": {
+ "query": "gamma"
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "bind": "stale-search",
+ "request": "files.searchPaths#3",
+ "params": {
+ "worktree": "id:A",
+ "query": "gamma",
+ "limit": 16
+ }
+ },
+ {
+ "action": "query",
+ "id": "repeat-alpha",
+ "args": {
+ "query": "alpha"
+ }
+ },
+ {
+ "checkpoint": "cached-alpha"
+ },
+ {
+ "complete": "stale-search",
+ "params": {
+ "worktree": "id:A",
+ "query": "gamma",
+ "limit": 16
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "files": [
+ {
+ "relativePath": "gamma.ts"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "stale-search-ignored"
+ },
+ {
+ "action": "query",
+ "id": "delta",
+ "args": {
+ "query": "delta"
+ }
+ },
+ {
+ "action": "query",
+ "id": "repeat-beta",
+ "args": {
+ "query": " BETA "
+ }
+ },
+ {
+ "advance": 120
+ },
+ {
+ "checkpoint": "cached-beta-cancels-debounce"
+ }
+ ]
+ },
+ {
+ "id": "settings-repo-metadata-single-host",
+ "operation": "settings.repo-metadata",
+ "version": 1,
+ "family": "settings.repo-metadata",
+ "sites": ["mobile/src/host-screen/use-host-repo-metadata.ts"],
+ "schedules": ["single-ssh-host"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "action": "load",
+ "id": "load"
+ },
+ {
+ "complete": "repo.list#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "repos": [
+ {
+ "id": "repo-1",
+ "displayName": "Remote",
+ "connectionId": "ssh-1"
+ },
+ {
+ "id": "repo-2",
+ "displayName": "Remote folder",
+ "connectionId": "ssh-1"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "checkpoint": "single-host-without-label-lookups"
+ }
+ ]
+ },
+ {
+ "id": "settings-bot-overrides-refresh-refused",
+ "operation": "settings.bot-overrides",
+ "version": 1,
+ "family": "settings.bot-overrides",
+ "sites": ["mobile/src/session/use-pr-bot-author-overrides.ts"],
+ "schedules": ["success-then-refused"],
+ "steps": [
+ {
+ "action": "mount",
+ "id": "mount"
+ },
+ {
+ "checkpoint": "settings-pending"
+ },
+ {
+ "complete": "settings.get#1",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": true,
+ "result": {
+ "settings": {
+ "disabledTuiAgents": ["claude"],
+ "defaultTuiAgent": "codex",
+ "prBotAuthorOverrides": ["bot-user"],
+ "visibleTaskProviders": ["github", "linear"],
+ "hostSettingOverrides": {}
+ }
+ }
+ }
+ },
+ {
+ "checkpoint": "settled"
+ },
+ {
+ "action": "reset",
+ "id": "refresh"
+ },
+ {
+ "checkpoint": "refresh-pending"
+ },
+ {
+ "complete": "settings.get#2",
+ "params": {
+ "$undefined": true
+ },
+ "reply": {
+ "ok": false,
+ "error": {
+ "code": "refused",
+ "message": "Settings refused"
+ }
+ }
+ },
+ {
+ "checkpoint": "refused-retains-overrides"
+ }
+ ]
+ }
+ ]
+}
diff --git a/mobile/rpc-foundation/settings-recording-coverage.json b/mobile/rpc-foundation/settings-recording-coverage.json
new file mode 100644
index 00000000000..8dca7ab2f61
--- /dev/null
+++ b/mobile/rpc-foundation/settings-recording-coverage.json
@@ -0,0 +1,124 @@
+{
+ "manifestCommit": "1d950ab0e0",
+ "recordingBaseline": "aac38d698ff75ac4c8658addab48ef5a83617619",
+ "excludedKinds": ["device-preference"],
+ "operations": [
+ {
+ "manifestOperation": "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387",
+ "manifestScenarioIds": [
+ "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:fulfilled",
+ "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:refused",
+ "main:mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx:loadMobileResumeMetadata:settings.get:387:transport-error"
+ ],
+ "scenarios": [
+ "settings-resume-metadata-fulfilled",
+ "settings-resume-metadata-refused",
+ "settings-resume-metadata-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91",
+ "manifestScenarioIds": [
+ "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:fulfilled",
+ "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:refused",
+ "main:mobile/src/components/use-new-workspace-create-submit.ts:create:settings.get:91:transport-error"
+ ],
+ "scenarios": [
+ "settings-workspace-submit-fulfilled",
+ "settings-workspace-submit-refused",
+ "settings-workspace-submit-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42",
+ "manifestScenarioIds": [
+ "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:fulfilled",
+ "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:refused",
+ "main:mobile/src/components/use-new-workspace-runtime-context.ts:useNewWorkspaceRuntimeContext:settings.get:42:transport-error"
+ ],
+ "scenarios": [
+ "settings-workspace-context-fulfilled",
+ "settings-workspace-context-refused",
+ "settings-workspace-context-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76",
+ "manifestScenarioIds": [
+ "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:fulfilled",
+ "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:refused",
+ "main:mobile/src/home/mobile-home-host-requests.ts:fetchMobileHomeTaskProviders:settings.get:76:transport-error"
+ ],
+ "scenarios": [
+ "settings-home-providers-fulfilled",
+ "settings-home-providers-refused",
+ "settings-home-providers-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124",
+ "manifestScenarioIds": [
+ "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:fulfilled",
+ "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:refused",
+ "main:mobile/src/host-screen/use-host-repo-metadata.ts:fetchRepoMetadata:settings.get:124:transport-error"
+ ],
+ "scenarios": [
+ "settings-repo-metadata-fulfilled",
+ "settings-repo-metadata-refused",
+ "settings-repo-metadata-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26",
+ "manifestScenarioIds": [
+ "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:fulfilled",
+ "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:refused",
+ "main:mobile/src/session/mobile-new-tab-agent-loader.ts:loadMobileNewTabAgentOptions:settings.get:26:transport-error"
+ ],
+ "scenarios": [
+ "settings-new-tab-ssh",
+ "settings-new-tab-refused",
+ "settings-new-tab-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35",
+ "manifestScenarioIds": [
+ "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:fulfilled",
+ "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:refused",
+ "main:mobile/src/session/use-pr-bot-author-overrides.ts:usePRBotAuthorOverrides:settings.get:35:transport-error"
+ ],
+ "scenarios": [
+ "settings-bot-overrides-fulfilled",
+ "settings-bot-overrides-refused",
+ "settings-bot-overrides-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253",
+ "manifestScenarioIds": [
+ "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:fulfilled",
+ "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:refused",
+ "main:mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx:hydrateTaskState:settings.get:253:transport-error"
+ ],
+ "scenarios": [
+ "settings-task-hydration-fulfilled",
+ "settings-task-hydration-refused",
+ "settings-task-hydration-transport-error"
+ ]
+ },
+ {
+ "manifestOperation": "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75",
+ "manifestScenarioIds": [
+ "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:fulfilled",
+ "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:refused",
+ "main:mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx:createWorkspace:settings.get:75:transport-error"
+ ],
+ "scenarios": [
+ "settings-task-workspace-fulfilled",
+ "settings-task-workspace-refused",
+ "settings-task-workspace-transport-error"
+ ]
+ }
+ ]
+}
diff --git a/mobile/scripts/rpc-recording.mts b/mobile/scripts/rpc-recording.mts
new file mode 100644
index 00000000000..f363f462fc8
--- /dev/null
+++ b/mobile/scripts/rpc-recording.mts
@@ -0,0 +1,46 @@
+import { createRequire } from 'node:module'
+import { resolve } from 'node:path'
+import { runProcess } from '../../src/shared/child-process/run-process.ts'
+import { readScenarios } from '../src/test-support/rpc-recording/scenario-input.ts'
+
+if (process.argv[2] !== '--record' || process.env.RPC_FOUNDATION_RECORD !== '1') {
+ throw new Error('Recording requires --record and RPC_FOUNDATION_RECORD=1')
+}
+const root = resolve(import.meta.dirname, '../..')
+const input = readScenarios(resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json'))
+const baseline = await runProcess({
+ program: 'git',
+ args: [
+ 'diff',
+ '--quiet',
+ input.baseline,
+ '--',
+ 'mobile/src',
+ 'src/shared',
+ 'mobile/pnpm-lock.yaml',
+ // Only the recorder is exempt, and every golden pins `recorderSha256` over it instead.
+ ':!mobile/src/test-support/rpc-recording'
+ ],
+ cwd: root
+})
+if (baseline.code !== 0) {
+ throw new Error('Product sources or lockfile differ from the pinned main baseline')
+}
+const require = createRequire(resolve(root, 'mobile/package.json'))
+const result = await runProcess({
+ program: process.execPath,
+ args: [
+ resolve(require.resolve('vitest/package.json'), '../vitest.mjs'),
+ 'run',
+ 'src/test-support/rpc-recording/pilot-recordings.test.ts',
+ 'src/test-support/rpc-recording/family-recordings.test.ts'
+ ],
+ cwd: resolve(root, 'mobile'),
+ timeoutMs: 120_000,
+ env: { ...process.env, ORCA_BACKGROUND_LAUNCH: '1', RPC_FOUNDATION_MODE: '--record' }
+})
+process.stdout.write(result.stdout)
+process.stderr.write(result.stderr)
+if (result.code !== 0) {
+ process.exitCode = 1
+}
diff --git a/mobile/src/test-support/rpc-recording/README.md b/mobile/src/test-support/rpc-recording/README.md
new file mode 100644
index 00000000000..68bed90b83f
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/README.md
@@ -0,0 +1,162 @@
+# Main RPC recordings
+
+Test infrastructure only. `pilot-scenarios.json` binds logical operations/actions to small
+mount adapters. The adapters execute the actual product modules from the selected source
+root, using React's test renderer; they do not reconstruct acceptance or lifecycle logic.
+The module loader transpiles the real source with TypeScript and resolves task barrels
+lazily so unused native views do not need a device. Accessing an unspecified native import
+fails. The history metadata function is exposed to its adapter without rewriting its body.
+
+The transport reuses `createStableLogicalRpcClient`, `projectMobileRpcRequestParams`
+(through that client), `RpcClientRequestTracker`, and the delivery-unknown marker. Hook
+mounting follows `use-mobile-native-chat-file-search.test.ts`; physical session mounting
+follows `stable-logical-rpc-client.test.ts`. Neither test exported a reusable mount utility.
+
+## Scenario actions
+
+```json
+{"action":"mount","id":"mount"}
+{"action":"query","id":"old-query","args":{"query":"old"}}
+{"advance":120}
+{"complete":"files.searchPaths#1","params":{"worktree":"id:A","query":"old","limit":16},"reply":{"ok":false,"error":{"code":"method_not_found","message":"Unknown method"}}}
+{"bind":"old-inventory","request":"files.list#1","params":{"worktree":"id:A"}}
+{"checkpoint":"pending"}
+{"action":"select","id":"select-b","args":{"workspace":"B"}}
+{"action":"select","id":"reset-a","args":{"workspace":"A"}}
+{"complete":"old-inventory","params":{"worktree":"id:A"},"reply":{"ok":true,"result":{"files":[]}}}
+{"checkpoint":"stale-completed"}
+```
+
+`{"$undefined":true}` in the input means explicit undefined, including an own property;
+absence remains absence. Completion params are asserted against projected sender params.
+Concurrent requests of one method require a logical binding and asserted params; random
+wire ids never identify completions. Timers only advance explicitly, and zero-time drains
+flush due timers, promise continuations, and React work after every step. Date, performance,
+Math.random, Web Crypto random bytes/UUIDs, and transport ids are deterministic.
+
+### Recorded time
+
+Every settlement carries `startedAt` and `settledAt` in virtual milliseconds since the pinned epoch,
+so the projection has a temporal dimension instead of relying on where a checkpoint happens to sit.
+Any transition the product schedules for itself is recorded at the time it actually fires: change a
+request deadline or the search debounce by any amount, in either direction, and a recorded number
+moves. Granularity is exact milliseconds, because the fake timers fire at their scheduled time and
+never coalesce; `recording-runner.test.ts` pins a 5 ms deadline settling at exactly `settledAt: 5`.
+
+A checkpoint's own clock is not recorded. It is always the sum of the scripted `advance` steps, so
+it is a function of the scenario rather than of the code under test; `run-recording.ts` asserts that
+equality at every checkpoint instead, which costs no bytes and fails loudly if it ever drifts.
+
+Recorded time covers thresholds the product schedules for itself. It cannot cover a threshold the
+product only consults when something else makes it act, because no observation exists unless a
+scenario acts inside the window. The `Date.now()` cache TTL in `use-host-repo-metadata.ts` is the
+one such case here, so `settings-repo-cache-expiry` probes the cache at 59 s as well as at 60 s;
+without the earlier probe a 20 s TTL and a 60 s TTL are both expired at 60 s and record identically.
+That probe is coverage, not a substitute for recorded time: it bounds how small a TTL reduction is
+visible, it does not make the reduction itself observable.
+
+## Golden schema
+
+Each file records `runnerVersion`, `baseline`, `lockfileSha256` (mobile's lockfile),
+`recorderSha256`, `platform`, `scenarioVersion`, `projectionVersion`, `goldenFormatVersion`,
+`operation`, `family`, and `namedDeltas`. `platform` and `lockfileSha256` are provenance and are
+not compared: a dependency or OS that changes behaviour changes the trace itself, so comparing
+them would only fail candidates on unrelated bumps. The rest are pinned. `recorderSha256` covers every non-markdown file under
+this directory plus `pilot-scenarios.json`, so the runner that produced a golden is as pinned as
+the product baseline: editing an adapter projection, a fixture or a scenario fails candidate mode
+on the header and forces a deliberate re-record. Checkpoints
+contain ordered sender calls and serialized physical application payloads, action and request
+settlements, projected state, and ordered external effects. Sender args have three positional
+slots; absent, undefined and null are distinct `$rpc` tags. Literal objects containing `$rpc`
+are escaped. Only object keys are sorted; array/effect order, options, budgets, settlement times
+and errors stay observable. Errors contain category, message and `isRpcDeliveryUnknown`, never
+stack paths, plus `code` and a recursively captured `cause` when the thrown error carries them.
+Platform is provenance; candidate comparison does not require the same operating system.
+
+### Value pool
+
+Format version 2 stores each distinct observation field value once under `values`, keyed by the
+first 12 hex of sha256 over the value's sorted-key, whitespace-free JSON. A checkpoint holds five
+hashes (`sender`, `payloads`, `settlements`, `state`, `effects`). Files stay pretty-printed so a
+diff is reviewable; compact printing, element-level interning of list fields and delta encoding
+against the previous checkpoint were measured and rejected. `readGolden` refuses any other
+`goldenFormatVersion`, resolves hashes back to values, and `compareGolden` reports the scenario,
+the checkpoint id, the field, the JSON path inside it, and both resolved values.
+
+### Prelude checkpoints
+
+A generated variant declares the index where its distinguishing input lands. Checkpoints before
+that index observe steps identical to the base, so `hoistPreludeCheckpoints` records them once in
+a `.prelude` scenario and starts each variant at its own divergence; it asserts each
+variant's pre-divergence prefix matches the base. Reply matrices, interruption schedules and
+lifecycle schedules use it. Checkpoints that merely happen to be equal are never merged: reaching
+the same state through different inputs is evidence. Sibling schedules already drop their shared
+prefix, so they are unchanged.
+
+Family matrices and schedule recordings retain both boundaries. Matrices execute
+raw reply partitions at the scripted sender port; they do not claim malformed-frame coverage
+through direct/relay frame validation. Caches
+are tested by follow-up requests; no private cache maps are inspected.
+
+Each family runs the nine partitions in `reply-matrix.ts` once, and nothing is crossed against
+consumed fields. The partitions are the reply shapes a host can send: a normal result, an absent
+result, `null`, an inner `{ok: false}` envelope with a string or object error, an inner envelope
+missing `ok`, an outer refusal, `method_not_found`, and a transport rejection. Shapes that were
+recorded before and are gone were unreachable: `successResponse` always sets `result`, so JSON
+carries no explicit-undefined slot, and no mounted method's handler returns a number, a string, an
+array, a bare `{}`, or a boolean. `null` stays because `linear.getIssue` returns it for a missing
+issue and the b2 seed is a shipped null-result bug.
+
+Detached unhandled rejections are captured as effects in a sequential process-scoped window,
+with prior process listeners restored afterward. This preserves the known main bug recorded
+as `new-workspace-runtime-context-null-settings-typeerror`; it does not repair the effect.
+Task-model projections record setter invocations and resulting model values, not native UI.
+
+## Commands and checker contract
+
+Record only from unchanged pinned product sources and lockfile. The fence exempts only
+`mobile/src/test-support/rpc-recording`, which `recorderSha256` pins instead; every other
+test-support path is compared against the baseline like product code:
+
+```sh
+ORCA_BACKGROUND_LAUNCH=1 RPC_FOUNDATION_RECORD=1 pnpm --dir mobile exec tsx scripts/rpc-recording.mts --record
+ORCA_BACKGROUND_LAUNCH=1 pnpm --dir mobile test src/test-support/rpc-recording
+```
+
+Mutants are the defect evidence. `operation-mutations.ts` holds one anchored source edit per
+adapter family, and every family's recording must change visible state when its mutant is applied,
+which is what shows that family's `state()` projection observes the operation's real output.
+Anchors are asserted to match exactly one site, because a repeated anchor would half-apply while
+still counting as applied. Mutants replace the expression in memory, then run the same real hook.
+`runRecordingMutant` accepts a mutated mounting adapter, scheduler, baseline and optional
+observation projection, and returns `{verdict: "killed" | "survived", recording}`. Every mutant
+test requires the mutation to apply exactly once and change visible state to count as killed.
+
+Set `RPC_FOUNDATION_REFERENCE_ROOT` to an archived `bcba08b3e4` source tree to corroborate the
+three B-seed mutants against the real defect; the reference checkout is never edited. Each seed
+pins the archived tree's visible state, so a later refactor of those files cannot pass by merely
+differing from main. Archived-tree corroboration for b1/b2/b3 is **unproven in CI**:
+CI does not set `RPC_FOUNDATION_REFERENCE_ROOT`. These three checks remain opt-in; the
+in-memory mutant checks run in CI. No archived-tree checks are registered for other
+families because no reference states are defined for them.
+
+## Known-open holes
+
+Two behavioural mutations are not caught by any golden. Both were confirmed by mutating product
+source and re-deriving the whole suite; neither is reachable through the adapters as they stand,
+so closing them needs new adapter capability rather than another scenario. Anyone migrating these
+call sites should not assume the recordings will notice a change here:
+
+- **`use-host-repo-metadata.ts` cross-module cache write.** Deleting `setCachedRepos(...)` survives.
+ No adapter mounts `useNewWorkspaceRepositories`, which is the consumer that reads that cache to
+ open workspace creation without waiting, so the write has no observer. Closing it needs a
+ cache-consumer mount after the metadata fetch.
+- **`use-pr-bot-author-overrides.ts` client-identity guard.** Forcing
+ `sourceClientRef.current !== client` to `false` survives. The adapter closes over one client
+ object: `reset` changes only the refresh key, `cutover` migrates the same stable logical client,
+ and remounting discards the old hook state. Closing it needs a same-mount client replacement.
+
+The original settings slice coverage maps nine host-RPC callers in
+`settings-recording-coverage.json`; device-preference entries are excluded by coordinator
+instruction. Later manifest additions require new scenarios and remain uncovered until
+those recordings land. This runner does not certify native storage or transport skew.
diff --git a/mobile/src/test-support/rpc-recording/family-recordings.test.ts b/mobile/src/test-support/rpc-recording/family-recordings.test.ts
new file mode 100644
index 00000000000..b667f3cf1de
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/family-recordings.test.ts
@@ -0,0 +1,162 @@
+import { resolve } from 'node:path'
+import { describe, expect, it } from 'vitest'
+import { readScenarios } from './scenario-input'
+import { driveReplyMatrix } from './reply-matrix'
+import {
+ bindCompletions,
+ interruptionSchedules,
+ lifecycleSchedules,
+ siblingSchedules
+} from './schedule-driver'
+import { hoistPreludeCheckpoints } from './prelude-checkpoints'
+import { runRecording } from './run-recording'
+import { pilotMountAdapters } from './pilot-mount-adapters'
+import { vitestRecordingScheduler } from './vitest-recording-scheduler'
+import {
+ compareGolden,
+ goldenBytes,
+ goldenRecording,
+ readGolden,
+ writeGolden
+} from './golden-recording'
+import type { Recording, RecordingScenario } from './recording-scenario'
+
+const root = resolve(import.meta.dirname, '../../../..')
+const input = readScenarios(
+ process.env.RPC_FOUNDATION_SCENARIOS ??
+ resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json')
+)
+const directory =
+ process.env.RPC_FOUNDATION_GOLDENS ?? resolve(root, 'mobile/rpc-foundation/goldens')
+const settingsNormal = {
+ settings: {
+ disabledTuiAgents: ['claude'],
+ defaultTuiAgent: 'codex',
+ prBotAuthorOverrides: ['recorded-bot'],
+ visibleTaskProviders: ['github'],
+ hostSettingOverrides: {},
+ defaultTaskSource: 'github',
+ defaultTaskViewPreset: 'all',
+ defaultRepoSelection: null,
+ defaultLinearTeamSelection: null,
+ githubProjects: {}
+ }
+}
+
+async function certify(id: string, scenarios: RecordingScenario[]) {
+ let first = ''
+ for (let run = 0; run < Number(process.env.RPC_FOUNDATION_DETERMINISM_RUNS ?? 2); run++) {
+ const checkpoints: Recording['checkpoints'] = []
+ for (const scenario of scenarios) {
+ const { adapters } = pilotMountAdapters(root)
+ const recording = await runRecording(
+ scenario,
+ adapters[scenario.operation],
+ vitestRecordingScheduler()
+ )
+ for (const checkpoint of recording.checkpoints) {
+ checkpoints.push({ ...checkpoint, id: `${scenario.id}:${checkpoint.id}` })
+ }
+ }
+ const golden = goldenRecording(root, input.baseline, scenarios[0], {
+ scenario: id,
+ checkpoints
+ })
+ const bytes = goldenBytes(golden)
+ if (run) {
+ expect(bytes).toBe(first)
+ }
+ first = bytes
+ if (process.env.RPC_FOUNDATION_MODE === '--record') {
+ await writeGolden(directory, golden, '--record')
+ } else {
+ compareGolden(readGolden(directory, id), golden)
+ }
+ }
+}
+
+describe('family reply partitions and owned schedules', () => {
+ const families = new Map()
+ for (const scenario of input.scenarios) {
+ if (!families.has(scenario.family)) {
+ families.set(scenario.family, scenario)
+ }
+ }
+ for (const [family, base] of families) {
+ const completion = base.steps.find(
+ (step) =>
+ 'complete' in step &&
+ (step.complete.startsWith('settings.') ||
+ (base.id === 'b1' && step.complete === 'fresh-inventory') ||
+ (base.id === 'b2' && step.complete.startsWith('github.project.')) ||
+ (base.id === 'b3' && step.complete.startsWith('linear.getIssue')))
+ )
+ if (!completion || !('complete' in completion)) {
+ continue
+ }
+ const normal =
+ base.id === 'b1'
+ ? { files: [{ relativePath: 'third.ts' }] }
+ : base.id === 'b3'
+ ? { id: 'issue-1', description: 'recorded', labels: [], subIssues: [] }
+ : completion.complete.startsWith('settings.get')
+ ? settingsNormal
+ : { ok: true }
+ it(`${family}: reply partitions once per family`, async () => {
+ await certify(`matrix-${family}`, driveReplyMatrix(base, completion.complete, normal))
+ }, 30_000)
+ }
+ for (const id of [
+ 'b3',
+ 'settings-new-tab-ssh',
+ 'settings-home-providers-fulfilled',
+ 'settings-workspace-context-fulfilled',
+ 'settings-resume-metadata-fulfilled',
+ 'settings-task-hydration-fulfilled',
+ 'settings-repo-metadata-fulfilled'
+ ]) {
+ const base = input.scenarios.find((scenario) => scenario.id === id)!
+ const replies = base.steps.filter((step) => 'complete' in step)
+ // Complete prerequisites before permuting the sibling barrier.
+ const first = replies.find((step) =>
+ step.complete.startsWith(id === 'b3' ? 'linear.getIssue' : 'settings.get')
+ )!
+ const second = replies[replies.indexOf(first) + 1]
+ if (second) {
+ it(`${id}: completion orders and correlated faults`, async () => {
+ await certify(`schedules-${id}`, siblingSchedules(base, first, second))
+ })
+ }
+ }
+ for (const id of ['inventory-lifecycle', 'settings-bot-overrides-fulfilled']) {
+ const base = input.scenarios.find((scenario) => scenario.id === id)!
+ it(`${id}: timeout, disconnect and stable-client cutover`, async () => {
+ await certify(`interruptions-${id}`, interruptionSchedules(base))
+ })
+ }
+ for (const id of [
+ 'inventory-lifecycle',
+ 'b3',
+ 'settings-bot-overrides-fulfilled',
+ 'settings-workspace-context-fulfilled',
+ 'settings-task-hydration-fulfilled'
+ ]) {
+ const base = input.scenarios.find((scenario) => scenario.id === id)!
+ const actions = id.includes('hydration')
+ ? (['unmount'] as const)
+ : id.includes('context')
+ ? (['unmount', 'blur'] as const)
+ : (['reset', 'unmount', 'blur'] as const)
+ it(`${id}: lifecycle boundaries`, async () => {
+ await certify(
+ `lifecycle-${id}`,
+ hoistPreludeCheckpoints(
+ { ...base, steps: bindCompletions(base.steps) },
+ actions
+ .flatMap((action) => lifecycleSchedules(base, action))
+ .filter(({ scenario }) => !id.includes('hydration') || !scenario.id.endsWith('-1'))
+ )
+ )
+ })
+ }
+})
diff --git a/mobile/src/test-support/rpc-recording/golden-recording.ts b/mobile/src/test-support/rpc-recording/golden-recording.ts
new file mode 100644
index 00000000000..645475241ce
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/golden-recording.ts
@@ -0,0 +1,186 @@
+import { format } from 'oxfmt'
+import { createHash } from 'node:crypto'
+import { mkdirSync, readFileSync, writeFileSync } from 'node:fs'
+import { join } from 'node:path'
+import {
+ canonicalJson,
+ internRecording,
+ OBSERVATION_FIELDS,
+ resolveRecording,
+ type InternedRecording,
+ type ValuePool
+} from './golden-value-pool'
+import { recorderSha256 } from './recorder-digest'
+import type { Recording, RecordingScenario } from './recording-scenario'
+import type { RecordedValue } from './recording-values'
+
+export const RUNNER_VERSION = 1
+// 2 stamps every settlement with startedAt/settledAt on the pinned virtual clock.
+export const PROJECTION_VERSION = 2
+// 2 interns observation field values into a pooled map; a version 1 file is not comparable here.
+export const GOLDEN_FORMAT_VERSION = 2
+export type GoldenRecording = {
+ operation: string
+ family: string
+ namedDeltas: string[]
+ runnerVersion: number
+ baseline: string
+ lockfileSha256: string
+ recorderSha256: string
+ platform: string
+ scenarioVersion: number
+ projectionVersion: number
+ goldenFormatVersion: number
+ recording: Recording
+}
+type GoldenFile = Omit & {
+ values: ValuePool
+ recording: InternedRecording
+}
+export function goldenRecording(
+ root: string,
+ baseline: string,
+ scenario: RecordingScenario,
+ recording: Recording
+): GoldenRecording {
+ return {
+ operation: scenario.operation,
+ family: scenario.family,
+ namedDeltas: scenario.namedDeltas ?? [],
+ runnerVersion: RUNNER_VERSION,
+ baseline,
+ lockfileSha256: createHash('sha256')
+ .update(readFileSync(join(root, 'mobile/pnpm-lock.yaml')))
+ .digest('hex'),
+ recorderSha256: recorderSha256(root),
+ platform: process.platform,
+ scenarioVersion: scenario.version,
+ projectionVersion: PROJECTION_VERSION,
+ goldenFormatVersion: GOLDEN_FORMAT_VERSION,
+ recording
+ }
+}
+export function goldenBytes(golden: GoldenRecording): string {
+ const { recording: _value, ...header } = golden
+ const interned = internRecording(golden.recording)
+ return `${JSON.stringify({ ...header, values: interned.values, recording: interned.recording }, null, 2)}\n`
+}
+export function readGolden(directory: string, id: string): GoldenRecording {
+ const file = JSON.parse(readFileSync(goldenPath(directory, id), 'utf8')) as Partial
+ if (file.goldenFormatVersion !== GOLDEN_FORMAT_VERSION) {
+ throw new Error(
+ `Golden ${id} has format version ${JSON.stringify(file.goldenFormatVersion)}; this reader requires ${GOLDEN_FORMAT_VERSION}. Re-record with --record.`
+ )
+ }
+ if (!file.values || !file.recording) {
+ throw new Error(`Golden ${id} is missing its value pool or recording`)
+ }
+ const { values: _pool, ...header } = file as GoldenFile
+ return { ...header, recording: resolveRecording(file.values, file.recording) }
+}
+export async function writeGolden(
+ directory: string,
+ golden: GoldenRecording,
+ mode: string
+): Promise {
+ if (mode !== '--record' || process.env.RPC_FOUNDATION_RECORD !== '1') {
+ throw new Error('Golden writes require --record and RPC_FOUNDATION_RECORD=1')
+ }
+ mkdirSync(directory, { recursive: true })
+ const path = goldenPath(directory, golden.recording.scenario)
+ const result = await format(path, goldenBytes(golden), { printWidth: 100, trailingComma: 'none' })
+ if (result.errors.length) {
+ throw new Error('Cannot format golden')
+ }
+ writeFileSync(path, result.code)
+}
+function goldenPath(directory: string, id: string): string {
+ if (!/^[a-z0-9][a-z0-9._-]*$/.test(id)) {
+ throw new Error(`Unsafe scenario id: ${id}`)
+ }
+ return join(directory, `${id}.json`)
+}
+export function compareGolden(expected: GoldenRecording, actual: GoldenRecording): void {
+ const scenario = actual.recording.scenario
+ // Platform and lockfile are provenance: a dependency that changes behaviour changes the trace
+ // below, and one that does not must not fail the compare on every unrelated bump.
+ const pinned = { ...expected, platform: actual.platform, lockfileSha256: actual.lockfileSha256 }
+ const { recording: _expectedRecording, ...expectedHeader } = pinned
+ const { recording: _actualRecording, ...actualHeader } = actual
+ for (const [key, value] of Object.entries(expectedHeader)) {
+ const found = (actualHeader as Record)[key]
+ if (JSON.stringify(found) !== JSON.stringify(value)) {
+ throw new Error(
+ `Recording differs: ${scenario} header ${key}\n expected ${JSON.stringify(value)}\n actual ${JSON.stringify(found)}`
+ )
+ }
+ }
+ const expectedIds = pinned.recording.checkpoints.map((checkpoint) => checkpoint.id)
+ const actualIds = actual.recording.checkpoints.map((checkpoint) => checkpoint.id)
+ if (JSON.stringify(expectedIds) !== JSON.stringify(actualIds)) {
+ const index = expectedIds.findIndex((id, at) => id !== actualIds[at])
+ throw new Error(
+ `Recording differs: ${scenario} checkpoint list (${expectedIds.length} expected, ${actualIds.length} actual)\n first divergence at index ${index}: expected ${JSON.stringify(expectedIds[index])}, actual ${JSON.stringify(actualIds[index])}`
+ )
+ }
+ for (const [index, checkpoint] of pinned.recording.checkpoints.entries()) {
+ const found = actual.recording.checkpoints[index]!
+ for (const field of OBSERVATION_FIELDS) {
+ if (
+ canonicalJson(checkpoint.observation[field]) === canonicalJson(found.observation[field])
+ ) {
+ continue
+ }
+ const path = firstDifference(checkpoint.observation[field], found.observation[field])
+ throw new Error(
+ `Recording differs: ${scenario} checkpoint ${checkpoint.id} field ${field}${path.path}\n expected ${excerpt(path.expected)}\n actual ${excerpt(path.actual)}`
+ )
+ }
+ }
+ if (goldenBytes(pinned) !== goldenBytes(actual)) {
+ throw new Error(`Recording differs: ${scenario} (encoding)`)
+ }
+}
+function firstDifference(
+ expected: RecordedValue,
+ actual: RecordedValue,
+ path = ''
+): { path: string; expected: RecordedValue; actual: RecordedValue } {
+ const here = { path, expected, actual }
+ if (
+ expected === null ||
+ actual === null ||
+ typeof expected !== 'object' ||
+ typeof actual !== 'object' ||
+ Array.isArray(expected) !== Array.isArray(actual)
+ ) {
+ return here
+ }
+ if (Array.isArray(expected) && Array.isArray(actual)) {
+ const index = expected.findIndex(
+ (entry, at) => canonicalJson(entry) !== canonicalJson(actual[at] as RecordedValue)
+ )
+ return index === -1 || index >= actual.length
+ ? here
+ : firstDifference(
+ expected[index] as RecordedValue,
+ actual[index] as RecordedValue,
+ `${path}[${index}]`
+ )
+ }
+ const left = expected as Record
+ const right = actual as Record
+ const key = [...new Set([...Object.keys(left), ...Object.keys(right)])]
+ .sort()
+ .find(
+ (name) =>
+ canonicalJson(left[name] as RecordedValue) !== canonicalJson(right[name] as RecordedValue)
+ )
+ return key === undefined || !(key in left) || !(key in right)
+ ? here
+ : firstDifference(left[key] as RecordedValue, right[key] as RecordedValue, `${path}.${key}`)
+}
+function excerpt(value: RecordedValue): string {
+ const json = JSON.stringify(value)
+ return json === undefined ? 'absent' : json.length > 600 ? `${json.slice(0, 600)}…` : json
+}
diff --git a/mobile/src/test-support/rpc-recording/golden-value-pool.ts b/mobile/src/test-support/rpc-recording/golden-value-pool.ts
new file mode 100644
index 00000000000..9bc53cb9251
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/golden-value-pool.ts
@@ -0,0 +1,86 @@
+import { createHash } from 'node:crypto'
+import type { Observation, Recording } from './recording-scenario'
+import type { RecordedValue } from './recording-values'
+
+export const OBSERVATION_FIELDS = [
+ 'sender',
+ 'payloads',
+ 'settlements',
+ 'state',
+ 'effects'
+] as const satisfies readonly (keyof Observation)[]
+
+export type ValuePool = Record
+export type InternedObservation = Record
+export type InternedRecording = {
+ scenario: string
+ checkpoints: { id: string; observation: InternedObservation }[]
+}
+
+export function canonicalJson(value: RecordedValue): string {
+ if (value === null || typeof value !== 'object') {
+ return JSON.stringify(value)
+ }
+ if (Array.isArray(value)) {
+ return `[${value.map(canonicalJson).join(',')}]`
+ }
+ const record = value as Record
+ return `{${Object.keys(record)
+ .sort()
+ .map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key] as RecordedValue)}`)
+ .join(',')}}`
+}
+
+export function valueHash(value: RecordedValue): string {
+ return createHash('sha256').update(canonicalJson(value)).digest('hex').slice(0, 12)
+}
+
+export function internRecording(recording: Recording): {
+ values: ValuePool
+ recording: InternedRecording
+} {
+ const pool: ValuePool = {}
+ const canonical = new Map()
+ const checkpoints = recording.checkpoints.map((checkpoint) => {
+ const observation = {} as InternedObservation
+ for (const field of OBSERVATION_FIELDS) {
+ const value = checkpoint.observation[field]
+ const json = canonicalJson(value)
+ const hash = valueHash(value)
+ const seen = canonical.get(hash)
+ if (seen !== undefined && seen !== json) {
+ throw new Error(`Golden value hash collision at ${hash} (${checkpoint.id}.${field})`)
+ }
+ canonical.set(hash, json)
+ pool[hash] = value
+ observation[field] = hash
+ }
+ return { id: checkpoint.id, observation }
+ })
+ // Hash-ordered so a value's position in the pool does not move when checkpoints are reordered.
+ const values = Object.fromEntries(
+ Object.keys(pool)
+ .sort()
+ .map((hash) => [hash, pool[hash] as RecordedValue])
+ )
+ return { values, recording: { scenario: recording.scenario, checkpoints } }
+}
+
+export function resolveRecording(values: ValuePool, recording: InternedRecording): Recording {
+ return {
+ scenario: recording.scenario,
+ checkpoints: recording.checkpoints.map((checkpoint) => {
+ const observation = {} as Observation
+ for (const field of OBSERVATION_FIELDS) {
+ const hash = checkpoint.observation[field]
+ if (!(hash in values)) {
+ throw new Error(
+ `Golden value ${hash} is missing from the pool (${checkpoint.id}.${field})`
+ )
+ }
+ observation[field] = values[hash] as RecordedValue
+ }
+ return { id: checkpoint.id, observation }
+ })
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/hook-mount.ts b/mobile/src/test-support/rpc-recording/hook-mount.ts
new file mode 100644
index 00000000000..97e646b81d0
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/hook-mount.ts
@@ -0,0 +1,36 @@
+import { createElement } from 'react'
+import { act, create, type ReactTestRenderer } from 'react-test-renderer'
+
+export function hookMount(render: () => void) {
+ let renderer: ReactTestRenderer | undefined
+ function Harness() {
+ render()
+ return null
+ }
+ return {
+ mount() {
+ act(() => {
+ renderer = create(createElement(Harness))
+ })
+ },
+ update() {
+ act(() => {
+ renderer?.update(createElement(Harness))
+ })
+ },
+ unmount() {
+ act(() => {
+ renderer?.unmount()
+ renderer = undefined
+ })
+ }
+ }
+}
+
+export function performHookAction(action: () => T): T {
+ let result!: T
+ act(() => {
+ result = action()
+ })
+ return result
+}
diff --git a/mobile/src/test-support/rpc-recording/observable-model.ts b/mobile/src/test-support/rpc-recording/observable-model.ts
new file mode 100644
index 00000000000..c3e0941b3fe
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/observable-model.ts
@@ -0,0 +1,45 @@
+import type { MountContext } from './recording-scenario'
+
+export function projectObservable(value: unknown): unknown {
+ if (value instanceof Set) {
+ return [...value].map(projectObservable)
+ }
+ if (value instanceof Map) {
+ return [...value].map(([key, entry]) => [key, projectObservable(entry)])
+ }
+ if (Array.isArray(value)) {
+ return value.map(projectObservable)
+ }
+ if (value && typeof value === 'object') {
+ return Object.fromEntries(
+ Object.entries(value).map(([key, entry]) => [
+ key,
+ key === 'client' ? 'logical-client' : projectObservable(entry)
+ ])
+ )
+ }
+ return value
+}
+
+export function observableModel(context: MountContext, initial: Record) {
+ const values = { ...initial }
+ const callbacks = new Map void>()
+ return new Proxy(values, {
+ get(target, key: string) {
+ if (key in target) {
+ return target[key]
+ }
+ if (!key.startsWith('set') || key.length < 4) {
+ throw new Error(`Missing model fixture: ${key}`)
+ }
+ if (!callbacks.has(key)) {
+ const field = key[3].toLowerCase() + key.slice(4)
+ callbacks.set(key, (value) => {
+ target[field] = typeof value === 'function' ? value(target[field]) : value
+ context.effect(field, projectObservable(target[field]))
+ })
+ }
+ return callbacks.get(key)
+ }
+ })
+}
diff --git a/mobile/src/test-support/rpc-recording/operation-module-loader.ts b/mobile/src/test-support/rpc-recording/operation-module-loader.ts
new file mode 100644
index 00000000000..0577e20a9cf
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/operation-module-loader.ts
@@ -0,0 +1,129 @@
+import { compileFunction } from 'node:vm'
+import { existsSync, readFileSync } from 'node:fs'
+import { dirname, resolve } from 'node:path'
+import * as React from 'react'
+import ts from 'typescript'
+import { OPERATION_EXPOSURES, OPERATION_MUTATIONS, type Mutation } from './operation-mutations'
+
+export type { Mutation }
+export type OperationModule = Record unknown>
+
+// Only mounting boundaries are substituted; every operation and projection is loaded from source.
+export function operationModuleLoader(root: string, mutation?: Mutation) {
+ const cache = new Map()
+ let mutationCount = 0
+ function pathFor(base: string): string {
+ const file = ['', '.ts', '.tsx', '/index.ts']
+ .map((suffix) => base + suffix)
+ .find((path) => existsSync(path) && /\.tsx?$/.test(path))
+ if (!file) {
+ throw new Error(`Module not found: ${base}`)
+ }
+ return file
+ }
+ function imported(base: string, name: string): unknown {
+ if (name === 'react') {
+ return React
+ }
+ if (!name.startsWith('.')) {
+ return new Proxy(
+ {},
+ {
+ get: () => {
+ throw new Error(`Unspecified native mounting dependency: ${name}`)
+ }
+ }
+ )
+ }
+ return new Proxy(
+ {},
+ { get: (_target, key) => load(pathFor(resolve(dirname(base), name)))[String(key)] }
+ )
+ }
+ function barrel(file: string, source: string): OperationModule {
+ const parsed = ts.createSourceFile(file, source, ts.ScriptTarget.Latest, true)
+ return new Proxy(
+ {},
+ {
+ get: (_target, key) => {
+ for (const statement of parsed.statements) {
+ if (
+ !ts.isExportDeclaration(statement) ||
+ !statement.moduleSpecifier ||
+ !ts.isStringLiteral(statement.moduleSpecifier) ||
+ statement.isTypeOnly
+ ) {
+ continue
+ }
+ const name = statement.moduleSpecifier.text
+ if (statement.exportClause && ts.isNamedExports(statement.exportClause)) {
+ const binding = statement.exportClause.elements.find(
+ (item) => item.name.text === key && !item.isTypeOnly
+ )
+ if (binding) {
+ return (imported(file, name) as OperationModule)[
+ binding.propertyName?.text ?? String(key)
+ ]
+ }
+ } else if (!statement.exportClause) {
+ const target = pathFor(resolve(dirname(file), name))
+ const text = readFileSync(target, 'utf8')
+ if (
+ new RegExp(`export (?:async )?(?:function|const|class) ${String(key)}\\b`).test(
+ text
+ )
+ ) {
+ return load(target)[String(key)]
+ }
+ }
+ }
+ throw new Error(`Unmapped barrel export: ${String(key)} in ${file}`)
+ }
+ }
+ )
+ }
+ function load(file: string): OperationModule {
+ const cached = cache.get(file)
+ if (cached) {
+ return cached
+ }
+ let source = readFileSync(file, 'utf8')
+ if (/mobile-tasks-(dependencies|legacy-foundation)\.tsx?$/.test(file)) {
+ const result = barrel(file, source)
+ cache.set(file, result)
+ return result
+ }
+ const spec = mutation ? OPERATION_MUTATIONS[mutation] : undefined
+ if (spec && file.endsWith(spec.file)) {
+ // Counting occurrences, not replace calls: `replace` would silently take only the first.
+ const occurrences = source.split(spec.before).length - 1
+ if (occurrences !== 1) {
+ throw new Error(`Mutant anchor matched ${occurrences} sites, expected 1: ${mutation}`)
+ }
+ source = source.replace(spec.before, spec.after)
+ mutationCount++
+ }
+ const exports: OperationModule = {}
+ cache.set(file, exports)
+ const output = ts.transpileModule(source, {
+ compilerOptions: {
+ module: ts.ModuleKind.CommonJS,
+ target: ts.ScriptTarget.ES2022,
+ jsx: ts.JsxEmit.React
+ }
+ }).outputText
+ const exposure = OPERATION_EXPOSURES.find(([suffix]) => file.endsWith(suffix))?.[1] ?? ''
+ const evaluate = compileFunction(output + exposure, ['require', 'exports'], { filename: file })
+ evaluate((name: string) => imported(file, name), exports)
+ return exports
+ }
+ return {
+ load: (path: string): T =>
+ load(pathFor(resolve(root, path))) as unknown as T,
+ assertMutationApplied: () => {
+ if (mutation && mutationCount !== 1) {
+ throw new Error(`Expected one mutation, applied ${mutationCount}`)
+ }
+ }
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/operation-mutations.ts b/mobile/src/test-support/rpc-recording/operation-mutations.ts
new file mode 100644
index 00000000000..924b5effe21
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/operation-mutations.ts
@@ -0,0 +1,126 @@
+/**
+ * One in-memory source edit per adapter family. Each anchor names a real expression in a mounted
+ * operation; the recording that owns the family must change visible state when it is applied, which
+ * is what proves that family's `state()` projection observes the operation's actual output.
+ */
+export type OperationMutation = {
+ /** Suffix of the mounted source file the anchor belongs to. */
+ file: string
+ before: string
+ after: string
+}
+
+export const OPERATION_MUTATIONS = {
+ // Loses the generation comparison, so a stale workspace response poisons the search cache.
+ race: {
+ file: 'use-mobile-native-chat-file-search.ts',
+ before: '!response.ok || generationRef.current !== generation',
+ after: '!response.ok'
+ },
+ // Accepts a null result envelope instead of rejecting it. The guard is repeated for three
+ // mutations in this file; the anchor carries the message so only the recorded one is edited.
+ acceptance: {
+ file: 'use-mobile-tasks-project-metadata-actions.tsx',
+ before: `if (result.ok === false) {
+ throw new Error(result.error?.message ?? 'Failed to update GitHub item')`,
+ after: `if (result?.ok === false) {
+ throw new Error(result.error?.message ?? 'Failed to update GitHub item')`
+ },
+ // Rejects the barrier early, so the sibling comment request is abandoned out of order.
+ order: {
+ file: 'use-mobile-tasks-item-detail-loading.tsx',
+ before: `{ timeoutMs: 30_000 }
+ ),
+ client.sendRequest(
+ 'linear.issueComments'`,
+ after: `{ timeoutMs: 30_000 }
+ ).then((response) => { if (!isSuccess(response)) throw new Error(response.error.message); return response }),
+ client.sendRequest(
+ 'linear.issueComments'`
+ },
+ // Reads the overrides one level above the settings envelope.
+ 'bot-overrides-envelope': {
+ file: 'use-pr-bot-author-overrides.ts',
+ before: 'const overrides = result?.settings?.prBotAuthorOverrides',
+ after:
+ 'const overrides = (result as { prBotAuthorOverrides?: unknown } | null)?.prBotAuthorOverrides'
+ },
+ // Keeps the settings envelope instead of unwrapping it into the runtime settings.
+ 'workspace-context-envelope': {
+ file: 'use-new-workspace-runtime-context.ts',
+ before: ` settingsResult.result as {
+ settings: NewWorktreeRuntimeSettings & { visibleTaskProviders?: unknown }
+ }
+ ).settings`,
+ after: ` settingsResult.result as NewWorktreeRuntimeSettings & {
+ visibleTaskProviders?: unknown
+ }
+ )`
+ },
+ // Treats any successful linear.status reply as a connected Linear account.
+ 'home-providers-linear': {
+ file: 'mobile-home-host-requests.ts',
+ before: 'linearConnected: linear?.connected === true',
+ after: 'linearConnected: linear !== null'
+ },
+ // Reads the host platform from the wrong field of the host.platform result.
+ 'repo-metadata-platform': {
+ file: 'use-host-repo-metadata.ts',
+ before: 'const platform = (result as { platform?: unknown } | null)?.platform',
+ after: 'const platform = (result as { hostPlatform?: unknown } | null)?.hostPlatform'
+ },
+ // Hydrates the runtime task settings from the envelope rather than its settings member.
+ 'task-hydration-envelope': {
+ file: 'use-mobile-tasks-runtime-hydration.tsx',
+ before: ` ? (((settingsResponse.result as { settings?: RuntimeTaskSettings }).settings ??
+ {}) as RuntimeTaskSettings)`,
+ after: ' ? ((settingsResponse.result ?? {}) as RuntimeTaskSettings)'
+ },
+ // Applies the preset only after the write settles, dropping the optimistic update.
+ 'task-preferences-optimistic': {
+ file: 'use-mobile-tasks-client-settings-actions.tsx',
+ before: ` setDefaultGitHubPreset(preset)
+ if (!client || !taskUiReady) {
+ return
+ }
+ void client.sendRequest('settings.update', { defaultTaskViewPreset: preset }).catch(() => {`,
+ after: ` if (!client || !taskUiReady) {
+ setDefaultGitHubPreset(preset)
+ return
+ }
+ void client
+ .sendRequest('settings.update', { defaultTaskViewPreset: preset })
+ .then(() => setDefaultGitHubPreset(preset))
+ .catch(() => {`
+ },
+ // Publishes the settings envelope as the refreshed workspace runtime settings.
+ 'workspace-submit-envelope': {
+ file: 'use-new-workspace-create-submit.ts',
+ before: ` latestRuntimeSettings = result.settings
+ args.setRuntimeSettings(result.settings)`,
+ after: ` latestRuntimeSettings = result as unknown as NewWorktreeRuntimeSettings
+ args.setRuntimeSettings(result as unknown as NewWorktreeRuntimeSettings)`
+ },
+ // Publishes the settings envelope as the refreshed task runtime settings.
+ 'task-workspace-envelope': {
+ file: 'use-mobile-tasks-workspace-create-actions.tsx',
+ before: ` latestRuntimeTaskSettings = ((
+ settingsResponse.result as { settings?: RuntimeTaskSettings }
+ ).settings ?? {}) as RuntimeTaskSettings`,
+ after:
+ ' latestRuntimeTaskSettings = (settingsResponse.result ?? {}) as RuntimeTaskSettings'
+ }
+} as const satisfies Record
+
+export type Mutation = keyof typeof OPERATION_MUTATIONS
+
+/**
+ * Appended to a mounted module after transpile, keyed by file suffix. An adapter drives a real
+ * operation the product keeps module-private; exposing it here beats editing the pinned source.
+ */
+export const OPERATION_EXPOSURES: readonly (readonly [string, string])[] = [
+ [
+ 'MobileAgentSessionHistoryPanel.tsx',
+ '\nexports.loadMobileResumeMetadata = loadMobileResumeMetadata;'
+ ]
+]
diff --git a/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts b/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts
new file mode 100644
index 00000000000..eac84923aec
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/pilot-mount-adapters.ts
@@ -0,0 +1,221 @@
+import { observableModel } from './observable-model'
+import { settingsMountAdapters } from './settings-mount-adapters'
+import { workspaceSettingsMounts } from './workspace-settings-mounts'
+import type { MountAdapter } from './recording-scenario'
+import { hookMount, performHookAction } from './hook-mount'
+import { operationModuleLoader, type Mutation } from './operation-module-loader'
+
+export function pilotMountAdapters(
+ root: string,
+ options: { reference?: boolean; mutation?: Mutation } = {}
+) {
+ const modules = operationModuleLoader(root, options.mutation)
+ const adapters: Record = {
+ ...settingsMountAdapters(modules),
+ ...workspaceSettingsMounts(modules),
+ 'workspace.file-inventory': ({ client }) => {
+ const useSearch = modules.load<
+ typeof import('../../session/use-mobile-native-chat-file-search')
+ >('mobile/src/session/use-mobile-native-chat-file-search.ts').useMobileNativeChatFileSearch
+ const operations = options.reference
+ ? modules
+ .load('mobile/src/session/native-host-session-native-chat-operations.ts')
+ .nativeHostSessionNativeChatOperations(client)
+ : undefined
+ let workspace = 'A'
+ let state: ReturnType
+ const hook = hookMount(() => {
+ state = useSearch({ client, operations, worktreeId: workspace } as Parameters<
+ typeof useSearch
+ >[0])
+ })
+ return {
+ action(name, args) {
+ if (name === 'mount' || name === 'remount') {
+ return hook.mount()
+ }
+ if (name === 'unmount') {
+ return hook.unmount()
+ }
+ if (name === 'select') {
+ workspace = String(args.workspace)
+ return hook.update()
+ }
+ if (name === 'reset') {
+ const previous = workspace
+ workspace = `${workspace}-reset`
+ hook.update()
+ workspace = previous
+ return hook.update()
+ }
+ if (name === 'query') {
+ return performHookAction(() => state.loadNativeChatFiles(String(args.query)))
+ }
+ if (name === 'blur') {
+ return
+ }
+ throw new Error(`Unknown inventory action: ${name}`)
+ },
+ state: () => ({ files: state?.nativeChatFilePaths ?? [] }),
+ dispose: hook.unmount
+ }
+ },
+ 'project.update-metadata': (context) => {
+ const useMetadata = modules.load<
+ typeof import('../../tasks/use-mobile-tasks-project-metadata-actions')
+ >(
+ 'mobile/src/tasks/use-mobile-tasks-project-metadata-actions.tsx'
+ ).useMobileTasksProjectMetadataActions
+ const row = {
+ id: 'item-1',
+ itemType: 'ISSUE',
+ content: { repository: 'owner/repo', number: 1, labels: [], assignees: [] }
+ }
+ const model = observableModel(context, {
+ projectMutating: false,
+ projectRowDetailError: '',
+ projectRowItem: row,
+ githubProjectTable: { rows: [row] },
+ projectRowDetail: null,
+ projectFieldDrafts: {}
+ })
+ Object.assign(model, {
+ client: context.client,
+ activeGitHubProjectHost: 'github.enterprise.test'
+ })
+ if (options.reference) {
+ model.taskOperations = {
+ projectMutation: modules
+ .load('mobile/src/tasks/native-host-task-project-mutation-operations.ts')
+ .nativeHostTaskProjectMutationOperations(context.client)
+ }
+ }
+ let actions: ReturnType
+ const hook = hookMount(() => {
+ actions = useMetadata(model as unknown as Parameters[0])
+ })
+ return {
+ action(name) {
+ if (name === 'mount') {
+ return hook.mount()
+ }
+ if (name === 'submit') {
+ return actions.mutateProjectRowMetadata(
+ row as unknown as Parameters[0],
+ { addLabels: ['recorded'] }
+ )
+ }
+ throw new Error(`Unknown project action: ${name}`)
+ },
+ state: () => ({
+ mutating: model.projectMutating,
+ error: model.projectRowDetailError,
+ row: model.projectRowItem
+ }),
+ dispose: hook.unmount
+ }
+ },
+ 'linear.issue-detail': (context) => {
+ const useDetail = modules.load<
+ typeof import('../../tasks/use-mobile-tasks-item-detail-loading')
+ >('mobile/src/tasks/use-mobile-tasks-item-detail-loading.tsx').useMobileTasksItemDetailLoading
+ const model = observableModel(context, {
+ actionItem: {
+ provider: 'linear',
+ source: { id: 'issue-1', workspaceId: 'linear-workspace' }
+ },
+ detailLoading: false,
+ detailError: '',
+ detailPayload: null,
+ items: []
+ })
+ Object.assign(model, { client: context.client, tasksSupported: true, detailRefreshSeq: 0 })
+ if (options.reference) {
+ model.taskOperations = {
+ detail: modules
+ .load('mobile/src/tasks/native-host-task-detail-operations.ts')
+ .nativeHostTaskDetailOperations(context.client)
+ }
+ }
+ const hook = hookMount(() => {
+ useDetail(model as unknown as Parameters[0])
+ })
+ return {
+ action(name) {
+ if (name === 'mount' || name === 'remount') {
+ return hook.mount()
+ }
+ if (name === 'unmount') {
+ return hook.unmount()
+ }
+ if (name === 'reset') {
+ model.detailRefreshSeq = Number(model.detailRefreshSeq) + 1
+ return hook.update()
+ }
+ if (name === 'blur') {
+ return
+ }
+ throw new Error(`Unknown detail action: ${name}`)
+ },
+ state: () => ({
+ loading: model.detailLoading,
+ error: model.detailError,
+ payload: model.detailPayload
+ }),
+ dispose: hook.unmount
+ }
+ },
+ 'settings.new-tab-agents': ({ client }) => {
+ const load = modules.load(
+ 'mobile/src/session/mobile-new-tab-agent-loader.ts'
+ ).loadMobileNewTabAgentOptions
+ return {
+ action: (_name, args) =>
+ load({ client, worktreeId: String(args.workspace ?? 'repo-1::/folder') }),
+ state: () => ({}),
+ dispose: () => {}
+ }
+ },
+ 'settings.task-preferences': (context) => {
+ const usePreferences = modules.load<
+ typeof import('../../tasks/use-mobile-tasks-client-settings-actions')
+ >(
+ 'mobile/src/tasks/use-mobile-tasks-client-settings-actions.tsx'
+ ).useMobileTasksClientSettingsActions
+ const model = observableModel(context, {
+ defaultGitHubPreset: 'all',
+ githubProjectSettings: {}
+ })
+ Object.assign(model, {
+ client: context.client,
+ clientRef: { current: context.client },
+ repoSelectionHydratedRef: { current: false },
+ defaultRepoSelectionRef: { current: null },
+ taskUiReady: true,
+ githubProjectFieldVisibilityScope: null,
+ taskResumeRef: { current: {} },
+ trustedOrcaHooks: {}
+ })
+ let actions: ReturnType
+ const hook = hookMount(() => {
+ actions = usePreferences(model as unknown as Parameters[0])
+ })
+ return {
+ action(name, args) {
+ if (name === 'mount') {
+ return hook.mount()
+ }
+ if (name === 'write') {
+ return actions.persistDefaultGitHubPreset(
+ args.preset as Parameters[0]
+ )
+ }
+ throw new Error(`Unknown preferences action: ${name}`)
+ },
+ state: () => ({ preset: model.defaultGitHubPreset }),
+ dispose: hook.unmount
+ }
+ }
+ }
+ return { adapters, assertMutationApplied: modules.assertMutationApplied }
+}
diff --git a/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts b/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts
new file mode 100644
index 00000000000..a7bd7e48aa3
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/pilot-recordings.test.ts
@@ -0,0 +1,139 @@
+import { readScenarios } from './scenario-input'
+import { resolve } from 'node:path'
+import { describe, expect, it } from 'vitest'
+import { runRecording, runRecordingMutant } from './run-recording'
+import { pilotMountAdapters } from './pilot-mount-adapters'
+import { vitestRecordingScheduler } from './vitest-recording-scheduler'
+import {
+ compareGolden,
+ goldenBytes,
+ goldenRecording,
+ readGolden,
+ writeGolden
+} from './golden-recording'
+import type { Recording } from './recording-scenario'
+import type { RecordedValue } from './recording-values'
+import type { Mutation } from './operation-mutations'
+
+const root = resolve(import.meta.dirname, '../../../..')
+const input = readScenarios(
+ process.env.RPC_FOUNDATION_SCENARIOS ??
+ resolve(root, 'mobile/rpc-foundation/pilot-scenarios.json')
+)
+const goldens = process.env.RPC_FOUNDATION_GOLDENS ?? resolve(root, 'mobile/rpc-foundation/goldens')
+// One mutant per adapter family, so every family's state projection is shown to be load-bearing.
+const mutants: Record = {
+ b1: 'race',
+ b2: 'acceptance',
+ b3: 'order',
+ 'settings-bot-overrides-fulfilled': 'bot-overrides-envelope',
+ 'settings-workspace-context-fulfilled': 'workspace-context-envelope',
+ 'settings-home-providers-fulfilled': 'home-providers-linear',
+ 'settings-repo-metadata-fulfilled': 'repo-metadata-platform',
+ 'settings-task-hydration-fulfilled': 'task-hydration-envelope',
+ 'settings-task-write': 'task-preferences-optimistic',
+ 'settings-workspace-submit-fulfilled': 'workspace-submit-envelope',
+ 'settings-task-workspace-fulfilled': 'task-workspace-envelope'
+}
+/**
+ * The archived tree's visible state, pinned per seed: b1 serves the poisoned empty inventory, b2
+ * accepts the null envelope and applies the label anyway, and b3 reports the issue error instead of
+ * the comments error. An unrelated refactor of those files can no longer keep this green by merely
+ * differing; the mutants remain the defect evidence and this run corroborates them.
+ */
+const referenceStates: Record = {
+ b1: { files: [] },
+ b2: {
+ error: '',
+ mutating: false,
+ row: {
+ content: {
+ assignees: [],
+ labels: [{ color: '808080', name: 'recorded' }],
+ number: 1,
+ repository: 'owner/repo'
+ },
+ id: 'item-1',
+ itemType: 'ISSUE'
+ }
+ },
+ b3: { error: 'issue refused', loading: false, payload: { $rpc: 'null' } }
+}
+
+function visibleState(recording: Recording): RecordedValue {
+ return recording.checkpoints.at(-1)!.observation.state
+}
+
+describe('RPC main recordings', () => {
+ for (const scenario of input.scenarios) {
+ it(`${scenario.id}: frozen main parity and determinism`, async () => {
+ let first = ''
+ for (let run = 0; run < Number(process.env.RPC_FOUNDATION_DETERMINISM_RUNS ?? 2); run++) {
+ const { adapters } = pilotMountAdapters(root)
+ const recording = await runRecording(
+ scenario,
+ adapters[scenario.operation],
+ vitestRecordingScheduler()
+ )
+ if (scenario.id === 'b1') {
+ expect(visibleState(recording)).toEqual({ files: ['third.ts'] })
+ }
+ if (scenario.id === 'b2') {
+ expect(visibleState(recording)).toMatchObject({
+ error: "Cannot read properties of null (reading 'ok')"
+ })
+ }
+ if (scenario.id === 'b3') {
+ expect(visibleState(recording)).toMatchObject({
+ error: 'comments transport error',
+ loading: false
+ })
+ }
+ const golden = goldenRecording(root, input.baseline, scenario, recording)
+ const bytes = goldenBytes(golden)
+ if (run) {
+ expect(bytes).toBe(first)
+ }
+ first = bytes
+ if (process.env.RPC_FOUNDATION_MODE === '--record') {
+ await writeGolden(goldens, golden, '--record')
+ } else {
+ compareGolden(readGolden(goldens, scenario.id), golden)
+ }
+ }
+ })
+ const mutation = mutants[scenario.id]
+ if (mutation) {
+ it(`${scenario.id}: kills ${mutation}`, async () => {
+ const { adapters, assertMutationApplied } = pilotMountAdapters(root, { mutation })
+ const result = await runRecordingMutant(
+ scenario,
+ adapters[scenario.operation],
+ vitestRecordingScheduler(),
+ readGolden(goldens, scenario.id).recording,
+ visibleState
+ )
+ assertMutationApplied()
+ expect(result.verdict).toBe('killed')
+ })
+ const reference = referenceStates[scenario.id]
+ if (reference) {
+ it.skipIf(!process.env.RPC_FOUNDATION_REFERENCE_ROOT)(
+ `${scenario.id}: rejects bcba08b3e4`,
+ async () => {
+ const { adapters } = pilotMountAdapters(process.env.RPC_FOUNDATION_REFERENCE_ROOT!, {
+ reference: true
+ })
+ const result = await runRecording(
+ scenario,
+ adapters[scenario.operation],
+ vitestRecordingScheduler()
+ )
+ expect(visibleState(result)).toEqual(reference)
+ expect(reference).not.toEqual(visibleState(readGolden(goldens, scenario.id).recording))
+ }
+ )
+ }
+ }
+ }
+})
diff --git a/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts b/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts
new file mode 100644
index 00000000000..2f3595b84f6
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/prelude-checkpoints.ts
@@ -0,0 +1,53 @@
+import type { RecordingScenario, ScenarioStep } from './recording-scenario'
+
+/** A generated variant plus the index in its own step list where its distinguishing input lands. */
+export type DivergingScenario = { scenario: RecordingScenario; divergence: number }
+
+function stepsKey(steps: readonly ScenarioStep[]): string {
+ // The replacer keeps an explicit-undefined param distinct from an absent one.
+ return JSON.stringify(steps, (_key, value: unknown) =>
+ value === undefined ? '$undefined' : value
+ )
+}
+
+/**
+ * A checkpoint before a variant's divergence observes steps identical to the base, so every variant
+ * would record the same value. Record those once in a prelude and let each variant start at its own
+ * divergence; checkpoints that merely happen to be equal are left alone.
+ */
+export function hoistPreludeCheckpoints(
+ base: RecordingScenario,
+ variants: readonly DivergingScenario[]
+): RecordingScenario[] {
+ if (!variants.length) {
+ throw new Error(`No variants to hoist: ${base.id}`)
+ }
+ for (const { scenario, divergence } of variants) {
+ if (
+ stepsKey(scenario.steps.slice(0, divergence)) !== stepsKey(base.steps.slice(0, divergence))
+ ) {
+ throw new Error(`Variant diverges from the base before its divergence index: ${scenario.id}`)
+ }
+ }
+ const shared = Math.max(...variants.map((variant) => variant.divergence))
+ const preludeSteps = base.steps.slice(0, shared)
+ const scenarios: RecordingScenario[] = []
+ if (preludeSteps.some((step) => 'checkpoint' in step)) {
+ scenarios.push({
+ ...base,
+ id: `${base.id}.prelude`,
+ schedules: ['prelude'],
+ steps: preludeSteps
+ })
+ }
+ for (const { scenario, divergence } of variants) {
+ const steps = scenario.steps.filter(
+ (step, index) => !('checkpoint' in step) || index >= divergence
+ )
+ if (!steps.some((step) => 'checkpoint' in step)) {
+ throw new Error(`Variant has no checkpoint at or after its divergence: ${scenario.id}`)
+ }
+ scenarios.push({ ...scenario, steps })
+ }
+ return scenarios
+}
diff --git a/mobile/src/test-support/rpc-recording/recorder-digest.ts b/mobile/src/test-support/rpc-recording/recorder-digest.ts
new file mode 100644
index 00000000000..af25eb1f5fd
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/recorder-digest.ts
@@ -0,0 +1,44 @@
+import { createHash } from 'node:crypto'
+import { readFileSync, readdirSync } from 'node:fs'
+import { join, posix } from 'node:path'
+
+export const RECORDER_DIRECTORY = 'mobile/src/test-support/rpc-recording'
+export const RECORDER_SCENARIO_INPUT = 'mobile/rpc-foundation/pilot-scenarios.json'
+const digests = new Map()
+
+function collect(root: string, relative: string, files: string[]): void {
+ for (const entry of readdirSync(join(root, relative), { withFileTypes: true }).sort((a, b) =>
+ a.name < b.name ? -1 : 1
+ )) {
+ const child = `${relative}/${entry.name}`
+ if (entry.isDirectory()) {
+ collect(root, child, files)
+ } else if (!entry.name.endsWith('.md')) {
+ files.push(child)
+ }
+ }
+}
+
+/**
+ * Every executable recorder input, so a golden is attributable to one runner and one scenario file.
+ * Prose is excluded because it cannot change a recording; a candidate run recomputes this and
+ * `compareGolden` fails the header, which forces a recorder edit to re-record deliberately.
+ */
+export function recorderSha256(root: string): string {
+ const cached = digests.get(root)
+ if (cached !== undefined) {
+ return cached
+ }
+ const files: string[] = []
+ collect(root, RECORDER_DIRECTORY, files)
+ files.push(RECORDER_SCENARIO_INPUT)
+ const digest = createHash('sha256')
+ .update(
+ files
+ .map((file) => `${file}:${readFileSync(join(root, ...file.split(posix.sep)))}`)
+ .join('\n')
+ )
+ .digest('hex')
+ digests.set(root, digest)
+ return digest
+}
diff --git a/mobile/src/test-support/rpc-recording/recording-runner.test.ts b/mobile/src/test-support/rpc-recording/recording-runner.test.ts
new file mode 100644
index 00000000000..d0d27a588fd
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/recording-runner.test.ts
@@ -0,0 +1,324 @@
+import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
+import { tmpdir } from 'node:os'
+import { join } from 'node:path'
+import { operationModuleLoader } from './operation-module-loader'
+import { describe, expect, it } from 'vitest'
+import { captureArguments, captureError, captureValue } from './recording-values'
+import { RECORDER_DIRECTORY, recorderSha256 } from './recorder-digest'
+import { ScriptedRpcTransport } from './scripted-rpc-transport'
+import { vitestRecordingScheduler } from './vitest-recording-scheduler'
+import {
+ compareGolden,
+ GOLDEN_FORMAT_VERSION,
+ goldenBytes,
+ PROJECTION_VERSION,
+ readGolden,
+ writeGolden,
+ type GoldenRecording
+} from './golden-recording'
+import { hoistPreludeCheckpoints } from './prelude-checkpoints'
+import { runRecording } from './run-recording'
+import type { Observation, RecordingScenario } from './recording-scenario'
+
+describe('recording boundaries', () => {
+ it('preserves omitted arguments, explicit undefined, null, order, and tagged-looking objects', () => {
+ expect(captureArguments(['m'])).not.toEqual(captureArguments(['m', undefined]))
+ expect(captureArguments(['m', undefined])).not.toEqual(captureArguments(['m', null]))
+ expect(captureValue({ b: undefined, a: null })).toEqual(captureValue({ a: null, b: undefined }))
+ expect(captureValue({ $rpc: 'undefined' })).not.toEqual(captureValue(undefined))
+ expect(captureValue([1, 2])).not.toEqual(captureValue([2, 1]))
+ })
+
+ it('runs the actual stable-client projection and physical serialization', async () => {
+ const clock = vitestRecordingScheduler()
+ clock.start()
+ const transport = new ScriptedRpcTransport(clock.elapsed)
+ try {
+ const result = transport.client.sendRequest(
+ 'worktree.ps',
+ { omitted: undefined, nullable: null },
+ { timeoutMs: 7 }
+ )
+ await clock.flush()
+ expect(transport.requests[0].args).toEqual(
+ captureArguments(['worktree.ps', { omitted: undefined, nullable: null }, { timeoutMs: 7 }])
+ )
+ expect(JSON.parse(transport.payloads[0].json)).toEqual({
+ id: 'frame-1',
+ deviceToken: 'recording-device',
+ method: 'worktree.ps',
+ params: { nullable: null, supportsWorktreeVisibilitySourceDefaults: true }
+ })
+ transport.complete(
+ 'worktree.ps#1',
+ { omitted: undefined, nullable: null, supportsWorktreeVisibilitySourceDefaults: true },
+ { ok: true, result: null }
+ )
+ await result
+ } finally {
+ transport.dispose()
+ await clock.flush()
+ clock.stop()
+ }
+ })
+
+ it('requires logical bindings plus matching params for concurrent same-method calls', async () => {
+ const clock = vitestRecordingScheduler()
+ clock.start()
+ const transport = new ScriptedRpcTransport(clock.elapsed)
+ try {
+ const left = transport.client.sendRequest('files.list', { worktree: 'A' })
+ const right = transport.client.sendRequest('files.list', { worktree: 'B' })
+ await clock.flush()
+ expect(() => transport.complete('files.list#1', { worktree: 'A' }, {})).toThrow(
+ 'logical binding'
+ )
+ expect(() => transport.bind('left', 'files.list#1', { worktree: 'B' })).toThrow(
+ 'params mismatch'
+ )
+ transport.bind('left', 'files.list#1', { worktree: 'A' })
+ transport.bind('right', 'files.list#2', { worktree: 'B' })
+ transport.complete('right', { worktree: 'B' }, { ok: true, result: [] })
+ transport.complete('left', { worktree: 'A' }, { ok: true, result: [] })
+ await Promise.all([left, right])
+ } finally {
+ transport.dispose()
+ await clock.flush()
+ clock.stop()
+ }
+ })
+
+ it('records actual deadline ambiguity and leaves peers pending before their deadlines', async () => {
+ const clock = vitestRecordingScheduler()
+ clock.start()
+ const transport = new ScriptedRpcTransport(clock.elapsed)
+ try {
+ void transport.client.sendRequest('short', {}, { timeoutMs: 5 }).catch(() => {})
+ void transport.client.sendRequest('long', {}, { timeoutMs: 50 }).catch(() => {})
+ await clock.advance(5)
+ // Exact virtual milliseconds: the deadline is recorded at the value the product asked for.
+ expect(transport.requests[0].settlement).toEqual({
+ status: 'rejected',
+ startedAt: 0,
+ settledAt: 5,
+ error: {
+ category: 'Error',
+ message: 'Request timed out: short',
+ isRpcDeliveryUnknown: true
+ }
+ })
+ expect(transport.requests[1].settlement).toEqual({ status: 'pending', startedAt: 0 })
+ } finally {
+ transport.dispose()
+ await clock.flush()
+ clock.stop()
+ }
+ })
+
+ it('never writes from candidate mode and requires both recording authorizations', async () => {
+ const directory = mkdtempSync(join(tmpdir(), 'rpc-recording-'))
+ const golden = sampleGolden('test')
+ const previous = process.env.RPC_FOUNDATION_RECORD
+ try {
+ process.env.RPC_FOUNDATION_RECORD = '0'
+ await expect(writeGolden(directory, golden, '--record')).rejects.toThrow('require')
+ process.env.RPC_FOUNDATION_RECORD = '1'
+ await expect(writeGolden(directory, golden, 'candidate')).rejects.toThrow('require')
+ await writeGolden(directory, golden, '--record')
+ expect(readGolden(directory, 'test')).toEqual(golden)
+ expect(() => readGolden(directory, '../escape')).toThrow('Unsafe')
+ writeFileSync(
+ join(directory, 'stale.json'),
+ JSON.stringify({
+ ...JSON.parse(readFileSync(join(directory, 'test.json'), 'utf8')),
+ goldenFormatVersion: 1
+ })
+ )
+ expect(() => readGolden(directory, 'stale')).toThrow(
+ `format version 1; this reader requires ${GOLDEN_FORMAT_VERSION}`
+ )
+ } finally {
+ if (previous === undefined) {
+ delete process.env.RPC_FOUNDATION_RECORD
+ } else {
+ process.env.RPC_FOUNDATION_RECORD = previous
+ }
+ rmSync(directory, { recursive: true })
+ }
+ })
+
+ it('pools repeated observation values and still resolves them for comparison', () => {
+ const golden = sampleGolden('pooled')
+ golden.recording.checkpoints.push({ id: 'again', observation: observation('idle') })
+ const file = JSON.parse(goldenBytes(golden)) as {
+ values: Record
+ recording: { checkpoints: { observation: Observation }[] }
+ }
+ const [first, second] = file.recording.checkpoints
+ expect(second!.observation).toEqual(first!.observation)
+ // [] is shared by three fields; {} and the state object are the other two pool entries.
+ expect(Object.keys(file.values)).toHaveLength(3)
+ expect(file.values[first!.observation.state as unknown as string]).toEqual({ phase: 'idle' })
+ })
+
+ it('names the scenario, checkpoint and field, and prints values rather than hashes', () => {
+ const expected = sampleGolden('diffable')
+ const actual = sampleGolden('diffable')
+ actual.recording.checkpoints[0]!.observation.state = { phase: 'busy' }
+ expect(() => compareGolden(expected, actual)).toThrow(
+ /Recording differs: diffable checkpoint settled field state\.phase[\s\S]*"idle"[\s\S]*"busy"/
+ )
+ })
+
+ it('accepts a dependency bump but still refuses a different baseline', () => {
+ const expected = sampleGolden('provenance')
+ const bumped = sampleGolden('provenance')
+ bumped.lockfileSha256 = 'd'.repeat(64)
+ expect(() => compareGolden(expected, bumped)).not.toThrow()
+ const rebased = sampleGolden('provenance')
+ rebased.baseline = 'e'.repeat(40)
+ expect(() => compareGolden(expected, rebased)).toThrow(
+ /Recording differs: provenance header baseline/
+ )
+ })
+
+ it('records a shared prefix once and refuses a variant that already diverged', () => {
+ const base: RecordingScenario = {
+ id: 'family',
+ operation: 'op',
+ version: 1,
+ family: 'op',
+ sites: [],
+ schedules: [],
+ steps: [
+ { action: 'mount', id: 'mount' },
+ { checkpoint: 'pending' },
+ { complete: 'a#1', params: {}, reply: { ok: true } },
+ { checkpoint: 'settled' }
+ ]
+ }
+ const variant = (id: string, reply: unknown): RecordingScenario => ({
+ ...base,
+ id,
+ steps: base.steps.map((step) => ('complete' in step ? { ...step, reply } : step))
+ })
+ const hoisted = hoistPreludeCheckpoints(base, [
+ { divergence: 2, scenario: variant('family.ok', { ok: true }) },
+ { divergence: 2, scenario: variant('family.refused', { ok: false }) }
+ ])
+ expect(hoisted.map((scenario) => scenario.id)).toEqual([
+ 'family.prelude',
+ 'family.ok',
+ 'family.refused'
+ ])
+ expect(hoisted[0]!.steps.filter((step) => 'checkpoint' in step)).toEqual([
+ { checkpoint: 'pending' }
+ ])
+ expect(hoisted[1]!.steps.filter((step) => 'checkpoint' in step)).toEqual([
+ { checkpoint: 'settled' }
+ ])
+ expect(() =>
+ hoistPreludeCheckpoints(base, [
+ { divergence: 3, scenario: variant('family.late', { ok: false }) }
+ ])
+ ).toThrow('diverges from the base')
+ })
+
+ it('refuses a checkpoint whose clock drifted from the scripted advances', async () => {
+ const scheduler = vitestRecordingScheduler()
+ await expect(
+ runRecording(
+ {
+ id: 'drift',
+ operation: 'op',
+ version: 1,
+ family: 'op',
+ sites: [],
+ schedules: [],
+ steps: [{ advance: 10 }, { checkpoint: 'settled' }]
+ },
+ () => ({ action: () => {}, state: () => ({}), dispose: () => {} }),
+ { ...scheduler, elapsed: () => scheduler.elapsed() + 1 }
+ )
+ ).rejects.toThrow('Checkpoint clock drifted: drift settled at 11, scripted 10')
+ })
+
+ it('records an error code and cause, and omits both when the error carries neither', () => {
+ expect(captureError(new Error('plain'))).toEqual({
+ category: 'Error',
+ message: 'plain',
+ isRpcDeliveryUnknown: false
+ })
+ const detailed = Object.assign(new TypeError('outer'), {
+ code: 'refused',
+ cause: new Error('inner')
+ })
+ expect(captureError(detailed)).toMatchObject({
+ code: 'refused',
+ cause: { category: 'Error', message: 'inner' }
+ })
+ })
+
+ it('digests every executable recorder input and ignores prose', () => {
+ const root = mkdtempSync(join(tmpdir(), 'rpc-recorder-'))
+ try {
+ const directory = join(root, RECORDER_DIRECTORY)
+ mkdirSync(directory, { recursive: true })
+ mkdirSync(join(root, 'mobile/rpc-foundation'), { recursive: true })
+ writeFileSync(join(root, 'mobile/rpc-foundation/pilot-scenarios.json'), '{}')
+ writeFileSync(join(directory, 'runner.ts'), 'export const runner = 1')
+ const original = recorderSha256(root)
+ writeFileSync(join(directory, 'README.md'), 'prose')
+ expect(recorderSha256(join(root, '.'))).toBe(original)
+ writeFileSync(join(directory, 'runner.ts'), 'export const runner = 2')
+ expect(recorderSha256(join(root, './'))).not.toBe(original)
+ } finally {
+ rmSync(root, { recursive: true })
+ }
+ })
+
+ it('refuses a mutation anchor that matches more than once', () => {
+ const root = mkdtempSync(join(tmpdir(), 'rpc-mutant-'))
+ try {
+ const anchor = 'const overrides = result?.settings?.prBotAuthorOverrides'
+ mkdirSync(join(root, 'mod'), { recursive: true })
+ writeFileSync(
+ join(root, 'mod/use-pr-bot-author-overrides.ts'),
+ `const result = {} as { settings?: { prBotAuthorOverrides?: unknown } }\nexport function first() {\n ${anchor}\n return overrides\n}\nexport function second() {\n ${anchor}\n return overrides\n}\n`
+ )
+ const loader = operationModuleLoader(root, 'bot-overrides-envelope')
+ expect(() => loader.load('mod/use-pr-bot-author-overrides.ts')).toThrow(
+ 'matched 2 sites, expected 1'
+ )
+ } finally {
+ rmSync(root, { recursive: true })
+ }
+ })
+})
+
+function observation(phase: string): Observation {
+ return {
+ sender: [],
+ payloads: [],
+ settlements: {},
+ state: { phase },
+ effects: []
+ }
+}
+
+function sampleGolden(id: string): GoldenRecording {
+ return {
+ operation: 'op',
+ family: 'op',
+ namedDeltas: [],
+ runnerVersion: 1,
+ baseline: 'a'.repeat(40),
+ lockfileSha256: 'b'.repeat(64),
+ recorderSha256: 'c'.repeat(64),
+ platform: process.platform,
+ scenarioVersion: 1,
+ projectionVersion: PROJECTION_VERSION,
+ goldenFormatVersion: GOLDEN_FORMAT_VERSION,
+ recording: { scenario: id, checkpoints: [{ id: 'settled', observation: observation('idle') }] }
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/recording-scenario.ts b/mobile/src/test-support/rpc-recording/recording-scenario.ts
new file mode 100644
index 00000000000..b896efb681c
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/recording-scenario.ts
@@ -0,0 +1,54 @@
+import type { RpcClient } from '../../transport/rpc-client'
+import type { RecordedValue } from './recording-values'
+
+export type RpcRequestSender = Pick
+export type Rejection = {
+ message: string
+ category?: 'Error' | 'TypeError'
+ deliveryUnknown?: boolean
+}
+export type ScenarioStep =
+ | { action: string; id: string; args?: Record }
+ | { complete: string; params: unknown; reply?: unknown; reject?: Rejection }
+ | { bind: string; request: string; params: unknown }
+ | { advance: number }
+ | { checkpoint: string }
+export type RecordingScenario = {
+ id: string
+ operation: string
+ version: number
+ family: string
+ sites: string[]
+ schedules: string[]
+ namedDeltas?: string[]
+ steps: ScenarioStep[]
+}
+export type MountedOperation = {
+ action: (name: string, args: Record) => unknown
+ state: () => unknown
+ dispose: () => void | Promise
+}
+export type MountContext = {
+ client: RpcClient
+ effect: (name: string, value: unknown) => void
+}
+export type MountAdapter = (context: MountContext) => MountedOperation
+export type RecordingScheduler = {
+ start: () => void
+ flush: () => Promise
+ advance: (ms: number) => Promise
+ /** Virtual milliseconds since the pinned recording epoch. */
+ elapsed: () => number
+ stop: () => void
+}
+export type Observation = {
+ sender: RecordedValue
+ payloads: RecordedValue
+ settlements: RecordedValue
+ state: RecordedValue
+ effects: RecordedValue
+}
+export type Recording = {
+ scenario: string
+ checkpoints: { id: string; observation: Observation }[]
+}
diff --git a/mobile/src/test-support/rpc-recording/recording-values.ts b/mobile/src/test-support/rpc-recording/recording-values.ts
new file mode 100644
index 00000000000..462455de135
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/recording-values.ts
@@ -0,0 +1,92 @@
+import { isRpcDeliveryUnknown } from '../../transport/rpc-delivery-ambiguity'
+
+export type RecordedValue =
+ | null
+ | boolean
+ | number
+ | string
+ | RecordedValue[]
+ | {
+ [key: string]: RecordedValue
+ }
+
+export function captureValue(value: unknown): RecordedValue {
+ if (value === undefined) {
+ return { $rpc: 'undefined' }
+ }
+ if (value === null) {
+ return { $rpc: 'null' }
+ }
+ if (Array.isArray(value)) {
+ return value.map(captureValue)
+ }
+ if (typeof value === 'object') {
+ if (![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
+ throw new Error('Observation requires an explicit projection for non-plain objects')
+ }
+ const entries = Object.keys(value)
+ .sort()
+ .map((key) => [key, captureValue((value as Record)[key])] as const)
+ return '$rpc' in value
+ ? { $rpc: 'object', entries: entries.map(([key, entry]) => [key, entry]) }
+ : Object.fromEntries(entries)
+ }
+ if (typeof value === 'number' && !Number.isFinite(value)) {
+ return { $rpc: 'number', value: String(value) }
+ }
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
+ return value
+ }
+ throw new Error(`Unsupported observation: ${typeof value}`)
+}
+
+export function captureArguments(args: readonly unknown[]): RecordedValue {
+ return ['method', 'params', 'options'].map((name, index) => ({
+ name,
+ value: index < args.length ? captureValue(args[index]) : { $rpc: 'absent' }
+ }))
+}
+
+/** `code` and `cause` are recorded only when present, so an error without them keeps three fields. */
+export function captureError(error: unknown, depth = 0): RecordedValue {
+ const detail = error as { code?: unknown; cause?: unknown }
+ const code = error instanceof Error ? detail.code : undefined
+ const cause = error instanceof Error && depth < 4 ? detail.cause : undefined
+ return {
+ category: error instanceof Error ? error.constructor.name : typeof error,
+ message: error instanceof Error ? error.message : String(error),
+ isRpcDeliveryUnknown: isRpcDeliveryUnknown(error),
+ ...(code === undefined ? {} : { code: captureValue(code) }),
+ ...(cause === undefined ? {} : { cause: captureError(cause, depth + 1) })
+ }
+}
+
+/**
+ * `startedAt` and `settledAt` are virtual milliseconds on the pinned fake clock. They give the
+ * observation a temporal dimension: a transition the product schedules for itself, such as a
+ * request deadline or a debounce, is recorded at the time it actually happens, so any change to
+ * that duration moves a recorded number rather than needing a scenario placed across it.
+ */
+export type Settlement =
+ | { status: 'pending'; startedAt: number }
+ | { status: 'fulfilled'; startedAt: number; settledAt: number; value: RecordedValue }
+ | { status: 'rejected'; startedAt: number; settledAt: number; error: RecordedValue }
+
+export function rejectedSettlement(error: unknown, at: number): Settlement {
+ return { status: 'rejected', startedAt: at, settledAt: at, error: captureError(error) }
+}
+
+export function observeSettlement(
+ value: unknown,
+ now: () => number,
+ update: (state: Settlement) => void
+): void {
+ const startedAt = now()
+ update({ status: 'pending', startedAt })
+ Promise.resolve(value).then(
+ (result) =>
+ update({ status: 'fulfilled', startedAt, settledAt: now(), value: captureValue(result) }),
+ (error: unknown) =>
+ update({ status: 'rejected', startedAt, settledAt: now(), error: captureError(error) })
+ )
+}
diff --git a/mobile/src/test-support/rpc-recording/reply-matrix.ts b/mobile/src/test-support/rpc-recording/reply-matrix.ts
new file mode 100644
index 00000000000..66004a1dfd6
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/reply-matrix.ts
@@ -0,0 +1,72 @@
+import { hoistPreludeCheckpoints } from './prelude-checkpoints'
+import type { RecordingScenario, Rejection, ScenarioStep } from './recording-scenario'
+
+export type ReplyPartition = { id: string; reply?: unknown; reject?: Rejection }
+
+/**
+ * Only shapes a host can send. `successResponse` always sets `result`, so an absent key means the
+ * handler returned undefined and there is no explicit-undefined shape on a JSON wire; `null` is a
+ * real result (`linear.getIssue` on a missing issue, and the b2 seed). The GitHub project
+ * mutations carry an inner `{ok, error}` envelope whose error is a string or an object. Everything
+ * else a client sees is the dispatcher refusing, not knowing the method, or the transport failing.
+ */
+export function replyPartitions(normal: unknown): ReplyPartition[] {
+ return [
+ { id: 'normal', reply: { ok: true, result: normal } },
+ { id: 'result-absent', reply: { ok: true } },
+ { id: 'result-null', reply: { ok: true, result: null } },
+ { id: 'inner-ok-missing', reply: { ok: true, result: { error: 'refused' } } },
+ {
+ id: 'inner-false-string-error',
+ reply: { ok: true, result: { ok: false, error: 'inner refused' } }
+ },
+ {
+ id: 'inner-false-object-error',
+ reply: { ok: true, result: { ok: false, error: { message: 'inner refused' } } }
+ },
+ {
+ id: 'outer-refused',
+ reply: { ok: false, error: { code: 'refused', message: 'outer refused' } }
+ },
+ {
+ id: 'method-not-found',
+ reply: { ok: false, error: { code: 'method_not_found', message: 'Unknown method' } }
+ },
+ { id: 'transport-rejection', reject: { message: 'transport failure', deliveryUnknown: true } }
+ ]
+}
+
+export function driveReplyMatrix(
+ base: RecordingScenario,
+ request: string,
+ normal: unknown
+): RecordingScenario[] {
+ const sites = base.steps.flatMap((step, index) =>
+ 'complete' in step && step.complete === request ? [index] : []
+ )
+ if (sites.length !== 1) {
+ throw new Error(`Matrix requires exactly one completion: ${request}`)
+ }
+ const divergence = sites[0]!
+ return hoistPreludeCheckpoints(
+ base,
+ replyPartitions(normal).map((partition) => ({
+ divergence,
+ scenario: {
+ ...base,
+ id: `${base.id}.${partition.id}`,
+ steps: base.steps.map((step, index): ScenarioStep =>
+ index === divergence && 'complete' in step
+ ? {
+ complete: request,
+ params: step.params,
+ ...('reject' in partition
+ ? { reject: partition.reject }
+ : { reply: partition.reply })
+ }
+ : step
+ )
+ }
+ }))
+ )
+}
diff --git a/mobile/src/test-support/rpc-recording/run-recording.ts b/mobile/src/test-support/rpc-recording/run-recording.ts
new file mode 100644
index 00000000000..78a0528be90
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/run-recording.ts
@@ -0,0 +1,116 @@
+import { recordUnhandledRejections } from './unhandled-recording'
+import {
+ captureValue,
+ observeSettlement,
+ rejectedSettlement,
+ type Settlement,
+ type RecordedValue
+} from './recording-values'
+import type {
+ MountAdapter,
+ Recording,
+ RecordingScenario,
+ RecordingScheduler,
+ MountedOperation
+} from './recording-scenario'
+import { ScriptedRpcTransport } from './scripted-rpc-transport'
+
+export async function runRecording(
+ scenario: RecordingScenario,
+ mount: MountAdapter,
+ scheduler: RecordingScheduler
+): Promise {
+ scheduler.start()
+ const transport = new ScriptedRpcTransport(scheduler.elapsed)
+ const effects: { name: string; value: RecordedValue }[] = []
+ const settlements: Record = {}
+ const recording: Recording = { scenario: scenario.id, checkpoints: [] }
+ const effect = (name: string, value: unknown) => {
+ effects.push({ name, value: captureValue(value) })
+ }
+ const stopUnhandled = recordUnhandledRejections(effect)
+ let mounted: MountedOperation | undefined
+ const ids = new Set()
+ let advanced = 0
+ try {
+ mounted = mount({ client: transport.client, effect })
+ for (const step of scenario.steps) {
+ if ('action' in step) {
+ if (ids.has(step.id)) {
+ throw new Error(`Duplicate action: ${step.id}`)
+ }
+ ids.add(step.id)
+ try {
+ const value =
+ step.action === 'disconnect'
+ ? transport.disconnect()
+ : step.action === 'cutover'
+ ? transport.cutover()
+ : mounted.action(step.action, step.args ?? {})
+ observeSettlement(value, scheduler.elapsed, (state) => {
+ settlements[step.id] = state
+ })
+ } catch (error) {
+ settlements[step.id] = rejectedSettlement(error, scheduler.elapsed())
+ }
+ } else if ('complete' in step) {
+ transport.complete(step.complete, step.params, step.reply, step.reject)
+ } else if ('bind' in step) {
+ transport.bind(step.bind, step.request, step.params)
+ } else if ('advance' in step) {
+ advanced += step.advance
+ await scheduler.advance(step.advance)
+ }
+ await scheduler.flush()
+ if ('checkpoint' in step) {
+ // A checkpoint's own clock is the sum of the scripted advances, so recording it would add
+ // bytes and no signal. Asserted rather than recorded, so a future drift fails loudly.
+ if (scheduler.elapsed() !== advanced) {
+ throw new Error(
+ `Checkpoint clock drifted: ${scenario.id} ${step.checkpoint} at ${scheduler.elapsed()}, scripted ${advanced}`
+ )
+ }
+ recording.checkpoints.push({
+ id: step.checkpoint,
+ observation: {
+ sender: structuredClone(transport.requests) as unknown as RecordedValue,
+ payloads: structuredClone(transport.payloads),
+ settlements: structuredClone(settlements) as unknown as RecordedValue,
+ state: captureValue(mounted.state()),
+ effects: structuredClone(effects)
+ }
+ })
+ }
+ }
+ if (!recording.checkpoints.length) {
+ throw new Error(`No checkpoints: ${scenario.id}`)
+ }
+ return recording
+ } finally {
+ try {
+ await mounted?.dispose()
+ transport.dispose()
+ await scheduler.flush()
+ } finally {
+ stopUnhandled()
+ scheduler.stop()
+ }
+ }
+}
+
+export async function runRecordingMutant(
+ scenario: RecordingScenario,
+ mutatedMount: MountAdapter,
+ scheduler: RecordingScheduler,
+ baseline: Recording,
+ project: (recording: Recording) => unknown = (recording) => recording
+): Promise<{ verdict: 'killed' | 'survived'; recording: Recording }> {
+ const recording = await runRecording(scenario, mutatedMount, scheduler)
+ return {
+ verdict:
+ JSON.stringify(project(recording)) === JSON.stringify(project(baseline))
+ ? 'survived'
+ : 'killed',
+ recording
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/scenario-input.ts b/mobile/src/test-support/rpc-recording/scenario-input.ts
new file mode 100644
index 00000000000..f87f2b2b6b8
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/scenario-input.ts
@@ -0,0 +1,33 @@
+import { readFileSync } from 'node:fs'
+import type { RecordingScenario } from './recording-scenario'
+
+function decode(value: unknown): unknown {
+ if (Array.isArray(value)) {
+ return value.map(decode)
+ }
+ if (value && typeof value === 'object') {
+ if (Object.keys(value).length === 1 && '$undefined' in value && value.$undefined === true) {
+ return undefined
+ }
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, decode(entry)]))
+ }
+ return value
+}
+export function readScenarios(path: string): { baseline: string; scenarios: RecordingScenario[] } {
+ const input = decode(JSON.parse(readFileSync(path, 'utf8'))) as {
+ baseline: string
+ scenarios: RecordingScenario[]
+ }
+ if (
+ !/^[a-f0-9]{40}$/.test(input.baseline) ||
+ !Array.isArray(input.scenarios) ||
+ !input.scenarios.length
+ ) {
+ throw new Error('Invalid recording manifest')
+ }
+ const ids = input.scenarios.map((scenario) => scenario.id)
+ if (new Set(ids).size !== ids.length) {
+ throw new Error('Duplicate scenario ids')
+ }
+ return input
+}
diff --git a/mobile/src/test-support/rpc-recording/schedule-driver.ts b/mobile/src/test-support/rpc-recording/schedule-driver.ts
new file mode 100644
index 00000000000..3aeb11a1513
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/schedule-driver.ts
@@ -0,0 +1,127 @@
+import { hoistPreludeCheckpoints, type DivergingScenario } from './prelude-checkpoints'
+import type { RecordingScenario, ScenarioStep } from './recording-scenario'
+
+type Completion = Extract
+export const REQUIRED_SCHEDULES = [
+ 'forward',
+ 'reverse',
+ 'reset-before-first',
+ 'reset-after-first',
+ 'reset-before-second',
+ 'reset-after-second',
+ 'a-b-a',
+ 'stale-inflight-cleanup',
+ 'unmount-remount',
+ 'blur-retained-route',
+ 'client-cutover',
+ 'timeout',
+ 'disconnect',
+ 'both-reject-forward',
+ 'both-reject-reverse',
+ 'reject-peer-pending'
+] as const
+
+export function siblingSchedules(
+ base: RecordingScenario,
+ first: Completion,
+ second: Completion
+): RecordingScenario[] {
+ const firstIndex = base.steps.indexOf(first)
+ const secondIndex = base.steps.indexOf(second)
+ if (firstIndex === -1 || secondIndex < firstIndex) {
+ throw new Error('Sibling completions must be ordered members of the base scenario')
+ }
+ const prefix = base.steps.slice(0, firstIndex).filter((step) => !('checkpoint' in step))
+ const suffix = base.steps.slice(secondIndex + 1).filter((step) => !('checkpoint' in step))
+ const checkpoint = { checkpoint: 'sibling-pending' }
+ const rejected = (step: Completion): Completion => ({
+ complete: step.complete,
+ params: step.params,
+ reject: { message: `${step.complete} rejected`, deliveryUnknown: true }
+ })
+ const variants: Record = {
+ forward: [first, checkpoint, second],
+ reverse: [second, checkpoint, first],
+ 'both-reject-forward': [rejected(first), checkpoint, rejected(second)],
+ 'both-reject-reverse': [rejected(second), checkpoint, rejected(first)],
+ 'reject-peer-pending': [rejected(first), checkpoint],
+ timeout: [{ advance: 30_000 }],
+ disconnect: [{ action: 'disconnect', id: 'disconnect' }],
+ 'client-cutover': [{ action: 'cutover', id: 'cutover' }]
+ }
+ return Object.entries(variants).map(([schedule, steps]) => ({
+ ...base,
+ id: `${base.id}.${schedule}`,
+ schedules: [schedule],
+ steps: [...prefix, ...steps, ...suffix, { checkpoint: 'settled' }]
+ }))
+}
+
+/** Completions are rebound so a lifecycle boundary can land between a request and its reply. */
+export function bindCompletions(steps: readonly ScenarioStep[]): ScenarioStep[] {
+ return steps.flatMap((step): ScenarioStep[] =>
+ 'complete' in step
+ ? [
+ { bind: `lifecycle-${step.complete}`, request: step.complete, params: step.params },
+ { ...step, complete: `lifecycle-${step.complete}` }
+ ]
+ : [step]
+ )
+}
+
+export function lifecycleSchedules(
+ base: RecordingScenario,
+ action: 'reset' | 'unmount' | 'blur'
+): DivergingScenario[] {
+ const completions = base.steps.flatMap((step, index) => ('complete' in step ? [index] : []))
+ return completions.flatMap((index, occurrence) =>
+ ['before', 'after'].map((side) => {
+ const insertion = index + (side === 'after' ? 1 : 0)
+ const steps = [...base.steps]
+ steps.splice(
+ insertion,
+ 0,
+ { action, id: `lifecycle-${action}` },
+ { checkpoint: 'lifecycle-boundary' }
+ )
+ if (action === 'unmount') {
+ steps.push({ action: 'remount', id: 'remount' }, { checkpoint: 'remounted' })
+ }
+ return {
+ divergence: bindCompletions(base.steps.slice(0, insertion)).length,
+ scenario: {
+ ...base,
+ id: `${base.id}.${action}-${side}-${occurrence + 1}`,
+ schedules: [`${action}-${side}-${occurrence + 1}`],
+ steps: bindCompletions(steps)
+ }
+ }
+ })
+ )
+}
+
+export function interruptionSchedules(base: RecordingScenario): RecordingScenario[] {
+ const completion = base.steps.findLastIndex((step) => 'complete' in step)
+ if (completion === -1) {
+ throw new Error('Interruption schedule needs an in-flight request')
+ }
+ return hoistPreludeCheckpoints(
+ base,
+ ['timeout', 'disconnect', 'cutover'].map((interruption) => ({
+ divergence: completion,
+ scenario: {
+ ...base,
+ id: `${base.id}.${interruption}`,
+ schedules: [interruption],
+ steps: [
+ ...base.steps.slice(0, completion),
+ interruption === 'timeout'
+ ? { advance: 30_000 }
+ : { action: interruption, id: interruption },
+ { checkpoint: 'interrupted' },
+ ...base.steps.slice(completion)
+ ]
+ }
+ }))
+ )
+}
diff --git a/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts b/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts
new file mode 100644
index 00000000000..cd94f92349b
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/scripted-rpc-transport.ts
@@ -0,0 +1,172 @@
+import type { ConnectionState, RpcResponse } from '../../transport/types'
+import type { RpcClient } from '../../transport/rpc-client'
+import { RpcClientRequestTracker } from '../../transport/rpc-client-request-tracker'
+import { createStableLogicalRpcClient } from '../../transport/stable-logical-rpc-client'
+import { markRpcDeliveryUnknown } from '../../transport/rpc-delivery-ambiguity'
+import {
+ captureArguments,
+ captureValue,
+ observeSettlement,
+ type Settlement
+} from './recording-values'
+import type { Rejection } from './recording-scenario'
+
+export class ScriptedRpcTransport {
+ readonly requests: {
+ name: string
+ args: ReturnType
+ settlement: Settlement
+ }[] = []
+ readonly payloads: { name: string; json: string }[] = []
+ readonly client: RpcClient
+ readonly logical
+ private counts = new Map()
+ private bindings = new Map()
+ private aliases = new Map()
+ private activeName = ''
+ private frameCount = 0
+ private state: ConnectionState = 'connected'
+ private listeners = new Set<(state: ConnectionState) => void>()
+ private rejects = new Map void>()
+ private tracker = new RpcClientRequestTracker({
+ nextId: () => `frame-${++this.frameCount}`,
+ getState: () => this.state,
+ waitForConnected: async () => {
+ if (this.state !== 'connected') {
+ throw new Error('Scripted transport disconnected')
+ }
+ },
+ deviceToken: 'recording-device',
+ sendEncrypted: (value) => {
+ const payload = value as { id: string; method: string; params: unknown }
+ const name = this.wireNames.shift()
+ if (!name) {
+ throw new Error('Unbound physical request')
+ }
+ this.bindings.set(name, { id: payload.id, params: payload.params, completed: false })
+ this.payloads.push({ name, json: JSON.stringify(value) })
+ return true
+ }
+ })
+ private wireNames: string[] = []
+
+ /** `now` is the recording scheduler's virtual clock; every settlement is stamped from it. */
+ constructor(private readonly now: () => number = () => 0) {
+ const session = this.session()
+ this.logical = createStableLogicalRpcClient(session, 'lan')
+ this.client = {
+ ...this.logical,
+ sendRequest: (...args: Parameters) => {
+ const occurrence = (this.counts.get(args[0]) ?? 0) + 1
+ this.counts.set(args[0], occurrence)
+ const name = `${args[0]}#${occurrence}`
+ this.activeName = name
+ const request = {
+ name,
+ args: captureArguments(args),
+ settlement: { status: 'pending', startedAt: this.now() } as Settlement
+ }
+ this.requests.push(request)
+ const promise = this.logical.sendRequest(...args)
+ observeSettlement(promise, this.now, (state) => {
+ request.settlement = state
+ })
+ return promise
+ }
+ }
+ }
+
+ private session(): RpcClient {
+ return {
+ sendRequest: (...args) => {
+ const name = this.activeName
+ this.wireNames.push(name)
+ return new Promise((resolve, reject) => {
+ this.rejects.set(name, reject)
+ this.tracker.sendRequest(...args).then(resolve, reject)
+ })
+ },
+ subscribe: () => {
+ throw new Error('Subscriptions are outside this request-only runner')
+ },
+ updateTerminalSubscriptionViewport: () => {},
+ getState: () => this.state,
+ getReconnectAttempt: () => 0,
+ getLastConnectedAt: () => 0,
+ onStateChange: (listener) => {
+ this.listeners.add(listener)
+ return () => {
+ this.listeners.delete(listener)
+ }
+ },
+ notifyForeground: () => {},
+ close: () => {
+ this.tracker.rejectAll('Connection closed', { deliveryUnknown: true })
+ }
+ }
+ }
+
+ bind(alias: string, name: string, params: unknown): void {
+ name = this.aliases.get(name) ?? name
+ const binding = this.bindings.get(name)
+ if (!binding || this.aliases.has(alias)) {
+ throw new Error(`Invalid request binding: ${alias}`)
+ }
+ if (JSON.stringify(captureValue(binding.params)) !== JSON.stringify(captureValue(params))) {
+ throw new Error(`Binding params mismatch: ${alias}`)
+ }
+ this.aliases.set(alias, name)
+ }
+
+ complete(name: string, params: unknown, reply: unknown, rejection?: Rejection): void {
+ const alias = this.aliases.get(name)
+ const requestedName = alias ?? name
+ const method = requestedName.split('#')[0]
+ if (
+ !alias &&
+ [...this.bindings].filter(([key, value]) => key.split('#')[0] === method && !value.completed)
+ .length > 1
+ ) {
+ throw new Error(`Concurrent requests require a logical binding: ${name}`)
+ }
+ name = requestedName
+ const binding = this.bindings.get(name)
+ if (!binding || binding.completed) {
+ throw new Error(`Missing or completed request: ${name}`)
+ }
+ if (JSON.stringify(captureValue(binding.params)) !== JSON.stringify(captureValue(params))) {
+ throw new Error(`Request params mismatch: ${name}`)
+ }
+ binding.completed = true
+ if (rejection) {
+ const error =
+ rejection.category === 'TypeError'
+ ? new TypeError(rejection.message)
+ : new Error(rejection.message)
+ if (rejection.deliveryUnknown) {
+ markRpcDeliveryUnknown(error)
+ }
+ // Resolve the physical tracker to cancel its deadline before injecting the scripted rejection.
+ this.rejects.get(name)?.(error)
+ this.tracker.resolve({ id: binding.id, ok: true, result: null } as RpcResponse)
+ } else {
+ this.tracker.resolve({ ...(reply as object), id: binding.id } as RpcResponse)
+ }
+ }
+
+ disconnect(): void {
+ this.state = 'disconnected'
+ this.tracker.rejectAll('Connection lost', { deliveryUnknown: true })
+ for (const listener of this.listeners) {
+ listener(this.state)
+ }
+ }
+
+ async cutover(): Promise {
+ await this.logical.migrateTo(this.session(), 'relay')
+ }
+
+ dispose(): void {
+ this.logical.close()
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts b/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts
new file mode 100644
index 00000000000..770318756a6
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/settings-mount-adapters.ts
@@ -0,0 +1,185 @@
+import type { MountAdapter } from './recording-scenario'
+import { hookMount } from './hook-mount'
+import { observableModel, projectObservable } from './observable-model'
+import { operationModuleLoader } from './operation-module-loader'
+
+export function settingsMountAdapters(
+ modules: ReturnType
+): Record {
+ return {
+ 'settings.bot-overrides': ({ client }) => {
+ const useOverrides = modules.load(
+ 'mobile/src/session/use-pr-bot-author-overrides.ts'
+ ).usePRBotAuthorOverrides
+ let state: ReadonlySet = new Set()
+ let revision = 1
+ const hook = hookMount(() => {
+ state = useOverrides(client, 'connected', revision)
+ })
+ return {
+ action(name) {
+ if (name === 'mount' || name === 'remount') {
+ return hook.mount()
+ }
+ if (name === 'unmount') {
+ return hook.unmount()
+ }
+ if (name === 'reset') {
+ revision++
+ return hook.update()
+ }
+ if (name === 'blur') {
+ return
+ }
+ throw new Error(`Unknown overrides action: ${name}`)
+ },
+ state: () => [...state],
+ dispose: hook.unmount
+ }
+ },
+ 'settings.workspace-context': ({ client }) => {
+ const useContext = modules.load<
+ typeof import('../../components/use-new-workspace-runtime-context')
+ >('mobile/src/components/use-new-workspace-runtime-context.ts').useNewWorkspaceRuntimeContext
+ let state: ReturnType
+ let visible = true
+ const hook = hookMount(() => {
+ state = useContext(client, visible, 'host-1')
+ })
+ return {
+ action(name) {
+ if (name === 'mount' || name === 'remount') {
+ return hook.mount()
+ }
+ if (name === 'unmount') {
+ return hook.unmount()
+ }
+ if (name === 'blur') {
+ visible = false
+ return hook.update()
+ }
+ if (name === 'reset') {
+ visible = true
+ return hook.update()
+ }
+ throw new Error(`Unknown context action: ${name}`)
+ },
+ state: () => ({
+ settings: state?.runtimeSettings,
+ trust: state?.trustedOrcaHooks,
+ providers: state?.availableProviders
+ }),
+ dispose: hook.unmount
+ }
+ },
+ 'settings.home-providers': (context) => {
+ const load = modules.load(
+ 'mobile/src/home/mobile-home-host-requests.ts'
+ ).fetchMobileHomeTaskProviders
+ let providers: unknown = {}
+ let disposed = false
+ return {
+ action(name) {
+ if (name === 'unmount') {
+ disposed = true
+ return
+ }
+ load(
+ context.client,
+ 'host-1',
+ (update: (value: unknown) => unknown) => {
+ providers = update(providers)
+ context.effect('providers', providers)
+ },
+ () => disposed
+ )
+ },
+ state: () => providers,
+ dispose: () => {
+ disposed = true
+ }
+ }
+ },
+ 'settings.resume-metadata': ({ client }) => {
+ const load = modules.load(
+ 'mobile/src/agent-history/MobileAgentSessionHistoryPanel.tsx'
+ ).loadMobileResumeMetadata
+ return { action: () => load(client), state: () => ({}), dispose: () => {} }
+ },
+ 'settings.repo-metadata': (context) => {
+ const useMetadata = modules.load(
+ 'mobile/src/host-screen/use-host-repo-metadata.ts'
+ ).useHostRepoMetadata
+ const state = observableModel(context, {
+ clientRef: { current: context.client },
+ fetchRepoMetadataInFlightRef: { current: new Set() },
+ fetchRepoMetadataPendingRef: { current: new Set() },
+ repoMetadataFetchedAtRef: { current: 0 }
+ })
+ let load: ReturnType
+ const hook = hookMount(() => {
+ load = useMetadata({
+ client: context.client,
+ connState: 'connected',
+ hostId: 'host-1',
+ state: state as unknown as Parameters[0]['state']
+ })
+ })
+ return {
+ action(name) {
+ if (name === 'mount') {
+ return hook.mount()
+ }
+ return load({ force: name !== 'load-cached' })
+ },
+ state: () =>
+ projectObservable(
+ Object.fromEntries(Object.entries(state).filter(([key]) => !key.endsWith('Ref')))
+ ),
+ dispose: hook.unmount
+ }
+ },
+ 'settings.task-hydration': (context) => {
+ const useHydration = modules.load<
+ typeof import('../../tasks/use-mobile-tasks-runtime-hydration')
+ >('mobile/src/tasks/use-mobile-tasks-runtime-hydration.tsx').useMobileTasksRuntimeHydration
+ const model = observableModel(context, {
+ client: context.client,
+ connState: 'connected',
+ defaultLinearTeamSelectionRef: { current: null },
+ defaultRepoSelectionRef: { current: null },
+ repoSelectionHydratedRef: { current: false },
+ taskResumeRef: { current: {} },
+ runtimeTaskSettings: {},
+ taskStateHydrated: false,
+ provider: 'github',
+ repoList: { state: { status: 'loading' } },
+ repos: [],
+ requestedTaskSource: undefined,
+ resetGitHubItemsState: () => context.effect('reset-items', null),
+ resetWorkspaceCreateState: () => context.effect('reset-workspace', null),
+ visibleProviders: ['github']
+ })
+ const hook = hookMount(() => {
+ useHydration(model as unknown as Parameters[0])
+ })
+ return {
+ action(name) {
+ if (name === 'mount' || name === 'remount') {
+ return hook.mount()
+ }
+ if (name === 'unmount') {
+ return hook.unmount()
+ }
+ throw new Error(`Unknown hydration action: ${name}`)
+ },
+ state: () =>
+ projectObservable({
+ settings: model.runtimeTaskSettings,
+ hydrated: model.taskStateHydrated
+ }),
+ dispose: hook.unmount
+ }
+ }
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/unhandled-recording.ts b/mobile/src/test-support/rpc-recording/unhandled-recording.ts
new file mode 100644
index 00000000000..a4bd0e033d4
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/unhandled-recording.ts
@@ -0,0 +1,23 @@
+import { captureError } from './recording-values'
+
+let active = false
+
+// Main's detached effects can reject without a caller promise; record that observable failure too.
+export function recordUnhandledRejections(
+ effect: (name: string, value: unknown) => void
+): () => void {
+ if (active) {
+ throw new Error('Recordings must run sequentially in each process')
+ }
+ active = true
+ const previous = process.rawListeners('unhandledRejection')
+ process.removeAllListeners('unhandledRejection')
+ process.on('unhandledRejection', (error) => effect('unhandled-rejection', captureError(error)))
+ return () => {
+ active = false
+ process.removeAllListeners('unhandledRejection')
+ for (const listener of previous) {
+ process.on('unhandledRejection', listener)
+ }
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts b/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts
new file mode 100644
index 00000000000..d7bab0334d2
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/vitest-recording-scheduler.ts
@@ -0,0 +1,64 @@
+import { act } from 'react-test-renderer'
+import { vi } from 'vitest'
+import type { RecordingScheduler } from './recording-scenario'
+
+const RECORDING_EPOCH = new Date('2026-01-01T00:00:00Z')
+
+export function vitestRecordingScheduler(): RecordingScheduler {
+ async function flush() {
+ await act(async () => {
+ // Drain promise continuations and due timers without advancing request deadlines.
+ await vi.advanceTimersByTimeAsync(0)
+ })
+ }
+ return {
+ start() {
+ vi.useFakeTimers({
+ toFake: [
+ 'Date',
+ 'setTimeout',
+ 'clearTimeout',
+ 'setInterval',
+ 'clearInterval',
+ 'performance'
+ ]
+ })
+ vi.setSystemTime(RECORDING_EPOCH)
+ let seed = 1
+ const random = () => {
+ seed = (Math.imul(seed, 1664525) + 1013904223) >>> 0
+ return seed / 4294967296
+ }
+ vi.spyOn(Math, 'random').mockImplementation(random)
+ if (globalThis.crypto !== undefined) {
+ let id = 0
+ vi.spyOn(globalThis.crypto, 'randomUUID').mockImplementation(
+ () => `00000000-0000-4000-8000-${(++id).toString(16).padStart(12, '0')}`
+ )
+ }
+ if (globalThis.crypto !== undefined) {
+ vi.spyOn(globalThis.crypto, 'getRandomValues').mockImplementation((array) => {
+ if (array) {
+ const bytes = new Uint8Array(array.buffer, array.byteOffset, array.byteLength)
+ for (let i = 0; i < bytes.length; i++) {
+ bytes[i] = Math.floor(random() * 256)
+ }
+ }
+ return array
+ })
+ }
+ },
+ flush,
+ elapsed: () => Date.now() - RECORDING_EPOCH.getTime(),
+ advance: async (ms) => {
+ await act(async () => {
+ await vi.advanceTimersByTimeAsync(ms)
+ })
+ },
+ stop() {
+ vi.clearAllTimers()
+ vi.useRealTimers()
+ vi.restoreAllMocks()
+ }
+ }
+}
diff --git a/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts b/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts
new file mode 100644
index 00000000000..8b052dac531
--- /dev/null
+++ b/mobile/src/test-support/rpc-recording/workspace-settings-mounts.ts
@@ -0,0 +1,117 @@
+import type { MountAdapter } from './recording-scenario'
+import { hookMount, performHookAction } from './hook-mount'
+import { observableModel, projectObservable } from './observable-model'
+import { operationModuleLoader } from './operation-module-loader'
+
+export function workspaceSettingsMounts(
+ modules: ReturnType
+): Record {
+ return {
+ 'settings.workspace-submit': (context) => {
+ const useSubmit = modules.load<
+ typeof import('../../components/use-new-workspace-create-submit')
+ >('mobile/src/components/use-new-workspace-create-submit.ts').useNewWorkspaceCreateSubmit
+ const model = observableModel(context, {
+ client: context.client,
+ selectedRepo: { id: 'repo-1', displayName: 'Repo' },
+ selectedAgent: { id: 'claude', label: 'Claude' },
+ runtimeSettings: { disabledTuiAgents: ['claude'] },
+ detectedAgentIds: new Set(['codex']),
+ sshGate: { requiresConnection: false },
+ composer: { name: 'recorded', createSelection: null, isNameAutoManaged: false },
+ note: '',
+ retiredWorktreeNames: {},
+ setupCommand: null,
+ setupTrust: null,
+ setupRunPolicy: 'never',
+ setupDecisionChoice: null,
+ runSetup: false,
+ trustedOrcaHooks: {},
+ getWorktreeCreateCutoverSupport: async () => false,
+ transitionDrawer: (view: unknown) => context.effect('drawer', view),
+ onCreated: (id: unknown, name: unknown) => context.effect('created', { id, name }),
+ onClose: () => context.effect('close', null)
+ })
+ let state: ReturnType
+ const hook = hookMount(() => {
+ state = useSubmit(model as unknown as Parameters[0])
+ })
+ return {
+ action(name) {
+ if (name === 'mount') {
+ return hook.mount()
+ }
+ if (name === 'submit') {
+ return performHookAction(() => state.create())
+ }
+ throw new Error(`Unknown submit action: ${name}`)
+ },
+ state: () =>
+ projectObservable({
+ creating: state?.creating,
+ settings: model.runtimeSettings,
+ error: model.error
+ }),
+ dispose: hook.unmount
+ }
+ },
+ 'settings.task-workspace': (context) => {
+ const useCreate = modules.load<
+ typeof import('../../tasks/use-mobile-tasks-workspace-create-actions')
+ >(
+ 'mobile/src/tasks/use-mobile-tasks-workspace-create-actions.tsx'
+ ).useMobileTasksWorkspaceCreateActions
+ const model = observableModel(context, {
+ client: context.client,
+ hostId: 'host-1',
+ tasksSupported: true,
+ taskStateHydrated: true,
+ runtimeTaskSettings: { disabledTuiAgents: ['claude'] },
+ trustedOrcaHooks: {},
+ workspaceDetectedAgentIds: new Set(['codex']),
+ workspaceLastAutoName: '',
+ ensureWorkspaceSshReady: async () => {},
+ getWorkspaceTargetRepo: () => ({
+ id: 'repo-1',
+ displayName: 'Repo',
+ connectionId: 'ssh-1'
+ }),
+ resolveCreateSetupDecision: async () => ({
+ kind: 'prompt',
+ command: 'setup',
+ source: 'repo'
+ }),
+ router: { push: (value: unknown) => context.effect('navigation', value) }
+ })
+ let actions: ReturnType
+ const hook = hookMount(() => {
+ actions = useCreate(model as unknown as Parameters[0])
+ })
+ return {
+ action(name) {
+ if (name === 'mount') {
+ return hook.mount()
+ }
+ if (name === 'submit') {
+ return actions.createWorkspace(
+ { key: 'linear:1', provider: 'linear', source: { id: 'issue-1' } } as Parameters<
+ typeof actions.createWorkspace
+ >[0],
+ undefined,
+ undefined,
+ 'claude'
+ )
+ }
+ throw new Error(`Unknown task workspace action: ${name}`)
+ },
+ state: () =>
+ projectObservable({
+ settings: model.runtimeTaskSettings,
+ error: model.error,
+ creating: model.creatingKey
+ }),
+ dispose: hook.unmount
+ }
+ }
+ }
+}