test(mobile): record teardown observations as a cleanup checkpoint

Each checkpoint clones the effects array, so a rejection or state write produced
by dispose, the transport teardown or the final flush landed after the recording
was built and never reached a golden. An unmount leak is exactly what this
oracle exists to catch, so teardown now runs on the recorded path and anything
it observes becomes a checkpoint with id `cleanup`. State is captured before
dispose, since the operation is gone afterwards.

Six scenarios were dropping observations, across five goldens: projectRowDetailError,
projectMutating, hostLabelById, hostPlatform, workspaceAgent, workspaceAgentOverridden,
creatingKey, selectedAgent, agentOverridden and error. Those five gain a cleanup
checkpoint; the other 68 goldens change by their header line only, so no existing
observation moved.

Also fixes the README's own formatting, which failed `format:check`.

Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb
This commit is contained in:
Jinwoo-H
2026-09-13 19:56:13 -04:00
parent f8336cbe63
commit ff61a7b44a
75 changed files with 886 additions and 111 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
+1 -1
View File
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
+1 -1
View File
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -282,6 +282,59 @@
"itemType": "ISSUE"
}
},
"602c739007cd": [
{
"name": "projectMutating",
"value": true
},
{
"name": "projectRowDetailError",
"value": "Connection closed"
},
{
"name": "projectMutating",
"value": false
}
],
"699c2c3a725a": [
{
"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": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"6dfef4ef572b": {
"mount": {
"status": "fulfilled",
@@ -757,6 +810,16 @@
"effects": "3b9a7724526d"
}
},
{
"id": "b2.prelude:cleanup",
"observation": {
"sender": "699c2c3a725a",
"payloads": "0318f81a142b",
"settlements": "6dfef4ef572b",
"state": "0c4dced3e005",
"effects": "602c739007cd"
}
},
{
"id": "b2.normal:settled",
"observation": {
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -361,6 +361,43 @@
}
}
],
"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"],
@@ -1323,6 +1360,154 @@
}
}
],
"d86984df7ae5": [
{
"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 closed",
"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 closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"dda2a4a55813": [
{
"name": "repo.list#1",
@@ -1689,6 +1874,16 @@
"effects": "3d1e2998e81c"
}
},
{
"id": "settings-repo-metadata-fulfilled.prelude:cleanup",
"observation": {
"sender": "d86984df7ae5",
"payloads": "83ef5f7039bf",
"settlements": "2bf0f26c9185",
"state": "6134b73f18d0",
"effects": "564017ad6e41"
}
},
{
"id": "settings-repo-metadata-fulfilled.normal:settled",
"observation": {
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -517,6 +517,39 @@
}
}
],
"d0feb81f9400": [
{
"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 closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"d5df3f6b123a": {
"creating": {
"$rpc": "null"
@@ -587,6 +620,16 @@
"effects": "b05ebf557542"
}
},
{
"id": "settings-task-workspace-fulfilled.prelude:cleanup",
"observation": {
"sender": "d0feb81f9400",
"payloads": "9e493785145e",
"settlements": "6dfef4ef572b",
"state": "7abdfe20af50",
"effects": "236832733364"
}
},
{
"id": "settings-task-workspace-fulfilled.normal:settled",
"observation": {
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -398,6 +398,167 @@
"$rpc": "undefined"
}
},
"7d3f625823b0": [
{
"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": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"804e01fabd3a": [
{
"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": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"979a2540cb0d": [
{
"name": "error",
"value": ""
},
{
"name": "runtimeSettings",
"value": {
"$rpc": "undefined"
}
},
{
"name": "error",
"value": "Connection closed"
}
],
"9c753d3a11f2": [
{
"name": "settings.get#1",
@@ -516,6 +677,114 @@
}
}
],
"d0feb81f9400": [
{
"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 closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"e0e544213c3c": [
{
"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": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"f117d93cf44a": {
"mount": {
"status": "fulfilled",
@@ -644,6 +913,16 @@
"effects": "c0cb3df4feef"
}
},
{
"id": "settings-workspace-submit-fulfilled.prelude:cleanup",
"observation": {
"sender": "d0feb81f9400",
"payloads": "9e493785145e",
"settlements": "6dfef4ef572b",
"state": "13c996e4ec2b",
"effects": "0e315dbfe7a8"
}
},
{
"id": "settings-workspace-submit-fulfilled.normal:settled",
"observation": {
@@ -684,6 +963,16 @@
"effects": "450706871c5d"
}
},
{
"id": "settings-workspace-submit-fulfilled.inner-ok-missing:cleanup",
"observation": {
"sender": "7d3f625823b0",
"payloads": "20a67073e822",
"settlements": "6dfef4ef572b",
"state": "7b1c9637063f",
"effects": "979a2540cb0d"
}
},
{
"id": "settings-workspace-submit-fulfilled.inner-false-string-error:settled",
"observation": {
@@ -694,6 +983,16 @@
"effects": "450706871c5d"
}
},
{
"id": "settings-workspace-submit-fulfilled.inner-false-string-error:cleanup",
"observation": {
"sender": "804e01fabd3a",
"payloads": "20a67073e822",
"settlements": "6dfef4ef572b",
"state": "7b1c9637063f",
"effects": "979a2540cb0d"
}
},
{
"id": "settings-workspace-submit-fulfilled.inner-false-object-error:settled",
"observation": {
@@ -704,6 +1003,16 @@
"effects": "450706871c5d"
}
},
{
"id": "settings-workspace-submit-fulfilled.inner-false-object-error:cleanup",
"observation": {
"sender": "e0e544213c3c",
"payloads": "20a67073e822",
"settlements": "6dfef4ef572b",
"state": "7b1c9637063f",
"effects": "979a2540cb0d"
}
},
{
"id": "settings-workspace-submit-fulfilled.outer-refused:settled",
"observation": {
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -170,6 +170,154 @@
}
}
],
"0f1d92eb06c4": [
{
"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": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
],
"17f4e5897116": [
{
"name": "repo.list#1",
@@ -1723,6 +1871,16 @@
"effects": "3d1e2998e81c"
}
},
{
"id": "settings-repo-metadata-fulfilled.reject-peer-pending:cleanup",
"observation": {
"sender": "0f1d92eb06c4",
"payloads": "83ef5f7039bf",
"settlements": "2bf0f26c9185",
"state": "6134b73f18d0",
"effects": "564017ad6e41"
}
},
{
"id": "settings-repo-metadata-fulfilled.timeout:settled",
"observation": {
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
@@ -5,7 +5,7 @@
"runnerVersion": 1,
"baseline": "aba77d5babfeb3988a8ad39a16a1bc5af86ebf80",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "7e0a108ee845d832862a65830eb318f7d8970ce4abf4a974898fc4a33fbf459d",
"recorderSha256": "70e4ea4590f92a02dd93cf9212d0160f9bc194fbd59eee746c917e9dc42c5718",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
+12 -19
View File
@@ -230,25 +230,18 @@ The original settings slice coverage maps nine host-RPC callers in
instruction. Later manifest additions require new scenarios and remain uncovered until
those recordings land. This runner does not certify native storage or transport skew.
## Cleanup observations are not recorded (known gap)
## The cleanup checkpoint
Every checkpoint `structuredClone`s the effects array, so anything appended after the final
checkpoint — during `dispose()`, the transport teardown, or the last `scheduler.flush()` — lands
after the recording was built and never reaches a golden. `run-recording.ts` now warns when this
happens instead of dropping it silently.
Teardown runs on the recorded path, not only in `finally`. Each checkpoint clones the effects
array, so a rejection or state write produced by `dispose()`, the transport teardown or the final
`scheduler.flush()` used to land after the recording was built and never reached a golden — and an
unmount leak is exactly what this oracle exists to catch.
Six scenarios trip it today, and the dropped names are not noise:
When teardown observes anything, it becomes a checkpoint with id `cleanup`. `state` is captured
before dispose, because the operation is gone afterwards.
| Scenario | Dropped observations |
|---|---|
| `b2.prelude` | `projectRowDetailError`, `projectMutating` |
| `settings-repo-metadata-fulfilled.prelude` | `hostLabelById`, `hostPlatform` |
| `settings-repo-metadata-fulfilled.reject-peer-pending` | `hostLabelById`, `hostPlatform` |
| `settings-task-workspace-fulfilled.prelude` | `workspaceAgent`, `workspaceAgentOverridden`, `error`, `creatingKey` |
| `settings-workspace-submit-fulfilled` | `error` |
| `settings-workspace-submit-fulfilled.prelude` | `selectedAgent`, `agentOverridden`, `error` |
A rejection or state write on unmount is exactly what this oracle should catch, so this is a real
hole, not a nuisance. Closing it means either recording a cleanup checkpoint or folding these into
the final one — both change what every golden contains, which is a deliberate change of its own
rather than something to slip in here.
Five goldens carry one today, covering six scenarios whose dropped observations were not noise:
`projectRowDetailError`, `projectMutating`, `hostLabelById`, `hostPlatform`, `workspaceAgent`,
`workspaceAgentOverridden`, `creatingKey`, `selectedAgent`, `agentOverridden` and `error`. A
scenario that stops leaking loses its checkpoint, which is a visible golden diff rather than a
silent improvement.
@@ -32,6 +32,13 @@ export async function runRecording(
let mounted: MountedOperation | undefined
const ids = new Set<string>()
let advanced = 0
let cleaned = false
const teardown = async (): Promise<void> => {
cleaned = true
await mounted?.dispose()
transport.dispose()
await scheduler.flush()
}
try {
mounted = mount({ client: transport.client, effect })
for (const step of scenario.steps) {
@@ -87,32 +94,39 @@ export async function runRecording(
if (!recording.checkpoints.length) {
throw new Error(`No checkpoints: ${scenario.id}`)
}
// Why cleanup runs here and not only in `finally`: each checkpoint clones `effects`, so a
// rejection or state write produced by dispose, transport teardown or the final flush landed
// after the recording was built and never reached a golden. Unmount leaks are exactly what
// this oracle exists to catch, so teardown happens on the recorded path and anything it
// observes becomes its own checkpoint. `state` is captured before dispose because the
// operation is gone afterwards.
const beforeCleanup = effects.length
const stateAtCleanup = captureValue(mounted.state())
await teardown()
if (effects.length !== beforeCleanup) {
recording.checkpoints.push({
id: 'cleanup',
observation: {
// oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded requests is recorded data.
sender: structuredClone(transport.requests) as unknown as RecordedValue,
payloads: structuredClone(transport.payloads),
// oxlint-disable-next-line typescript/consistent-type-assertions -- SAFETY: a structured clone of recorded settlements is recorded data.
settlements: structuredClone(settlements) as unknown as RecordedValue,
state: stateAtCleanup,
effects: structuredClone(effects)
}
})
}
return recording
} finally {
// Why the count: every checkpoint already structuredClone'd `effects`, so anything cleanup
// appends lands after the recording was built and would be silently absent from it. A
// rejection thrown by dispose or a detached effect is exactly what this oracle exists to
// catch, so surface it instead of dropping it.
const beforeCleanup = effects.length
try {
await mounted?.dispose()
transport.dispose()
await scheduler.flush()
if (!cleaned) {
await teardown()
}
} finally {
stopUnhandled()
scheduler.stop()
}
if (effects.length !== beforeCleanup) {
// Known and unresolved: six scenarios land here today (see the README's cleanup-observation
// note). Warning rather than throwing keeps the gap visible without asserting a shape for
// these observations, which would change every golden. Deciding that is its own change.
console.warn(
`[rpc-recording] cleanup observations dropped from ${scenario.id}: ${effects
.slice(beforeCleanup)
.map((entry) => entry.name)
.join(', ')}`
)
}
}
}