rcf-lite 0.26.0 → 0.28.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 (1525) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +10 -0
  3. package/bin/rcf.js +2 -0
  4. package/blueprints/application-account-settings/CHANGELOG.md +64 -2
  5. package/blueprints/application-account-settings/README.md +10 -10
  6. package/blueprints/application-account-settings/blueprint.json +26 -4
  7. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
  8. package/blueprints/application-account-settings/contributions/adrs/adr-2602-application-account-settings-security-surface-shape.json +1 -1
  9. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
  10. package/blueprints/application-account-settings/contributions/probes/probe-utils.mjs +177 -0
  11. package/blueprints/application-account-settings/contributions/probes/profile-form-autocomplete.mjs +67 -0
  12. package/blueprints/application-account-settings/contributions/probes/run-profile-form-autocomplete.mjs +5 -0
  13. package/blueprints/application-account-settings/contributions/probes/run-sessions-adapter-uniform.mjs +5 -0
  14. package/blueprints/application-account-settings/contributions/probes/run-sessions-surface-shape.mjs +5 -0
  15. package/blueprints/application-account-settings/contributions/probes/run-shell-tablist-per-capability.mjs +5 -0
  16. package/blueprints/application-account-settings/contributions/probes/run-theme-radiogroup.mjs +5 -0
  17. package/blueprints/application-account-settings/contributions/probes/sessions-adapter-uniform.mjs +130 -0
  18. package/blueprints/application-account-settings/contributions/probes/sessions-surface-shape.mjs +70 -0
  19. package/blueprints/application-account-settings/contributions/probes/shell-tablist-per-capability.mjs +60 -0
  20. package/blueprints/application-account-settings/contributions/probes/theme-radiogroup.mjs +126 -0
  21. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
  22. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
  23. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
  24. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
  25. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
  26. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
  27. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
  28. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
  29. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
  30. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
  31. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
  32. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
  33. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
  34. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
  35. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
  36. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
  37. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
  38. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
  39. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
  40. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
  41. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
  42. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
  43. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
  44. package/blueprints/application-account-settings/docs/topics.md +4 -4
  45. package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
  46. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
  47. package/blueprints/application-admin-console/CHANGELOG.md +69 -7
  48. package/blueprints/application-admin-console/README.md +4 -4
  49. package/blueprints/application-admin-console/blueprint.json +34 -2
  50. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
  51. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
  52. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
  53. package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
  54. package/blueprints/application-admin-console/contributions/probes/audit-log-surface.mjs +79 -0
  55. package/blueprints/application-admin-console/contributions/probes/org-switcher-surface.mjs +83 -0
  56. package/blueprints/application-admin-console/contributions/probes/permission-matrix-grid.mjs +67 -0
  57. package/blueprints/application-admin-console/contributions/probes/probe-utils.mjs +177 -0
  58. package/blueprints/application-admin-console/contributions/probes/run-audit-log-surface.mjs +5 -0
  59. package/blueprints/application-admin-console/contributions/probes/run-org-switcher-surface.mjs +5 -0
  60. package/blueprints/application-admin-console/contributions/probes/run-permission-matrix-grid.mjs +5 -0
  61. package/blueprints/application-admin-console/contributions/probes/run-sign-in-access-gated-surface.mjs +5 -0
  62. package/blueprints/application-admin-console/contributions/probes/run-users-directory-surface.mjs +5 -0
  63. package/blueprints/application-admin-console/contributions/probes/sign-in-access-gated-surface.mjs +117 -0
  64. package/blueprints/application-admin-console/contributions/probes/users-directory-surface.mjs +145 -0
  65. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
  66. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
  67. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
  68. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
  69. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
  70. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
  71. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
  72. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
  73. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
  74. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
  75. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
  76. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
  77. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
  78. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
  79. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
  80. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
  81. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
  82. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
  83. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
  84. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
  85. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
  86. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
  87. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
  88. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
  89. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
  90. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
  91. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
  92. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
  93. package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
  94. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
  95. package/blueprints/application-api-rest/CHANGELOG.md +34 -0
  96. package/blueprints/application-api-rest/README.md +3 -3
  97. package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
  98. package/blueprints/application-api-rest/blueprint.json +3 -2
  99. package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
  100. package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +2 -2
  101. package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
  102. package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
  103. package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
  104. package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
  105. package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
  106. package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
  107. package/blueprints/application-api-rest/contributions/probes/cursor-pagination-round-trip.mjs +154 -0
  108. package/blueprints/application-api-rest/contributions/probes/health-probes-distinct.mjs +124 -0
  109. package/blueprints/application-api-rest/contributions/probes/probe-utils.mjs +177 -0
  110. package/blueprints/application-api-rest/contributions/probes/problem-details-on-error.mjs +77 -0
  111. package/blueprints/application-api-rest/contributions/probes/request-id-echoed.mjs +76 -0
  112. package/blueprints/application-api-rest/contributions/probes/run-cursor-pagination-round-trip.mjs +5 -0
  113. package/blueprints/application-api-rest/contributions/probes/run-health-probes-distinct.mjs +5 -0
  114. package/blueprints/application-api-rest/contributions/probes/run-problem-details-on-error.mjs +5 -0
  115. package/blueprints/application-api-rest/contributions/probes/run-request-id-echoed.mjs +5 -0
  116. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
  117. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
  118. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
  119. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
  120. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
  121. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
  122. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
  123. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
  124. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
  125. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
  126. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
  127. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
  128. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
  129. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
  130. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
  131. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
  132. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
  133. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
  134. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
  135. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
  136. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
  137. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
  138. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
  139. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
  140. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
  141. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
  142. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
  143. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
  144. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
  145. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
  146. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
  147. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
  148. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
  149. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
  150. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
  151. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
  152. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
  153. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
  154. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
  155. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
  156. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
  157. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
  158. package/blueprints/application-api-rest/docs/topics.md +1 -1
  159. package/blueprints/application-charts/CHANGELOG.md +53 -6
  160. package/blueprints/application-charts/README.md +10 -10
  161. package/blueprints/application-charts/blueprint.json +115 -19
  162. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +2 -2
  163. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
  164. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
  165. package/blueprints/application-charts/contributions/probes/keyboard-traversal.mjs +151 -0
  166. package/blueprints/application-charts/contributions/probes/non-colour-distinction.mjs +67 -0
  167. package/blueprints/application-charts/contributions/probes/probe-utils.mjs +177 -0
  168. package/blueprints/application-charts/contributions/probes/run-keyboard-traversal.mjs +5 -0
  169. package/blueprints/application-charts/contributions/probes/run-non-colour-distinction.mjs +5 -0
  170. package/blueprints/application-charts/contributions/probes/run-text-alternative-table.mjs +5 -0
  171. package/blueprints/application-charts/contributions/probes/text-alternative-table.mjs +139 -0
  172. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
  173. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
  174. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
  175. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
  176. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
  177. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
  178. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +52 -8
  179. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
  180. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
  181. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
  182. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
  183. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
  184. package/blueprints/application-charts/docs/topics.md +2 -2
  185. package/blueprints/application-charts/guide/application-charts.md +3 -3
  186. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
  187. package/blueprints/application-dashboard/CHANGELOG.md +39 -8
  188. package/blueprints/application-dashboard/README.md +13 -13
  189. package/blueprints/application-dashboard/assets/guidance/dashboard-design.md +2 -2
  190. package/blueprints/application-dashboard/blueprint.json +149 -22
  191. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
  192. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +2 -2
  193. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
  194. package/blueprints/application-dashboard/contributions/probes/export-handle-formats.mjs +75 -0
  195. package/blueprints/application-dashboard/contributions/probes/four-tile-states.mjs +75 -0
  196. package/blueprints/application-dashboard/contributions/probes/primary-kpi-top-left.mjs +58 -0
  197. package/blueprints/application-dashboard/contributions/probes/probe-utils.mjs +177 -0
  198. package/blueprints/application-dashboard/contributions/probes/run-export-handle-formats.mjs +4 -0
  199. package/blueprints/application-dashboard/contributions/probes/run-four-tile-states.mjs +4 -0
  200. package/blueprints/application-dashboard/contributions/probes/run-primary-kpi-top-left.mjs +4 -0
  201. package/blueprints/application-dashboard/contributions/probes/run-shell-five-regions.mjs +4 -0
  202. package/blueprints/application-dashboard/contributions/probes/shell-five-regions.mjs +93 -0
  203. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
  204. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
  205. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +11 -4
  206. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
  207. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
  208. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
  209. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +2 -2
  210. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +3 -3
  211. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +55 -7
  212. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +56 -8
  213. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +59 -7
  214. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
  215. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +55 -7
  216. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
  217. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
  218. package/blueprints/application-dashboard/docs/topics.md +3 -3
  219. package/blueprints/application-dashboard/guide/application-dashboard.md +5 -5
  220. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
  221. package/blueprints/application-datatable/CHANGELOG.md +36 -5
  222. package/blueprints/application-datatable/README.md +4 -4
  223. package/blueprints/application-datatable/blueprint.json +169 -26
  224. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
  225. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
  226. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
  227. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
  228. package/blueprints/application-datatable/contributions/probes/apg-table-shape.mjs +57 -0
  229. package/blueprints/application-datatable/contributions/probes/four-states-regions.mjs +80 -0
  230. package/blueprints/application-datatable/contributions/probes/probe-utils.mjs +177 -0
  231. package/blueprints/application-datatable/contributions/probes/run-apg-table-shape.mjs +4 -0
  232. package/blueprints/application-datatable/contributions/probes/run-four-states-regions.mjs +4 -0
  233. package/blueprints/application-datatable/contributions/probes/run-search-adapter-round-trip.mjs +4 -0
  234. package/blueprints/application-datatable/contributions/probes/run-sort-adapter-round-trip.mjs +4 -0
  235. package/blueprints/application-datatable/contributions/probes/search-adapter-round-trip.mjs +58 -0
  236. package/blueprints/application-datatable/contributions/probes/sort-adapter-round-trip.mjs +60 -0
  237. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
  238. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
  239. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
  240. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
  241. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
  242. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +11 -4
  243. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
  244. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
  245. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  246. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
  247. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
  248. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
  249. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
  250. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
  251. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
  252. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
  253. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
  254. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
  255. package/blueprints/application-datatable/docs/topics.md +1 -1
  256. package/blueprints/application-datatable/guide/application-datatable.md +1 -1
  257. package/blueprints/application-empty-error-states/CHANGELOG.md +64 -4
  258. package/blueprints/application-empty-error-states/README.md +3 -3
  259. package/blueprints/application-empty-error-states/blueprint.json +38 -2
  260. package/blueprints/application-empty-error-states/contributions/probes/empty-list-and-no-search.mjs +66 -0
  261. package/blueprints/application-empty-error-states/contributions/probes/error-boundary-alert.mjs +65 -0
  262. package/blueprints/application-empty-error-states/contributions/probes/forbidden-and-server-error.mjs +167 -0
  263. package/blueprints/application-empty-error-states/contributions/probes/not-found-and-recovery.mjs +61 -0
  264. package/blueprints/application-empty-error-states/contributions/probes/permission-denied-and-offline.mjs +155 -0
  265. package/blueprints/application-empty-error-states/contributions/probes/probe-utils.mjs +177 -0
  266. package/blueprints/application-empty-error-states/contributions/probes/run-empty-list-and-no-search.mjs +5 -0
  267. package/blueprints/application-empty-error-states/contributions/probes/run-error-boundary-alert.mjs +5 -0
  268. package/blueprints/application-empty-error-states/contributions/probes/run-forbidden-and-server-error.mjs +5 -0
  269. package/blueprints/application-empty-error-states/contributions/probes/run-not-found-and-recovery.mjs +5 -0
  270. package/blueprints/application-empty-error-states/contributions/probes/run-permission-denied-and-offline.mjs +5 -0
  271. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
  272. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
  273. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
  274. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
  275. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
  276. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
  277. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
  278. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
  279. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
  280. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
  281. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
  282. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
  283. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
  284. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
  285. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
  286. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
  287. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
  288. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
  289. package/blueprints/application-error-handling/CHANGELOG.md +56 -0
  290. package/blueprints/application-error-handling/blueprint.json +106 -20
  291. package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
  292. package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
  293. package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
  294. package/blueprints/application-error-handling/contributions/probes/category-vocabulary.mjs +90 -0
  295. package/blueprints/application-error-handling/contributions/probes/probe-utils.mjs +177 -0
  296. package/blueprints/application-error-handling/contributions/probes/record-shape-adr-1701.mjs +78 -0
  297. package/blueprints/application-error-handling/contributions/probes/run-category-vocabulary.mjs +5 -0
  298. package/blueprints/application-error-handling/contributions/probes/run-record-shape-adr-1701.mjs +5 -0
  299. package/blueprints/application-error-handling/contributions/probes/run-two-boundaries-registered.mjs +5 -0
  300. package/blueprints/application-error-handling/contributions/probes/two-boundaries-registered.mjs +343 -0
  301. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
  302. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
  303. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
  304. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
  305. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
  306. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
  307. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
  308. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
  309. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
  310. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
  311. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
  312. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
  313. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
  314. package/blueprints/application-file-upload/CHANGELOG.md +60 -5
  315. package/blueprints/application-file-upload/README.md +1 -1
  316. package/blueprints/application-file-upload/blueprint.json +58 -2
  317. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
  318. package/blueprints/application-file-upload/contributions/probes/assertive-completion-slot.mjs +78 -0
  319. package/blueprints/application-file-upload/contributions/probes/chunked-transport-endpoints.mjs +173 -0
  320. package/blueprints/application-file-upload/contributions/probes/per-file-progressbar.mjs +124 -0
  321. package/blueprints/application-file-upload/contributions/probes/probe-utils.mjs +177 -0
  322. package/blueprints/application-file-upload/contributions/probes/run-assertive-completion-slot.mjs +4 -0
  323. package/blueprints/application-file-upload/contributions/probes/run-chunked-transport-endpoints.mjs +4 -0
  324. package/blueprints/application-file-upload/contributions/probes/run-per-file-progressbar.mjs +4 -0
  325. package/blueprints/application-file-upload/contributions/probes/run-upload-surface-shape.mjs +4 -0
  326. package/blueprints/application-file-upload/contributions/probes/upload-surface-shape.mjs +55 -0
  327. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +5 -1
  328. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +8 -4
  329. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +7 -3
  330. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +7 -3
  331. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +5 -1
  332. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
  333. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
  334. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
  335. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
  336. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
  337. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
  338. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
  339. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
  340. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
  341. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
  342. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
  343. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
  344. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
  345. package/blueprints/application-forms-wizard/CHANGELOG.md +50 -5
  346. package/blueprints/application-forms-wizard/README.md +3 -3
  347. package/blueprints/application-forms-wizard/blueprint.json +59 -2
  348. package/blueprints/application-forms-wizard/contributions/probes/draft-persistence-round-trip.mjs +110 -0
  349. package/blueprints/application-forms-wizard/contributions/probes/probe-utils.mjs +177 -0
  350. package/blueprints/application-forms-wizard/contributions/probes/run-draft-persistence-round-trip.mjs +4 -0
  351. package/blueprints/application-forms-wizard/contributions/probes/run-step-page-shape.mjs +4 -0
  352. package/blueprints/application-forms-wizard/contributions/probes/run-task-list-surface.mjs +4 -0
  353. package/blueprints/application-forms-wizard/contributions/probes/step-page-shape.mjs +61 -0
  354. package/blueprints/application-forms-wizard/contributions/probes/task-list-surface.mjs +109 -0
  355. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +5 -1
  356. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +7 -3
  357. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +7 -3
  358. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +7 -3
  359. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +5 -1
  360. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
  361. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
  362. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
  363. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
  364. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
  365. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
  366. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
  367. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
  368. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
  369. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
  370. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
  371. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
  372. package/blueprints/application-notifications-in-app/CHANGELOG.md +70 -5
  373. package/blueprints/application-notifications-in-app/README.md +9 -9
  374. package/blueprints/application-notifications-in-app/blueprint.json +153 -23
  375. package/blueprints/application-notifications-in-app/contributions/adrs/adr-2101-application-notifications-in-app-live-region-role-mapping.json +1 -1
  376. package/blueprints/application-notifications-in-app/contributions/probes/centre-acknowledge-round-trip.mjs +210 -0
  377. package/blueprints/application-notifications-in-app/contributions/probes/live-region-preseeding.mjs +93 -0
  378. package/blueprints/application-notifications-in-app/contributions/probes/probe-utils.mjs +177 -0
  379. package/blueprints/application-notifications-in-app/contributions/probes/run-centre-acknowledge-round-trip.mjs +5 -0
  380. package/blueprints/application-notifications-in-app/contributions/probes/run-live-region-preseeding.mjs +5 -0
  381. package/blueprints/application-notifications-in-app/contributions/probes/run-toast-contract.mjs +5 -0
  382. package/blueprints/application-notifications-in-app/contributions/probes/toast-contract.mjs +92 -0
  383. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
  384. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
  385. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
  386. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
  387. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
  388. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
  389. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +3 -3
  390. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +15 -9
  391. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
  392. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +30 -6
  393. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +44 -6
  394. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +40 -6
  395. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
  396. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +51 -9
  397. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
  398. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
  399. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
  400. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +4 -4
  401. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
  402. package/blueprints/application-onboarding-tour/CHANGELOG.md +59 -2
  403. package/blueprints/application-onboarding-tour/README.md +3 -3
  404. package/blueprints/application-onboarding-tour/blueprint.json +24 -2
  405. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
  406. package/blueprints/application-onboarding-tour/contributions/probes/checklist-anchor-open.mjs +81 -0
  407. package/blueprints/application-onboarding-tour/contributions/probes/completion-persistence.mjs +159 -0
  408. package/blueprints/application-onboarding-tour/contributions/probes/first-run-detection.mjs +67 -0
  409. package/blueprints/application-onboarding-tour/contributions/probes/probe-utils.mjs +177 -0
  410. package/blueprints/application-onboarding-tour/contributions/probes/run-checklist-anchor-open.mjs +5 -0
  411. package/blueprints/application-onboarding-tour/contributions/probes/run-completion-persistence.mjs +5 -0
  412. package/blueprints/application-onboarding-tour/contributions/probes/run-first-run-detection.mjs +5 -0
  413. package/blueprints/application-onboarding-tour/contributions/probes/run-stepper-role-dialog.mjs +5 -0
  414. package/blueprints/application-onboarding-tour/contributions/probes/stepper-role-dialog.mjs +45 -0
  415. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
  416. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
  417. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
  418. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
  419. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
  420. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
  421. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
  422. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
  423. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
  424. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
  425. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
  426. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
  427. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
  428. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
  429. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
  430. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
  431. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
  432. package/blueprints/application-onboarding-tour/docs/topics.md +2 -2
  433. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
  434. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
  435. package/blueprints/application-spa/CHANGELOG.md +39 -0
  436. package/blueprints/application-spa/README.md +11 -12
  437. package/blueprints/application-spa/blueprint.json +3 -2
  438. package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
  439. package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +2 -2
  440. package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
  441. package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
  442. package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
  443. package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +2 -2
  444. package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
  445. package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
  446. package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
  447. package/blueprints/application-spa/contributions/probes/designed-empty-state.mjs +72 -0
  448. package/blueprints/application-spa/contributions/probes/probe-utils.mjs +177 -0
  449. package/blueprints/application-spa/contributions/probes/route-inventory-published.mjs +185 -0
  450. package/blueprints/application-spa/contributions/probes/run-designed-empty-state.mjs +5 -0
  451. package/blueprints/application-spa/contributions/probes/run-route-inventory-published.mjs +5 -0
  452. package/blueprints/application-spa/contributions/probes/run-shell-nav-present.mjs +5 -0
  453. package/blueprints/application-spa/contributions/probes/shell-nav-present.mjs +69 -0
  454. package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
  455. package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
  456. package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
  457. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
  458. package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
  459. package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
  460. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
  461. package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
  462. package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
  463. package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
  464. package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
  465. package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
  466. package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
  467. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
  468. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
  469. package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
  470. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
  471. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
  472. package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
  473. package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
  474. package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
  475. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
  476. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
  477. package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
  478. package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
  479. package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
  480. package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
  481. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +2 -2
  482. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +3 -3
  483. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +4 -4
  484. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +3 -3
  485. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +3 -3
  486. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
  487. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
  488. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
  489. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
  490. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
  491. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
  492. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
  493. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
  494. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
  495. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
  496. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
  497. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
  498. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
  499. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
  500. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
  501. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
  502. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
  503. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
  504. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
  505. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
  506. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
  507. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
  508. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
  509. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
  510. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
  511. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
  512. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
  513. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
  514. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
  515. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
  516. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
  517. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
  518. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
  519. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
  520. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
  521. package/blueprints/application-spa/docs/topics.md +1 -1
  522. package/blueprints/application-spa/guide/application-spa.md +2 -2
  523. package/blueprints/delivery-ci-workflows/CHANGELOG.md +40 -2
  524. package/blueprints/delivery-ci-workflows/README.md +4 -4
  525. package/blueprints/delivery-ci-workflows/blueprint.json +64 -2
  526. package/blueprints/delivery-ci-workflows/contributions/adrs/adr-702-delivery-ci-workflows-strict-coverage-gate.json +2 -2
  527. package/blueprints/delivery-ci-workflows/contributions/probes/node-gate-entrypoint.mjs +76 -0
  528. package/blueprints/delivery-ci-workflows/contributions/probes/probe-utils.mjs +56 -0
  529. package/blueprints/delivery-ci-workflows/contributions/probes/real-account-github-actions-run-record.mjs +139 -0
  530. package/blueprints/delivery-ci-workflows/contributions/probes/run-node-gate-entrypoint.mjs +3 -0
  531. package/blueprints/delivery-ci-workflows/contributions/probes/run-real-account-github-actions-run-record.mjs +3 -0
  532. package/blueprints/delivery-ci-workflows/contributions/probes/run-workflow-template-shape.mjs +3 -0
  533. package/blueprints/delivery-ci-workflows/contributions/probes/workflow-template-shape.mjs +94 -0
  534. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
  535. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
  536. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
  537. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +5 -1
  538. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
  539. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
  540. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
  541. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
  542. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
  543. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
  544. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
  545. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
  546. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
  547. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
  548. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
  549. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
  550. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
  551. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
  552. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
  553. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
  554. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
  555. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
  556. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
  557. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
  558. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
  559. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
  560. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
  561. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
  562. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
  563. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
  564. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
  565. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
  566. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
  567. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
  568. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
  569. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
  570. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
  571. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
  572. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
  573. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
  574. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
  575. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
  576. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
  577. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
  578. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
  579. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
  580. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
  581. package/blueprints/delivery-ci-workflows/docs/topics.md +2 -3
  582. package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +19 -4
  583. package/blueprints/deploy-cloudflare-workers/README.md +5 -5
  584. package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
  585. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
  586. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +4 -4
  587. package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
  588. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
  589. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
  590. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
  591. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
  592. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
  593. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
  594. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
  595. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
  596. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
  597. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
  598. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
  599. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
  600. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
  601. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
  602. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
  603. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
  604. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
  605. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
  606. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
  607. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
  608. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
  609. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
  610. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
  611. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
  612. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
  613. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
  614. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
  615. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
  616. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
  617. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
  618. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
  619. package/blueprints/deploy-cloudflare-workers/docs/topics.md +2 -2
  620. package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
  621. package/blueprints/deploy-hetzner-server/CHANGELOG.md +115 -8
  622. package/blueprints/deploy-hetzner-server/README.md +12 -12
  623. package/blueprints/deploy-hetzner-server/blueprint.json +8 -7
  624. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
  625. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
  626. package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +46 -21
  627. package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +344 -83
  628. package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +211 -42
  629. package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +140 -22
  630. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-cloud-init-hardened.mjs +111 -30
  631. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-snapshot-on-demand.mjs +158 -30
  632. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-throwaway-server-provision.mjs +154 -32
  633. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
  634. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
  635. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
  636. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
  637. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
  638. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
  639. package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
  640. package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +1 -1
  641. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
  642. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
  643. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
  644. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
  645. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
  646. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
  647. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
  648. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
  649. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
  650. package/blueprints/deploy-hetzner-server/docs/topics.md +2 -2
  651. package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
  652. package/blueprints/edge-cloudflare-access/CHANGELOG.md +36 -3
  653. package/blueprints/edge-cloudflare-access/README.md +2 -2
  654. package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
  655. package/blueprints/edge-cloudflare-access/contributions/probes/admin-console-gate-surface.mjs +9 -1
  656. package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
  657. package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
  658. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
  659. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
  660. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
  661. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
  662. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
  663. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
  664. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
  665. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
  666. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
  667. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
  668. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
  669. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
  670. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
  671. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
  672. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
  673. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
  674. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
  675. package/blueprints/edge-cloudflare-access/docs/topics.md +2 -2
  676. package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +33 -2
  677. package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
  678. package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
  679. package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
  680. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
  681. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
  682. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
  683. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
  684. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
  685. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
  686. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
  687. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
  688. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
  689. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
  690. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
  691. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
  692. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
  693. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
  694. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
  695. package/blueprints/edge-cloudflare-rate-limiting/docs/topics.md +1 -1
  696. package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
  697. package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +40 -7
  698. package/blueprints/edge-cloudflare-tunnel/README.md +21 -23
  699. package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
  700. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
  701. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
  702. package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +3 -3
  703. package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
  704. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +8 -9
  705. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +2 -2
  706. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
  707. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
  708. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
  709. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
  710. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
  711. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
  712. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
  713. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
  714. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
  715. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
  716. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
  717. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
  718. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
  719. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
  720. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
  721. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
  722. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
  723. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
  724. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
  725. package/blueprints/edge-cloudflare-tunnel/docs/topics.md +2 -2
  726. package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
  727. package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +32 -1
  728. package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
  729. package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
  730. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
  731. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
  732. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
  733. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
  734. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
  735. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
  736. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
  737. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
  738. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
  739. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
  740. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
  741. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
  742. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
  743. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
  744. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
  745. package/blueprints/edge-cloudflare-turnstile/docs/topics.md +1 -1
  746. package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
  747. package/blueprints/email-smtp-resend/CHANGELOG.md +40 -0
  748. package/blueprints/email-smtp-resend/README.md +4 -4
  749. package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
  750. package/blueprints/email-smtp-resend/blueprint.json +121 -18
  751. package/blueprints/email-smtp-resend/contributions/probes/probe-utils.mjs +50 -0
  752. package/blueprints/email-smtp-resend/contributions/probes/real-account-resend-send.mjs +50 -0
  753. package/blueprints/email-smtp-resend/contributions/probes/run-real-account-resend-send.mjs +3 -0
  754. package/blueprints/email-smtp-resend/contributions/probes/run-smtp-round-trip.mjs +3 -0
  755. package/blueprints/email-smtp-resend/contributions/probes/run-unverified-sender-refusal.mjs +3 -0
  756. package/blueprints/email-smtp-resend/contributions/probes/smtp-round-trip.mjs +43 -0
  757. package/blueprints/email-smtp-resend/contributions/probes/unverified-sender-refusal.mjs +99 -0
  758. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
  759. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
  760. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
  761. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
  762. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
  763. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
  764. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
  765. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
  766. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
  767. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
  768. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
  769. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
  770. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
  771. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
  772. package/blueprints/email-smtp-resend/docs/topics.md +2 -3
  773. package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
  774. package/blueprints/jobs-background/CHANGELOG.md +91 -6
  775. package/blueprints/jobs-background/README.md +8 -8
  776. package/blueprints/jobs-background/blueprint.json +57 -3
  777. package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
  778. package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
  779. package/blueprints/jobs-background/contributions/probes/apply-time-override.mjs +38 -10
  780. package/blueprints/jobs-background/contributions/probes/apply-time-refusal.mjs +28 -6
  781. package/blueprints/jobs-background/contributions/probes/event-secrecy.mjs +16 -2
  782. package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +102 -21
  783. package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +14 -6
  784. package/blueprints/jobs-background/contributions/probes/retry-and-fail-real-account.mjs +355 -0
  785. package/blueprints/jobs-background/contributions/probes/retry-and-fail.mjs +33 -2
  786. package/blueprints/jobs-background/contributions/probes/run-retry-and-fail-real-account.mjs +12 -0
  787. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
  788. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
  789. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
  790. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
  791. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
  792. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
  793. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
  794. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
  795. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
  796. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
  797. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
  798. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
  799. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
  800. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
  801. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
  802. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
  803. package/blueprints/jobs-background/docs/topics.md +3 -3
  804. package/blueprints/jobs-background/guide/jobs-background.md +6 -6
  805. package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +41 -19
  806. package/blueprints/messaging-queue-cloudflare/README.md +14 -14
  807. package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
  808. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
  809. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
  810. package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +183 -15
  811. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
  812. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
  813. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
  814. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
  815. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
  816. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
  817. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
  818. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
  819. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
  820. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
  821. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
  822. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
  823. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
  824. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
  825. package/blueprints/messaging-queue-cloudflare/docs/topics.md +3 -3
  826. package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +8 -6
  827. package/blueprints/object-storage-s3/CHANGELOG.md +94 -6
  828. package/blueprints/object-storage-s3/README.md +2 -2
  829. package/blueprints/object-storage-s3/blueprint.json +156 -24
  830. package/blueprints/object-storage-s3/contributions/probes/event-secrecy.mjs +73 -12
  831. package/blueprints/object-storage-s3/contributions/probes/facade-round-trip.mjs +55 -7
  832. package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +103 -19
  833. package/blueprints/object-storage-s3/contributions/probes/multipart-upload.mjs +105 -36
  834. package/blueprints/object-storage-s3/contributions/probes/presigned-url.mjs +104 -55
  835. package/blueprints/object-storage-s3/contributions/probes/probe-utils.mjs +129 -7
  836. package/blueprints/object-storage-s3/contributions/probes/put-get-round-trip.mjs +80 -18
  837. package/blueprints/object-storage-s3/contributions/probes/r2-real-account-smoke.mjs +291 -37
  838. package/blueprints/object-storage-s3/contributions/probes/run-event-secrecy.mjs +8 -2
  839. package/blueprints/object-storage-s3/contributions/probes/run-facade-round-trip.mjs +5 -5
  840. package/blueprints/object-storage-s3/contributions/probes/run-hetzner-object-storage-round-trip.mjs +8 -5
  841. package/blueprints/object-storage-s3/contributions/probes/run-multipart-upload.mjs +8 -2
  842. package/blueprints/object-storage-s3/contributions/probes/run-presigned-url.mjs +8 -2
  843. package/blueprints/object-storage-s3/contributions/probes/run-put-get-round-trip.mjs +6 -3
  844. package/blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs +10 -2
  845. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
  846. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
  847. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
  848. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
  849. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
  850. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
  851. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +5 -1
  852. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
  853. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
  854. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
  855. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
  856. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
  857. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
  858. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
  859. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
  860. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +20 -3
  861. package/blueprints/object-storage-s3/docs/topics.md +1 -1
  862. package/blueprints/object-storage-s3/guide/object-storage-s3.md +3 -3
  863. package/blueprints/observability-essentials/CHANGELOG.md +37 -0
  864. package/blueprints/observability-essentials/README.md +3 -3
  865. package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
  866. package/blueprints/observability-essentials/blueprint.json +34 -2
  867. package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
  868. package/blueprints/observability-essentials/contributions/probes/liveness-probe.mjs +84 -0
  869. package/blueprints/observability-essentials/contributions/probes/metrics-endpoint.mjs +96 -0
  870. package/blueprints/observability-essentials/contributions/probes/probe-utils.mjs +52 -0
  871. package/blueprints/observability-essentials/contributions/probes/readiness-probe.mjs +171 -0
  872. package/blueprints/observability-essentials/contributions/probes/run-liveness-probe.mjs +3 -0
  873. package/blueprints/observability-essentials/contributions/probes/run-metrics-endpoint.mjs +3 -0
  874. package/blueprints/observability-essentials/contributions/probes/run-readiness-probe.mjs +3 -0
  875. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
  876. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
  877. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
  878. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
  879. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
  880. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
  881. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
  882. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
  883. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
  884. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
  885. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
  886. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
  887. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
  888. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
  889. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
  890. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
  891. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
  892. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
  893. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
  894. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
  895. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
  896. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
  897. package/blueprints/observability-essentials/docs/topics.md +3 -4
  898. package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
  899. package/blueprints/observability-logging/CHANGELOG.md +44 -4
  900. package/blueprints/observability-logging/README.md +2 -2
  901. package/blueprints/observability-logging/blueprint.json +78 -29
  902. package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
  903. package/blueprints/observability-logging/contributions/probes/correlation-id-flow.mjs +173 -0
  904. package/blueprints/observability-logging/contributions/probes/line-shape-and-fields.mjs +82 -0
  905. package/blueprints/observability-logging/contributions/probes/probe-utils.mjs +47 -0
  906. package/blueprints/observability-logging/contributions/probes/redaction-boundary.mjs +130 -0
  907. package/blueprints/observability-logging/contributions/probes/run-correlation-id-flow.mjs +3 -0
  908. package/blueprints/observability-logging/contributions/probes/run-line-shape-and-fields.mjs +3 -0
  909. package/blueprints/observability-logging/contributions/probes/run-redaction-boundary.mjs +3 -0
  910. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
  911. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
  912. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
  913. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
  914. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
  915. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
  916. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
  917. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
  918. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
  919. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
  920. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
  921. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
  922. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
  923. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
  924. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
  925. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
  926. package/blueprints/observability-probe-endpoints/CHANGELOG.md +32 -0
  927. package/blueprints/observability-probe-endpoints/README.md +4 -4
  928. package/blueprints/observability-probe-endpoints/blueprint.json +42 -2
  929. package/blueprints/observability-probe-endpoints/contributions/probes/kubernetes-startup-enabled.mjs +80 -0
  930. package/blueprints/observability-probe-endpoints/contributions/probes/partial-profile-refusal.mjs +101 -0
  931. package/blueprints/observability-probe-endpoints/contributions/probes/probe-utils.mjs +49 -0
  932. package/blueprints/observability-probe-endpoints/contributions/probes/profile-boot-materialisation.mjs +69 -0
  933. package/blueprints/observability-probe-endpoints/contributions/probes/run-kubernetes-startup-enabled.mjs +3 -0
  934. package/blueprints/observability-probe-endpoints/contributions/probes/run-partial-profile-refusal.mjs +3 -0
  935. package/blueprints/observability-probe-endpoints/contributions/probes/run-profile-boot-materialisation.mjs +3 -0
  936. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
  937. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
  938. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
  939. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
  940. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
  941. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
  942. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
  943. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
  944. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
  945. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
  946. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
  947. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
  948. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
  949. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
  950. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
  951. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
  952. package/blueprints/observability-probe-endpoints/docs/topics.md +2 -2
  953. package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
  954. package/blueprints/persistence-data-d1/CHANGELOG.md +32 -0
  955. package/blueprints/persistence-data-d1/README.md +3 -3
  956. package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
  957. package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
  958. package/blueprints/persistence-data-d1/blueprint.json +108 -23
  959. package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
  960. package/blueprints/persistence-data-d1/contributions/probes/facade-round-trip.mjs +140 -0
  961. package/blueprints/persistence-data-d1/contributions/probes/migrations-forward-only.mjs +66 -0
  962. package/blueprints/persistence-data-d1/contributions/probes/probe-utils.mjs +51 -0
  963. package/blueprints/persistence-data-d1/contributions/probes/real-account-d1-round-trip.mjs +133 -0
  964. package/blueprints/persistence-data-d1/contributions/probes/run-facade-round-trip.mjs +3 -0
  965. package/blueprints/persistence-data-d1/contributions/probes/run-migrations-forward-only.mjs +3 -0
  966. package/blueprints/persistence-data-d1/contributions/probes/run-real-account-d1-round-trip.mjs +3 -0
  967. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
  968. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
  969. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
  970. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
  971. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
  972. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
  973. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
  974. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
  975. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
  976. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
  977. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
  978. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
  979. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
  980. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
  981. package/blueprints/persistence-data-d1/docs/topics.md +2 -3
  982. package/blueprints/persistence-data-postgres/CHANGELOG.md +99 -3
  983. package/blueprints/persistence-data-postgres/README.md +2 -2
  984. package/blueprints/persistence-data-postgres/blueprint.json +203 -24
  985. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
  986. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
  987. package/blueprints/persistence-data-postgres/contributions/probes/facade-round-trip.mjs +87 -12
  988. package/blueprints/persistence-data-postgres/contributions/probes/migration-apply.mjs +245 -19
  989. package/blueprints/persistence-data-postgres/contributions/probes/pool-posture-smoke.mjs +109 -26
  990. package/blueprints/persistence-data-postgres/contributions/probes/prepared-statement-scan.mjs +151 -38
  991. package/blueprints/persistence-data-postgres/contributions/probes/probe-utils.mjs +24 -6
  992. package/blueprints/persistence-data-postgres/contributions/probes/recovery-restore-round-trip.mjs +261 -48
  993. package/blueprints/persistence-data-postgres/contributions/probes/transaction-atomicity.mjs +76 -20
  994. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
  995. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
  996. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +6 -2
  997. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
  998. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
  999. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
  1000. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
  1001. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
  1002. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
  1003. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
  1004. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
  1005. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
  1006. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
  1007. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
  1008. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
  1009. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
  1010. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
  1011. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
  1012. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
  1013. package/blueprints/persistence-data-postgres/docs/topics.md +1 -1
  1014. package/blueprints/persistence-data-sqlite/CHANGELOG.md +28 -0
  1015. package/blueprints/persistence-data-sqlite/README.md +2 -2
  1016. package/blueprints/persistence-data-sqlite/blueprint.json +148 -31
  1017. package/blueprints/persistence-data-sqlite/contributions/probes/boot-open-migrate.mjs +90 -0
  1018. package/blueprints/persistence-data-sqlite/contributions/probes/facade-round-trip.mjs +82 -0
  1019. package/blueprints/persistence-data-sqlite/contributions/probes/probe-utils.mjs +83 -0
  1020. package/blueprints/persistence-data-sqlite/contributions/probes/run-boot-open-migrate.mjs +5 -0
  1021. package/blueprints/persistence-data-sqlite/contributions/probes/run-facade-round-trip.mjs +5 -0
  1022. package/blueprints/persistence-data-sqlite/contributions/probes/run-wal-checkpoint.mjs +5 -0
  1023. package/blueprints/persistence-data-sqlite/contributions/probes/wal-checkpoint.mjs +137 -0
  1024. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
  1025. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
  1026. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
  1027. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
  1028. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
  1029. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
  1030. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
  1031. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
  1032. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
  1033. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
  1034. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
  1035. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
  1036. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
  1037. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
  1038. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
  1039. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
  1040. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
  1041. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
  1042. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
  1043. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
  1044. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
  1045. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
  1046. package/blueprints/persistence-data-sqlite/docs/topics.md +2 -3
  1047. package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
  1048. package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
  1049. package/blueprints/platform-cloudflare-cron-triggers/README.md +2 -3
  1050. package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
  1051. package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
  1052. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
  1053. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
  1054. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
  1055. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
  1056. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
  1057. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
  1058. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
  1059. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
  1060. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
  1061. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
  1062. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
  1063. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
  1064. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
  1065. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
  1066. package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +4 -4
  1067. package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +40 -4
  1068. package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
  1069. package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
  1070. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
  1071. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
  1072. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +2 -2
  1073. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +41 -35
  1074. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +1 -1
  1075. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +1 -1
  1076. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +1 -1
  1077. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
  1078. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
  1079. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
  1080. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
  1081. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
  1082. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
  1083. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
  1084. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
  1085. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
  1086. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
  1087. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
  1088. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
  1089. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
  1090. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
  1091. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
  1092. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
  1093. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
  1094. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
  1095. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
  1096. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
  1097. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
  1098. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
  1099. package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +2 -2
  1100. package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
  1101. package/blueprints/platform-cloudflare-kv/CHANGELOG.md +58 -12
  1102. package/blueprints/platform-cloudflare-kv/README.md +7 -11
  1103. package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
  1104. package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
  1105. package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +1 -1
  1106. package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +1 -1
  1107. package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +53 -18
  1108. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
  1109. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
  1110. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
  1111. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
  1112. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
  1113. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
  1114. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
  1115. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
  1116. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
  1117. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
  1118. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
  1119. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
  1120. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
  1121. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
  1122. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
  1123. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
  1124. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
  1125. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
  1126. package/blueprints/platform-cloudflare-kv/docs/topics.md +2 -2
  1127. package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
  1128. package/blueprints/platform-docker-compose-host/CHANGELOG.md +124 -3
  1129. package/blueprints/platform-docker-compose-host/README.md +7 -7
  1130. package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
  1131. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
  1132. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
  1133. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
  1134. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
  1135. package/blueprints/platform-docker-compose-host/contributions/probes/caddyfile-validate.mjs +116 -29
  1136. package/blueprints/platform-docker-compose-host/contributions/probes/compose-config-lint.mjs +181 -109
  1137. package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +146 -26
  1138. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +238 -25
  1139. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +207 -21
  1140. package/blueprints/platform-docker-compose-host/contributions/probes/secrets-as-files-scan.mjs +246 -42
  1141. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
  1142. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
  1143. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
  1144. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
  1145. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
  1146. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
  1147. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
  1148. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
  1149. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
  1150. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
  1151. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
  1152. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
  1153. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
  1154. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
  1155. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
  1156. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
  1157. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
  1158. package/blueprints/platform-docker-compose-host/docs/topics.md +4 -4
  1159. package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
  1160. package/blueprints/security-auth-clerk/CHANGELOG.md +36 -4
  1161. package/blueprints/security-auth-clerk/README.md +4 -4
  1162. package/blueprints/security-auth-clerk/assets/wiring/workers-wrangler-toml-shape.md +1 -1
  1163. package/blueprints/security-auth-clerk/blueprint.json +23 -2
  1164. package/blueprints/security-auth-clerk/contributions/probes/hosted-identity-ui-config.mjs +61 -0
  1165. package/blueprints/security-auth-clerk/contributions/probes/probe-utils.mjs +188 -0
  1166. package/blueprints/security-auth-clerk/contributions/probes/real-account-principal-directory-round-trip.mjs +216 -0
  1167. package/blueprints/security-auth-clerk/contributions/probes/real-account-session-inventory.mjs +260 -0
  1168. package/blueprints/security-auth-clerk/contributions/probes/role-model-adapter.mjs +53 -0
  1169. package/blueprints/security-auth-clerk/contributions/probes/run-hosted-identity-ui-config.mjs +4 -0
  1170. package/blueprints/security-auth-clerk/contributions/probes/run-real-account-principal-directory-round-trip.mjs +4 -0
  1171. package/blueprints/security-auth-clerk/contributions/probes/run-real-account-session-inventory.mjs +4 -0
  1172. package/blueprints/security-auth-clerk/contributions/probes/run-role-model-adapter.mjs +4 -0
  1173. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
  1174. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
  1175. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
  1176. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
  1177. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
  1178. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
  1179. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
  1180. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
  1181. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
  1182. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
  1183. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
  1184. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
  1185. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
  1186. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
  1187. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
  1188. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
  1189. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
  1190. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
  1191. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
  1192. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
  1193. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
  1194. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
  1195. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
  1196. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
  1197. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
  1198. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
  1199. package/blueprints/security-auth-clerk/docs/topics.md +2 -3
  1200. package/blueprints/security-auth-keycloak/CHANGELOG.md +34 -4
  1201. package/blueprints/security-auth-keycloak/README.md +3 -3
  1202. package/blueprints/security-auth-keycloak/blueprint.json +103 -2
  1203. package/blueprints/security-auth-keycloak/contributions/probes/discovery-shape.mjs +68 -0
  1204. package/blueprints/security-auth-keycloak/contributions/probes/introspection-shape.mjs +88 -0
  1205. package/blueprints/security-auth-keycloak/contributions/probes/jwt-verifier-shape.mjs +86 -0
  1206. package/blueprints/security-auth-keycloak/contributions/probes/probe-utils.mjs +180 -0
  1207. package/blueprints/security-auth-keycloak/contributions/probes/real-account-realm-round-trip.mjs +91 -0
  1208. package/blueprints/security-auth-keycloak/contributions/probes/role-adapter-shape.mjs +69 -0
  1209. package/blueprints/security-auth-keycloak/contributions/probes/run-discovery-shape.mjs +4 -0
  1210. package/blueprints/security-auth-keycloak/contributions/probes/run-introspection-shape.mjs +4 -0
  1211. package/blueprints/security-auth-keycloak/contributions/probes/run-jwt-verifier-shape.mjs +4 -0
  1212. package/blueprints/security-auth-keycloak/contributions/probes/run-real-account-realm-round-trip.mjs +4 -0
  1213. package/blueprints/security-auth-keycloak/contributions/probes/run-role-adapter-shape.mjs +4 -0
  1214. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
  1215. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
  1216. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
  1217. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
  1218. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
  1219. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
  1220. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
  1221. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
  1222. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
  1223. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
  1224. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
  1225. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
  1226. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
  1227. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
  1228. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
  1229. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
  1230. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
  1231. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
  1232. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
  1233. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
  1234. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
  1235. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
  1236. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
  1237. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
  1238. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
  1239. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
  1240. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
  1241. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
  1242. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
  1243. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
  1244. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
  1245. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
  1246. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
  1247. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
  1248. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
  1249. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
  1250. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
  1251. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
  1252. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
  1253. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
  1254. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
  1255. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
  1256. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
  1257. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
  1258. package/blueprints/security-auth-keycloak/docs/topics.md +1 -2
  1259. package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
  1260. package/blueprints/security-auth-magic-link/CHANGELOG.md +30 -3
  1261. package/blueprints/security-auth-magic-link/README.md +3 -3
  1262. package/blueprints/security-auth-magic-link/assets/principal-registry-samples/single-address.md +1 -1
  1263. package/blueprints/security-auth-magic-link/blueprint.json +3 -2
  1264. package/blueprints/security-auth-magic-link/contributions/probes/probe-utils.mjs +174 -0
  1265. package/blueprints/security-auth-magic-link/contributions/probes/real-account-magic-link-send.mjs +139 -0
  1266. package/blueprints/security-auth-magic-link/contributions/probes/run-real-account-magic-link-send.mjs +4 -0
  1267. package/blueprints/security-auth-magic-link/contributions/probes/run-token-entropy-shape.mjs +4 -0
  1268. package/blueprints/security-auth-magic-link/contributions/probes/run-token-issue-verify.mjs +4 -0
  1269. package/blueprints/security-auth-magic-link/contributions/probes/token-entropy-shape.mjs +60 -0
  1270. package/blueprints/security-auth-magic-link/contributions/probes/token-issue-verify.mjs +90 -0
  1271. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
  1272. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
  1273. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
  1274. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
  1275. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
  1276. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
  1277. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
  1278. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
  1279. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
  1280. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
  1281. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
  1282. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
  1283. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
  1284. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
  1285. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
  1286. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
  1287. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
  1288. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
  1289. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
  1290. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
  1291. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
  1292. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
  1293. package/blueprints/security-auth-magic-link/docs/topics.md +1 -1
  1294. package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
  1295. package/blueprints/security-auth-oauth2/CHANGELOG.md +32 -4
  1296. package/blueprints/security-auth-oauth2/README.md +3 -3
  1297. package/blueprints/security-auth-oauth2/blueprint.json +35 -3
  1298. package/blueprints/security-auth-oauth2/contributions/probes/authorisation-code-flow-shape.mjs +259 -0
  1299. package/blueprints/security-auth-oauth2/contributions/probes/pkce-challenge-shape.mjs +58 -0
  1300. package/blueprints/security-auth-oauth2/contributions/probes/probe-utils.mjs +190 -0
  1301. package/blueprints/security-auth-oauth2/contributions/probes/provider-adapter-shape.mjs +64 -0
  1302. package/blueprints/security-auth-oauth2/contributions/probes/real-account-authorisation-code-flow.mjs +93 -0
  1303. package/blueprints/security-auth-oauth2/contributions/probes/run-authorisation-code-flow-shape.mjs +4 -0
  1304. package/blueprints/security-auth-oauth2/contributions/probes/run-pkce-challenge-shape.mjs +4 -0
  1305. package/blueprints/security-auth-oauth2/contributions/probes/run-provider-adapter-shape.mjs +4 -0
  1306. package/blueprints/security-auth-oauth2/contributions/probes/run-real-account-authorisation-code-flow.mjs +4 -0
  1307. package/blueprints/security-auth-oauth2/contributions/probes/run-session-bridge-shape.mjs +4 -0
  1308. package/blueprints/security-auth-oauth2/contributions/probes/session-bridge-shape.mjs +78 -0
  1309. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
  1310. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
  1311. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
  1312. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
  1313. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
  1314. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
  1315. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
  1316. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
  1317. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
  1318. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
  1319. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
  1320. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
  1321. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
  1322. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
  1323. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
  1324. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
  1325. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
  1326. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
  1327. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
  1328. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
  1329. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
  1330. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
  1331. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
  1332. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
  1333. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
  1334. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
  1335. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
  1336. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
  1337. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
  1338. package/blueprints/security-auth-oauth2/docs/topics.md +1 -2
  1339. package/blueprints/security-secrets-management/CHANGELOG.md +26 -3
  1340. package/blueprints/security-secrets-management/README.md +2 -2
  1341. package/blueprints/security-secrets-management/blueprint.json +170 -32
  1342. package/blueprints/security-secrets-management/contributions/probes/add-recipient-rotation.mjs +107 -0
  1343. package/blueprints/security-secrets-management/contributions/probes/encrypt-decrypt-round-trip.mjs +122 -0
  1344. package/blueprints/security-secrets-management/contributions/probes/key-rotation.mjs +93 -0
  1345. package/blueprints/security-secrets-management/contributions/probes/mismatched-key-refusal.mjs +74 -0
  1346. package/blueprints/security-secrets-management/contributions/probes/probe-utils.mjs +214 -0
  1347. package/blueprints/security-secrets-management/contributions/probes/run-add-recipient-rotation.mjs +4 -0
  1348. package/blueprints/security-secrets-management/contributions/probes/run-encrypt-decrypt-round-trip.mjs +4 -0
  1349. package/blueprints/security-secrets-management/contributions/probes/run-key-rotation.mjs +4 -0
  1350. package/blueprints/security-secrets-management/contributions/probes/run-mismatched-key-refusal.mjs +4 -0
  1351. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
  1352. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
  1353. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
  1354. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
  1355. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
  1356. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
  1357. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
  1358. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
  1359. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
  1360. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
  1361. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
  1362. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
  1363. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
  1364. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
  1365. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
  1366. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
  1367. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
  1368. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
  1369. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
  1370. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
  1371. package/blueprints/security-secrets-management/docs/topics.md +2 -3
  1372. package/fixtures/canary-manifest.json +9 -9
  1373. package/guidance/harness-template.md +25 -0
  1374. package/guidance/managed/agent-instructions-block.hash +1 -1
  1375. package/guidance/managed/agent-instructions-block.md +25 -0
  1376. package/package.json +2 -2
  1377. package/rcf/adrs/adr-4101-feedback-store-gitignored.json +20 -0
  1378. package/rcf/adrs/adr-4102-fingerprint-and-labels.json +25 -0
  1379. package/rcf/adrs/adr-4103-redaction-rule-based.json +20 -0
  1380. package/rcf/adrs/adr-4104-destination-on-library.json +25 -0
  1381. package/rcf/adrs/adr-4105-gh-ambient-auth.json +20 -0
  1382. package/rcf/adrs/adr-4106-bundled-entries-terminal.json +20 -0
  1383. package/rcf/adrs/adr-4107-stop-is-ask-event.json +30 -0
  1384. package/rcf/adrs/adr-4108-hooks-in-committed-config.json +25 -0
  1385. package/rcf/adrs/adr-4109-referee-validate-adr-crosslinks.json +25 -0
  1386. package/rcf/adrs/adr-4110-referee-coverage-strict-by-default.json +25 -0
  1387. package/rcf/adrs/adr-4111-referee-finalise-refusals.json +20 -0
  1388. package/rcf/adrs/adr-4112-referee-finalise-verified-invariant.json +30 -0
  1389. package/rcf/code-nodes/cn-600.json +45 -0
  1390. package/rcf/code-nodes/cn-601.json +18 -0
  1391. package/rcf/code-nodes/cn-602.json +15 -0
  1392. package/rcf/code-nodes/cn-603.json +12 -0
  1393. package/rcf/code-nodes/cn-604.json +14 -0
  1394. package/rcf/code-nodes/cn-605.json +17 -0
  1395. package/rcf/code-nodes/cn-606.json +12 -0
  1396. package/rcf/code-nodes/cn-607.json +12 -0
  1397. package/rcf/code-nodes/cn-608.json +14 -0
  1398. package/rcf/code-nodes/cn-609.json +17 -0
  1399. package/rcf/code-nodes/cn-620.json +18 -0
  1400. package/rcf/code-nodes/cn-621.json +14 -0
  1401. package/rcf/code-nodes/cn-622.json +15 -0
  1402. package/rcf/code-nodes/cn-623.json +16 -0
  1403. package/rcf/code-nodes/cn-624.json +14 -0
  1404. package/rcf/code-nodes/cn-625.json +15 -0
  1405. package/rcf/code-nodes/cn-626.json +13 -0
  1406. package/rcf/code-nodes/cn-627.json +13 -0
  1407. package/rcf/code-nodes/cn-628.json +14 -0
  1408. package/rcf/code-nodes/cn-629.json +12 -0
  1409. package/rcf/code-nodes/cn-630.json +12 -0
  1410. package/rcf/code-nodes/cn-631.json +13 -0
  1411. package/rcf/code-nodes/cn-632.json +13 -0
  1412. package/rcf/fbs/fbs-180.json +45 -0
  1413. package/rcf/fbs/fbs-181.json +45 -0
  1414. package/rcf/fbs/fbs-182.json +42 -0
  1415. package/rcf/fbs/fbs-183.json +50 -0
  1416. package/rcf/fbs/fbs-184.json +49 -0
  1417. package/rcf/fbs/fbs-185.json +34 -0
  1418. package/rcf/fbs/fbs-186.json +16 -0
  1419. package/rcf/fbs/fbs-187.json +17 -0
  1420. package/rcf/fbs/fbs-188.json +17 -0
  1421. package/rcf/fbs/fbs-189.json +17 -0
  1422. package/rcf/requirements/req-155.json +13 -0
  1423. package/rcf/requirements/req-156.json +13 -0
  1424. package/rcf/requirements/req-157.json +13 -0
  1425. package/rcf/requirements/req-158.json +13 -0
  1426. package/rcf/requirements/req-159.json +13 -0
  1427. package/rcf/requirements/req-160.json +13 -0
  1428. package/rcf/requirements/req-161.json +13 -0
  1429. package/rcf/requirements/req-162.json +13 -0
  1430. package/rcf/requirements/req-163.json +13 -0
  1431. package/rcf/requirements/req-164.json +13 -0
  1432. package/rcf/requirements/req-165.json +13 -0
  1433. package/rcf/tacs/tac-4101-feedback-cli.json +77 -0
  1434. package/rcf/tacs/tac-4102-feedback-store.json +50 -0
  1435. package/rcf/tacs/tac-4103-feedback-redact.json +39 -0
  1436. package/rcf/tacs/tac-4104-feedback-fingerprint.json +33 -0
  1437. package/rcf/tacs/tac-4105-feedback-render.json +45 -0
  1438. package/rcf/tacs/tac-4106-feedback-destination.json +39 -0
  1439. package/rcf/tacs/tac-4107-feedback-gh.json +43 -0
  1440. package/rcf/tacs/tac-4108-feedback-hook.json +46 -0
  1441. package/rcf/tacs/tac-4109-referee-validate-adr-crosslinks.json +20 -0
  1442. package/rcf/tacs/tac-4110-referee-coverage-mode-selector.json +21 -0
  1443. package/rcf/tacs/tac-4111-referee-finalise-per-ac-refusals.json +21 -0
  1444. package/rcf/tacs/tac-4112-referee-finalise-verified-invariant.json +22 -0
  1445. package/rcf/test-suites/ts-050.json +1 -1
  1446. package/rcf/test-suites/ts-052.json +1 -1
  1447. package/rcf/test-suites/ts-053.json +2 -2
  1448. package/rcf/test-suites/ts-054.json +2 -2
  1449. package/rcf/test-suites/ts-055.json +2 -2
  1450. package/rcf/test-suites/ts-056.json +4 -4
  1451. package/rcf/test-suites/ts-057.json +2 -2
  1452. package/rcf/test-suites/ts-140.json +9 -9
  1453. package/rcf/test-suites/ts-150.json +9 -9
  1454. package/rcf/test-suites/ts-185.json +54 -0
  1455. package/rcf/test-suites/ts-186.json +58 -0
  1456. package/rcf/test-suites/ts-187.json +44 -0
  1457. package/rcf/test-suites/ts-188.json +166 -0
  1458. package/rcf/test-suites/ts-189.json +38 -0
  1459. package/rcf/test-suites/ts-190.json +30 -0
  1460. package/rcf/test-suites/ts-191.json +51 -0
  1461. package/rcf/test-suites/ts-192.json +37 -0
  1462. package/rcf/test-suites/ts-193.json +60 -0
  1463. package/rcf/test-suites/ts-194.json +67 -0
  1464. package/rcf/test-suites/ts-195.json +52 -0
  1465. package/rcf/test-suites/ts-196.json +58 -0
  1466. package/rcf/test-suites/ts-197.json +66 -0
  1467. package/rcf/test-suites/ts-198.json +87 -0
  1468. package/rcf/test-suites/ts-199.json +51 -0
  1469. package/rcf/test-suites/ts-200.json +30 -0
  1470. package/rcf/test-suites/ts-201.json +38 -0
  1471. package/rcf/test-suites/ts-202.json +38 -0
  1472. package/rcf/test-suites/ts-203.json +38 -0
  1473. package/rcf/user-stories/us-15501.json +60 -0
  1474. package/rcf/user-stories/us-15502.json +33 -0
  1475. package/rcf/user-stories/us-15503.json +33 -0
  1476. package/rcf/user-stories/us-15601.json +51 -0
  1477. package/rcf/user-stories/us-15701.json +42 -0
  1478. package/rcf/user-stories/us-15801.json +42 -0
  1479. package/rcf/user-stories/us-15802.json +33 -0
  1480. package/rcf/user-stories/us-15901.json +33 -0
  1481. package/rcf/user-stories/us-15902.json +51 -0
  1482. package/rcf/user-stories/us-16001.json +51 -0
  1483. package/rcf/user-stories/us-16101.json +42 -0
  1484. package/rcf/user-stories/us-16102.json +33 -0
  1485. package/rcf/user-stories/us-16103.json +42 -0
  1486. package/rcf/user-stories/us-16104.json +42 -0
  1487. package/rcf/user-stories/us-16201.json +33 -0
  1488. package/rcf/user-stories/us-16301.json +36 -0
  1489. package/rcf/user-stories/us-16401.json +45 -0
  1490. package/rcf/user-stories/us-16501.json +45 -0
  1491. package/rcf/user-stories/us-16502.json +45 -0
  1492. package/rcf/user-stories/us-7701.json +3 -3
  1493. package/releases/releases.yaml +21 -1
  1494. package/src/blueprint/library-loader.js +48 -0
  1495. package/src/blueprint/library-registry.js +13 -0
  1496. package/src/browser-verify/pack-runner.js +7 -12
  1497. package/src/build/mark.js +1 -1
  1498. package/src/cli/blueprint-library.js +149 -0
  1499. package/src/cli/coverage.js +49 -24
  1500. package/src/cli/doctor.js +195 -7
  1501. package/src/cli/feedback.js +2204 -0
  1502. package/src/cli/finalise.js +158 -1
  1503. package/src/cli/help.js +6 -0
  1504. package/src/cli/init.js +63 -0
  1505. package/src/cli/update.js +21 -1
  1506. package/src/cli/view.js +22 -11
  1507. package/src/core/store/walker.js +33 -0
  1508. package/src/core/store/writer.js +23 -0
  1509. package/src/feedback/destination.js +361 -0
  1510. package/src/feedback/fingerprint.js +132 -0
  1511. package/src/feedback/gh.js +376 -0
  1512. package/src/feedback/hook.js +183 -0
  1513. package/src/feedback/labels.js +87 -0
  1514. package/src/feedback/redact-allowlist.json +14 -0
  1515. package/src/feedback/redact.js +1108 -0
  1516. package/src/feedback/render.js +267 -0
  1517. package/src/feedback/store.js +604 -0
  1518. package/src/finalise/index.js +4 -0
  1519. package/src/finalise/ingest.js +61 -0
  1520. package/src/finalise/ship-without-eval.js +19 -7
  1521. package/src/mcp/tools.js +8 -2
  1522. package/src/setup/feedback-hooks.js +397 -0
  1523. package/src/setup/managed-gitignore.js +3 -0
  1524. package/src/view/html-page.js +5 -5
  1525. package/src/view/style.css +2 -2
@@ -2,7 +2,7 @@
2
2
  "usId": "email-smtp-resend-US-4102",
3
3
  "prdId": "PRD-001",
4
4
  "reqId": "email-smtp-resend-REQ-003",
5
- "version": "1.0.0",
5
+ "version": "1.0.1",
6
6
  "status": "approved",
7
7
  "title": "The provider's unverified-sender refusal maps to a stable error code and does not leak the recipient",
8
8
  "asA": "operator running a deployed project where the sender domain has not yet been verified with the provider",
@@ -11,12 +11,17 @@
11
11
  "acceptanceCriteria": [
12
12
  {
13
13
  "id": "AC-4102-1",
14
- "description": "When the provider refuses the submission because the sender domain or address is unverified, the adapter returns `{ ok: false, providerStatus, providerMessageId: null, error }` with `error` beginning with the code `RESEND_SENDER_UNVERIFIED` and `providerStatus` equal to the provider's own refusal status.",
14
+ "description": "When the provider refuses the submission because the sender domain or address is unverified, the adapter returns the refusal outcome owned on TAC-401-email-smtp-resend-send-adapter.interfaces.send with the `RESEND_SENDER_UNVERIFIED` code from the classification owned on TAC-401-email-smtp-resend-send-adapter.responsibilities[3].",
15
15
  "given": "a running project whose configured from-address is not verified with the provider",
16
- "when": "the magic-link route calls `adapter.send({ to, subject, textBody, htmlBody })`",
17
- "then": "the returned object matches the shape with `ok === false`, `providerMessageId === null`, `providerStatus` a positive integer, and `error` starting with `RESEND_SENDER_UNVERIFIED`",
16
+ "when": "the magic-link route calls the adapter's send interface defined on `TAC-401-email-smtp-resend-send-adapter.interfaces.send`",
17
+ "then": "the returned object matches the refusal shape owned on TAC-401-email-smtp-resend-send-adapter.interfaces.send and its `error` begins with `RESEND_SENDER_UNVERIFIED`",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-401-email-smtp-resend-send-adapter",
23
+ "field": "interfaces.send"
24
+ }
20
25
  },
21
26
  {
22
27
  "id": "AC-4102-2",
@@ -25,12 +30,27 @@
25
30
  "when": "the magic-link route calls `adapter.send({ to: distinctiveRecipient, subject: distinctiveSubject, textBody: distinctiveBody, htmlBody })` and the call resolves",
26
31
  "then": "the returned `error` string, every line the adapter emitted during the call, and every exception message caught contain none of the distinctive recipient, subject, or body substrings",
27
32
  "testable": true,
28
- "scope": "runtime"
33
+ "scope": "runtime",
34
+ "disposition": "fixed"
35
+ },
36
+ {
37
+ "id": "AC-4102-3",
38
+ "description": "The unverified-sender refusal maps to RESEND_SENDER_UNVERIFIED and does not surface the recipient identity: a probe of the returned error record shows only the stable code, the (redacted) provider response code and the sender placeholder reference; the recipient email is not on the error record even at debug level.",
39
+ "given": "a send with an unverified sender configured and a recipient \"recipient@example.test\" and a caller reading the error record",
40
+ "when": "the send() rejects",
41
+ "then": "the error carries code=RESEND_SENDER_UNVERIFIED and no field or nested field contains the string \"recipient@example.test\"; the sender placeholder reference name is present but the recipient email is not",
42
+ "testable": true,
43
+ "scope": "runtime",
44
+ "disposition": "template",
45
+ "ownerRef": {
46
+ "tacId": "TAC-401-email-smtp-resend-send-adapter",
47
+ "field": "responsibilities[5]"
48
+ }
29
49
  }
30
50
  ],
31
51
  "tacIds": [
32
52
  "TAC-401-email-smtp-resend-send-adapter"
33
53
  ],
34
54
  "createdAt": "2026-08-30T00:00:00Z",
35
- "updatedAt": "2026-08-30T00:00:00Z"
55
+ "updatedAt": "2026-09-09T00:00:00Z"
36
56
  }
@@ -16,7 +16,8 @@
16
16
  "when": "the magic-link route triggers one adapter send",
17
17
  "then": "the submission counter after the adapter returns equals `1 + observed_retries`, `observed_retries` is at least one and at most the configured budget, and the returned object has `ok === true`",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed"
20
21
  },
21
22
  {
22
23
  "id": "AC-4103-2",
@@ -25,7 +26,8 @@
25
26
  "when": "the magic-link route triggers one adapter send",
26
27
  "then": "the adapter returns once, `ok === false`, `error` starts with `RESEND_RATE_LIMITED`, and the SMTP submission counter equals 3",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "fixed"
29
31
  },
30
32
  {
31
33
  "id": "AC-4103-3",
@@ -34,12 +36,55 @@
34
36
  "when": "the magic-link route triggers one adapter send",
35
37
  "then": "the submission counter equals 1 and the returned object has `ok === false` with `error` starting with the terminal class code",
36
38
  "testable": true,
37
- "scope": "runtime"
39
+ "scope": "runtime",
40
+ "disposition": "fixed"
41
+ },
42
+ {
43
+ "id": "AC-4103-4",
44
+ "description": "A generic transport failure (a TCP reset, a DNS resolution error, an SMTP handshake timeout) is classified as retryable per REQ-003; the adapter retries up to the bounded attempt count, and on eventual success within the attempt budget resolves with the message envelope id returned by Resend.",
45
+ "given": "a send call to the adapter with the SMTP client forced to reject on the first attempt with ECONNRESET and accept on the second attempt with envelope id \"smtp-envelope-777\"",
46
+ "when": "the caller invokes send()",
47
+ "then": "send() resolves with envelope id \"smtp-envelope-777\"; the adapter records exactly two attempts on the internal counter; no RESEND_TRANSPORT_ERROR is returned to the caller",
48
+ "testable": true,
49
+ "scope": "runtime",
50
+ "disposition": "fixed",
51
+ "ownerRef": {
52
+ "tacId": "TAC-401-email-smtp-resend-send-adapter",
53
+ "field": "responsibilities[5]"
54
+ }
55
+ },
56
+ {
57
+ "id": "AC-4103-5",
58
+ "description": "A generic transport failure that persists across the full attempt budget rejects with RESEND_TRANSPORT_ERROR naming the final transport class and the final attempt count (two per ADR-402); the caller sees no fabricated success envelope.",
59
+ "given": "a send call with the SMTP client forced to reject on every attempt with ECONNRESET",
60
+ "when": "the caller invokes send()",
61
+ "then": "send() rejects with RESEND_TRANSPORT_ERROR naming ECONNRESET and attemptCount 2; no envelope id is returned",
62
+ "testable": true,
63
+ "scope": "runtime",
64
+ "disposition": "fixed",
65
+ "ownerRef": {
66
+ "tacId": "TAC-401-email-smtp-resend-send-adapter",
67
+ "field": "responsibilities[5]"
68
+ }
69
+ },
70
+ {
71
+ "id": "AC-4103-6",
72
+ "description": "A provider 5xx response (a Resend server-side error) is classified as retryable per REQ-003 and REQ-004; the adapter retries with exponential full-jitter backoff and asserts that the scheduled delay before attempt 2 lies in [0, 250] milliseconds (base 250ms, first attempt) and before attempt 3 (if reached in a longer budget) would lie in [0, 500] milliseconds (2x base, capped at 8000ms). Template values the applying agent sets: The applying agent supplies the deterministic jitter source and clock; the AC substitutes the ADR-402 baseline retry parameters (base, cap, attempts).",
73
+ "given": "a send call with a deterministic jitter source (jitter() -> 0.5) and a deterministic clock, the SMTP client forced to return 5xx on every attempt, and the ADR-402 baseline (2 attempts, base 250ms, cap 8000ms, exponential full-jitter)",
74
+ "when": "the caller invokes send()",
75
+ "then": "the adapter schedules exactly one retry; the delay before the retry equals 125ms (0.5 * 250 * 1); send() rejects with RESEND_TRANSPORT_ERROR naming the provider 5xx and attemptCount 2; no delay exceeds 8000ms and no delay is negative",
76
+ "testable": true,
77
+ "scope": "runtime",
78
+ "disposition": "template",
79
+ "ownerRef": {
80
+ "adrId": "ADR-402-email-smtp-resend-retry-and-backoff-posture",
81
+ "field": "decision.retryBackoff"
82
+ }
38
83
  }
39
84
  ],
40
85
  "tacIds": [
41
86
  "TAC-401-email-smtp-resend-send-adapter"
42
87
  ],
43
88
  "createdAt": "2026-08-30T00:00:00Z",
44
- "updatedAt": "2026-08-30T00:00:00Z"
89
+ "updatedAt": "2026-09-09T00:00:00Z"
45
90
  }
@@ -16,7 +16,8 @@
16
16
  "when": "the POST is delivered to the webhook route",
17
17
  "then": "the response status is 200, the handler invocation counter increments by exactly one, and the parsed event delivered to the handler matches the POST body",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed"
20
21
  },
21
22
  {
22
23
  "id": "AC-4104-2",
@@ -25,7 +26,8 @@
25
26
  "when": "the POST is delivered to the webhook route",
26
27
  "then": "the response status is 401, the response body is empty, the handler invocation counter is unchanged, and the audit sink observes exactly one `webhookVerificationFailed` event",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "fixed"
29
31
  },
30
32
  {
31
33
  "id": "AC-4104-3",
@@ -34,7 +36,8 @@
34
36
  "when": "a mix of matched and mismatched webhook posts is delivered",
35
37
  "then": "no captured response body, log line, or exception message contains the distinctive signing secret substring",
36
38
  "testable": true,
37
- "scope": "runtime"
39
+ "scope": "runtime",
40
+ "disposition": "fixed"
38
41
  }
39
42
  ],
40
43
  "tacIds": [
@@ -11,26 +11,42 @@
11
11
  "acceptanceCriteria": [
12
12
  {
13
13
  "id": "AC-4105-1",
14
- "description": "A webhook POST whose timestamp header is older than the configured tolerance window is refused with HTTP 401 and an empty body; the downstream handler is not invoked and a `webhookReplayStale` audit event is emitted.",
14
+ "description": "A webhook POST whose timestamp header is older than the configured tolerance window is refused with HTTP 401 and an empty body; the downstream handler is not invoked and a `webhookReplayStale` audit event is emitted. Template values the applying agent sets: The applying agent sets the elicited replay tolerance window; the AC substitutes the project's window for the illustrative value.",
15
15
  "given": "a running project with a configured tolerance window of 300 seconds and a POST whose timestamp header is set to a value 301 or more seconds in the past",
16
16
  "when": "the POST is delivered to the webhook route",
17
17
  "then": "the response status is 401, the response body is empty, the handler invocation counter is unchanged, and the audit sink observes exactly one `webhookReplayStale` event",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template"
20
21
  },
21
22
  {
22
23
  "id": "AC-4105-2",
23
- "description": "A signature-valid webhook POST whose delivery event id already appears in the bounded event-id store is acknowledged with HTTP 200 without invoking the downstream handler; a `webhookReplayDuplicate` audit event is emitted.",
24
+ "description": "A signature-valid webhook POST whose delivery event id already appears in the bounded event-id store is acknowledged with HTTP 200 without invoking the downstream handler; a `webhookReplayDuplicate` audit event is emitted. Template values the applying agent sets: The applying agent sets the elicited replay tolerance window; the AC substitutes the project's window for the illustrative value.",
24
25
  "given": "a running project with a signature-valid POST that has already been processed once (event id recorded in the store) and a second POST carrying the same event id inside the tolerance window",
25
26
  "when": "the second POST is delivered to the webhook route",
26
27
  "then": "the response status is 200, the handler invocation counter is unchanged from before the second POST, and the audit sink observes exactly one `webhookReplayDuplicate` event on the second POST",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "template"
31
+ },
32
+ {
33
+ "id": "AC-4105-3",
34
+ "description": "On accepting a delivery event, the verifier calls putIfAbsentWithExpiry(eventId, expiryMs) with expiryMs equal to the configured replay tolerance window; a re-post of the same event id BEFORE the window expires is refused as a duplicate; a re-post of the same event id AFTER the window expires is accepted normally. Template values the applying agent sets: The applying agent supplies the elicited replay tolerance window; the AC substitutes it for the illustrative 300000ms value.",
35
+ "given": "a webhook verifier configured with tolerance window 300000ms (5 minutes), a deterministic clock, and a first event with id \"evt-42\" accepted at T0",
36
+ "when": "the same event id is re-posted at T0+150000ms (inside window) and again at T0+400000ms (after window)",
37
+ "then": "the first re-post is refused with EVENT_REPLAY_DUPLICATE; the second re-post is accepted normally; the eventIdStore's putIfAbsentWithExpiry recorded expiryMs=300000 for the initial entry",
38
+ "testable": true,
39
+ "scope": "runtime",
40
+ "disposition": "template",
41
+ "ownerRef": {
42
+ "tacId": "TAC-402-email-smtp-resend-webhook-verifier",
43
+ "field": "interfaces.eventIdStore"
44
+ }
29
45
  }
30
46
  ],
31
47
  "tacIds": [
32
48
  "TAC-402-email-smtp-resend-webhook-verifier"
33
49
  ],
34
50
  "createdAt": "2026-08-30T00:00:00Z",
35
- "updatedAt": "2026-08-30T00:00:00Z"
51
+ "updatedAt": "2026-09-09T00:00:00Z"
36
52
  }
@@ -16,16 +16,36 @@
16
16
  "when": "an import-graph scan enumerates every module of the application that imports the SMTP client library",
17
17
  "then": "the scan returns exactly one module and that module is the adapter module",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed"
20
21
  },
21
22
  {
22
23
  "id": "AC-4106-2",
23
- "description": "The adapter resolves the SMTP username, the SMTP password, the from-address, and the webhook signing secret through the project's configured secret-reference resolver (a Secrets Manager client, a project-authored resolver, or an environment shim); no literal for any of the four values appears in the adapter's own source.",
24
- "given": "the adapter module source and the four configuration references `RESEND_SMTP_USER`, `RESEND_SMTP_PASSWORD`, `RESEND_FROM_ADDRESS`, `RESEND_WEBHOOK_SIGNING_SECRET`",
25
- "when": "the adapter source is scanned for literals and the reference names are cross-checked against the resolver invocation shape",
26
- "then": "the source contains no literal for any of the four values, and each of the four reference names appears exactly at the resolver invocation site the adapter calls at boot",
24
+ "description": "The send adapter (TAC-401) resolves the SMTP host, username, password and the from-address through the project's configured secret-reference resolver at boot; no literal for any of these four values appears in the send adapter's own source. Template values the applying agent sets: The applying agent sets the four placeholder references (RESEND_SMTP_HOST, RESEND_SMTP_USERNAME, RESEND_SMTP_PASSWORD, RESEND_VERIFIED_SENDER_ADDRESS) on the elicited slots; the AC substitutes those names.",
25
+ "given": "the send-adapter module source and the four configuration references RESEND_SMTP_HOST, RESEND_SMTP_USERNAME, RESEND_SMTP_PASSWORD, RESEND_VERIFIED_SENDER_ADDRESS",
26
+ "when": "the send adapter source is scanned for literals and the reference names are cross-checked against the resolver invocation shape at TAC-401.responsibilities[8]",
27
+ "then": "the send adapter source contains no literal for any of the four values, and each of the four reference names appears exactly at the resolver invocation site the send adapter calls at boot",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "template",
31
+ "ownerRef": {
32
+ "tacId": "TAC-401-email-smtp-resend-send-adapter",
33
+ "field": "interfaces.secretResolver"
34
+ }
35
+ },
36
+ {
37
+ "id": "AC-4106-3",
38
+ "description": "The webhook verifier (TAC-402) resolves the webhook signing secret through the project's configured secret-reference resolver at boot; no literal for the webhook secret appears in the verifier's own source. The send adapter does not carry the webhook secret. Template values the applying agent sets: The applying agent sets the RESEND_WEBHOOK_SIGNING_SECRET placeholder reference on the verifier's elicited slot; the AC substitutes that name.",
39
+ "given": "the webhook-verifier module source and the reference RESEND_WEBHOOK_SIGNING_SECRET",
40
+ "when": "the verifier source is scanned for literals and the reference name is cross-checked against the resolver invocation shape at TAC-402.responsibilities[5]; the send adapter's source is scanned to confirm the webhook secret name does NOT appear there",
41
+ "then": "the verifier source contains no literal for the webhook secret, RESEND_WEBHOOK_SIGNING_SECRET appears exactly at the verifier's resolver invocation site, and the send adapter's source does not reference RESEND_WEBHOOK_SIGNING_SECRET at all",
42
+ "testable": true,
43
+ "scope": "runtime",
44
+ "disposition": "template",
45
+ "ownerRef": {
46
+ "tacId": "TAC-402-email-smtp-resend-webhook-verifier",
47
+ "field": "interfaces.secretResolver"
48
+ }
29
49
  }
30
50
  ],
31
51
  "tacIds": [
@@ -33,5 +53,5 @@
33
53
  "TAC-402-email-smtp-resend-webhook-verifier"
34
54
  ],
35
55
  "createdAt": "2026-08-30T00:00:00Z",
36
- "updatedAt": "2026-08-30T00:00:00Z"
56
+ "updatedAt": "2026-09-09T00:00:00Z"
37
57
  }
@@ -10,7 +10,7 @@ The neutrality rule (round-2 amendment) applies: `email-smtp-resend` ships alone
10
10
 
11
11
  ## Id number bands (registry bootstrap)
12
12
 
13
- AC ids (and therefore US numeric ids, which anchor them) are NOT namespaced by the 0.4.4 schema grammar; the band allocation IS the AC-collision enforcement mechanism. Composing blueprints take a fresh band rather than proposing namespaced AC ids. Band allocation is ratified policy (2026-08-19); this table is the shared registry-bootstrap replicated across every shipped and forthcoming blueprint's `docs/topics.md` until a mechanism-side central registry lands.
13
+ AC ids (and therefore US numeric ids, which anchor them) are NOT namespaced by the 0.4.4 schema grammar; the band allocation IS the AC-collision enforcement mechanism. Composing blueprints take a fresh band rather than proposing namespaced AC ids. Band allocation is policy; this table is the shared registry-bootstrap replicated across every shipped and forthcoming blueprint's `docs/topics.md` until a mechanism-side central registry lands.
14
14
 
15
15
  This table is maintained shelf-wide across every blueprint's `docs/topics.md`. Rows are recorded at ship, never predicted.
16
16
 
@@ -55,8 +55,7 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
55
55
  | platform-docker-compose-host | 38101-38899 | 39xx | shipped v1.0.0 | `containerHostContract` |
56
56
  | edge-cloudflare-tunnel | 39101-39899 | 40xx | shipped v1.0.0 | `edgeIngressBridge` |
57
57
 
58
- US 4101-4106 sit at the LOW end of the 4101-4899 band on purpose. A project-side story that mechanically derives from an email-smtp-resend REQ id into the number `4106` (leading `4` + sequence `106`) would collide against email-smtp-resend-US-4106 in this package; the band leaves headroom at the HIGH end (US 4181-4899) so a project's own stories anchored to email-smtp-resend REQs can allocate without conflict. The watchpost run4 lesson applies here too.
59
-
58
+ US 4101-4106 sit at the LOW end of the 4101-4899 band on purpose. A project-side story that mechanically derives from an email-smtp-resend REQ id into the number `4106` (leading `4` + sequence `106`) would collide against email-smtp-resend-US-4106 in this package; the band leaves headroom at the HIGH end (US 4181-4899) so a project's own stories anchored to email-smtp-resend REQs can allocate without conflict.
60
59
  ## Shared expectations for future composing blueprints
61
60
 
62
61
  - The mail-adapter contract itself is owned by the magic-link blueprint's `TAC-504-security-auth-magic-link-email-delivery-adapter`, not by this blueprint. A sibling `email-smtp-<othervendor>` blueprint that plugs into the same slot inherits the four-class error taxonomy (`RESEND_*` codes generalise to a `<VENDOR>_*` prefix on the sibling; the class semantics stay the same), the retry-and-backoff posture (ADR-402 is a supersede target), and the webhook signature-and-replay discipline (the header names, the algorithm identifier, and the tolerance window remain configuration references; the vendor's specifics live on the sibling's own `docs/topics.md`).
@@ -48,8 +48,8 @@ An earlier design pass considered leading with the Resend HTTP API as the defaul
48
48
 
49
49
  A project applies the magic-link blueprint, applies this blueprint, wires the adapter reference into the auth routes at composition time, sources `RESEND_SMTP_USER`, `RESEND_SMTP_PASSWORD`, `RESEND_FROM_ADDRESS`, and `RESEND_WEBHOOK_SIGNING_SECRET` through the project's secret resolver (the shipped `security-secrets-management` client, a project-authored resolver, or an environment shim), completes Resend's sender-domain verification, and lands on a deployed application where:
50
50
 
51
- - The magic-link mint step calls the adapter and observes `{ ok: true, providerStatus: 202, providerMessageId: '<vendor-id>', error: null }` on the successful path; exactly one SMTP submission goes out per call.
52
- - An unverified-sender configuration surfaces immediately as `{ ok: false, error: 'RESEND_SENDER_UNVERIFIED: ...' }`; no recipient identity appears on any log line the adapter emits or on any error string it returns.
51
+ - The magic-link mint step calls the adapter and observes the success outcome owned on `TAC-401-email-smtp-resend-send-adapter.interfaces.send` on the successful path; exactly one SMTP submission goes out per call.
52
+ - An unverified-sender configuration surfaces immediately as the refusal outcome owned on `TAC-401-email-smtp-resend-send-adapter.interfaces.send`, with the `RESEND_SENDER_UNVERIFIED` code from the classification owned on responsibilities[3]; no recipient identity appears on any log line the adapter emits or on any error string it returns.
53
53
  - A rate-limit refusal converts to a bounded delay (jittered exponential backoff, default 2 retries, cap 8000ms per attempt) rather than a retry storm; the caller sees one adapter return.
54
54
  - The webhook route accepts only signature-passing requests; a mismatched signature returns HTTP 401 with an empty body and emits a `webhookVerificationFailed` audit event; a stale-timestamp request is refused with `webhookReplayStale`; a duplicate delivery id inside the tolerance window is acknowledged HTTP 200 without re-invoking the downstream handler and emits `webhookReplayDuplicate`.
55
55
  - A source-tree import-graph scan of the deployed application finds the SMTP client library imported from exactly one module (the adapter); a source-scan of the adapter finds no literal for the SMTP credential, the from-address, or the signing secret.
@@ -1,16 +1,101 @@
1
+ # Changelog
2
+
3
+ ## 1.1.10 - 2026-09-12
4
+
5
+ The AC-30109-1 counting-row `detail` now opens with the first eight words of the AC's `description` text ("The retry-and-fail probe's report, after the three failing") before naming the observation, so the row is textually attached to its anchor AC. The record was regenerated verbatim against the shipped in-memory fixture. Anatomy pin bumped to 1.1.10.
6
+
7
+ - fix: `blueprints/jobs-background/contributions/probes/retry-and-fail.mjs` AC-30109-1 row `detail` (both `pass` and `fail` verdict branches) opens with the first eight words of the AC's `description`, then names the observation.
8
+
9
+ ## 1.1.9 - 2026-09-12
10
+
11
+ AC-30109-1 is now observed locally (`dlqInvoked:true`); `STRICT_ID_KEYS` is tightened to engine-returned scalars only; the anatomy comment is aligned with the in-memory validation the predicate enforces. Anatomy pin bumped to 1.1.9.
12
+
13
+ - fix: `packages/rcf-lite/test/fixtures/infra-s3-and-queue/src/jobs-runtime.mjs` terminal-failure branch now routes the message to the driver's DLQ producer path (`msg.retry()` on an already-terminal attempt increments attempts past `maxRetries` so the driver pushes the entry to `state.dlq`). The earlier behaviour ack'd terminally failing messages, which silently discarded the failing job.
14
+ - fix: `blueprints/jobs-background/contributions/probes/retry-and-fail.mjs` adds a second row anchored to AC-30109-1 that asserts `dlqInvoked:true` after the three failing jobStarted events and the terminal jobFailed event. The row carries the scheduler-minted `jobId` as its scalar id witness alongside `attemptsSequence` as derived.
15
+ - fix: `packages/rcf-lite/test/blueprint/jobs-background-anatomy.test.js` STRICT_ID_KEYS removed the plural / probe-selected keys (`requestIds`, `vendorRequestIds`, `metadataRequestId`, `httpRequestId`, `observedUploadId`, `dlqTransportMessageIds`, `primaryTransportMessageId`, `jobIds`, `dlqPayloadJobIds`, `expectedPayloadJobId`) so only engine-returned scalar identifiers qualify as id-witnesses.
16
+ - prose: anatomy header comment corrected to describe the in-memory validation the anatomy performs (probes invoked directly; no `.rcf/reports` record read on this seam).
17
+
18
+
19
+ ## 1.1.8 - 2026-09-11
20
+
21
+ Engine-returned identifiers only, plus non-"true" gate-skip parseability. The jobs-background anatomy `STRICT_ID_KEYS` retains engine-returned scalars only, the anatomy enforces distinct `idWitness` / `derivedWitness` keys, and the non-"true" gate-skip reason on `retry-and-fail-real-account` is emitted in the `<VAR> (not "true")` shape the anatomy parses to the same bare env-var name as `<VAR> unset`. Pre-condition failure branches on `apply-time-override` and `apply-time-refusal` are `conformanceOnly` (they fire before any job or message id is minted). A negative unit test in the anatomy proves both skip shapes parse to the bare env-var name and rejects malformed shapes. Anatomy pin bumped to 1.1.8.
22
+
23
+ - fix: `blueprints/jobs-background/contributions/probes/retry-and-fail-real-account.mjs` line 104 now emits `skipRow('CI_HAS_CLOUDFLARE_ACCOUNT (not "true")')` when the gate variable is set to a non-"true" value, matching the shape the anatomy strips via `/ unset$| \(not "true"\)$/`.
24
+ - fix: `packages/rcf-lite/test/blueprint/jobs-background-anatomy.test.js` STRICT_ID_KEYS retains engine-returned scalars only (`requestId`, `eTag`, `versionId`, `uploadId`, `queueId`, `messageId`, `jobId`, `rowId`, `insertedId`, `backendPid`, `transactionId`, `migrationVersion` and their labelled siblings). `bucketName`, `scratchBucket`, `queueName`, `databaseName` and the checksum keys were removed. Same-file strict-AND now asserts idWitness and derivedWitness sit under DIFFERENT keys.
25
+ - fix: `apply-time-override` and `apply-time-refusal` pre-condition failure branches (rcf init / apply failing before the runtime probe path) are declaimed to `conformanceOnly` with a limitation naming the runtime AC and why no engine-minted id exists on this row.
26
+ - add: `packages/rcf-lite/test/blueprint/jobs-background-anatomy.test.js` carries a negative unit test that constructs the `<VAR> unset` and `<VAR> (not "true")` shapes and asserts both parse to the same bare env-var name; malformed shapes such as `<VAR> set to "1" (not "true")` are rejected.
27
+ - prose: run-notes reworded to state engine-returned-only identifiers where relevant.
28
+
29
+
30
+
31
+ ## 1.1.7 - 2026-09-11
32
+
33
+ The probe owns its skip, the anatomy invokes every probe unconditionally, and the anatomy-only `RCF_ANATOMY_RUN_PROBES` gate is retired. The jobs-background anatomy test removes the outer gate, invokes each probe directly, and validates whatever comes back: local probes (`apply-time-refusal`, `apply-time-override`, `fake-clock-cron`, `retry-and-fail`, `event-secrecy`) drive the in-memory queue driver and the rcf-lite CLI on scratch dirs and produce real evidence rows; the live probe (`retry-and-fail-real-account`) returns its own exact one-variable `accountBoundSkipped` row when `CF_API_BASE` or an account variable is unset. Anatomy pin bumped to 1.1.7.
34
+
35
+ - fix: `RCF_ANATOMY_RUN_PROBES` outer gate retired from the jobs anatomy test; the probe owns its skip.
36
+ - fix: fake-clock-cron rows carry a scalar `jobId` (from the jobStarted / jobScheduled event) so the strict AND-witness check sees a real engine-minted id alongside the derived counters.
37
+ - fix: retry-and-fail row carries a scalar `jobId` (the first observed jobStarted event); the distinct-jobId list moves to `distinctJobIdList` (a non-id key).
38
+ - fix: event-secrecy row carries a scalar `jobId` (from the first event on the run-log stream) alongside the whitelist and leaked-literal derived witnesses.
39
+ - fix: apply-time-refusal and apply-time-override rows are honestly de-claimed to `conformanceOnly` against their real ACs (AC-jobs-requiresQueue and AC-jobs-overrideRecorded): compose-time refusal and sidecar-notes properties are observed by CLI exit code and stderr/notes grep, not by a minted engine id.
40
+ - fix: anatomy identifier predicate is string-only and non-empty; booleans, numbers, arrays and objects never satisfy an engine-minted id key.
41
+ - fix: anatomy limitation-token regex broadened to `AC-[A-Za-z0-9-]+` so every AC token is checked for membership in the shipped user-story AC set.
42
+
43
+
44
+ ## 1.1.6 - 2026-09-11
45
+
46
+ Strict-anatomy rewrite of the 7d witness rules. The anatomy test now REQUIRES an AC-id-membership check on every limitation and every notObservableHere.ac against the shipped user-story set (numeric AC-30xxx-x and labelled AC-jobs-* both accepted), REQUIRES both an id-shape witness AND a derived-value witness on every non-declaimed row (strict AND, never OR), invokes every probe directly and validates each returned row in-memory, and requires accountBoundSkipped rows to name exactly one env var declared on the probe DECLARED_ENV list. Anatomy pin bumped to 1.1.6.
47
+
48
+ - fix: fake-clock-cron probe row 0 now carries `fireEventCount` and `firePresent` alongside `fires`/`cron`; row 1 carries `jobStartedTimestamp` and `jobStartedAttempts` alongside `jobStartedEvent`; row 2 carries `jobCompletedDurationMs` and `jobCompletedTimestamp` alongside `jobCompletedEvent`. The `extra.engineNote` now honestly acknowledges that the paired real-account probe does NOT exercise cron and therefore does NOT supply cron-trigger evidence; live wrangler-dev cron-trigger firing under workerCron scheduler mode remains a per-AC mechanism-reach gap.
49
+ - fix: retry-and-fail-real-account.mjs API base URL is now a required declared variable: `CF_API_BASE` is on `DECLARED_ENV` and the probe reads it directly with no literal endpoint host in source. When unset the probe records an exact one-variable skip on the row.
50
+ - fix: run-notes correction so the queue-listing polls-taken count matches the record (pollsTaken=1).
51
+ - register: neutral wording on the 1.0.0 and 1.1.5 entries (no capability change).
52
+
53
+ ## 1.1.5 - 2026-09-11
54
+
55
+ Positive-evidence conformance work on the shared infra-s3-and-queue fixture (authoring standard section 7d), plus one live-engine run on Cloudflare Queues for the real-account probe. The infra-s3-and-queue fixture README gains a Declared env vars table for the jobs-background pack (naming the actual env reads on `src/producer.mjs`: `RCF_QUEUE_NAME`, `RCF_DLQ_NAME`, `RCF_MAX_RETRIES`, `RCF_BATCH_SIZE`, `RCF_BATCH_TIMEOUT_MS`, `WRANGLER_DEV_PORT`, plus the `SIMULATE_HANDLER_THROW` and `SIMULATE_PII_IN_JOB_INPUT` switches, and the new probe's `CI_HAS_CLOUDFLARE_ACCOUNT`, `CF_ACCOUNT_ID`, `CF_API_TOKEN` real-account gates); an off-table read is refused at gate. The five local probes execute against the in-memory queue-driver seam and fake-clock scheduler as shipped, producing rcf-lite bin exit codes, stable-message-id tags, sidecar contents, jobId-and-attempts trajectories, and a run-log grep-clean over the PII fixture literals as positive evidence. Anatomy pin extended to include the Declared env vars section on the fixture README, to derive the declared names from actual `process.env` and `env.` reads on producer.mjs AND the real-account probe (so table drift on either surface is caught statically), and to pin `fake-clock-cron` as a local-conformance probe.
56
+
57
+ - fix: fixture Declared env vars table for the jobs-background pack replaces the legacy names `QUEUE_NAME`/`DLQ_NAME`/`QUEUE_MAX_RETRIES` (which the code does not read) with the actual `RCF_*` reads + `WRANGLER_DEV_PORT`; the anatomy test derives the expected env-var list from concrete `env.<NAME>` matches on both `packages/rcf-lite/test/fixtures/infra-s3-and-queue/src/producer.mjs` and the real-account probe source.
58
+ - fix: fake-clock-cron probe records the scheduled-to-started latency (jobStarted timestamp minus jobScheduled timestamp) but does NOT assert a tolerance: the row is conformance-only (`anchorAcId: null`, limitation names AC-jobs-scheduledRunsOnCron and states that `scheduledAt` is `new Date().toISOString()` at publish time so the delta is a same-clock intra-runtime measurement, not a wall-clock cron-boundary comparison). The row no longer claims the paired real-account run provides cron-trigger coverage (the real-account run only drives Cloudflare Queues).
59
+ - fix: probe results carry per-row `evidence` bags; `aggregate([])` returns `fail` with `no checks ran` instead of default-pass; the `runShim` also fails-with-no-checks-ran on a null/undefined probe return.
60
+ - add: `retry-and-fail-real-account.mjs` (live-engine coverage) drives a scratch Cloudflare Queue and DLQ through the vendor's REST + `http_pull` consumer contract. Every non-skip row is conformance-only (`anchorAcId: null`) with a limitation naming the nearest shipped AC id and the property it states that this probe does not positively observe: the attempts-counter row cites AC-jobs-retryOnHandlerFailure (the AC states applied in-memory queue redelivery and jobStarted-on-sink events; the probe records the vendor Cloudflare Queues attempts counter [0,1,2,3] instead), the DLQ landing row cites AC-30109-1 (the AC pins the in-memory driver DLQ-producer invocation; the probe records real Cloudflare Queues DLQ landing), and the queue provisioning + teardown rows cite AC-jobs-requiresQueue as the nearest shipped AC. The row scope is the vendor queue transport (not the in-process jobs runtime; that surface is proven by `retry-and-fail.mjs`). Post-run absence is asserted only when the Queues listing returns HTTP 200 and json.success=true (an unsuccessful listing never normalises to an empty list). DLQ ack failures land on the teardown record and fail the teardown row. Both queues are destroyed on teardown and teardown is a result row (teardown FAIL fails the verdict).
61
+ - fixture: `src/scheduler.mjs`'s `publishOne` records `scheduledAt` as `new Date().toISOString()` in the runtime's own time domain (matching the `Date.now()` domain the runtime stamps on `jobStarted`), and the fake clock still drives WHEN cron fires; `src/bucket-ops.mjs` added as a thin `@aws-sdk/client-s3` wrapper (see object-storage-s3 changelog); no new runtime dependencies land on rcf-lite or the fixture.
62
+ - fix: fixture Declared env vars section headers name only the pack; supporting prose no longer carries internal provenance references.
63
+
64
+ ## 1.1.4 - 2026-09-10
65
+
66
+ Register cleanup on shipped prose: neutral wording in README, `jobs-background-REQ-001.description`, `ADR-3103.consequences` and `TAC-3101.dependencies[2].description` with no capability change. README opening now names the applied-capability mechanism directly. REQ-001 states the exit-code and stable-message-id assertions in neutral form. ADR-3103 describes the sidecar-note construction in plain external terms without the internal repo-path reference. TAC-3101 reads "via the applied-capability mechanism". REQ-001, ADR-3103 and TAC-3101 patch-bumped. Anatomy pin updated to 1.1.4. Chain-consistency lint zero on pass 1 and pass 2. Closes criterion-f findings 3, 4, 5 and 7 for jobs-background; findings 2 and 6 were already closed on origin/main.
67
+
68
+ ## 1.1.3 - 2026-09-10
69
+
70
+ Dimension-d ownership sweep for REQ-002 continued: migrated every reference from the intermediary `TAC-3101.responsibilities[0]` to the true owner `TAC-3101.interfaces.jobModule.default`. Removed the five-field shape restatement from `TAC-3101.purpose`, `AC-30102-1` (description and then-clause), the README table row for REQ-002, the "What this gives you" bullet, and the guide's "Writing a job" intro; each surface now points at the owner. The guide's demonstrative code sample remains as usage-demonstration below a one-line owner pointer. Anatomy pin updated to 1.1.3. TAC-3101, REQ-002 and user-story-30102 patch-bumped. Chain-consistency lint zero on repeat invocation. Later residues cleared without a further bump: the user-story-30102 title and the guide's "What does NOT change" bullet now reference the owner instead of restating the five-field shape.
71
+
72
+ ## 1.1.2 - 2026-09-10
73
+
74
+ Dimension-d single-definition-ownership cleanup on REQ-002: REQ description now references the job-definition module shape owned on TAC-3101.interfaces.jobModule.default rather than restating the exported field-name shape. Chain-consistency lint zero on pass 1 and pass 2.
75
+
76
+ ## 1.1.1 (register-sweep patch, 2026-09-10)
77
+
78
+ - Register: neutral wording in shipped prose (no capability change).
79
+
80
+ ## 1.1.0 - 2026-09-09
81
+
82
+ Adds the elicits block (jobs-directory, scheduler-mode, max-attempts, retry-backoff, handler-timeout-seconds, operator-surface) that the REQs and guide were already describing in prose. Adds a runtime clause naming the backgroundJobs applied capability on REQ-002. Adds deliveredBy on REQ-001 (pointing at ADR-3103 for the refusalMessageId decision), REQ-002 and REQ-004. Adds disposition to every AC.
83
+
1
84
  # jobs-background changelog
2
85
 
3
86
  ## 1.0.0 - 2026-09-06
4
87
 
5
- Initial release. Background-jobs discipline over an applied `queue` capability, with a job-definition contract, a POSIX-cron plus one-shot-delayed scheduler, a retry contract that inherits the applied queue's max-attempts ceiling, and a metadata-only run-log event stream at four moments. Composes on the T-5 capability-consumer mechanism from the visual round; refuses apply on a bare project with exit 3 and the stable message id `jobs-background-no-queue` per Baz decision 5. Landed via the infra round 5 spec (ratified 2026-09-06) as track T-4, chained after T-3 `messaging-queue-cloudflare` v1.0.0.
88
+ Initial release. Background-jobs discipline over an applied `queue` capability, with a job-definition contract, a POSIX-cron plus one-shot-delayed scheduler, a retry contract that inherits the applied queue's max-attempts ceiling, and a metadata-only run-log event stream at four moments. Composes on the capability-consumer mechanism from the composition guide; on a bare project with no applied `queue` capability, apply refuses with exit 3 and the stable message id `jobs-background-no-queue`. Chains after `messaging-queue-cloudflare` v1.0.0 as the applied queue capability.
6
89
 
7
90
  - 22 contributions: 6 REQs on `requiresAppliedCapabilities: [queue]` / job-definition / scheduler / retry / run-log / operator-facing surface; 9 USs at 30101-30109 (one per REQ plus three cross-cutting cases: apply-time refusal, scheduled fire on cron, retry-then-DLQ); 3 TACs (3101 job-definition module, 3102 scheduler, 3103 run-log event sink); 4 ADRs (3101 `scope: global` on new topic `backgroundJobModel` retry-and-schedule as the shipped shape, 3102 scheduler mode elicited across `inProcess` / `workerCron` / `external` with reserved v1.1.0 `workflows` slot per section 5.7 of the spec, 3103 requires `capabilities: ["queue"]` with `allowSkipFlag: "allow-no-queue-yet"` and refusal message id `jobs-background-no-queue`, 3104 default handler timeout 60 seconds floor 1 second ceiling bounded by the applied queue's consumer wall-clock which for Cloudflare Queues is 15 minutes per the fetched limits doc).
8
- - Five Node-only probes under `contributions/probes/` proven against the T-3 in-memory queue-driver seam and a fake-clock scheduler seam (SDR-3-a on US-29107 accepts the in-memory realisation of the Cloudflare Queues binding shape as the shipped local seam): `apply-time-refusal`, `apply-time-override`, `fake-clock-cron`, `retry-and-fail`, `event-secrecy`. All five carry `accountBound: false`; the live `wrangler dev` cron-trigger path is documented as a per-AC mechanism-reach gap in the fixture README per round-3 checklist 6.g.
9
- - T-4 slice of the shared sample-app fixture at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/` adds a `jobs/` directory carrying two toy job-definition modules (`send-welcome-email.mjs` with `retryPolicy: { maxAttempts: 3, backoff: exponential }` and `timeoutMs: 60000`; `refresh-cache.mjs` with `retryPolicy: { maxAttempts: 5, backoff: constant }`, `timeoutMs: 10000`, `cron: '* * * * *'`), `src/jobs-runtime.mjs` realising the runtime, `src/scheduler.mjs` realising the `inProcess` scheduler with a fake-clock seam, and `src/job-run-log.mjs` realising the T-4-owned event sink (whitelist `event, jobId, jobName, attempts, duration, timestamp` plus optional `terminalErrorCode`). Two wired induced-failure switches (`SIMULATE_HANDLER_THROW`, `SIMULATE_PII_IN_JOB_INPUT`) drive the retry-and-fail and event-secrecy probe negative-run paths.
10
- - Declares `capabilities: ["backgroundJobs"]`, `suggestedCompanions: [{role: "logging"}, {role: "errorHandling"}]`, `providesRoles` absent, `requiresAppliedCapabilities: { capabilities: ["queue"], allowSkipFlag: "allow-no-queue-yet", refusalMessageId: "jobs-background-no-queue" }`. The T-3 `messaging-queue-cloudflare` v1.0.0 is the shipped provider of the `queue` capability.
11
- - Contributes ADR-3101 as `scope: global` on new topic `backgroundJobModel`. Future stateful-workflow siblings (Temporal-shape, Airflow-shape) will conflict here by design; the reserved round-6 Workflows adapter (per Baz section 5.7) lives INSIDE this blueprint as a v1.1.0 minor scheduler-mode value at ADR-3102, not as a sibling.
12
- - Every ADR contribution entry on `blueprint.json` carries a `standardsTraceClause` per section 8a.2 (mandatory per HQ mid-flight ruling after PR #154 gate).
91
+ - Five Node-only probes under `contributions/probes/` proven against the in-memory queue-driver seam and a fake-clock scheduler seam (user-story-29107 accepts the in-memory realisation of the Cloudflare Queues binding shape as the shipped local seam): `apply-time-refusal`, `apply-time-override`, `fake-clock-cron`, `retry-and-fail`, `event-secrecy`. All five carry `accountBound: false`; the live `wrangler dev` cron-trigger path is documented as a per-AC mechanism-reach gap in the fixture README per the AC-mechanism-reach checklist item 6.g.
92
+ - The jobs-background slice of the shared sample-app fixture at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/` adds a `jobs/` directory carrying two toy job-definition modules (`send-welcome-email.mjs` with `retryPolicy: { maxAttempts: 3, backoff: exponential }` and `timeoutMs: 60000`; `refresh-cache.mjs` with `retryPolicy: { maxAttempts: 5, backoff: constant }`, `timeoutMs: 10000`, `cron: '* * * * *'`), `src/jobs-runtime.mjs` realising the runtime, `src/scheduler.mjs` realising the `inProcess` scheduler with a fake-clock seam, and `src/job-run-log.mjs` realising the jobs-background-owned event sink (whitelist `event, jobId, jobName, attempts, duration, timestamp` plus optional `terminalErrorCode`). Two wired induced-failure switches (`SIMULATE_HANDLER_THROW`, `SIMULATE_PII_IN_JOB_INPUT`) drive the retry-and-fail and event-secrecy probe negative-run paths.
93
+ - Declares `capabilities: ["backgroundJobs"]`, `suggestedCompanions: [{role: "logging"}, {role: "errorHandling"}]`, `providesRoles` absent, `requiresAppliedCapabilities: { capabilities: ["queue"], allowSkipFlag: "allow-no-queue-yet", refusalMessageId: "jobs-background-no-queue" }`. The `messaging-queue-cloudflare` v1.0.0 is the shipped provider of the `queue` capability.
94
+ - Contributes ADR-3101 as `scope: global` on new topic `backgroundJobModel`. Future stateful-workflow siblings (Temporal-shape, Airflow-shape) will conflict here by design; the reserved round-6 Workflows adapter (per spec section 5.7) lives INSIDE this blueprint as a v1.1.0 minor scheduler-mode value at ADR-3102, not as a sibling.
95
+ - Every ADR contribution entry on `blueprint.json` carries a `standardsTraceClause` per section 8a.2 (mandatory).
13
96
  - Extends `packages/rcf-lite/docs/blueprint-authoring.md` section 6a capability-declaration table with one row for `backgroundJobs` naming the reserved stateful-workflow sibling posture per spec section 5.6.
14
97
  - Extends `packages/rcf-lite/src/cli/blueprint.js` OPTION_SPEC with `--allow-no-queue-yet` boolean flag piped into `allowNoAuthYet` alongside `--allow-no-auth-yet` and `--allow-no-secrets-yet`, and `packages/rcf-lite/src/blueprint/apply.js` `buildOverrideNote` family derivation to detect `queue` from the flag name so the sidecar notes read "no queue yet: applied under --allow-no-queue-yet" instead of "no auth yet".
15
98
  - Extends `packages/rcf-lite/test/blueprint/capabilities-apply.test.js` with four cases covering the queue-capability path end to end: bare-project refusal with tag and provider-name assertions, `--allow-no-queue-yet` override with queue-family sidecar-note assertion, happy path with `messaging-queue-cloudflare` applied producing `appliedCapabilities` including `queue`, and backward-compatible `--allow-no-auth-yet` also unblocks the override.
16
99
  - Reserved v1.1.0 minor: adds `scheduler: "workflows"` mode under ADR-3102 wrapping the same job-definition contract with Cloudflare Workflows `step.do` orchestration per section 5.7 of the spec and the fetched Workflows documentation.
100
+
101
+ Adds two option-binding ACs on scheduler-mode (AC-30103-3 workerCron, AC-30103-4 external) to close section 7c on the elicits catalogue. Adds four failure-path ACs walking the guide - retryPolicy.maxAttempts above the applied queue ceiling (AC-30102-3), and effective-delay per backoff shape with the 10-minute cap: exponential (AC-30104-3), constant (AC-30104-4), linear (AC-30104-5). Adds deliveredBy on REQ-003, REQ-005, REQ-006.
@@ -1,12 +1,12 @@
1
1
  # jobs-background v1.0.0
2
2
 
3
- Background-jobs discipline over an applied `queue` capability. Ships a job-definition contract, a POSIX-cron plus one-shot-delayed scheduler, a retry contract that inherits the applied queue's max-attempts ceiling, and a metadata-only run-log event stream at four moments. Composes on the T-5 capability-consumer mechanism from the visual round; refuses apply on a bare project with exit 3 and the stable message id `jobs-background-no-queue` per Baz decision 5 on the ratified round-5 spec.
3
+ Background-jobs discipline over an applied `queue` capability. Ships a job-definition contract, a POSIX-cron plus one-shot-delayed scheduler, a retry contract that inherits the applied queue's max-attempts ceiling, and a metadata-only run-log event stream at four moments. Composes on the applied-capability mechanism; refuses apply on a bare project with exit 3 and the stable message id `jobs-background-no-queue`.
4
4
 
5
5
  ## What this gives you
6
6
 
7
- - A job-definition module shape you export from `./jobs/*.mjs`: `{ name, handler, inputSchema, retryPolicy, timeoutMs }`.
7
+ - A job-definition module shape you export from `./jobs/*.mjs`, owned on TAC-3101-jobs-background-job-definition.interfaces.jobModule.default; the shape's fields are the ones the owner names.
8
8
  - A scheduler with POSIX cron and one-shot-delayed shapes, elicited across `inProcess` (a Node long-lived process), `workerCron` (Cloudflare Cron Triggers) and `external` (a Kubernetes CronJob, a systemd timer, GitHub Actions schedule). A `workflows` mode is reserved for the v1.1.0 minor per section 5.7 of the spec.
9
- - A retry contract that inherits the applied queue's max-attempts ceiling (Cloudflare Queues at 100 per the T-3 messaging-queue-cloudflare ADR-3003) and expresses the elicited backoff shape (`exponential`, `constant`, `linear`).
9
+ - A retry contract that inherits the applied queue's max-attempts ceiling (Cloudflare Queues at 100 per the messaging-queue-cloudflare ADR-3003) and expresses the elicited backoff shape (`exponential`, `constant`, `linear`).
10
10
  - A metadata-only run-log at four moments (`jobScheduled`, `jobStarted`, `jobCompleted`, `jobFailed`). Record whitelist: `{ jobId, jobName, attempts, duration, timestamp }` plus optional `terminalErrorCode`. No job input, no handler output, no user id, no email, no SSN, ever.
11
11
  - An operator-facing surface elicited across `cli`, `httpEndpoint`, or `none`. The blueprint ships the contract; the applying project builds the thin shim.
12
12
 
@@ -15,7 +15,7 @@ Background-jobs discipline over an applied `queue` capability. Ships a job-defin
15
15
  | REQ | Contract |
16
16
  |---|---|
17
17
  | `jobs-background-REQ-001` | Requires an applied `queue` capability; refuses apply on a bare project with exit 3 and the stable message id `jobs-background-no-queue`. |
18
- | `jobs-background-REQ-002` | Job-definition contract: name, handler, input schema (opaque per project), retry policy, timeout. |
18
+ | `jobs-background-REQ-002` | Job-definition contract: shape owned on `TAC-3101-jobs-background-job-definition.interfaces.jobModule.default`. |
19
19
  | `jobs-background-REQ-003` | Scheduler contract: POSIX cron string and one-shot delayed. |
20
20
  | `jobs-background-REQ-004` | Retry contract: handler throws retryable error re-delivers via the applied queue; max-attempts elicited within the applied queue's own ceiling. |
21
21
  | `jobs-background-REQ-005` | Job-run event log: `jobScheduled`, `jobStarted`, `jobCompleted`, `jobFailed`; metadata-only whitelist. |
@@ -35,7 +35,7 @@ Background-jobs discipline over an applied `queue` capability. Ships a job-defin
35
35
 
36
36
  Apply refuses on a bare project (no applied blueprint declares `capabilities: ["queue"]`) with exit 3 and the stable first-line tag `[jobs-background-no-queue]`. The refusal message explicitly names `messaging-queue-cloudflare` as the shipped provider and `--allow-no-queue-yet` as the override.
37
37
 
38
- The `--allow-no-queue-yet` override records a note on the sidecar `rcf/blueprints/jobs-background.applied.json` (`notes: "no queue yet: applied under --allow-no-queue-yet; surfaces gated on queue will refuse at runtime until a queue blueprint is applied."`). Note: the spec section 5.4 prose reference to `manifest.blueprints[jobs-background].source.notes` is superseded by the shipped T-5 mechanism which writes the note on the sidecar because the applied-blueprint-record schema in rcf-schemas 0.6.1 is closed and cannot carry a `notes` field. `rcf define validate` reads the sidecar to flag surfaces that never activated.
38
+ The `--allow-no-queue-yet` override records a note on the sidecar `rcf/blueprints/jobs-background.applied.json` (`notes: "no queue yet: applied under --allow-no-queue-yet; surfaces gated on queue will refuse at runtime until a queue blueprint is applied."`). Note: the spec section 5.4 prose reference to `manifest.blueprints[jobs-background].source.notes` is superseded by the shipped mechanism which writes the note on the sidecar because the applied-blueprint-record schema in rcf-schemas 0.6.1 is closed and cannot carry a `notes` field. `rcf define validate` reads the sidecar to flag surfaces that never activated.
39
39
 
40
40
  ## Scheduler mode ADR (ADR-3102)
41
41
 
@@ -70,7 +70,7 @@ Each probe module lives under `contributions/probes/` and exports the spec secti
70
70
 
71
71
  ## Running the probes
72
72
 
73
- The probes drive against the shared sample-app fixture at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/` (extended with `jobs/`, `src/jobs-runtime.mjs`, `src/scheduler.mjs`, `src/job-run-log.mjs`). No Docker, no `wrangler dev` process required; the T-3 in-memory queue-driver seam is the shipped local seam per SDR-3-a.
73
+ The probes drive against the shared sample-app fixture at `packages/rcf-lite/test/fixtures/infra-s3-and-queue/` (extended with `jobs/`, `src/jobs-runtime.mjs`, `src/scheduler.mjs`, `src/job-run-log.mjs`). No Docker, no `wrangler dev` process required; the in-memory queue-driver seam is the shipped local seam per the wrangler-dev-equivalent seam decision.
74
74
 
75
75
  Two-line boot for the two headline probes:
76
76
 
@@ -94,8 +94,8 @@ The remaining three shims (`run-apply-time-override.mjs`, `run-retry-and-fail.mj
94
94
 
95
95
  - AC-jobs-requiresQueue: PROVEN via `apply-time-refusal.mjs` against a bare scratch project on the shipped head (exit code and message id assertions run in-process). No live-only gap.
96
96
  - AC-jobs-overrideRecorded: PROVEN via `apply-time-override.mjs` on the shipped head (sidecar note grep asserts `no queue yet`, `--allow-no-queue-yet`, and family word `queue`). No live-only gap.
97
- - AC-jobs-scheduledRunsOnCron: PROVEN via `fake-clock-cron.mjs` on the shipped head against the in-memory queue-driver seam plus the injected fake-clock scheduler seam. LIVE `wrangler dev` cron-trigger firing under `workerCron` scheduler mode is the HQ gate reviewer's follow-up run per SDR-3-a; the shipped local seam proves the scheduler and runtime dispatch chain without a Cloudflare Queues account.
98
- - AC-jobs-retryOnHandlerFailure: PROVEN via `retry-and-fail.mjs` on the shipped head (three `jobStarted` records at attempts 1, 2, 3 followed by terminal `jobFailed`). The in-memory queue-driver's re-delivery loop matches Cloudflare Queues' retry semantics per T-3's opaque-adapter clause; a live-account run against Cloudflare Queues is the T-3 real-account concurrency smoke's territory, not T-4's.
97
+ - AC-jobs-scheduledRunsOnCron: PROVEN via `fake-clock-cron.mjs` on the shipped head against the in-memory queue-driver seam plus the injected fake-clock scheduler seam. LIVE `wrangler dev` cron-trigger firing under `workerCron` scheduler mode is the gate reviewer's follow-up run per the wrangler-dev-equivalent seam decision; the shipped local seam proves the scheduler and runtime dispatch chain without a Cloudflare Queues account.
98
+ - AC-jobs-retryOnHandlerFailure: PROVEN via `retry-and-fail.mjs` on the shipped head (three `jobStarted` records at attempts 1, 2, 3 followed by terminal `jobFailed`). The in-memory queue-driver's re-delivery loop matches Cloudflare Queues' retry semantics per the messaging-queue-cloudflare opaque-adapter clause; a live-account run against Cloudflare Queues is the messaging-queue-cloudflare real-account concurrency smoke's territory, not this blueprint's.
99
99
  - AC-jobs-eventSecrecy: PROVEN via `event-secrecy.mjs` on the shipped head (grep on the serialised run-log stream returns zero matches for every PII fixture literal). No live-only gap; the whitelist enforcement lives in code, not in a runtime environment.
100
100
  - `workerCron` refuses on an applied queue with no cron surface: DOCUMENTED at ADR-3102 in this blueprint's contribution set; not exercised at v1.0.0 because the shipped provider (`messaging-queue-cloudflare` v1.0.0) does not itself claim a cron surface (the cron surface is Workers-side per Cloudflare Cron Triggers, not Queues-side). A follow-up train fires the refusal live once a `queue`-capability provider with a cron surface ships.
101
101
  - Reserved v1.1.0 `workflows` scheduler mode: DOCUMENTED at ADR-3102; the `fake-clock-cron.mjs` probe grows a `workflows-scheduler` variant when the v1.1.0 minor lands per section 5.7 of the spec.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "slug": "jobs-background",
3
- "version": "1.0.0",
3
+ "version": "1.1.10",
4
4
  "category": "jobs",
5
5
  "capabilities": [
6
6
  "backgroundJobs"
@@ -135,7 +135,7 @@
135
135
  "path": "adrs/adr-3103-jobs-background-requires-applied-capabilities.json",
136
136
  "recommendedDefault": true,
137
137
  "elicited": false,
138
- "standardsTraceClause": "visual round spec section 5.5.2 (the T-5 capability-consumer mechanism)"
138
+ "standardsTraceClause": "visual round spec section 5.5.2 (the capability-consumer mechanism)"
139
139
  },
140
140
  {
141
141
  "id": "ADR-3104-jobs-background-timeout-floor",
@@ -145,5 +145,59 @@
145
145
  "elicited": true,
146
146
  "standardsTraceClause": "Cloudflare Queues consumer wall-clock ceiling per platform limits doc"
147
147
  }
148
- ]
148
+ ],
149
+ "elicits": [
150
+ {
151
+ "id": "jobs-directory",
152
+ "prompt": "Directory holding one job-definition module per job. Each module default-exports the shape owned on TAC-3101-jobs-background-job-definition.interfaces.jobModule.default and registerJobs walks the directory. Default apps/*/src/jobs under the applying project root.",
153
+ "kind": "string",
154
+ "default": "src/jobs"
155
+ },
156
+ {
157
+ "id": "scheduler-mode",
158
+ "prompt": "Scheduler mode per ADR-3102. inProcess drives the scheduler from a long-lived process (setInterval or a cron library). workerCron uses the Cloudflare Workers cron trigger. external uses an operator-provided cron surface calling the runtime through a triggerJob verb. workflows is reserved for v1.1.0.",
159
+ "kind": "enum",
160
+ "options": [
161
+ "inProcess",
162
+ "workerCron",
163
+ "external"
164
+ ],
165
+ "default": "workerCron"
166
+ },
167
+ {
168
+ "id": "max-attempts",
169
+ "prompt": "Max delivery attempts per job. Elicited within the applied queue capability's own ceiling; refused when higher than that ceiling. Default 3.",
170
+ "kind": "string",
171
+ "default": "3"
172
+ },
173
+ {
174
+ "id": "retry-backoff",
175
+ "prompt": "Retry backoff shape on the job-definition retryPolicy: constant delay between attempts, exponential doubling, or linear increase. Applied within the queue-owned redelivery mechanism.",
176
+ "kind": "enum",
177
+ "options": [
178
+ "constant",
179
+ "exponential",
180
+ "linear"
181
+ ],
182
+ "default": "exponential"
183
+ },
184
+ {
185
+ "id": "handler-timeout-seconds",
186
+ "prompt": "Handler wall-clock timeout per ADR-3104. Default 60 seconds; floor 1 second; ceiling bounded by the applied queue's consumer wall-clock. A handler exceeding the timeout raises a retryable timeout error routed through the queue redelivery mechanism.",
187
+ "kind": "string",
188
+ "default": "60"
189
+ },
190
+ {
191
+ "id": "operator-surface",
192
+ "prompt": "Operator-facing surface for triggering ad-hoc runs, inspecting the run log, and re-driving a failed job. cli ships a Node command; httpEndpoint ships a bearer-guarded route wired through the applied HTTP surface; none omits the operator surface (the applying project provides its own).",
193
+ "kind": "enum",
194
+ "options": [
195
+ "cli",
196
+ "httpEndpoint",
197
+ "none"
198
+ ],
199
+ "default": "cli"
200
+ }
201
+ ],
202
+ "updatedAt": "2026-09-12"
149
203
  }
@@ -17,7 +17,7 @@
17
17
  {
18
18
  "name": "Ship the reserved workflows mode at v1.0.0",
19
19
  "summary": "Include the Cloudflare Workflows step.do orchestration inline in the v1.0.0 shipped shape.",
20
- "reasonNotChosen": "The round-6 Workflows adapter is on Baz per section 5.7 of the spec; v1.0.0 keeps the mode ELICITED at three values and the v1.1.0 minor adds workflows as the fourth. No topic conflict, no facade re-shape."
20
+ "reasonNotChosen": "The round-6 Workflows adapter is on the project maintainer per section 5.7 of the spec; v1.0.0 keeps the mode ELICITED at three values and the v1.1.0 minor adds workflows as the fourth. No topic conflict, no facade re-shape."
21
21
  }
22
22
  ],
23
23
  "createdAt": "2026-09-06T20:30:00.000Z",