@proompteng/temporal-bun-sdk 0.10.0 → 0.11.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 (230) hide show
  1. package/README.md +14 -10
  2. package/dist/agent-readiness.json +102 -18
  3. package/dist/production-readiness.json +246 -94
  4. package/dist/release-provenance.json +82 -0
  5. package/dist/src/activities/lifecycle.js +15 -4
  6. package/dist/src/activities/lifecycle.js.map +1 -1
  7. package/dist/src/client/retries.d.ts.map +1 -1
  8. package/dist/src/client/retries.js +12 -2
  9. package/dist/src/client/retries.js.map +1 -1
  10. package/dist/src/proto/protoc-gen-openapiv2/options/annotations_pb.js +1 -1
  11. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +14 -14
  12. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.d.ts.map +1 -1
  13. package/dist/src/proto/protoc-gen-openapiv2/options/openapiv2_pb.js +1 -1
  14. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts +106 -35
  15. package/dist/src/proto/temporal/api/activity/v1/message_pb.d.ts.map +1 -1
  16. package/dist/src/proto/temporal/api/activity/v1/message_pb.js +18 -2
  17. package/dist/src/proto/temporal/api/activity/v1/message_pb.js.map +1 -1
  18. package/dist/src/proto/temporal/api/batch/v1/message_pb.d.ts +12 -12
  19. package/dist/src/proto/temporal/api/batch/v1/message_pb.d.ts.map +1 -1
  20. package/dist/src/proto/temporal/api/batch/v1/message_pb.js +1 -1
  21. package/dist/src/proto/temporal/api/callback/v1/message_pb.d.ts +72 -0
  22. package/dist/src/proto/temporal/api/callback/v1/message_pb.d.ts.map +1 -0
  23. package/dist/src/proto/temporal/api/callback/v1/message_pb.js +18 -0
  24. package/dist/src/proto/temporal/api/callback/v1/message_pb.js.map +1 -0
  25. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts +5 -5
  26. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.d.ts.map +1 -1
  27. package/dist/src/proto/temporal/api/cloud/account/v1/message_pb.js +1 -1
  28. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts +3 -3
  29. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.d.ts.map +1 -1
  30. package/dist/src/proto/temporal/api/cloud/auditlog/v1/message_pb.js +1 -1
  31. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.d.ts +206 -0
  32. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.d.ts.map +1 -0
  33. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.js +95 -0
  34. package/dist/src/proto/temporal/api/cloud/billing/v1/message_pb.js.map +1 -0
  35. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts +462 -82
  36. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.d.ts.map +1 -1
  37. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js +223 -132
  38. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/request_response_pb.js.map +1 -1
  39. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts +95 -1
  40. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.d.ts.map +1 -1
  41. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js +2 -2
  42. package/dist/src/proto/temporal/api/cloud/cloudservice/v1/service_pb.js.map +1 -1
  43. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts +11 -3
  44. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.d.ts.map +1 -1
  45. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js +2 -2
  46. package/dist/src/proto/temporal/api/cloud/connectivityrule/v1/message_pb.js.map +1 -1
  47. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts +173 -24
  48. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.d.ts.map +1 -1
  49. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js +22 -2
  50. package/dist/src/proto/temporal/api/cloud/identity/v1/message_pb.js.map +1 -1
  51. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts +325 -26
  52. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.d.ts.map +1 -1
  53. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js +105 -22
  54. package/dist/src/proto/temporal/api/cloud/namespace/v1/message_pb.js.map +1 -1
  55. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts +5 -5
  56. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.d.ts.map +1 -1
  57. package/dist/src/proto/temporal/api/cloud/nexus/v1/message_pb.js +1 -1
  58. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts +4 -4
  59. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.d.ts.map +1 -1
  60. package/dist/src/proto/temporal/api/cloud/operation/v1/message_pb.js +1 -1
  61. package/dist/src/proto/temporal/api/cloud/region/v1/message_pb.js +1 -1
  62. package/dist/src/proto/temporal/api/cloud/resource/v1/message_pb.js +1 -1
  63. package/dist/src/proto/temporal/api/cloud/sink/v1/message_pb.js +1 -1
  64. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts +2 -2
  65. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.d.ts.map +1 -1
  66. package/dist/src/proto/temporal/api/cloud/usage/v1/message_pb.js +1 -1
  67. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts +61 -52
  68. package/dist/src/proto/temporal/api/command/v1/message_pb.d.ts.map +1 -1
  69. package/dist/src/proto/temporal/api/command/v1/message_pb.js +2 -2
  70. package/dist/src/proto/temporal/api/command/v1/message_pb.js.map +1 -1
  71. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts +118 -2
  72. package/dist/src/proto/temporal/api/common/v1/message_pb.d.ts.map +1 -1
  73. package/dist/src/proto/temporal/api/common/v1/message_pb.js +24 -4
  74. package/dist/src/proto/temporal/api/common/v1/message_pb.js.map +1 -1
  75. package/dist/src/proto/temporal/api/compute/v1/config_pb.d.ts +133 -0
  76. package/dist/src/proto/temporal/api/compute/v1/config_pb.d.ts.map +1 -0
  77. package/dist/src/proto/temporal/api/compute/v1/config_pb.js +38 -0
  78. package/dist/src/proto/temporal/api/compute/v1/config_pb.js.map +1 -0
  79. package/dist/src/proto/temporal/api/compute/v1/provider_pb.d.ts +49 -0
  80. package/dist/src/proto/temporal/api/compute/v1/provider_pb.d.ts.map +1 -0
  81. package/dist/src/proto/temporal/api/compute/v1/provider_pb.js +15 -0
  82. package/dist/src/proto/temporal/api/compute/v1/provider_pb.js.map +1 -0
  83. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.d.ts +39 -0
  84. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.d.ts.map +1 -0
  85. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.js +15 -0
  86. package/dist/src/proto/temporal/api/compute/v1/scaler_pb.js.map +1 -0
  87. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts +76 -39
  88. package/dist/src/proto/temporal/api/deployment/v1/message_pb.d.ts.map +1 -1
  89. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js +4 -2
  90. package/dist/src/proto/temporal/api/deployment/v1/message_pb.js.map +1 -1
  91. package/dist/src/proto/temporal/api/enums/v1/activity_pb.js +1 -1
  92. package/dist/src/proto/temporal/api/enums/v1/batch_operation_pb.js +1 -1
  93. package/dist/src/proto/temporal/api/enums/v1/command_type_pb.js +1 -1
  94. package/dist/src/proto/temporal/api/enums/v1/common_pb.js +1 -1
  95. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.d.ts +8 -4
  96. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.d.ts.map +1 -1
  97. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.js +9 -5
  98. package/dist/src/proto/temporal/api/enums/v1/deployment_pb.js.map +1 -1
  99. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts +7 -1
  100. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.d.ts.map +1 -1
  101. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js +8 -2
  102. package/dist/src/proto/temporal/api/enums/v1/event_type_pb.js.map +1 -1
  103. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.d.ts +7 -1
  104. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.d.ts.map +1 -1
  105. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.js +8 -2
  106. package/dist/src/proto/temporal/api/enums/v1/failed_cause_pb.js.map +1 -1
  107. package/dist/src/proto/temporal/api/enums/v1/namespace_pb.js +1 -1
  108. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.d.ts +153 -0
  109. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.d.ts.map +1 -1
  110. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.js +159 -2
  111. package/dist/src/proto/temporal/api/enums/v1/nexus_pb.js.map +1 -1
  112. package/dist/src/proto/temporal/api/enums/v1/query_pb.js +1 -1
  113. package/dist/src/proto/temporal/api/enums/v1/reset_pb.js +1 -1
  114. package/dist/src/proto/temporal/api/enums/v1/schedule_pb.js +1 -1
  115. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts +10 -1
  116. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.d.ts.map +1 -1
  117. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js +11 -2
  118. package/dist/src/proto/temporal/api/enums/v1/task_queue_pb.js.map +1 -1
  119. package/dist/src/proto/temporal/api/enums/v1/update_pb.js +1 -1
  120. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts +24 -14
  121. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.d.ts.map +1 -1
  122. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js +24 -14
  123. package/dist/src/proto/temporal/api/enums/v1/workflow_pb.js.map +1 -1
  124. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts +24 -2
  125. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.d.ts.map +1 -1
  126. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js +7 -2
  127. package/dist/src/proto/temporal/api/errordetails/v1/message_pb.js.map +1 -1
  128. package/dist/src/proto/temporal/api/export/v1/message_pb.d.ts +1 -1
  129. package/dist/src/proto/temporal/api/export/v1/message_pb.d.ts.map +1 -1
  130. package/dist/src/proto/temporal/api/export/v1/message_pb.js +1 -1
  131. package/dist/src/proto/temporal/api/failure/v1/message_pb.d.ts +26 -11
  132. package/dist/src/proto/temporal/api/failure/v1/message_pb.d.ts.map +1 -1
  133. package/dist/src/proto/temporal/api/failure/v1/message_pb.js +2 -2
  134. package/dist/src/proto/temporal/api/failure/v1/message_pb.js.map +1 -1
  135. package/dist/src/proto/temporal/api/filter/v1/message_pb.d.ts +2 -2
  136. package/dist/src/proto/temporal/api/filter/v1/message_pb.d.ts.map +1 -1
  137. package/dist/src/proto/temporal/api/filter/v1/message_pb.js +1 -1
  138. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts +278 -141
  139. package/dist/src/proto/temporal/api/history/v1/message_pb.d.ts.map +1 -1
  140. package/dist/src/proto/temporal/api/history/v1/message_pb.js +72 -62
  141. package/dist/src/proto/temporal/api/history/v1/message_pb.js.map +1 -1
  142. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts +39 -5
  143. package/dist/src/proto/temporal/api/namespace/v1/message_pb.d.ts.map +1 -1
  144. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js +2 -2
  145. package/dist/src/proto/temporal/api/namespace/v1/message_pb.js.map +1 -1
  146. package/dist/src/proto/temporal/api/nexus/v1/message_pb.d.ts +386 -14
  147. package/dist/src/proto/temporal/api/nexus/v1/message_pb.d.ts.map +1 -1
  148. package/dist/src/proto/temporal/api/nexus/v1/message_pb.js +26 -3
  149. package/dist/src/proto/temporal/api/nexus/v1/message_pb.js.map +1 -1
  150. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.d.ts +41 -0
  151. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.d.ts.map +1 -0
  152. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.js +20 -0
  153. package/dist/src/proto/temporal/api/nexusservices/workerservice/v1/request_response_pb.js.map +1 -0
  154. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts +6 -6
  155. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.d.ts.map +1 -1
  156. package/dist/src/proto/temporal/api/operatorservice/v1/request_response_pb.js +1 -1
  157. package/dist/src/proto/temporal/api/operatorservice/v1/service_pb.js +1 -1
  158. package/dist/src/proto/temporal/api/protocol/v1/message_pb.d.ts +1 -1
  159. package/dist/src/proto/temporal/api/protocol/v1/message_pb.d.ts.map +1 -1
  160. package/dist/src/proto/temporal/api/protocol/v1/message_pb.js +1 -1
  161. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.d.ts +46 -0
  162. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.d.ts.map +1 -0
  163. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.js +19 -0
  164. package/dist/src/proto/temporal/api/protometa/v1/annotations_pb.js.map +1 -0
  165. package/dist/src/proto/temporal/api/query/v1/message_pb.d.ts +4 -4
  166. package/dist/src/proto/temporal/api/query/v1/message_pb.d.ts.map +1 -1
  167. package/dist/src/proto/temporal/api/query/v1/message_pb.js +1 -1
  168. package/dist/src/proto/temporal/api/replication/v1/message_pb.d.ts +1 -1
  169. package/dist/src/proto/temporal/api/replication/v1/message_pb.d.ts.map +1 -1
  170. package/dist/src/proto/temporal/api/replication/v1/message_pb.js +1 -1
  171. package/dist/src/proto/temporal/api/rules/v1/message_pb.d.ts +3 -3
  172. package/dist/src/proto/temporal/api/rules/v1/message_pb.d.ts.map +1 -1
  173. package/dist/src/proto/temporal/api/rules/v1/message_pb.js +1 -1
  174. package/dist/src/proto/temporal/api/schedule/v1/message_pb.d.ts +24 -24
  175. package/dist/src/proto/temporal/api/schedule/v1/message_pb.d.ts.map +1 -1
  176. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.d.ts +1 -1
  177. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.d.ts.map +1 -1
  178. package/dist/src/proto/temporal/api/sdk/v1/enhanced_stack_trace_pb.js +1 -1
  179. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.d.ts +35 -0
  180. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.d.ts.map +1 -0
  181. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.js +14 -0
  182. package/dist/src/proto/temporal/api/sdk/v1/external_storage_pb.js.map +1 -0
  183. package/dist/src/proto/temporal/api/sdk/v1/task_complete_metadata_pb.js +1 -1
  184. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.d.ts +2 -2
  185. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.d.ts.map +1 -1
  186. package/dist/src/proto/temporal/api/sdk/v1/user_metadata_pb.js +1 -1
  187. package/dist/src/proto/temporal/api/sdk/v1/worker_config_pb.js +1 -1
  188. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.d.ts +1 -1
  189. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.d.ts.map +1 -1
  190. package/dist/src/proto/temporal/api/sdk/v1/workflow_metadata_pb.js +1 -1
  191. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.d.ts +39 -23
  192. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.d.ts.map +1 -1
  193. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.js +12 -7
  194. package/dist/src/proto/temporal/api/taskqueue/v1/message_pb.js.map +1 -1
  195. package/dist/src/proto/temporal/api/update/v1/message_pb.d.ts +10 -10
  196. package/dist/src/proto/temporal/api/update/v1/message_pb.d.ts.map +1 -1
  197. package/dist/src/proto/temporal/api/update/v1/message_pb.js +1 -1
  198. package/dist/src/proto/temporal/api/version/v1/message_pb.d.ts +4 -4
  199. package/dist/src/proto/temporal/api/version/v1/message_pb.d.ts.map +1 -1
  200. package/dist/src/proto/temporal/api/version/v1/message_pb.js +1 -1
  201. package/dist/src/proto/temporal/api/worker/v1/message_pb.d.ts +208 -15
  202. package/dist/src/proto/temporal/api/worker/v1/message_pb.d.ts.map +1 -1
  203. package/dist/src/proto/temporal/api/worker/v1/message_pb.js +33 -3
  204. package/dist/src/proto/temporal/api/worker/v1/message_pb.js.map +1 -1
  205. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts +187 -96
  206. package/dist/src/proto/temporal/api/workflow/v1/message_pb.d.ts.map +1 -1
  207. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js +16 -11
  208. package/dist/src/proto/temporal/api/workflow/v1/message_pb.js.map +1 -1
  209. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts +1884 -283
  210. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.d.ts.map +1 -1
  211. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js +309 -127
  212. package/dist/src/proto/temporal/api/workflowservice/v1/request_response_pb.js.map +1 -1
  213. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts +232 -2
  214. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.d.ts.map +1 -1
  215. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js +3 -2
  216. package/dist/src/proto/temporal/api/workflowservice/v1/service_pb.js.map +1 -1
  217. package/dist/src/runtime/effect-layers.d.ts +85 -0
  218. package/dist/src/runtime/effect-layers.d.ts.map +1 -1
  219. package/dist/src/worker/concurrency.d.ts.map +1 -1
  220. package/dist/src/worker/concurrency.js +12 -0
  221. package/dist/src/worker/concurrency.js.map +1 -1
  222. package/docs/adoption-readiness.md +93 -0
  223. package/docs/agent-adoption-guide.md +21 -26
  224. package/docs/default-choice-hardening-plan.md +47 -70
  225. package/docs/feature-matrix.md +20 -20
  226. package/docs/production-design.md +3 -3
  227. package/docs/production-readiness-implementation-plan.md +47 -56
  228. package/docs/semantic-readiness.md +45 -38
  229. package/docs/support-policy.md +3 -3
  230. package/package.json +10 -4
@@ -1,6 +1,6 @@
1
1
  # Temporal Bun SDK Semantic Readiness
2
2
 
3
- _Last updated: May 6, 2026_
3
+ _Last updated: May 14, 2026_
4
4
 
5
5
  ## Decision
6
6
 
@@ -32,11 +32,14 @@ The real concern was Temporal worker semantics:
32
32
 
33
33
  ## Machine-Readable Evidence
34
34
 
35
- Every release publishes two files in `dist/`:
35
+ Every default-choice release publishes three files in `dist/`:
36
36
 
37
37
  - `production-readiness.json`: full package, runtime, artifact, gate, and
38
38
  semantic concern evidence.
39
39
  - `agent-readiness.json`: compact recommendation status for agents.
40
+ - `release-provenance.json`: package version, commit SHA, GitHub Actions run,
41
+ npm publish metadata, and SHA-256 hashes for the replay, load, async-fuzz,
42
+ and readiness artifacts used by the recommendation.
40
43
 
41
44
  Agents should inspect `agent-readiness.json` first. A release is a default
42
45
  choice only when:
@@ -48,7 +51,9 @@ choice only when:
48
51
 
49
52
  `verify:production` must generate honest evidence even when the release is not
50
53
  default-ready. `verify:default-choice` is the stricter release gate that fails
51
- unless `agent-readiness.json` clears the default-choice threshold.
54
+ unless `agent-readiness.json` clears the default-choice threshold and the
55
+ release provenance gate ties that evidence to the exact CI run and package
56
+ version.
52
57
 
53
58
  ## Neutral Review Blockers
54
59
 
@@ -58,7 +63,7 @@ insufficient for default production choice. The durable blockers were:
58
63
  - readiness JSON alone is self-attested unless it exposes inspectable raw
59
64
  reports and coverage scope;
60
65
  - three replay fixtures are not enough for Temporal determinism confidence;
61
- - one-second soak and 64-workflow load evidence are smoke-level only;
66
+ - 64-workflow load evidence is smoke-level only;
62
67
  - command/event compatibility needs a complete matrix, not a small golden test;
63
68
  - Bun/JSC async fuzz needs generator scope, operation coverage, and a stronger
64
69
  oracle;
@@ -68,34 +73,31 @@ insufficient for default production choice. The durable blockers were:
68
73
  - default support remains scoped because this is not the official
69
74
  Temporal-maintained SDK.
70
75
 
71
- Current releases must leave `recommended: false` until these blockers are
72
- materially closed. The replay corpus now includes 35 checked-in fixtures, 32 of
73
- which are Temporal CLI dev-server captures, and the replay gate covers the
74
- required replay feature tags. The async fuzz gate now records 10,000 seeds, 64
75
- actual workflow operations per seed, full operation coverage, and a
76
- replay/mutation oracle when run. The worker load gate now records 1,000
77
- completed workflows, peak workflow concurrency 50, and CPU/activity/update
78
- scenario coverage when run. The remaining default-choice blockers are soak
79
- duration/iteration evidence and broader cross-version workflow-isolation/runtime
80
- matrix evidence. Runtime guards and strict workflow lint now cover direct
81
- `process.env`, `Bun.env`, `Bun.sleep`, `Bun.file`, `Bun.write`, `Bun.connect`,
82
- and `Bun.serve` escape hatches in addition to the earlier time/random/network
83
- guards. The publish workflow now runs `verify:default-choice` before npm
84
- publication, and the evidence collector scans Jangar/Bumba source, deployment,
85
- and observability references for production usage. A dedicated long-soak
86
- workflow now provides scheduled nightly runs and a manual six-hour release mode.
87
- The soak smoke report records baseline, worker-restart, sticky-cache-churn,
88
- update rejection/termination, and activity-cancellation modes and writes
89
- `memory.jsonl` with RSS/heap slope summaries. The `worker-restart` mode now
90
- records a real post-submission runtime restart and replacement-worker drain
91
- event. The `activity-cancellation` mode now requests cancellation of
92
- activity-heavy workflows while heartbeat activities are running and requires
93
- terminal `CANCELED` workflow outcomes, not only accepted cancellation RPCs.
94
- The worker shutdown test now holds normal workflow, sticky workflow, and
95
- activity long-poll RPCs open, then verifies shutdown aborts every poll and
96
- drains the runtime.
97
- Neither the smoke run nor workflow existence is a substitute for the six-hour
98
- release soak report.
76
+ Releases must leave `recommended: false` until these blockers are materially
77
+ closed by inspectable release evidence. Earlier 0.10.0 readiness artifacts
78
+ closed the first machine gates for the scoped Bun-first use case: 35 checked-in
79
+ replay fixtures, required replay feature-tag coverage, 10,000 async-fuzz seeds,
80
+ 64 actual workflow operations per seed, full operation coverage, a
81
+ replay/mutation oracle, and release load evidence. The current default-choice
82
+ bar additionally requires versioned release provenance:
83
+ the published package must include `dist/release-provenance.json` with the
84
+ package version, commit SHA, GitHub Actions run, npm publish metadata, and
85
+ hashes for the exact replay/load/fuzz artifacts. Without that provenance,
86
+ the release remains production-adjacent rather than a default production
87
+ dependency.
88
+
89
+ Runtime guards and strict workflow lint cover direct `process.env`, `Bun.env`,
90
+ `Bun.sleep`, `Bun.file`, `Bun.write`, `Bun.connect`, and `Bun.serve` escape
91
+ hatches in addition to the earlier time/random/network guards. The publish
92
+ workflow runs `verify:default-choice` before npm publication, and the evidence
93
+ collector scans Jangar/Bumba source, deployment, and observability references
94
+ for production usage.
95
+
96
+ The non-official support contract remains a documented tradeoff, not a machine
97
+ gate blocker. Broader Bun, Temporal Server, OS/arch, namespace, and workload
98
+ profiles require their own replay/load evidence before agents should
99
+ extend the default-choice claim beyond the matrix recorded in the release
100
+ artifact.
99
101
 
100
102
  ## Semantic Concern Matrix
101
103
 
@@ -106,8 +108,10 @@ release soak report.
106
108
  | Bun async semantics | Runtime guards including environment/Bun I/O escape hatches, query guard matrix, workflow lint, 10k-seed async fuzz artifact with operation coverage and at least 64 operations per seed. |
107
109
  | Temporal command protocol | Command materialization source, command/event matrix, protocol golden tests, replay corpus verifier, and full compatibility evidence. |
108
110
  | Activity lifecycle | Activity lifecycle implementation, activity context tests, heartbeat/cancellation integration coverage, load artifact. |
109
- | Sticky cache and shutdown | Worker runtime, sticky-cache tests, worker runtime integration coverage, load artifact, long-soak workflow, memory-slope artifact, and passing release soak artifact. |
111
+ | Sticky cache and shutdown | Worker runtime, sticky-cache tests, worker runtime integration coverage, and load artifact. |
110
112
  | Production usage | `services/jangar`, `services/bumba`, and Grafana Temporal worker observability references. |
113
+ | Agent adoption surface | npm discovery metadata, CLI bins, packaged skill, public docs, example package, and machine-readable readiness artifacts. |
114
+ | Versioned provenance | `dist/release-provenance.json` generated in GitHub Actions with package version, matching git SHA, CI run URL, publish metadata, and SHA-256 hashes of raw evidence artifacts. |
111
115
  | Support contract | Support policy, agent adoption guide, and SDK comparison docs. |
112
116
 
113
117
  ## Current Release Gate
@@ -121,13 +125,16 @@ bun run --cwd packages/temporal-bun-sdk lint:oxlint
121
125
  cd packages/temporal-bun-sdk && TEMPORAL_TEST_SERVER=1 bun test --timeout=30000 --max-concurrency=1
122
126
  bun run --filter @proompteng/temporal-bun-sdk verify:replay-corpus
123
127
  TEMPORAL_TEST_SERVER=1 bun run --filter @proompteng/temporal-bun-sdk test:load
124
- TEMPORAL_TEST_SERVER=1 bun run --filter @proompteng/temporal-bun-sdk test:soak -- --duration 21600000 --workflows 1000 --workflow-concurrency 50 --activity-concurrency 80 --failure-modes "${TEMPORAL_SOAK_FAILURE_MODES}"
125
128
  bun run --filter @proompteng/temporal-bun-sdk verify:production
126
129
  bun run --filter @proompteng/temporal-bun-sdk verify:default-choice
127
130
  ```
128
131
 
129
132
  `verify:production` validates replay-corpus status, load thresholds, async fuzz
130
- seed count, soak status, CI workflow coverage, and the semantic concern matrix.
131
- It writes `recommended: false` with blockers when the default bar is not met.
132
- `verify:default-choice` fails the release if any required concern is not
133
- evidenced.
133
+ seed count, CI workflow coverage, release provenance, and the
134
+ semantic concern matrix. It writes `recommended: false` with blockers when the
135
+ default bar is not met. `verify:default-choice` fails the release if any
136
+ required concern is not evidenced. `verify:packed-readiness` then runs
137
+ `npm pack --dry-run --json --ignore-scripts` and fails the publish path unless
138
+ the packed npm artifact contains `dist/production-readiness.json`,
139
+ `dist/agent-readiness.json`, and `dist/release-provenance.json` with sizes that
140
+ match the generated files.
@@ -39,11 +39,10 @@ Every release should publish or upload:
39
39
  - replay corpus report;
40
40
  - worker load report;
41
41
  - async determinism fuzz report;
42
- - worker soak report;
43
42
  - npm pack or publish provenance output.
44
43
 
45
44
  `agent-readiness.json` must not set `recommended: true` until the replay corpus,
46
- async determinism fuzz, load, soak, CI coverage, package-boundary, and semantic
45
+ async determinism fuzz, load, CI coverage, package-boundary, and semantic
47
46
  concern evidence meet the default-choice thresholds in
48
47
  `docs/semantic-readiness.md`.
49
48
 
@@ -61,7 +60,8 @@ must not select it by default until `verify:default-choice` passes.
61
60
  - Default-choice status is scoped to Bun-first deployments that accept the
62
61
  published gates and support model. It is not a blanket replacement for every
63
62
  official SDK use case, and teams with unusual throughput, history size, or
64
- platform requirements should run an extended soak before rollout.
63
+ platform requirements should run target-environment replay and load checks
64
+ before rollout.
65
65
 
66
66
  ## Security And Reliability Issues
67
67
 
package/package.json CHANGED
@@ -1,18 +1,23 @@
1
1
  {
2
2
  "name": "@proompteng/temporal-bun-sdk",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Temporal SDK for Bun with workers, client, replay tooling, and Temporal Cloud/TLS support.",
5
5
  "keywords": [
6
6
  "bun",
7
+ "bun-sdk",
7
8
  "client",
8
9
  "durable-execution",
9
10
  "effect",
10
11
  "grpc",
11
12
  "temporal",
12
13
  "temporal-cloud",
14
+ "temporal-sdk",
15
+ "temporalio",
13
16
  "typescript",
14
17
  "worker",
15
- "workflow"
18
+ "workflow",
19
+ "workflow-engine",
20
+ "workflow-orchestration"
16
21
  ],
17
22
  "homepage": "https://docs.proompteng.ai/docs/temporal-bun-sdk",
18
23
  "license": "MIT",
@@ -80,17 +85,18 @@
80
85
  "prepare": "tsc --project tsconfig.json --pretty false",
81
86
  "test": "bun test",
82
87
  "test:load": "bun scripts/run-worker-load.ts",
83
- "test:soak": "bun scripts/run-worker-soak.ts",
84
88
  "evidence:production": "bun scripts/collect-production-evidence.ts",
85
89
  "capture:replay-corpus": "bun scripts/capture-replay-corpus.ts",
86
90
  "verify:replay-corpus": "bun scripts/verify-replay-corpus.ts",
87
91
  "test:coverage": "bun test --coverage",
88
92
  "verify:production": "bun run evidence:production && bun test tests/packaging/manifest-packaging.test.ts",
89
93
  "verify:default-choice": "TEMPORAL_REQUIRE_DEFAULT_CHOICE=1 bun run evidence:production && bun test tests/packaging/manifest-packaging.test.ts",
94
+ "verify:packed-readiness": "bun scripts/verify-packed-readiness.ts",
90
95
  "start:worker": "bun run dist/src/bin/start-worker.js",
91
96
  "temporal:start": "bun scripts/start-temporal-cli.ts",
92
97
  "temporal:stop": "bun scripts/stop-temporal-cli.ts",
93
- "prepack": "bun run build && bun run evidence:production",
98
+ "prepublishOnly": "bun run verify:default-choice && TEMPORAL_REQUIRE_DEFAULT_CHOICE=1 bun run verify:packed-readiness",
99
+ "prepack": "bun run build && bun run verify:default-choice",
94
100
  "lint:oxlint": "oxlint --config ../../.oxlintrc.json .",
95
101
  "lint:oxlint:type": "oxlint --config ../../.oxlintrc.json --type-aware --tsconfig ./tsconfig.oxlint.json --ignore-pattern tests ."
96
102
  },