agents-can-communicate 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +112 -91
  2. package/SECURITY.md +8 -5
  3. package/bin/acc-bootstrap.mjs +5 -54
  4. package/bin/acc-claude-channel.mjs +8 -175
  5. package/bin/acc-hook.mjs +4 -133
  6. package/bin/acc-mcp.mjs +4 -59
  7. package/bin/acc-update-worker.mjs +8 -0
  8. package/bin/acc.mjs +5 -39
  9. package/bin/entrypoints/acc-bootstrap.mjs +47 -0
  10. package/bin/entrypoints/acc-claude-channel.mjs +149 -0
  11. package/bin/entrypoints/acc-hook.mjs +58 -0
  12. package/bin/entrypoints/acc-mcp.mjs +70 -0
  13. package/bin/entrypoints/acc.mjs +51 -0
  14. package/bin/entrypoints/claude-channel-stdio.mjs +29 -0
  15. package/bin/entrypoints/hook-output.mjs +73 -0
  16. package/docs/ADAPTER_AUTHORING.md +62 -24
  17. package/docs/ARCHITECTURE.md +79 -20
  18. package/docs/CAPABILITIES.md +52 -30
  19. package/docs/CLI.md +164 -35
  20. package/docs/CONCEPTS.md +97 -93
  21. package/docs/CONFIGURATION.md +66 -45
  22. package/docs/DESIGN_DECISIONS.md +24 -15
  23. package/docs/GETTING_STARTED.md +124 -118
  24. package/docs/GLOSSARY.md +12 -6
  25. package/docs/HOW_IT_WORKS.md +136 -229
  26. package/docs/MCP.md +98 -31
  27. package/docs/PROTOCOL.md +76 -14
  28. package/docs/RELEASING.md +128 -86
  29. package/docs/SECURITY_MODEL.md +52 -15
  30. package/docs/TROUBLESHOOTING.md +88 -18
  31. package/docs/UPGRADING.md +119 -0
  32. package/docs/WHY_ACC.md +19 -16
  33. package/docs/index.md +40 -24
  34. package/node_modules/@agents-can-communicate/adapter-claude-code/package.json +1 -1
  35. package/node_modules/@agents-can-communicate/adapter-claude-code/plugin/skills/acc/SKILL.md +112 -9
  36. package/node_modules/@agents-can-communicate/adapter-claude-code/src/install.mjs +6 -6
  37. package/node_modules/@agents-can-communicate/adapter-claude-code/src/native-delivery.mjs +2 -1
  38. package/node_modules/@agents-can-communicate/adapter-codex/certification.json +38 -13
  39. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/certification-provenance.json +220 -0
  40. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-current-binding-product-evidence.json +1549 -0
  41. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-current-binding-product.json +27 -0
  42. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-product-evidence.json +1549 -0
  43. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-product.json +27 -0
  44. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-transport-evidence.json +259 -0
  45. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.152.1-local-daemon-transport.json +21 -0
  46. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-current-binding-product-evidence.json +1549 -0
  47. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-current-binding-product.json +27 -0
  48. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-product-evidence.json +1549 -0
  49. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-product.json +27 -0
  50. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-transport-evidence.json +259 -0
  51. package/node_modules/@agents-can-communicate/adapter-codex/fixtures/delivery/codex-cli-0.153.4-local-daemon-transport.json +21 -0
  52. package/node_modules/@agents-can-communicate/adapter-codex/package.json +14 -2
  53. package/node_modules/@agents-can-communicate/adapter-codex/plugin/skills/acc/SKILL.md +111 -8
  54. package/node_modules/@agents-can-communicate/adapter-codex/src/adapter.mjs +26 -44
  55. package/node_modules/@agents-can-communicate/adapter-codex/src/app-server-client.mjs +70 -17
  56. package/node_modules/@agents-can-communicate/adapter-codex/src/config-block.mjs +231 -0
  57. package/node_modules/@agents-can-communicate/adapter-codex/src/hooks.mjs +1 -1
  58. package/node_modules/@agents-can-communicate/adapter-codex/src/install.mjs +71 -63
  59. package/node_modules/@agents-can-communicate/adapter-codex/src/native-delivery.mjs +107 -103
  60. package/node_modules/@agents-can-communicate/adapter-codex/src/native-endpoint.mjs +96 -0
  61. package/node_modules/@agents-can-communicate/adapter-codex/src/ws-json-rpc.mjs +3 -2
  62. package/node_modules/@agents-can-communicate/adapter-gemini-cli/extension/gemini-extension.json +1 -1
  63. package/node_modules/@agents-can-communicate/adapter-gemini-cli/extension/skills/acc/SKILL.md +111 -8
  64. package/node_modules/@agents-can-communicate/adapter-gemini-cli/package.json +1 -1
  65. package/node_modules/@agents-can-communicate/adapter-gemini-cli/src/install.mjs +2 -2
  66. package/node_modules/@agents-can-communicate/adapter-grok/package.json +1 -1
  67. package/node_modules/@agents-can-communicate/adapter-grok/plugin/skills/acc/SKILL.md +111 -8
  68. package/node_modules/@agents-can-communicate/adapter-grok/src/install.mjs +2 -2
  69. package/node_modules/@agents-can-communicate/adapter-kimi/package.json +1 -1
  70. package/node_modules/@agents-can-communicate/adapter-kimi/plugin/skills/acc/SKILL.md +111 -8
  71. package/node_modules/@agents-can-communicate/adapter-kimi/src/hooks.mjs +1 -1
  72. package/node_modules/@agents-can-communicate/adapter-kimi/src/install.mjs +2 -2
  73. package/node_modules/@agents-can-communicate/adapter-sdk/package.json +1 -1
  74. package/node_modules/@agents-can-communicate/adapter-sdk/src/capabilities.mjs +5 -0
  75. package/node_modules/@agents-can-communicate/adapter-sdk/src/context-projector.mjs +26 -4
  76. package/node_modules/@agents-can-communicate/adapter-sdk/src/decision-text.mjs +19 -0
  77. package/node_modules/@agents-can-communicate/adapter-sdk/src/hook-shim.mjs +5 -3
  78. package/node_modules/@agents-can-communicate/adapter-sdk/src/index.mjs +1 -0
  79. package/node_modules/@agents-can-communicate/adapter-sdk/src/native-delivery.mjs +9 -2
  80. package/node_modules/@agents-can-communicate/adapter-sdk/src/native-vocabulary.mjs +2 -6
  81. package/node_modules/@agents-can-communicate/adapter-sdk/src/session-binding.mjs +29 -9
  82. package/node_modules/@agents-can-communicate/adapter-sdk/src/toml-block.mjs +8 -6
  83. package/node_modules/@agents-can-communicate/cli/package.json +4 -2
  84. package/node_modules/@agents-can-communicate/cli/src/args.mjs +49 -22
  85. package/node_modules/@agents-can-communicate/cli/src/doctor-command.mjs +11 -4
  86. package/node_modules/@agents-can-communicate/cli/src/git-probe.mjs +9 -3
  87. package/node_modules/@agents-can-communicate/cli/src/help.mjs +109 -14
  88. package/node_modules/@agents-can-communicate/cli/src/install-command.mjs +66 -18
  89. package/node_modules/@agents-can-communicate/cli/src/main.mjs +35 -12
  90. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/activation.mjs +110 -0
  91. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/command.mjs +63 -0
  92. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/download.mjs +71 -0
  93. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/entry.mjs +110 -0
  94. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/generation.mjs +167 -0
  95. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/install.mjs +73 -0
  96. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/launchers.mjs +60 -0
  97. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/leases.mjs +60 -0
  98. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/location.mjs +55 -0
  99. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/mutex.mjs +145 -0
  100. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/policy.mjs +4 -0
  101. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/refresh.mjs +40 -0
  102. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/schedule.mjs +21 -0
  103. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/state.mjs +122 -0
  104. package/node_modules/@agents-can-communicate/cli/src/managed-runtime/worker.mjs +65 -0
  105. package/node_modules/@agents-can-communicate/cli/src/session-owner.mjs +33 -108
  106. package/node_modules/@agents-can-communicate/cli/src/update-command.mjs +25 -7
  107. package/node_modules/@agents-can-communicate/core/package.json +1 -1
  108. package/node_modules/@agents-can-communicate/core/src/attention.mjs +3 -0
  109. package/node_modules/@agents-can-communicate/core/src/claims.mjs +13 -8
  110. package/node_modules/@agents-can-communicate/core/src/conversations.mjs +48 -24
  111. package/node_modules/@agents-can-communicate/core/src/decision-changes.mjs +36 -0
  112. package/node_modules/@agents-can-communicate/core/src/decision-state.mjs +42 -0
  113. package/node_modules/@agents-can-communicate/core/src/delivery-bindings.mjs +11 -4
  114. package/node_modules/@agents-can-communicate/core/src/inbox.mjs +48 -17
  115. package/node_modules/@agents-can-communicate/core/src/intents.mjs +35 -15
  116. package/node_modules/@agents-can-communicate/core/src/materialisation.mjs +7 -5
  117. package/node_modules/@agents-can-communicate/core/src/message-pages.mjs +75 -0
  118. package/node_modules/@agents-can-communicate/core/src/next-turn-delivery.mjs +31 -0
  119. package/node_modules/@agents-can-communicate/core/src/session-opening.mjs +128 -0
  120. package/node_modules/@agents-can-communicate/core/src/sessions.mjs +58 -132
  121. package/node_modules/@agents-can-communicate/core/src/sync.mjs +31 -2
  122. package/node_modules/@agents-can-communicate/delivery-router/package.json +1 -1
  123. package/node_modules/@agents-can-communicate/delivery-router/src/refresh-binding.mjs +38 -0
  124. package/node_modules/@agents-can-communicate/delivery-router/src/router.mjs +86 -10
  125. package/node_modules/@agents-can-communicate/hook-runner/package.json +1 -1
  126. package/node_modules/@agents-can-communicate/hook-runner/src/client-version.mjs +1 -0
  127. package/node_modules/@agents-can-communicate/hook-runner/src/native-binding.mjs +6 -4
  128. package/node_modules/@agents-can-communicate/hook-runner/src/native-retirement.mjs +48 -0
  129. package/node_modules/@agents-can-communicate/hook-runner/src/process-table.mjs +1 -1
  130. package/node_modules/@agents-can-communicate/hook-runner/src/runner.mjs +175 -67
  131. package/node_modules/@agents-can-communicate/hook-runner/src/session-lifecycle.mjs +13 -0
  132. package/node_modules/@agents-can-communicate/installer/package.json +4 -2
  133. package/node_modules/@agents-can-communicate/installer/src/apply.mjs +17 -2
  134. package/node_modules/@agents-can-communicate/installer/src/bootstrap-runtime.mjs +11 -5
  135. package/node_modules/@agents-can-communicate/installer/src/detect.mjs +1 -1
  136. package/node_modules/@agents-can-communicate/installer/src/index.mjs +1 -0
  137. package/node_modules/@agents-can-communicate/installer/src/live-policy.mjs +21 -0
  138. package/node_modules/@agents-can-communicate/installer/src/native-activation.mjs +20 -6
  139. package/node_modules/@agents-can-communicate/installer/src/ownership.mjs +10 -4
  140. package/node_modules/@agents-can-communicate/installer/src/plan.mjs +3 -3
  141. package/node_modules/@agents-can-communicate/mcp-server/package.json +1 -1
  142. package/node_modules/@agents-can-communicate/mcp-server/src/protocol.mjs +85 -0
  143. package/node_modules/@agents-can-communicate/mcp-server/src/resources.mjs +3 -2
  144. package/node_modules/@agents-can-communicate/mcp-server/src/server.mjs +59 -57
  145. package/node_modules/@agents-can-communicate/mcp-server/src/tools.mjs +47 -33
  146. package/node_modules/@agents-can-communicate/protocol/package.json +1 -1
  147. package/node_modules/@agents-can-communicate/protocol/src/conversations.mjs +3 -0
  148. package/node_modules/@agents-can-communicate/protocol/src/decision-changes.mjs +15 -0
  149. package/node_modules/@agents-can-communicate/protocol/src/index.mjs +3 -1
  150. package/node_modules/@agents-can-communicate/protocol/src/schema.mjs +14 -5
  151. package/node_modules/@agents-can-communicate/storage-filesystem/package.json +1 -1
  152. package/node_modules/@agents-can-communicate/storage-filesystem/src/atomic-json.mjs +5 -1
  153. package/node_modules/@agents-can-communicate/storage-filesystem/src/deadline.mjs +7 -0
  154. package/node_modules/@agents-can-communicate/storage-filesystem/src/index.mjs +2 -0
  155. package/node_modules/@agents-can-communicate/storage-filesystem/src/session-read.mjs +25 -0
  156. package/node_modules/@agents-can-communicate/storage-filesystem/src/store.mjs +28 -25
  157. package/package.json +2 -1
@@ -0,0 +1,27 @@
1
+ {
2
+ "client": "codex-cli",
3
+ "version": "0.152.1",
4
+ "platform": "darwin-arm64",
5
+ "observedAt": "2026-09-08T09:42:03.910Z",
6
+ "capability": "native_delivery",
7
+ "result": "pass",
8
+ "fixture": "codex-cli-0.152.1-local-daemon-product",
9
+ "launchMode": "ordinary-command-with-installed-hooks",
10
+ "protocolContract": "codex-app-server-thread-queue-v1",
11
+ "idle": "offered",
12
+ "busy": "queued_after_turn",
13
+ "reply": "routed",
14
+ "duplicate": "same_message_id",
15
+ "fallback": "queued",
16
+ "packageSha256": "a6a38da5a36911baabfbef0ccf934847fcf7b51000197264c273d21430f7fea2",
17
+ "limitations": [
18
+ "Observed on darwin-arm64 with an already-running LocalDaemon and ordinary commands; ACC adds no launch arguments and owns no vendor daemon lifecycle.",
19
+ "Recorded recipient opt-in and exact current thread, canonical cwd, live process, stable version and protocol checks are required for every session.",
20
+ "A 120-second delivery lease can refresh on demand for the same non-retired endpoint; this does not renew the 24-hour presence expiry.",
21
+ "Unsupported or Embedded sessions and unreachable or rejected endpoints retain durable inbox delivery; accepted vendor queue entries cannot be withdrawn by policy off or uninstall.",
22
+ "A loaded daemon thread may execute opted-in messages after its TUI exits. TUI detachment is not SessionEnd; explicit thread archive or actual server teardown retires it.",
23
+ "Transport deduplication covers a pending queue entry only. Execution can repeat after queue consumption and acknowledgement loss.",
24
+ "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. No new lifecycle, guard or next-turn certification follows.",
25
+ "P16 is controlled endpoint fault injection. P18 uses an actual legacy npm artifact; its unrelated Claude shell artifact is not a real Claude capability capture."
26
+ ]
27
+ }
@@ -0,0 +1,259 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "source": "real-client-capture",
4
+ "client": "codex-cli",
5
+ "phase": "transport",
6
+ "clientVersion": "0.152.1",
7
+ "platform": "darwin-arm64",
8
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
9
+ "startedAt": "2026-09-08T06:20:52.999Z",
10
+ "finishedAt": "2026-09-08T06:23:41.408Z",
11
+ "scenarioCount": 4,
12
+ "passedCount": 4,
13
+ "failedCount": 0,
14
+ "cleanup": {
15
+ "attempted": true,
16
+ "outcome": "passed",
17
+ "ownedProcesses": "stopped",
18
+ "temporaryState": "removed"
19
+ },
20
+ "scenarios": [
21
+ {
22
+ "schemaVersion": 1,
23
+ "source": "real-client-capture",
24
+ "client": "codex-cli",
25
+ "caseId": "T01",
26
+ "phase": "transport",
27
+ "clientVersion": "0.152.1",
28
+ "platform": "darwin-arm64",
29
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
30
+ "roles": [
31
+ {
32
+ "role": "daemon-a",
33
+ "participantId": null,
34
+ "threadId": null
35
+ },
36
+ {
37
+ "role": "receiver-b1",
38
+ "participantId": "codex-N0ApRI",
39
+ "threadId": "01a07fad-46b8-7171-bb24-068fc1b0401d"
40
+ },
41
+ {
42
+ "role": "sender",
43
+ "participantId": "synthetic-sender",
44
+ "threadId": null
45
+ }
46
+ ],
47
+ "timestamps": {
48
+ "startedAt": "2026-09-08T06:21:25.089Z",
49
+ "idleSinceAt": null,
50
+ "preToolUseAt": null,
51
+ "queuedAt": null,
52
+ "stopAt": null,
53
+ "nextTurnAt": null,
54
+ "finishedAt": "2026-09-08T06:21:25.160Z"
55
+ },
56
+ "outcome": "passed",
57
+ "observations": [
58
+ {
59
+ "kind": "binding",
60
+ "at": "2026-09-08T06:21:25.160Z",
61
+ "actor": "receiver-b1",
62
+ "target": "receiver-b1",
63
+ "outcome": "matched"
64
+ }
65
+ ],
66
+ "observationCount": 1,
67
+ "assertionCount": 4,
68
+ "cleanup": {
69
+ "attempted": true,
70
+ "outcome": "passed",
71
+ "ownedProcesses": "stopped",
72
+ "temporaryState": "removed"
73
+ }
74
+ },
75
+ {
76
+ "schemaVersion": 1,
77
+ "source": "real-client-capture",
78
+ "client": "codex-cli",
79
+ "caseId": "T02",
80
+ "phase": "transport",
81
+ "clientVersion": "0.152.1",
82
+ "platform": "darwin-arm64",
83
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
84
+ "roles": [
85
+ {
86
+ "role": "daemon-a",
87
+ "participantId": null,
88
+ "threadId": null
89
+ },
90
+ {
91
+ "role": "receiver-b1",
92
+ "participantId": "codex-N0ApRI",
93
+ "threadId": "01a07fad-46b8-7171-bb24-068fc1b0401d"
94
+ },
95
+ {
96
+ "role": "sender",
97
+ "participantId": "synthetic-sender",
98
+ "threadId": null
99
+ }
100
+ ],
101
+ "timestamps": {
102
+ "startedAt": "2026-09-08T06:21:25.160Z",
103
+ "idleSinceAt": null,
104
+ "preToolUseAt": null,
105
+ "queuedAt": null,
106
+ "stopAt": null,
107
+ "nextTurnAt": null,
108
+ "finishedAt": "2026-09-08T06:21:47.795Z"
109
+ },
110
+ "outcome": "passed",
111
+ "observations": [
112
+ {
113
+ "kind": "submission",
114
+ "at": "2026-09-08T06:21:47.795Z",
115
+ "actor": "receiver-b1",
116
+ "target": null,
117
+ "outcome": "accepted"
118
+ }
119
+ ],
120
+ "observationCount": 1,
121
+ "assertionCount": 2,
122
+ "cleanup": {
123
+ "attempted": true,
124
+ "outcome": "passed",
125
+ "ownedProcesses": "stopped",
126
+ "temporaryState": "removed"
127
+ }
128
+ },
129
+ {
130
+ "schemaVersion": 1,
131
+ "source": "real-client-capture",
132
+ "client": "codex-cli",
133
+ "caseId": "T03",
134
+ "phase": "transport",
135
+ "clientVersion": "0.152.1",
136
+ "platform": "darwin-arm64",
137
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
138
+ "roles": [
139
+ {
140
+ "role": "daemon-a",
141
+ "participantId": null,
142
+ "threadId": null
143
+ },
144
+ {
145
+ "role": "receiver-b1",
146
+ "participantId": "codex-N0ApRI",
147
+ "threadId": "01a07fad-46b8-7171-bb24-068fc1b0401d"
148
+ },
149
+ {
150
+ "role": "sender",
151
+ "participantId": "synthetic-sender",
152
+ "threadId": null
153
+ }
154
+ ],
155
+ "timestamps": {
156
+ "startedAt": "2026-09-08T06:22:30.471Z",
157
+ "idleSinceAt": null,
158
+ "preToolUseAt": "2026-09-08T06:22:38.475Z",
159
+ "queuedAt": "2026-09-08T06:22:39.361Z",
160
+ "stopAt": "2026-09-08T06:23:06.321Z",
161
+ "nextTurnAt": "2026-09-08T06:23:06.558Z",
162
+ "finishedAt": "2026-09-08T06:23:27.444Z"
163
+ },
164
+ "outcome": "passed",
165
+ "observations": [
166
+ {
167
+ "kind": "session-state",
168
+ "at": "2026-09-08T06:22:38.574Z",
169
+ "actor": "receiver-b1",
170
+ "target": null,
171
+ "outcome": "active"
172
+ },
173
+ {
174
+ "kind": "queue",
175
+ "at": "2026-09-08T06:22:39.391Z",
176
+ "actor": "receiver-b1",
177
+ "target": null,
178
+ "outcome": "pending"
179
+ },
180
+ {
181
+ "kind": "submission",
182
+ "at": "2026-09-08T06:23:27.444Z",
183
+ "actor": "receiver-b1",
184
+ "target": null,
185
+ "outcome": "accepted"
186
+ }
187
+ ],
188
+ "observationCount": 3,
189
+ "assertionCount": 7,
190
+ "cleanup": {
191
+ "attempted": true,
192
+ "outcome": "passed",
193
+ "ownedProcesses": "stopped",
194
+ "temporaryState": "removed"
195
+ }
196
+ },
197
+ {
198
+ "schemaVersion": 1,
199
+ "source": "real-client-capture",
200
+ "client": "codex-cli",
201
+ "caseId": "T04",
202
+ "phase": "transport",
203
+ "clientVersion": "0.152.1",
204
+ "platform": "darwin-arm64",
205
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
206
+ "roles": [
207
+ {
208
+ "role": "daemon-a",
209
+ "participantId": null,
210
+ "threadId": null
211
+ },
212
+ {
213
+ "role": "receiver-b1",
214
+ "participantId": "codex-N0ApRI",
215
+ "threadId": "01a07fad-46b8-7171-bb24-068fc1b0401d"
216
+ },
217
+ {
218
+ "role": "sender",
219
+ "participantId": "synthetic-sender",
220
+ "threadId": null
221
+ }
222
+ ],
223
+ "timestamps": {
224
+ "startedAt": "2026-09-08T06:23:27.444Z",
225
+ "idleSinceAt": null,
226
+ "preToolUseAt": null,
227
+ "queuedAt": null,
228
+ "stopAt": null,
229
+ "nextTurnAt": null,
230
+ "finishedAt": "2026-09-08T06:23:27.805Z"
231
+ },
232
+ "outcome": "passed",
233
+ "observations": [
234
+ {
235
+ "kind": "submission",
236
+ "at": "2026-09-08T06:23:27.805Z",
237
+ "actor": "receiver-b1",
238
+ "target": null,
239
+ "outcome": "rejected"
240
+ },
241
+ {
242
+ "kind": "receipt",
243
+ "at": "2026-09-08T06:23:27.805Z",
244
+ "actor": "receiver-b1",
245
+ "target": null,
246
+ "outcome": "queued"
247
+ }
248
+ ],
249
+ "observationCount": 2,
250
+ "assertionCount": 2,
251
+ "cleanup": {
252
+ "attempted": true,
253
+ "outcome": "passed",
254
+ "ownedProcesses": "stopped",
255
+ "temporaryState": "removed"
256
+ }
257
+ }
258
+ ]
259
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "client": "codex-cli",
4
+ "version": "0.152.1",
5
+ "platform": "darwin-arm64",
6
+ "observedAt": "2026-09-08T06:23:41.408Z",
7
+ "capability": "native_delivery_transport",
8
+ "result": "pass",
9
+ "fixture": "codex-cli-0.152.1-local-daemon-transport",
10
+ "phase": "transport",
11
+ "packageSha256": "bdd78a4c1978f05322e156737660a43150971beecdcdc45985afaa66faa349dc",
12
+ "protocolContract": "codex-app-server-thread-queue-v1",
13
+ "exactBinding": "receiver_thread_matched",
14
+ "idle": "queue_add_accepted",
15
+ "busy": "queued_while_active",
16
+ "rejectedSubmission": "observed",
17
+ "durableReceipt": "queued",
18
+ "limitations": [
19
+ "Direct installed-adapter transport methods only; this capture does not certify the installed product route or a native reply callback."
20
+ ]
21
+ }