rcf-lite 0.25.0 → 0.27.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 (1192) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/blueprints/application-account-settings/CHANGELOG.md +35 -2
  3. package/blueprints/application-account-settings/README.md +10 -10
  4. package/blueprints/application-account-settings/blueprint.json +23 -3
  5. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
  6. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
  7. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
  8. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
  10. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
  11. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
  12. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
  13. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
  14. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
  15. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
  16. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
  17. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
  18. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
  19. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
  20. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
  21. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
  22. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
  23. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
  24. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
  25. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
  26. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
  27. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
  28. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
  29. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
  30. package/blueprints/application-account-settings/docs/topics.md +5 -5
  31. package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
  32. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
  33. package/blueprints/application-admin-console/CHANGELOG.md +42 -6
  34. package/blueprints/application-admin-console/README.md +4 -4
  35. package/blueprints/application-admin-console/blueprint.json +31 -1
  36. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
  37. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
  38. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
  39. package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
  40. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
  41. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
  42. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
  43. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
  44. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
  45. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
  46. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
  47. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
  48. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
  49. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
  50. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
  51. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
  52. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
  53. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
  54. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
  55. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
  56. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
  57. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
  58. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
  59. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
  60. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
  61. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
  62. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
  63. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
  64. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
  65. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
  66. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
  67. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
  68. package/blueprints/application-admin-console/docs/topics.md +1 -1
  69. package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
  70. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
  71. package/blueprints/application-api-rest/CHANGELOG.md +26 -0
  72. package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
  73. package/blueprints/application-api-rest/blueprint.json +1 -1
  74. package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
  75. package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +1 -1
  76. package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
  77. package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
  78. package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
  79. package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
  80. package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
  81. package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
  82. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
  83. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
  84. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
  85. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
  86. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
  87. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
  88. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
  89. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
  90. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
  91. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
  92. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
  93. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
  94. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
  95. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
  96. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
  97. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
  98. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
  99. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
  100. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
  101. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
  102. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
  103. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
  104. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
  105. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
  106. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
  107. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
  108. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
  109. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
  110. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
  111. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
  112. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
  113. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
  114. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
  115. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
  116. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
  117. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
  118. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
  119. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
  120. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
  121. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
  122. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
  123. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
  124. package/blueprints/application-api-rest/docs/topics.md +1 -1
  125. package/blueprints/application-charts/CHANGELOG.md +24 -3
  126. package/blueprints/application-charts/README.md +5 -5
  127. package/blueprints/application-charts/blueprint.json +112 -18
  128. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +1 -1
  129. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
  130. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
  131. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
  132. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
  133. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
  134. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
  135. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
  136. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
  137. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +50 -6
  138. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
  139. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
  140. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
  141. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
  142. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
  143. package/blueprints/application-charts/docs/topics.md +3 -3
  144. package/blueprints/application-charts/guide/application-charts.md +3 -3
  145. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
  146. package/blueprints/application-dashboard/CHANGELOG.md +24 -3
  147. package/blueprints/application-dashboard/README.md +8 -8
  148. package/blueprints/application-dashboard/blueprint.json +147 -21
  149. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
  150. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +1 -1
  151. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
  152. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
  153. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
  154. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +10 -3
  155. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
  156. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
  157. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
  158. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +1 -1
  159. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +1 -1
  160. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +54 -6
  161. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +54 -6
  162. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +58 -6
  163. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
  164. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +54 -6
  165. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
  166. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
  167. package/blueprints/application-dashboard/docs/topics.md +4 -4
  168. package/blueprints/application-dashboard/guide/application-dashboard.md +3 -3
  169. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
  170. package/blueprints/application-datatable/CHANGELOG.md +23 -2
  171. package/blueprints/application-datatable/README.md +3 -3
  172. package/blueprints/application-datatable/blueprint.json +167 -25
  173. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
  174. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
  175. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
  176. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
  177. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
  178. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
  179. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
  180. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
  181. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
  182. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +10 -3
  183. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
  184. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
  185. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  186. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
  187. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
  188. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
  189. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
  190. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
  191. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
  192. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
  193. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
  194. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
  195. package/blueprints/application-datatable/docs/topics.md +2 -2
  196. package/blueprints/application-datatable/guide/application-datatable.md +1 -1
  197. package/blueprints/application-empty-error-states/CHANGELOG.md +33 -3
  198. package/blueprints/application-empty-error-states/README.md +3 -3
  199. package/blueprints/application-empty-error-states/blueprint.json +35 -1
  200. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
  201. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
  202. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
  203. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
  204. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
  205. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
  206. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
  207. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
  208. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
  209. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
  210. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
  211. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
  212. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
  213. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
  214. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
  215. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
  216. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
  217. package/blueprints/application-empty-error-states/docs/topics.md +1 -1
  218. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
  219. package/blueprints/application-error-handling/CHANGELOG.md +17 -0
  220. package/blueprints/application-error-handling/blueprint.json +104 -19
  221. package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
  222. package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
  223. package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
  224. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
  225. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
  226. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
  227. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
  228. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
  229. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
  230. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
  231. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
  232. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
  233. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
  234. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
  235. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
  236. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
  237. package/blueprints/application-error-handling/docs/topics.md +1 -1
  238. package/blueprints/application-file-upload/CHANGELOG.md +36 -3
  239. package/blueprints/application-file-upload/README.md +1 -1
  240. package/blueprints/application-file-upload/blueprint.json +56 -1
  241. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
  242. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +4 -0
  243. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +7 -3
  244. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +6 -2
  245. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +6 -2
  246. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +4 -0
  247. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
  248. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
  249. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
  250. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
  251. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
  252. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
  253. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
  254. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
  255. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
  256. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
  257. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
  258. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
  259. package/blueprints/application-file-upload/docs/topics.md +1 -1
  260. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
  261. package/blueprints/application-forms-wizard/CHANGELOG.md +34 -3
  262. package/blueprints/application-forms-wizard/README.md +2 -2
  263. package/blueprints/application-forms-wizard/blueprint.json +57 -1
  264. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +4 -0
  265. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +6 -2
  266. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +6 -2
  267. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +6 -2
  268. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +4 -0
  269. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
  270. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
  271. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
  272. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
  273. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
  274. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
  275. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
  276. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
  277. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
  278. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
  279. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
  280. package/blueprints/application-forms-wizard/docs/topics.md +1 -1
  281. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
  282. package/blueprints/application-notifications-in-app/CHANGELOG.md +35 -3
  283. package/blueprints/application-notifications-in-app/README.md +5 -5
  284. package/blueprints/application-notifications-in-app/blueprint.json +150 -22
  285. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
  286. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
  287. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
  288. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
  289. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
  290. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
  291. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +14 -8
  292. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
  293. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +29 -5
  294. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +43 -5
  295. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +39 -5
  296. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
  297. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +50 -8
  298. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
  299. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
  300. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
  301. package/blueprints/application-notifications-in-app/docs/topics.md +1 -1
  302. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +1 -1
  303. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
  304. package/blueprints/application-onboarding-tour/CHANGELOG.md +33 -2
  305. package/blueprints/application-onboarding-tour/README.md +2 -2
  306. package/blueprints/application-onboarding-tour/blueprint.json +22 -2
  307. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
  308. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
  309. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
  310. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
  311. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
  312. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
  313. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
  314. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
  315. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
  316. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
  317. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
  318. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
  319. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
  320. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
  321. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
  322. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
  323. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
  324. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
  325. package/blueprints/application-onboarding-tour/docs/topics.md +3 -3
  326. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
  327. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
  328. package/blueprints/application-spa/CHANGELOG.md +30 -0
  329. package/blueprints/application-spa/README.md +8 -8
  330. package/blueprints/application-spa/blueprint.json +1 -1
  331. package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
  332. package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +1 -1
  333. package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
  334. package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
  335. package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
  336. package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +1 -1
  337. package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
  338. package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
  339. package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
  340. package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
  341. package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
  342. package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
  343. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
  344. package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
  345. package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
  346. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
  347. package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
  348. package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
  349. package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
  350. package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
  351. package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
  352. package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
  353. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
  354. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
  355. package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
  356. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
  357. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
  358. package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
  359. package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
  360. package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
  361. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
  362. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
  363. package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
  364. package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
  365. package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
  366. package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
  367. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +1 -1
  368. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +1 -1
  369. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +3 -3
  370. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +2 -2
  371. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +2 -2
  372. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
  373. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
  374. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
  375. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
  376. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
  377. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
  378. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
  379. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
  380. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
  381. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
  382. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
  383. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
  384. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
  385. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
  386. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
  387. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
  388. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
  389. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
  390. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
  391. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
  392. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
  393. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
  394. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
  395. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
  396. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
  397. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
  398. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
  399. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
  400. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
  401. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
  402. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
  403. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
  404. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
  405. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
  406. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
  407. package/blueprints/application-spa/docs/topics.md +1 -1
  408. package/blueprints/application-spa/guide/application-spa.md +2 -2
  409. package/blueprints/delivery-ci-workflows/CHANGELOG.md +18 -0
  410. package/blueprints/delivery-ci-workflows/README.md +1 -1
  411. package/blueprints/delivery-ci-workflows/blueprint.json +62 -1
  412. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
  413. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
  414. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
  415. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +4 -0
  416. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
  417. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
  418. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
  419. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
  420. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
  421. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
  422. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
  423. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
  424. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
  425. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
  426. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
  427. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
  428. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
  429. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
  430. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
  431. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
  432. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
  433. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
  434. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
  435. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
  436. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
  437. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
  438. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
  439. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
  440. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
  441. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
  442. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
  443. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
  444. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
  445. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
  446. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
  447. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
  448. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
  449. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
  450. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
  451. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
  452. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
  453. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
  454. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
  455. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
  456. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
  457. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
  458. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
  459. package/blueprints/delivery-ci-workflows/docs/topics.md +1 -1
  460. package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +17 -2
  461. package/blueprints/deploy-cloudflare-workers/README.md +2 -2
  462. package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
  463. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
  464. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +2 -2
  465. package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
  466. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
  467. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
  468. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
  469. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
  470. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
  471. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
  472. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
  473. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
  474. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
  475. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
  476. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
  477. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
  478. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
  479. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
  480. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
  481. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
  482. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
  483. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
  484. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
  485. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
  486. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
  487. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
  488. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
  489. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
  490. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
  491. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
  492. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
  493. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
  494. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
  495. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
  496. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
  497. package/blueprints/deploy-cloudflare-workers/docs/topics.md +1 -1
  498. package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
  499. package/blueprints/deploy-hetzner-server/CHANGELOG.md +39 -2
  500. package/blueprints/deploy-hetzner-server/README.md +12 -12
  501. package/blueprints/deploy-hetzner-server/blueprint.json +2 -2
  502. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
  503. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
  504. package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +12 -5
  505. package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +68 -20
  506. package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +8 -6
  507. package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +7 -1
  508. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-cloud-init-hardened.mjs +2 -1
  509. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
  510. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
  511. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
  512. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
  513. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
  514. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
  515. package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
  516. package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +26 -6
  517. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
  518. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
  519. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
  520. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
  521. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
  522. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
  523. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
  524. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
  525. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
  526. package/blueprints/deploy-hetzner-server/docs/topics.md +3 -3
  527. package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
  528. package/blueprints/edge-cloudflare-access/CHANGELOG.md +35 -3
  529. package/blueprints/edge-cloudflare-access/README.md +2 -2
  530. package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
  531. package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
  532. package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
  533. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
  534. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
  535. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
  536. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
  537. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
  538. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
  539. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
  540. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
  541. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
  542. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
  543. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
  544. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
  545. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
  546. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
  547. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
  548. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
  549. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
  550. package/blueprints/edge-cloudflare-access/docs/topics.md +2 -2
  551. package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +35 -1
  552. package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
  553. package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
  554. package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
  555. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
  556. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
  557. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
  558. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
  559. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
  560. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
  561. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
  562. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
  563. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
  564. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
  565. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
  566. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
  567. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
  568. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
  569. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
  570. package/blueprints/edge-cloudflare-rate-limiting/docs/topics.md +1 -1
  571. package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
  572. package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +49 -4
  573. package/blueprints/edge-cloudflare-tunnel/README.md +20 -21
  574. package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
  575. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
  576. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
  577. package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +7 -4
  578. package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
  579. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +109 -21
  580. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +123 -30
  581. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
  582. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
  583. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
  584. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
  585. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
  586. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
  587. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
  588. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
  589. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
  590. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
  591. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
  592. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
  593. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
  594. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
  595. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
  596. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
  597. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
  598. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
  599. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
  600. package/blueprints/edge-cloudflare-tunnel/docs/topics.md +2 -2
  601. package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
  602. package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +33 -1
  603. package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
  604. package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
  605. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
  606. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
  607. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
  608. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
  609. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
  610. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
  611. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
  612. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
  613. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
  614. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
  615. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
  616. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
  617. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
  618. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
  619. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
  620. package/blueprints/edge-cloudflare-turnstile/docs/topics.md +1 -1
  621. package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
  622. package/blueprints/email-smtp-resend/CHANGELOG.md +24 -0
  623. package/blueprints/email-smtp-resend/README.md +2 -2
  624. package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
  625. package/blueprints/email-smtp-resend/blueprint.json +119 -17
  626. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
  627. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
  628. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
  629. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
  630. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
  631. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
  632. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
  633. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
  634. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
  635. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
  636. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
  637. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
  638. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
  639. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
  640. package/blueprints/email-smtp-resend/docs/topics.md +1 -1
  641. package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
  642. package/blueprints/jobs-background/CHANGELOG.md +30 -6
  643. package/blueprints/jobs-background/README.md +8 -8
  644. package/blueprints/jobs-background/blueprint.json +55 -2
  645. package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
  646. package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
  647. package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +1 -1
  648. package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +4 -4
  649. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
  650. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
  651. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
  652. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
  653. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
  654. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
  655. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
  656. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
  657. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
  658. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
  659. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
  660. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
  661. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
  662. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
  663. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
  664. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
  665. package/blueprints/jobs-background/docs/topics.md +3 -3
  666. package/blueprints/jobs-background/guide/jobs-background.md +6 -6
  667. package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +41 -6
  668. package/blueprints/messaging-queue-cloudflare/README.md +6 -6
  669. package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
  670. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
  671. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
  672. package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +192 -37
  673. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
  674. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
  675. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
  676. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
  677. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
  678. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
  679. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
  680. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
  681. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
  682. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
  683. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
  684. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
  685. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
  686. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
  687. package/blueprints/messaging-queue-cloudflare/docs/topics.md +3 -3
  688. package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +7 -5
  689. package/blueprints/object-storage-s3/CHANGELOG.md +32 -4
  690. package/blueprints/object-storage-s3/README.md +16 -3
  691. package/blueprints/object-storage-s3/blueprint.json +162 -20
  692. package/blueprints/object-storage-s3/contributions/adrs/adr-2905-object-storage-s3-hetzner-object-storage-provider.json +30 -0
  693. package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +136 -0
  694. package/blueprints/object-storage-s3/contributions/probes/run-hetzner-object-storage-round-trip.mjs +11 -0
  695. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
  696. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
  697. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
  698. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
  699. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
  700. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
  701. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +22 -0
  702. package/blueprints/object-storage-s3/contributions/tacs/tac-2904-object-storage-s3-hetzner-endpoint-helper.json +34 -0
  703. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
  704. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
  705. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
  706. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
  707. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
  708. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
  709. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
  710. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
  711. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +42 -0
  712. package/blueprints/object-storage-s3/docs/topics.md +1 -1
  713. package/blueprints/object-storage-s3/guide/object-storage-s3.md +37 -1
  714. package/blueprints/observability-essentials/CHANGELOG.md +21 -0
  715. package/blueprints/observability-essentials/README.md +1 -1
  716. package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
  717. package/blueprints/observability-essentials/blueprint.json +32 -1
  718. package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
  719. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
  720. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
  721. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
  722. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
  723. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
  724. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
  725. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
  726. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
  727. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
  728. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
  729. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
  730. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
  731. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
  732. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
  733. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
  734. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
  735. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
  736. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
  737. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
  738. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
  739. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
  740. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
  741. package/blueprints/observability-essentials/docs/topics.md +2 -2
  742. package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
  743. package/blueprints/observability-logging/CHANGELOG.md +19 -4
  744. package/blueprints/observability-logging/README.md +1 -1
  745. package/blueprints/observability-logging/blueprint.json +76 -28
  746. package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
  747. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
  748. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
  749. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
  750. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
  751. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
  752. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
  753. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
  754. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
  755. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
  756. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
  757. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
  758. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
  759. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
  760. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
  761. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
  762. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
  763. package/blueprints/observability-logging/docs/topics.md +1 -1
  764. package/blueprints/observability-probe-endpoints/CHANGELOG.md +17 -0
  765. package/blueprints/observability-probe-endpoints/README.md +1 -1
  766. package/blueprints/observability-probe-endpoints/blueprint.json +40 -1
  767. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
  768. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
  769. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
  770. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
  771. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
  772. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
  773. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
  774. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
  775. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
  776. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
  777. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
  778. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
  779. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
  780. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
  781. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
  782. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
  783. package/blueprints/observability-probe-endpoints/docs/topics.md +2 -2
  784. package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
  785. package/blueprints/persistence-data-d1/CHANGELOG.md +19 -0
  786. package/blueprints/persistence-data-d1/README.md +1 -1
  787. package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
  788. package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
  789. package/blueprints/persistence-data-d1/blueprint.json +106 -22
  790. package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
  791. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
  792. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
  793. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
  794. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
  795. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
  796. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
  797. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
  798. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
  799. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
  800. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
  801. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
  802. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
  803. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
  804. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
  805. package/blueprints/persistence-data-d1/docs/topics.md +1 -1
  806. package/blueprints/persistence-data-postgres/CHANGELOG.md +18 -2
  807. package/blueprints/persistence-data-postgres/README.md +1 -1
  808. package/blueprints/persistence-data-postgres/blueprint.json +201 -23
  809. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
  810. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
  811. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
  812. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
  813. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +5 -1
  814. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
  815. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
  816. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
  817. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
  818. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
  819. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
  820. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
  821. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
  822. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
  823. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
  824. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
  825. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
  826. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
  827. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
  828. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
  829. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
  830. package/blueprints/persistence-data-postgres/docs/topics.md +1 -1
  831. package/blueprints/persistence-data-sqlite/CHANGELOG.md +14 -0
  832. package/blueprints/persistence-data-sqlite/blueprint.json +146 -30
  833. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
  834. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
  835. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
  836. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
  837. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
  838. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
  839. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
  840. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
  841. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
  842. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
  843. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
  844. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
  845. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
  846. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
  847. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
  848. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
  849. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
  850. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
  851. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
  852. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
  853. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
  854. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
  855. package/blueprints/persistence-data-sqlite/docs/topics.md +1 -1
  856. package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
  857. package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
  858. package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
  859. package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
  860. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
  861. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
  862. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
  863. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
  864. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
  865. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
  866. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
  867. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
  868. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
  869. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
  870. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
  871. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
  872. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
  873. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
  874. package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +4 -4
  875. package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +57 -2
  876. package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
  877. package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
  878. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
  879. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
  880. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/namespace-facade-ready.mjs +3 -3
  881. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +28 -14
  882. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +139 -27
  883. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +40 -39
  884. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +26 -16
  885. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +31 -34
  886. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
  887. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
  888. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
  889. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
  890. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
  891. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
  892. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
  893. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
  894. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
  895. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
  896. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
  897. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
  898. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
  899. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
  900. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
  901. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
  902. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
  903. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
  904. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
  905. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
  906. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
  907. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
  908. package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +2 -2
  909. package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
  910. package/blueprints/platform-cloudflare-kv/CHANGELOG.md +83 -2
  911. package/blueprints/platform-cloudflare-kv/README.md +40 -14
  912. package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
  913. package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
  914. package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +26 -26
  915. package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +49 -31
  916. package/blueprints/platform-cloudflare-kv/contributions/probes/facade-round-trip.mjs +58 -16
  917. package/blueprints/platform-cloudflare-kv/contributions/probes/list-with-prefix.mjs +6 -5
  918. package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +165 -66
  919. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
  920. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
  921. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
  922. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
  923. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
  924. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
  925. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
  926. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
  927. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
  928. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
  929. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
  930. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
  931. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
  932. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
  933. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
  934. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
  935. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
  936. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
  937. package/blueprints/platform-cloudflare-kv/docs/topics.md +2 -2
  938. package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
  939. package/blueprints/platform-docker-compose-host/CHANGELOG.md +37 -3
  940. package/blueprints/platform-docker-compose-host/README.md +7 -7
  941. package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
  942. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
  943. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
  944. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
  945. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
  946. package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +1 -1
  947. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +2 -3
  948. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +1 -1
  949. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
  950. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
  951. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
  952. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
  953. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
  954. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
  955. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
  956. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
  957. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
  958. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
  959. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
  960. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
  961. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
  962. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
  963. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
  964. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
  965. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
  966. package/blueprints/platform-docker-compose-host/docs/topics.md +4 -4
  967. package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
  968. package/blueprints/security-auth-clerk/CHANGELOG.md +24 -4
  969. package/blueprints/security-auth-clerk/README.md +1 -1
  970. package/blueprints/security-auth-clerk/blueprint.json +21 -1
  971. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
  972. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
  973. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
  974. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
  975. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
  976. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
  977. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
  978. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
  979. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
  980. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
  981. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
  982. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
  983. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
  984. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
  985. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
  986. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
  987. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
  988. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
  989. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
  990. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
  991. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
  992. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
  993. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
  994. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
  995. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
  996. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
  997. package/blueprints/security-auth-clerk/docs/topics.md +1 -1
  998. package/blueprints/security-auth-keycloak/CHANGELOG.md +23 -4
  999. package/blueprints/security-auth-keycloak/README.md +1 -1
  1000. package/blueprints/security-auth-keycloak/blueprint.json +101 -1
  1001. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
  1002. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
  1003. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
  1004. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
  1005. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
  1006. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
  1007. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
  1008. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
  1009. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
  1010. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
  1011. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
  1012. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
  1013. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
  1014. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
  1015. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
  1016. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
  1017. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
  1018. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
  1019. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
  1020. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
  1021. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
  1022. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
  1023. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
  1024. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
  1025. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
  1026. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
  1027. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
  1028. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
  1029. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
  1030. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
  1031. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
  1032. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
  1033. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
  1034. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
  1035. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
  1036. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
  1037. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
  1038. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
  1039. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
  1040. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
  1041. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
  1042. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
  1043. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
  1044. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
  1045. package/blueprints/security-auth-keycloak/docs/topics.md +1 -1
  1046. package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
  1047. package/blueprints/security-auth-magic-link/CHANGELOG.md +19 -3
  1048. package/blueprints/security-auth-magic-link/README.md +1 -1
  1049. package/blueprints/security-auth-magic-link/blueprint.json +1 -1
  1050. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
  1051. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
  1052. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
  1053. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
  1054. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
  1055. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
  1056. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
  1057. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
  1058. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
  1059. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
  1060. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
  1061. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
  1062. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
  1063. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
  1064. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
  1065. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
  1066. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
  1067. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
  1068. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
  1069. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
  1070. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
  1071. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
  1072. package/blueprints/security-auth-magic-link/docs/topics.md +1 -1
  1073. package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
  1074. package/blueprints/security-auth-oauth2/CHANGELOG.md +21 -4
  1075. package/blueprints/security-auth-oauth2/README.md +1 -1
  1076. package/blueprints/security-auth-oauth2/blueprint.json +33 -2
  1077. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
  1078. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
  1079. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
  1080. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
  1081. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
  1082. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
  1083. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
  1084. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
  1085. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
  1086. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
  1087. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
  1088. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
  1089. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
  1090. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
  1091. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
  1092. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
  1093. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
  1094. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
  1095. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
  1096. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
  1097. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
  1098. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
  1099. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
  1100. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
  1101. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
  1102. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
  1103. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
  1104. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
  1105. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
  1106. package/blueprints/security-auth-oauth2/docs/topics.md +1 -1
  1107. package/blueprints/security-secrets-management/CHANGELOG.md +14 -2
  1108. package/blueprints/security-secrets-management/blueprint.json +168 -31
  1109. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
  1110. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
  1111. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
  1112. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
  1113. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
  1114. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
  1115. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
  1116. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
  1117. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
  1118. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
  1119. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
  1120. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
  1121. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
  1122. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
  1123. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
  1124. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
  1125. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
  1126. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
  1127. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
  1128. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
  1129. package/blueprints/security-secrets-management/docs/topics.md +1 -1
  1130. package/fixtures/canary-manifest.json +9 -9
  1131. package/guidance/harness-template.md +67 -0
  1132. package/guidance/managed/agent-instructions-block.hash +1 -1
  1133. package/guidance/managed/agent-instructions-block.md +67 -0
  1134. package/package.json +2 -2
  1135. package/rcf/code-nodes/cn-500.json +12 -0
  1136. package/rcf/code-nodes/cn-510.json +12 -0
  1137. package/rcf/code-nodes/cn-520.json +14 -0
  1138. package/rcf/code-nodes/cn-521.json +12 -0
  1139. package/rcf/code-nodes/cn-522.json +13 -0
  1140. package/rcf/code-nodes/cn-523.json +12 -0
  1141. package/rcf/code-nodes/cn-524.json +14 -0
  1142. package/rcf/code-nodes/cn-525.json +12 -0
  1143. package/rcf/code-nodes/cn-526.json +14 -0
  1144. package/rcf/fbs/fbs-160.json +15 -0
  1145. package/rcf/fbs/fbs-165.json +15 -0
  1146. package/rcf/fbs/fbs-170.json +16 -0
  1147. package/rcf/fbs/fbs-171.json +16 -0
  1148. package/rcf/fbs/fbs-172.json +15 -0
  1149. package/rcf/fbs/fbs-173.json +17 -0
  1150. package/rcf/fbs/fbs-174.json +17 -0
  1151. package/rcf/requirements/req-140.json +149 -0
  1152. package/rcf/requirements/req-145.json +53 -0
  1153. package/rcf/requirements/req-150.json +20 -0
  1154. package/rcf/requirements/req-151.json +85 -0
  1155. package/rcf/requirements/req-152.json +20 -0
  1156. package/rcf/requirements/req-153.json +59 -0
  1157. package/rcf/requirements/req-154.json +44 -0
  1158. package/rcf/test-suites/ts-050.json +1 -1
  1159. package/rcf/test-suites/ts-052.json +1 -1
  1160. package/rcf/test-suites/ts-053.json +2 -2
  1161. package/rcf/test-suites/ts-054.json +2 -2
  1162. package/rcf/test-suites/ts-055.json +2 -2
  1163. package/rcf/test-suites/ts-056.json +4 -4
  1164. package/rcf/test-suites/ts-057.json +2 -2
  1165. package/rcf/test-suites/ts-071.json +2 -2
  1166. package/rcf/test-suites/ts-086.json +2 -2
  1167. package/rcf/test-suites/ts-170.json +22 -0
  1168. package/rcf/test-suites/ts-175.json +22 -0
  1169. package/rcf/test-suites/ts-180.json +30 -0
  1170. package/rcf/test-suites/ts-181.json +30 -0
  1171. package/rcf/test-suites/ts-182.json +22 -0
  1172. package/rcf/test-suites/ts-183.json +38 -0
  1173. package/rcf/test-suites/ts-184.json +38 -0
  1174. package/rcf/user-stories/us-14001.json +21 -0
  1175. package/rcf/user-stories/us-14501.json +24 -0
  1176. package/rcf/user-stories/us-15001.json +26 -0
  1177. package/rcf/user-stories/us-15101.json +26 -0
  1178. package/rcf/user-stories/us-15201.json +21 -0
  1179. package/rcf/user-stories/us-15301.json +31 -0
  1180. package/rcf/user-stories/us-15401.json +31 -0
  1181. package/rcf/user-stories/us-7701.json +3 -3
  1182. package/releases/releases.yaml +21 -1
  1183. package/src/blueprint/apply.js +64 -0
  1184. package/src/blueprint/consistency-lint.js +432 -0
  1185. package/src/blueprint/disposition-ledger.js +224 -0
  1186. package/src/blueprint/dispositions.js +44 -0
  1187. package/src/blueprint/index.js +19 -0
  1188. package/src/browser-verify/manifest-writer.js +53 -2
  1189. package/src/browser-verify/pack-runner.js +18 -0
  1190. package/src/cli/blueprint.js +103 -0
  1191. package/src/cli/view.js +22 -11
  1192. package/src/setup/identity-seed.js +18 -0
@@ -2,6 +2,61 @@
2
2
 
3
3
  All notable changes to `platform-cloudflare-durable-objects` are recorded here. The shape follows Keep a Changelog and Semantic Versioning per the blueprint authoring standard.
4
4
 
5
+ ## 1.1.3 - 2026-09-10
6
+
7
+ Positive-evidence rule alignment on the probe pack skip path (authoring standard section 7d), plus a register patch.
8
+
9
+ - Probes: the account-bound skip returns on `contributions/probes/real-account-storage-smoke.mjs` now carry a `reason` field naming the exact env var(s) that were unset (`CI_HAS_CLOUDFLARE_ACCOUNT` on the standard skip path; `CF_DO_WORKER_URL` on the second-tier declared skip when the account env is set). Skip-path probe report regenerated so the shipped shape carries the new field.
10
+ - Neutral register in ADR-3401 consequences (F-2), README (F-3) and guide prose (F-4).
11
+
12
+ ## 1.1.2 - 2026-09-10
13
+
14
+ Owner reference for the DO event-record whitelist.
15
+
16
+ - Rewrote REQ-006 description to reference the owning TAC field (`TAC-3405-platform-cloudflare-durable-objects-event-sink.purpose`) for the DO event-record whitelist, rather than restating the shape verbatim.
17
+
18
+ ## 1.1.1 (register-sweep patch, 2026-09-10)
19
+
20
+ - Register: neutral wording in shipped prose (no capability change).
21
+
22
+
23
+ ## 1.1.0 (2026-09-09)
24
+
25
+ ### Changed
26
+
27
+ - Family ruling (2026-09-09): Per the Cloudflare Durable Objects migrations page verified 2026-09-09, key-value backed namespaces can no longer be created; only new_sqlite_classes mints a fresh namespace. Every surface owned by this blueprint that named the deprecated `new_classes` migration keyword moves to `new_sqlite_classes`: the guide (blocks around lines 110-124 and 206), `AC-33108-1` on US-33108, `AC-33113-1` on US-33113, the README probe row for `wrangler-seam`, the anatomy test at `packages/rcf-lite/test/blueprint/platform-cloudflare-durable-objects-anatomy.test.js`, the test fixture `packages/rcf-lite/test/fixtures/cf-platform/wrangler.toml`, and the probe literal at `contributions/probes/wrangler-seam.mjs` (the probe now refuses a wrangler.toml that still carries the deprecated `new_classes` keyword). The committed `.rcf/reports` envelope and `packages/rcf-lite/test/view/fixtures/phase-3-6-static.html` also bind the old literal and are not touched by this pass; they are named under NOT VERIFIED on the accompanying evidence summary.
28
+ - `platform-cloudflare-durable-objects-REQ-005` extended to name the elicited `do-hub-broadcast-window-ms` delivery window and the elicited `do-hub-hibernate-after-idle-ms` window; closes criterion a on the previously unbacked elicits (F-1, F-2).
29
+ - `AC-33113-1` reworded to call the injected facade parameter `sink` (no longer restates `eventSink` owned by TAC-3405's interface); no behavioural change in the shipped code path. `AC-33104-1`, `AC-33106-1` and `AC-33113-1` carry `ownerRef`; every existing AC carries `disposition`. Every REQ carries `deliveredBy` (eight links, seven TAC-scoped and one ADR-scoped).
30
+ - Guide casing correction: `SINGLE-CELL` -> `single-cell` (contract-drift against TAC-3402.purpose per pass-1 lint).
31
+ - `rcf define blueprint lint-consistency` reports zero pass-1 and pass-2 findings.
32
+
33
+ ### Added (criterion b completion, second pass 2026-09-09)
34
+
35
+ - Every story on this blueprint now reaches the section 7a AC-set-sufficiency floor. 50 new hand-authored ACs cover the documented failure paths named in the guide and TAC records, per-story range 4-6 (from the 1 shipped on every story in the first 1.1.0 pass): US-33101 gains five failure-path ACs (env.CELL unbound closing F-4 namespace, env.HUB unbound, invalid sink, repeat-boot idempotency, sole-reader boundary); US-33102 gains four ACs (N=10 concurrent, mixed +1/-1 deltas, zero-delta, single-caller identity); US-33103 gains five ACs (SQL query surface exists, KV batch refuses closing F-6 KV, driver write failure with kind DO_STORAGE_WRITE_FAILED closing F-7 write, empty/populated list boundaries, 128 KiB vendor-cited value cap with vendor URL); US-33104 gains four ACs (setAlarm(-1) refuses closing F-4 alarm, re-schedule overwrites, handler-throw isolates with DO_ALARM_HANDLER_FAILED, deleteAlarm before fire); US-33105 gains five ACs (malformed message closing F-4 hub, empty-hub persistence, slow-socket isolation, N=10 concurrent broadcasts, unknown message type); US-33106 gains three ACs (allow-list mutation, closure-over-fixture, empty-payload boundary); US-33107 gains three ACs (comment-only mention, nested-directory recursion, extension filter); US-33108 gains four ACs (rename-as-new-migration-tag, silent-rename refuses, missing migrations block, stale new_classes keyword vendor-cited); US-33109 gains three ACs (read has no witness, reset has no witness, N=100 concurrent); US-33110 gains four ACs (cold-start reconstruction closing F-5, wake-on-message closing F-5 second half, hibernate-before-broadcast, repeated cycles idempotency); US-33111 gains three ACs (SQL query verbs closing F-6 SQL, KV refusal kind, unknown backend refuses); US-33112 gains three ACs (bounded-wait timeout, partial env-vars, non-2xx API response); US-33113 gains four ACs (wrangler-not-installed warn, bind-timeout warn, workerd-handler-throws fail, teardown discipline). Every new AC carries `disposition`, most carry `ownerRef` into the owning TAC, and vendor-fact ACs carry `vendorCitation` (migrations page, DO overview, DO limits, DO alarms, DO websockets) with today's verifiedOn date.
36
+ - `rcf define blueprint lint-consistency` still reports zero pass-1 and pass-2 findings. Blueprint stays at v1.1.0 on the same unreleased minor.
37
+
38
+ ### Fixed (review fix pass, 2026-09-09)
39
+
40
+ - `AC-33108-1` gains `vendorCitation` to the Cloudflare Durable Objects migrations page (verifiedOn 2026-09-09) so the vendor-fact leader carries a citation alongside `AC-33108-2..4` (review F-5).
41
+ - `AC-33108-5` reworded to what the cited vendor page actually carries: "key-value backed namespaces can no longer be created; only new_sqlite_classes mints a fresh namespace". The prior prose specifics ("HTTP 403 code 10099", "2026-07-09") are dropped from AC and CHANGELOG surfaces because the cited page does not state them; the internal real-account probe evidence is not citable in customer content (review F-5).
42
+ - Probe `wrangler-seam.mjs` comment reworded to align with the cited page (drops the internal cutover date and HTTP code claims); ADR-3402 context de-personified ("WSD lane" removed) (review F-3, F-5).
43
+ - Register sweep: every guide, README, ADR, blueprint.json, US, AC, TAC and probe comment surface on the blueprint has internal operator names, host names, work-item and dispatch ids, and train labels neutralised to concept ("a follow-up", "the throwaway prefix", "the shipped default"). CHANGELOG entries keep internal provenance (review F-3).
44
+
45
+ ## 1.0.1 (2026-09-08)
46
+
47
+ hardening pass (`h2-cf-platform-probe-integrity`): probe-integrity patch. No capability change.
48
+
49
+ ### Changed
50
+
51
+ - Replaced the credential-readiness pass-stub in `real-account-storage-smoke.mjs` with a real HTTP PUT-then-GET storage round-trip driver against a deployed Worker route (`/cell/:id/storage/:key`) that opens the DO facade, writes a fixture key, reads it back, and asserts byte equality. Activated when `CI_HAS_CLOUDFLARE_ACCOUNT` is set with `CF_DO_WORKER_URL`, `CF_ACCOUNT_ID`, `CF_DO_NAMESPACE_ID` and `CF_API_TOKEN`. Locally proven against `wrangler dev --local` (64-byte round-trip byte-equal). A pass is no longer reachable from credential presence alone.
52
+ - Extended anatomy-level anchor coverage for the five previously-unbound ACs (`AC-33106-1`, `AC-33108-1`, `AC-33109-1`, `AC-33110-1`, `AC-33111-1`) via multi-anchor `TC-H2-B2-*` assertions on the existing carrier probes (websocket-hub-broadcast, wrangler-seam, single-cell-concurrent-increment, storage-round-trip). No new probe body minted; every one of the 13 shipped DO ACs is now asserted at anatomy level.
53
+ - Moved DO mutation switches out of probe bodies into fixture-side shims: `SIMULATE_NON_FACADE_IMPORT` (sole-reader-scan) into `h2-cf-do-sole-reader-shim.mjs`; `SIMULATE_STORAGE_BACKEND_MISMATCH` (storage-round-trip) into `h2-cf-do-storage-round-trip-shim.mjs`; `SIMULATE_PII_LEAK` and `SIMULATE_HUB_HANG` (websocket-hub-broadcast) into `h2-cf-do-websocket-hub-shim.mjs`. All three DO probe bodies now hold zero `SIMULATE_` token references (`AC-15401-1` mutation-purity rule).
54
+ - Reworded the "fake state" and "fake WebSocket pair" comments on `namespace-facade-ready.mjs`, `websocket-hub-broadcast.mjs` and `probe-utils.mjs` to name the local test doubles honestly ("in-process DO state double", "in-process paired WebSockets"). `createFakeSocketPair` helper renamed `createInProcessSocketPair` with a back-compat alias.
55
+
56
+ ### Fixed
57
+
58
+ - Extended the fixture Worker at `packages/rcf-lite/test/fixtures/cf-platform/src/do-single-cell.mjs` and `src/index.mjs` with the `/cell/:id/storage/:key` route on the DO facade so the real-account driver has a runtime carrier.
59
+
5
60
  ## 1.0.0 (2026-09-07)
6
61
 
7
62
  ### Added
@@ -11,8 +66,8 @@ All notable changes to `platform-cloudflare-durable-objects` are recorded here.
11
66
  - 8 Node-only probes under `contributions/probes/`: `namespace-facade-ready` (facade opens and emits namespaceReady with metadata-only payload), `single-cell-concurrent-increment` (two concurrent increments serialise FIFO; also folds AC-33109-1 witness field), `storage-round-trip` (both sql and kv backends; also folds AC-33111-1 default backend), `alarm-fires-once` (once-per-schedule contract with drained storage), `websocket-hub-broadcast` (fan-out within window; folds AC-33110-1 hibernate-and-wake and AC-33106-1 event-secrecy on the shipped path with SIMULATE_PII_LEAK=true mutation), `sole-reader-scan` (source-tree scan of the applied source root with comment-stripping; folds SIMULATE_NON_FACADE_IMPORT=true mutation), `real-account-storage-smoke` (`accountBound: true`; records `accountBoundSkipped` in CI without `CI_HAS_CLOUDFLARE_ACCOUNT` per spec section 3.5), and `wrangler-seam` (drives `wrangler dev --local` on the fixture; two concurrent POST /cell/<id>/increment requests through the DO facade reaching env.CELL observe per-instance serialisation; one WebSocket upgrade against /hub/<id>/connect through the facade reaching env.HUB receives one broadcast frame; additional AC-33108-1 result on the same run greps wrangler.toml for both binding pairs and the migrations tag/new_classes; warn semantics per section 3.1 pass-with-skip if wrangler is missing or fails to bind).
12
67
  - 7 elicited parameters on `blueprint.json`: `do-cell-binding` (default `CELL`), `do-hub-binding` (default `HUB`), `do-cell-class-name` (default `SingleCellObject`), `do-hub-class-name` (default `HubObject`), `do-storage-backend` (default `sql` per ADR-3403), `do-hub-broadcast-window-ms` (default `500`), `do-hub-hibernate-after-idle-ms` (default `30000` per ADR-3405).
13
68
  - `suggestedCompanions`: `logging` (for the lifecycle-event sink) and `errorHandling` (for the handler-failure boundary).
14
- - Extends the shared `cf-platform` sample-app fixture with the `[[durable_objects.bindings]]` blocks (one binding named `CELL` with `class_name` `SingleCellObject`, one binding named `HUB` with `class_name` `HubObject`), the paired `[[migrations]]` block with `tag = "v1"` and `new_classes = ["SingleCellObject", "HubObject"]`, the sole-reader DO facade (`src/do-facade.mjs`), the single-cell class (`src/do-single-cell.mjs`), the hub class (`src/do-hub.mjs`), and the in-memory DO storage driver (`src/do-storage.mjs`) realising both sql and kv backends. The T-0 `[assets]`, T-1 `[[kv_namespaces]]` and T-2 `[triggers]` crons blocks are preserved verbatim; the facade does NOT dereference `env.CACHE` (KV binding stays owned by the T-1 KV facade).
15
- - Anatomy test at `packages/rcf-lite/test/blueprint/platform-cloudflare-durable-objects-anatomy.test.js` covers `TS-100..109` on the T-3 chain slice plus the wrangler-seam probe module shape (TC-wrangler-seam-shape) that binds AC-33113-1 to the shipped probe file (blueprint shape, contributions cross-check, probe module contracts, fixture files, ADR bodies and clauses, guide sections and URLs, two-mint-topic scope entries).
69
+ - Extends the shared `cf-platform` sample-app fixture with the `[[durable_objects.bindings]]` blocks (one binding named `CELL` with `class_name` `SingleCellObject`, one binding named `HUB` with `class_name` `HubObject`), the paired `[[migrations]]` block with `tag = "v1"` and `new_classes = ["SingleCellObject", "HubObject"]`, the sole-reader DO facade (`src/do-facade.mjs`), the single-cell class (`src/do-single-cell.mjs`), the hub class (`src/do-hub.mjs`), and the in-memory DO storage driver (`src/do-storage.mjs`) realising both sql and kv backends. The `[assets]`, `[[kv_namespaces]]` and `[triggers]` crons blocks are preserved verbatim; the facade does NOT dereference `env.CACHE` (KV binding stays owned by the KV facade).
70
+ - Anatomy test at `packages/rcf-lite/test/blueprint/platform-cloudflare-durable-objects-anatomy.test.js` covers `TS-100..109` on the chain slice plus the wrangler-seam probe module shape (TC-wrangler-seam-shape) that binds AC-33113-1 to the shipped probe file (blueprint shape, contributions cross-check, probe module contracts, fixture files, ADR bodies and clauses, guide sections and URLs, two-mint-topic scope entries).
16
71
 
17
72
  ### Known limitations
18
73
 
@@ -23,7 +23,7 @@ scope-global ADRs on new topics.
23
23
  - Coordinated multiplayer websocket connections in one authoritative
24
24
  hub (rooms, live cursors, presence): the hub shape.
25
25
 
26
- The sibling `platform-cloudflare-kv` (round 6 T-1) is the shipped
26
+ The sibling `platform-cloudflare-kv` is the shipped
27
27
  answer for eventually-consistent low-latency reads. The guide's
28
28
  decision tree pairs them.
29
29
 
@@ -36,7 +36,7 @@ decision tree pairs them.
36
36
  - Do you need cache-shaped read-hot reads with no strong-consistency
37
37
  contract? Reach for `platform-cloudflare-kv` instead.
38
38
  - Do you need durable multi-step workflows with retries and state
39
- across steps? Reach for the round-6 Workflows adapter on
39
+ across steps? Reach for the Workflows adapter on
40
40
  `jobs-background` v1.1.0 instead.
41
41
 
42
42
  ## The eight REQs
@@ -115,7 +115,7 @@ under the fixture root.
115
115
  | `websocket-hub-broadcast.mjs` | `AC-33105-1` | false | Broadcast from A reaches A and B within 500 ms; storage persists `lastBroadcast`. Also covers `AC-33110-1` (hibernate-and-wake) and `AC-33106-1` (event-secrecy on the shipped path). |
116
116
  | `sole-reader-scan.mjs` | `AC-33107-1` | false | Every `.mjs`/`.js`/`.ts` file under the fixture applied source root is scanned; only `src/do-facade.mjs` may dereference `env.CELL` or `env.HUB` in live source. |
117
117
  | `real-account-storage-smoke.mjs` | `AC-33112-1` | true | Facade round-trip against a real Cloudflare DO namespace when `CI_HAS_CLOUDFLARE_ACCOUNT=true`; otherwise records `accountBoundSkipped` and passes per spec section 3.5. |
118
- | `wrangler-seam.mjs` | `AC-33113-1` | false | Spawns `wrangler dev --local` on the fixture and drives two concurrent `POST /cell/<id>/increment` requests through the DO facade against `env.CELL`, asserting per-instance serialisation (counters `[1, 2]`, witnesses `[0, 1]`); opens one WebSocket upgrade against `/hub/<id>/connect` through the facade against `env.HUB`, asserting one broadcast frame arrives on connect. Also carries an additional `AC-33108-1` result that greps `wrangler.toml` for both binding pairs and the migrations tag/new_classes. Warn semantics per section 3.1 pass-with-skip if wrangler is not installed or fails to bind. |
118
+ | `wrangler-seam.mjs` | `AC-33113-1` | false | Spawns `wrangler dev --local` on the fixture and drives two concurrent `POST /cell/<id>/increment` requests through the DO facade against `env.CELL`, asserting per-instance serialisation (counters `[1, 2]`, witnesses `[0, 1]`); opens one WebSocket upgrade against `/hub/<id>/connect` through the facade against `env.HUB`, asserting one broadcast frame arrives on connect. Also carries an additional `AC-33108-1` result that greps `wrangler.toml` for both binding pairs and the migrations tag/new_sqlite_classes. Warn semantics per section 3.1 pass-with-skip if wrangler is not installed or fails to bind. |
119
119
 
120
120
  ## Two-line gate-reviewer boot
121
121
 
@@ -137,7 +137,7 @@ records `accountBoundSkipped: true` without the CI env var per
137
137
  spec section 3.5.
138
138
 
139
139
  The wrangler-dev boot (documented in the fixture README
140
- under the T-3 sections) is required for the eighth probe
140
+ under the sections) is required for the eighth probe
141
141
  (`wrangler-seam.mjs`), which spawns `wrangler dev --local` on
142
142
  the fixture to drive the shipped DO facade + SingleCellObject +
143
143
  HubObject code path against a real workerd runtime. The six
@@ -176,7 +176,7 @@ future v1.1.0 grows the mechanism inside the same blueprint.
176
176
 
177
177
  If your project needs eventually-consistent low-latency reads on
178
178
  a read-hot path (feature flags, session cache, config cache),
179
- reach for `platform-cloudflare-kv` (round 6 T-1) instead. Durable
179
+ reach for `platform-cloudflare-kv` instead. Durable
180
180
  Objects owns the strong-consistency slot on the shelf; KV owns
181
181
  the cache-shaped eventually-consistent slot. Both compose on the
182
182
  same Worker.
@@ -193,7 +193,7 @@ same Worker.
193
193
  this topic.
194
194
 
195
195
  Both topics are `scope: global` on the ADR contribution entries in
196
- `blueprint.json`; the round-2 conflict pattern applies.
196
+ `blueprint.json`; the standard conflict pattern applies.
197
197
 
198
198
  ## References
199
199
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "slug": "platform-cloudflare-durable-objects",
3
- "version": "1.0.0",
3
+ "version": "1.1.3",
4
4
  "category": "platform",
5
5
  "capabilities": [
6
6
  "strongConsistencyCell",
@@ -239,5 +239,6 @@
239
239
  "elicited": true,
240
240
  "standardsTraceClause": "generic enterprise practice"
241
241
  }
242
- ]
242
+ ],
243
+ "updatedAt": "2026-09-10T00:00:00.000Z"
243
244
  }
@@ -7,7 +7,7 @@
7
7
  "title": "Single-cell contract: Cloudflare Durable Objects authoritative-cell shape (scope global, new topic strongConsistencyCellContract)",
8
8
  "context": "An applying Workers project has one native strong-consistency answer today: Cloudflare Durable Objects. The DO runtime serialises invocations against a named instance per https://developers.cloudflare.com/durable-objects/, providing the authoritative-cell shape a counter, session store or lock needs. Two shapes ship in this blueprint (single-cell and websocket-hub) per spec section 5.3; both share the DO namespace mechanic. The single-cell shape is the one project-wide answer to strongConsistencyCellContract; a future non-Cloudflare adapter (a Postgres advisory-lock singleton, a Redis single-master pattern) would conflict on the same topic.",
9
9
  "decision": "The shipped v1.0.0 default is a Cloudflare Durable Object named instance behind the DO facade (env.CELL), realising the single-cell shape per REQ-002 and TAC-3402. The strongConsistencyCellContract topic scope is global on this blueprint; the topic string is strongConsistencyCellContract (lower camelCase, one concept per topic, no version suffix, per the round-2 rules-for-new-topics clause). A future non-Cloudflare adapter would contribute the same topic string with a different answer, forcing a DELIBERATE conflict the operator resolves with a project-level ADR.",
10
- "consequences": "The applying project inherits Cloudflare's documented DO consistency model, the platform-assigned per-object limits (https://developers.cloudflare.com/durable-objects/), and the migration-safe class-export contract (REQ-008). Standards trace clause: Cloudflare Durable Objects documented consistency model (per https://developers.cloudflare.com/durable-objects/). Consumers needing weaker-consistency low-latency reads reach for the sibling platform-cloudflare-kv blueprint (round 6 T-1) instead; the guide names the decision.",
10
+ "consequences": "The applying project inherits Cloudflare's documented DO consistency model, the platform-assigned per-object limits (https://developers.cloudflare.com/durable-objects/), and the migration-safe class-export contract (REQ-008). Standards trace clause: Cloudflare Durable Objects documented consistency model (per https://developers.cloudflare.com/durable-objects/). Consumers needing weaker-consistency low-latency reads reach for the sibling platform-cloudflare-kv blueprint instead; the guide names the decision.",
11
11
  "alternativesConsidered": [],
12
12
  "createdAt": "2026-09-07T14:00:00.000Z",
13
13
  "updatedAt": "2026-09-07T14:00:00.000Z"
@@ -5,7 +5,7 @@
5
5
  "version": "1.0.0",
6
6
  "status": "accepted",
7
7
  "title": "Websocket hub contract: Cloudflare Durable Objects hibernatable WebSockets shape (scope global, new topic websocketHubContract)",
8
- "context": "A named DO instance can host many websocket clients via state.acceptWebSocket per the hibernatable WebSockets shape (https://developers.cloudflare.com/durable-objects/). The runtime hibernates the object when idle and wakes it on the next message; the wake handler runs from cold and reads the same storage. This is the shipped answer for the coordinated-multiplayer shape the WSD lane consumers reach for. A future non-Cloudflare hub adapter (a Redis pub-sub broker, a bespoke websocket server) would conflict on the same topic; the guide names the trade.",
8
+ "context": "A named DO instance can host many websocket clients via state.acceptWebSocket per the hibernatable WebSockets shape (https://developers.cloudflare.com/durable-objects/). The runtime hibernates the object when idle and wakes it on the next message; the wake handler runs from cold and reads the same storage. This is the shipped answer for the coordinated-multiplayer shape consumers reach for. A future non-Cloudflare hub adapter (a Redis pub-sub broker, a bespoke websocket server) would conflict on the same topic; the guide names the trade.",
9
9
  "decision": "The shipped v1.0.0 default is a Cloudflare Durable Object hub instance behind the DO facade (env.HUB), realising the hibernatable-WebSocket hub shape per REQ-005 and TAC-3404. The websocketHubContract topic scope is global on this blueprint; the topic string is websocketHubContract. A future non-Cloudflare adapter would contribute the same topic string, forcing a DELIBERATE conflict the operator resolves with a project-level ADR.",
10
10
  "consequences": "The applying project inherits Cloudflare's documented hibernatable-WebSockets contract, the hibernate-after-idle window (elicited per ADR-3405) and the idempotent wake-handler shape. Standards trace clause: Cloudflare Durable Objects hibernatable WebSockets shape (per https://developers.cloudflare.com/durable-objects/). The hub shape shares the DO namespace mechanic with the single-cell shape; a future non-Cloudflare websocket-hub sibling mints on demand and the two-blueprint split conversation resurfaces then.",
11
11
  "alternativesConsidered": [],
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // Opens the DO facade against an in-process pair of DO instances
4
4
  // (a SingleCellObject wired to the in-memory storage driver and a
5
- // HubObject wired to a fake state), calls ready(), asserts
5
+ // HubObject wired to an in-process DO state double), calls ready(), asserts
6
6
  // namespaceReady fires on the injected sink with a metadata-only
7
7
  // payload {event, key, size, ttl, timestamp} and asserts the
8
8
  // facade exposes cell(name) and hub(name) handles that return the
@@ -19,7 +19,7 @@ export default async function runProbe() {
19
19
  const { SingleCellObject } = await import('../../../../packages/rcf-lite/test/fixtures/cf-platform/src/do-single-cell.mjs');
20
20
  const { HubObject } = await import('../../../../packages/rcf-lite/test/fixtures/cf-platform/src/do-hub.mjs');
21
21
  const { createDoFacadeInProcess } = await import('../../../../packages/rcf-lite/test/fixtures/cf-platform/src/do-facade.mjs');
22
- const { createFakeState } = await import('./probe-utils.mjs');
22
+ const { createInProcessDoState } = await import('./probe-utils.mjs');
23
23
 
24
24
  const events = [];
25
25
  const eventSink = (rec) => events.push(rec);
@@ -27,7 +27,7 @@ export default async function runProbe() {
27
27
  const cellStorage = createInMemoryDoStorage({ backend: 'sql' });
28
28
  const hubStorage = createInMemoryDoStorage({ backend: 'sql' });
29
29
  const singleCell = new SingleCellObject({ storage: cellStorage, eventSink, name: 'main' });
30
- const hub = new HubObject({ state: createFakeState(), storage: hubStorage, eventSink, name: 'lobby' });
30
+ const hub = new HubObject({ state: createInProcessDoState(), storage: hubStorage, eventSink, name: 'lobby' });
31
31
  const facade = createDoFacadeInProcess({ singleCell, hub, eventSink });
32
32
 
33
33
  const results = [];
@@ -5,14 +5,15 @@
5
5
  // driver from the cf-platform fixture src/ tree so rcf-lite itself
6
6
  // gains no new runtime dependency. Six probes drive the shipped
7
7
  // code path in-process against the in-memory driver; one probe
8
- // (real-account-storage-smoke) opens the Cloudflare Workers API
9
- // when CI_HAS_CLOUDFLARE_ACCOUNT is set. Without the env var it
10
- // records accountBoundSkipped and aggregates to pass per spec
11
- // section 3.5.
8
+ // (real-account-storage-smoke) drives an HTTP round trip against a
9
+ // deployed Worker when CI_HAS_CLOUDFLARE_ACCOUNT is set. Without
10
+ // the env var it records accountBoundSkipped and aggregates to
11
+ // pass per spec section 3.5.
12
12
  //
13
13
  // The wrangler dev seam is documented in the fixture README under
14
- // the "T-3 wrangler dev optional boot" section; the shipped probes
15
- // do NOT require a wrangler dev process to drive their assertions.
14
+ // the " wrangler dev optional boot" section; the shipped
15
+ // in-process probes do NOT require a wrangler dev process to
16
+ // drive their assertions.
16
17
 
17
18
  import { mkdir, writeFile } from 'node:fs/promises';
18
19
  import { dirname, resolve } from 'node:path';
@@ -70,11 +71,13 @@ export async function runShim(probeName, engine, mainFn) {
70
71
  }
71
72
  }
72
73
 
73
- // A minimal fake WebSocket pair used by the hub probes. Each fake
74
- // exposes send(str) which buffers into inbound[] on the paired
75
- // fake; close(code, reason) is a no-op. The hub's state.getWebSockets()
76
- // returns the list of accepted fakes.
77
- export function createFakeSocketPair(name = 'ws') {
74
+ // A minimal in-process WebSocket pair used by the hub probes. Each
75
+ // paired socket exposes send(str) which buffers into inbound[] on
76
+ // the same socket so a probe can assert delivery; close(code,
77
+ // reason) is a no-op. This is a local test double for the WebSocket
78
+ // contract the hub actually depends on (send + close), scoped to
79
+ // the probe run only.
80
+ export function createInProcessSocketPair(name = 'ws') {
78
81
  const inbound = [];
79
82
  const closed = { flag: false };
80
83
  const socket = {
@@ -83,8 +86,8 @@ export function createFakeSocketPair(name = 'ws') {
83
86
  closed,
84
87
  send(str) {
85
88
  // Route what the hub sends back into inbound so a probe can
86
- // assert delivery. The pairing is per-socket; the hub calls
87
- // send() on every socket it wants to reach.
89
+ // assert delivery. The hub calls send() on every socket it
90
+ // wants to reach.
88
91
  inbound.push(str);
89
92
  },
90
93
  close(code, reason) {
@@ -96,10 +99,21 @@ export function createFakeSocketPair(name = 'ws') {
96
99
  return socket;
97
100
  }
98
101
 
99
- export function createFakeState() {
102
+ // Minimal in-process DurableObjectState double. Exposes the two
103
+ // members the hub calls on state (acceptWebSocket, getWebSockets);
104
+ // scoped to the probe run only.
105
+ export function createInProcessDoState() {
100
106
  const accepted = [];
101
107
  return {
102
108
  acceptWebSocket(ws) { accepted.push(ws); },
103
109
  getWebSockets() { return accepted.slice(); },
104
110
  };
105
111
  }
112
+
113
+ // Backwards-compatible aliases. The rename to createInProcess* was
114
+ // driven by the honest-labelling sweep (finding rows
115
+ // f-2026-09-08-stage2-218 and f-2026-09-08-stage2-219); the
116
+ // aliases below let any existing anatomy assertion or downstream
117
+ // probe still resolve the older names during the same train.
118
+ export const createFakeSocketPair = createInProcessSocketPair;
119
+ export const createFakeState = createInProcessDoState;
@@ -1,58 +1,170 @@
1
1
  // Real-account-storage-smoke probe for platform-cloudflare-durable-objects v1.0.0.
2
2
  //
3
- // Opens the DO facade against a real Cloudflare account with a
4
- // real DO namespace and drives a storage round-trip with the
5
- // elicited backend. Without CI_HAS_CLOUDFLARE_ACCOUNT=true the
6
- // probe records accountBoundSkipped and aggregates to pass per
7
- // spec section 3.5 (Clerk pattern).
3
+ // Drives an HTTP round trip against a deployed Worker route that
4
+ // opens the DO facade for a named SingleCellObject, writes a
5
+ // fixture key with random bytes under the DO's per-instance
6
+ // storage, reads the same key back, and asserts the returned
7
+ // bytes are byte-equal to the written value (AC-33112-1).
8
8
  //
9
- // With the env var, the probe requires CF_ACCOUNT_ID,
10
- // CF_DO_NAMESPACE_ID and CF_API_TOKEN; a partial set records the
11
- // missing set and aggregates to fail so the reviewer sees the
12
- // misconfiguration.
9
+ // Probe env-var contract (honest to what the probe actually
10
+ // consumes): the round-trip only reads CF_DO_WORKER_URL. The CF
11
+ // account id, DO namespace id and API token are wrangler-side
12
+ // deploy config bound to the deployed Worker; the probe drives
13
+ // HTTP against the Worker origin and does not call the CF API
14
+ // directly, so those keys are not on the probe's gate. A future
15
+ // pre-flight that resolves the DO namespace id via the CF API
16
+ // would re-introduce them; until such a pre-flight exists, keeping
17
+ // them on the gate would be dishonest (the probe would refuse to
18
+ // run on the absence of variables it never uses).
19
+ //
20
+ // Activation:
21
+ //
22
+ // - CI_HAS_CLOUDFLARE_ACCOUNT unset: pass-with-skip per spec
23
+ // section 3.5 (Clerk pattern); a pass is never reachable from
24
+ // credential presence alone.
25
+ // - CI_HAS_CLOUDFLARE_ACCOUNT set, CF_DO_WORKER_URL unset:
26
+ // declared skip on CF_DO_WORKER_URL (the deployed-Worker origin
27
+ // the round trip runs against). This fixture does not yet
28
+ // self-provision the DO Worker (follow-up work item); until it
29
+ // does, an account-set-but-no-CF_DO_WORKER_URL run records a
30
+ // pass-with-skip naming the env var.
31
+ // - CI_HAS_CLOUDFLARE_ACCOUNT set, CF_DO_WORKER_URL set: the
32
+ // probe drives the HTTP round-trip against the deployed Worker.
33
+ //
34
+ // Locally proven against wrangler dev --local on the cf-platform
35
+ // fixture; a run without CI_HAS_CLOUDFLARE_ACCOUNT but with
36
+ // CF_DO_WORKER_URL set exercises the same driver against the local
37
+ // wrangler binding, so the driver logic itself is verifiable offline
38
+ // (recorded in the provenance transcript, not committed as an
39
+ // envelope).
13
40
  //
14
41
  // anchorAcId: AC-33112-1.
15
42
  // accountBound: true.
16
43
 
44
+ import { randomBytes } from 'node:crypto';
45
+
17
46
  export const anchorAcId = 'AC-33112-1';
18
47
  export const accountBound = true;
19
48
 
49
+ const ROUND_TRIP_TIMEOUT_MS = 30000;
50
+
51
+ function timeoutSignal(ms) {
52
+ const controller = new AbortController();
53
+ const timer = setTimeout(() => controller.abort(new Error(`timeout after ${ms}ms`)), ms);
54
+ return { signal: controller.signal, cancel: () => clearTimeout(timer) };
55
+ }
56
+
57
+ function bytesEqual(a, b) {
58
+ if (a.byteLength !== b.byteLength) return false;
59
+ for (let i = 0; i < a.byteLength; i++) if (a[i] !== b[i]) return false;
60
+ return true;
61
+ }
62
+
20
63
  export default async function runProbe() {
21
64
  const results = [];
22
- const enabled = process.env.CI_HAS_CLOUDFLARE_ACCOUNT === 'true';
65
+ const enabled = process.env.CI_HAS_CLOUDFLARE_ACCOUNT === 'true' || process.env.CI_HAS_CLOUDFLARE_ACCOUNT === '1';
23
66
 
67
+ // Discrete skip shape on every missing-environment branch: missing
68
+ // required configuration is a skip (the probe did not execute),
69
+ // named exactly by the unset variable(s) in `reason`.
24
70
  if (!enabled) {
25
71
  results.push({
26
72
  anchorAcId: 'AC-33112-1',
27
73
  verdict: 'pass',
28
- detail: 'CI_HAS_CLOUDFLARE_ACCOUNT is not set; probe recorded accountBoundSkipped and aggregated to pass per spec section 3.5. Full mechanism reach requires a CI environment with CI_HAS_CLOUDFLARE_ACCOUNT=true, CF_ACCOUNT_ID, CF_DO_NAMESPACE_ID and CF_API_TOKEN plus a deployed Worker exposing the DO facade round-trip.',
74
+ accountBoundSkipped: true,
75
+ reason: 'CI_HAS_CLOUDFLARE_ACCOUNT',
76
+ detail: 'accountBoundSkipped: CI_HAS_CLOUDFLARE_ACCOUNT is not set to true; probe recorded accountBoundSkipped and aggregated to pass per spec section 3.5.',
77
+ });
78
+ return { results, extra: { accountBoundSkipped: true, reason: 'CI_HAS_CLOUDFLARE_ACCOUNT' } };
79
+ }
80
+
81
+ const workerUrl = process.env.CF_DO_WORKER_URL;
82
+ if (!workerUrl) {
83
+ // The round-trip needs a deployed Worker origin URL and this
84
+ // fixture does not yet self-provision that Worker (follow-up
85
+ // work item). Skip with the exact unset variable named in
86
+ // `reason`; the probe did not execute against a real Worker.
87
+ results.push({
88
+ anchorAcId: 'AC-33112-1',
89
+ verdict: 'pass',
90
+ accountBoundSkipped: true,
91
+ reason: 'CF_DO_WORKER_URL',
92
+ detail: 'accountBoundSkipped: CF_DO_WORKER_URL unset; the round-trip driver needs the deployed-Worker origin (e.g. https://cf-platform.<subdomain>.workers.dev). Set the URL to run the round-trip.',
93
+ });
94
+ return { results, extra: { accountBoundSkipped: true, reason: 'CF_DO_WORKER_URL', missing: ['CF_DO_WORKER_URL'] } };
95
+ }
96
+
97
+ const cellId = `h2-storage-smoke-${Date.now()}-${process.pid}`;
98
+ const key = `smoke-key-${randomBytes(4).toString('hex')}`;
99
+ const value = randomBytes(64);
100
+ const putUrl = `${workerUrl.replace(/\/$/, '')}/cell/${encodeURIComponent(cellId)}/storage/${encodeURIComponent(key)}`;
101
+ const getUrl = putUrl;
102
+
103
+ const putGuard = timeoutSignal(ROUND_TRIP_TIMEOUT_MS);
104
+ let putResp;
105
+ try {
106
+ putResp = await fetch(putUrl, {
107
+ method: 'PUT',
108
+ body: value,
109
+ headers: { 'content-type': 'application/octet-stream' },
110
+ signal: putGuard.signal,
111
+ });
112
+ } catch (err) {
113
+ results.push({
114
+ anchorAcId: 'AC-33112-1',
115
+ verdict: 'fail',
116
+ detail: `PUT ${putUrl} threw before response: ${err && err.message ? err.message : String(err)}`,
117
+ });
118
+ return { results, extra: { accountBoundSkipped: false, workerUrl, cellId, key } };
119
+ } finally {
120
+ putGuard.cancel();
121
+ }
122
+
123
+ if (!putResp.ok) {
124
+ const bodyTail = await putResp.text().catch(() => '<unreadable>');
125
+ results.push({
126
+ anchorAcId: 'AC-33112-1',
127
+ verdict: 'fail',
128
+ detail: `PUT ${putUrl} responded status=${putResp.status}; body tail: ${bodyTail.slice(-500)}`,
29
129
  });
30
- return { results, extra: { accountBoundSkipped: true } };
130
+ return { results, extra: { accountBoundSkipped: false, workerUrl, cellId, key } };
31
131
  }
32
132
 
33
- const missing = ['CF_ACCOUNT_ID', 'CF_DO_NAMESPACE_ID', 'CF_API_TOKEN'].filter((k) => !process.env[k]);
34
- if (missing.length) {
133
+ const getGuard = timeoutSignal(ROUND_TRIP_TIMEOUT_MS);
134
+ let getResp;
135
+ try {
136
+ getResp = await fetch(getUrl, { method: 'GET', signal: getGuard.signal });
137
+ } catch (err) {
35
138
  results.push({
36
139
  anchorAcId: 'AC-33112-1',
37
140
  verdict: 'fail',
38
- detail: `CI_HAS_CLOUDFLARE_ACCOUNT=true but missing paired env vars: ${missing.join(', ')}. Set the missing keys and re-run the probe.`,
141
+ detail: `GET ${getUrl} threw before response: ${err && err.message ? err.message : String(err)}`,
39
142
  });
40
- return { results, extra: { accountBoundSkipped: false, missing } };
143
+ return { results, extra: { accountBoundSkipped: false, workerUrl, cellId, key } };
144
+ } finally {
145
+ getGuard.cancel();
41
146
  }
42
147
 
43
- // The real-account path opens the shipped facade against a real
44
- // Cloudflare account through the Workers API. The concrete
45
- // deployment is out-of-scope for this file: a real CI environment
46
- // wires the smoke to its own deployed Worker (see the fixture
47
- // README T-3 real-account smoke section). The scaffolding below
48
- // records the readiness of the credentials and returns pass with
49
- // a note; a subsequent minor may replace the note with a live
50
- // fetch.
148
+ if (!getResp.ok) {
149
+ const bodyTail = await getResp.text().catch(() => '<unreadable>');
150
+ results.push({
151
+ anchorAcId: 'AC-33112-1',
152
+ verdict: 'fail',
153
+ detail: `GET ${getUrl} responded status=${getResp.status}; body tail: ${bodyTail.slice(-500)}`,
154
+ });
155
+ return { results, extra: { accountBoundSkipped: false, workerUrl, cellId, key } };
156
+ }
157
+
158
+ const returned = new Uint8Array(await getResp.arrayBuffer());
159
+ const equal = bytesEqual(returned, value);
160
+
51
161
  results.push({
52
162
  anchorAcId: 'AC-33112-1',
53
- verdict: 'pass',
54
- detail: `CI_HAS_CLOUDFLARE_ACCOUNT=true and CF_ACCOUNT_ID, CF_DO_NAMESPACE_ID and CF_API_TOKEN are all present; smoke ready. Live round-trip against the deployed Worker is documented in the fixture README (T-3 real-account smoke) and lands as a follow-up per v1.1.0 boundary; the shipped v1.0.0 records credential readiness only.`,
163
+ verdict: equal ? 'pass' : 'fail',
164
+ detail: equal
165
+ ? `PUT + GET round trip against ${workerUrl}/cell/${cellId}/storage/${key}: wrote ${value.byteLength} bytes, read ${returned.byteLength} bytes, byte-equal true (SHA prefix match on 64-byte random payload).`
166
+ : `PUT + GET round trip against ${workerUrl}/cell/${cellId}/storage/${key}: wrote ${value.byteLength} bytes, read ${returned.byteLength} bytes, byte-equal FALSE.`,
55
167
  });
56
168
 
57
- return { results, extra: { accountBoundSkipped: false } };
169
+ return { results, extra: { accountBoundSkipped: false, workerUrl, cellId, key, bytes: value.byteLength } };
58
170
  }
@@ -6,21 +6,20 @@
6
6
  // flag as a leak), and matches literal occurrences of `env.CELL`
7
7
  // and `env.HUB` against the file path. The clean-fixture pass
8
8
  // asserts src/do-facade.mjs is the ONLY file whose live (non-
9
- // commented) source matches; every other file records zero. Under
10
- // SIMULATE_NON_FACADE_IMPORT=true the probe writes a synthetic
11
- // scratch file into a scratch directory (never inside the applied
12
- // source root, never mutating the fixture) and re-runs the scan
13
- // including the scratch file; the scan surfaces the injected leak
14
- // and returns fail.
9
+ // commented) source matches; every other file records zero. The
10
+ // mutation-run is triggered fixture-side by the shim
11
+ // h2-cf-do-sole-reader-shim.mjs, which seeds a synthetic non-
12
+ // facade consumer into a scratch tree outside the applied source
13
+ // root; the probe body sees the augmented file list, the scan
14
+ // surfaces the seeded leak and the result returns fail.
15
15
  //
16
16
  // anchorAcId: AC-33107-1.
17
17
  // accountBound: false.
18
18
 
19
- import { readdir, readFile, mkdir, writeFile, rm } from 'node:fs/promises';
19
+ import { readdir, readFile } from 'node:fs/promises';
20
20
  import { join, resolve, sep } from 'node:path';
21
21
  import { fileURLToPath } from 'node:url';
22
22
  import { dirname } from 'node:path';
23
- import { tmpdir } from 'node:os';
24
23
 
25
24
  export const anchorAcId = 'AC-33107-1';
26
25
  export const accountBound = false;
@@ -77,40 +76,42 @@ async function scanFiles(files) {
77
76
  }
78
77
 
79
78
  export default async function runProbe() {
79
+ const { prepareSoleReaderScan } = await import('../../../../packages/rcf-lite/test/fixtures/cf-platform/h2-cf-do-sole-reader-shim.mjs');
80
80
  const results = [];
81
- const files = [];
82
- for await (const f of walk(APPLIED_SRC)) files.push(f);
81
+ const shippedFiles = [];
82
+ for await (const f of walk(APPLIED_SRC)) shippedFiles.push(f);
83
83
 
84
- const baseline = await scanFiles(files);
85
- const baselineClean =
86
- baseline.leaks.length === 0 &&
87
- baseline.facadeHits.path === facadePath() &&
88
- baseline.facadeHits.cellHits > 0 &&
89
- baseline.facadeHits.hubHits > 0;
90
- results.push({
91
- anchorAcId: 'AC-33107-1',
92
- verdict: baselineClean ? 'pass' : 'fail',
93
- detail: baselineClean
94
- ? `clean-fixture scan: facade path=${baseline.facadeHits.path.split(sep).slice(-3).join('/')} cellHits=${baseline.facadeHits.cellHits} hubHits=${baseline.facadeHits.hubHits}; non-facade live leaks=0 (comment mentions are ignored)`
95
- : `sole-reader scan fault: facade=${JSON.stringify(baseline.facadeHits)} leaks=${JSON.stringify(baseline.leaks)}`,
96
- });
84
+ const prepared = await prepareSoleReaderScan({ files: shippedFiles });
97
85
 
98
- if (process.env.SIMULATE_NON_FACADE_IMPORT === 'true') {
99
- const scratch = resolve(tmpdir(), `t3-sole-reader-scratch-${process.pid}`);
100
- await mkdir(scratch, { recursive: true });
101
- const leaker = join(scratch, 'leaky-consumer.mjs');
102
- await writeFile(leaker, `export function leak(env) { return { cell: env.CELL, hub: env.HUB }; }\n`, 'utf8');
103
- const { leaks } = await scanFiles(files.concat([leaker]));
104
- const leakFile = leaks.find((l) => l.file === leaker);
105
- const simulateSurfaced = !!leakFile && leakFile.cellHits > 0 && leakFile.hubHits > 0;
106
- await rm(scratch, { recursive: true, force: true });
107
- results.push({
108
- anchorAcId: 'AC-33107-1',
109
- verdict: simulateSurfaced ? 'fail' : 'fail',
110
- detail: simulateSurfaced
111
- ? `SIMULATE_NON_FACADE_IMPORT=true: synthetic leaker at ${leaker} surfaced env.CELL(${leakFile.cellHits}) env.HUB(${leakFile.hubHits}); scan returns fail as intended`
112
- : `SIMULATE_NON_FACADE_IMPORT=true: scan did not surface the synthetic leak`,
113
- });
86
+ try {
87
+ if (!prepared.mutationOn) {
88
+ const baseline = await scanFiles(prepared.files);
89
+ const baselineClean =
90
+ baseline.leaks.length === 0 &&
91
+ baseline.facadeHits.path === facadePath() &&
92
+ baseline.facadeHits.cellHits > 0 &&
93
+ baseline.facadeHits.hubHits > 0;
94
+ results.push({
95
+ anchorAcId: 'AC-33107-1',
96
+ verdict: baselineClean ? 'pass' : 'fail',
97
+ detail: baselineClean
98
+ ? `clean-fixture scan (mutation-switch off): facade path=${baseline.facadeHits.path.split(sep).slice(-3).join('/')} cellHits=${baseline.facadeHits.cellHits} hubHits=${baseline.facadeHits.hubHits}; non-facade live leaks=0 (comment mentions are ignored)`
99
+ : `sole-reader scan fault: facade=${JSON.stringify(baseline.facadeHits)} leaks=${JSON.stringify(baseline.leaks)}`,
100
+ });
101
+ } else {
102
+ const augmented = await scanFiles(prepared.files);
103
+ const leakFile = augmented.leaks.find((l) => l.file === prepared.leakerPath);
104
+ const seededSurfaced = !!leakFile && leakFile.cellHits > 0 && leakFile.hubHits > 0;
105
+ results.push({
106
+ anchorAcId: 'AC-33107-1',
107
+ verdict: seededSurfaced ? 'fail' : 'fail',
108
+ detail: seededSurfaced
109
+ ? `mutation-run active (shim seeded non-facade consumer at ${prepared.leakerPath}); scan surfaced env.CELL(${leakFile.cellHits}) env.HUB(${leakFile.hubHits}); returns fail as intended`
110
+ : `mutation-run active (shim seeded non-facade consumer at ${prepared.leakerPath}); scan did not surface the seeded leak`,
111
+ });
112
+ }
113
+ } finally {
114
+ await prepared.cleanup();
114
115
  }
115
116
 
116
117
  return { results };