rcf-lite 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1111) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/blueprints/application-account-settings/CHANGELOG.md +35 -2
  3. package/blueprints/application-account-settings/README.md +10 -10
  4. package/blueprints/application-account-settings/blueprint.json +23 -3
  5. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
  6. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
  7. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
  8. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
  10. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
  11. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
  12. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
  13. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
  14. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
  15. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
  16. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
  17. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
  18. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
  19. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
  20. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
  21. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
  22. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
  23. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
  24. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
  25. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
  26. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
  27. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
  28. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
  29. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
  30. package/blueprints/application-account-settings/docs/topics.md +4 -4
  31. package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
  32. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
  33. package/blueprints/application-admin-console/CHANGELOG.md +42 -6
  34. package/blueprints/application-admin-console/README.md +4 -4
  35. package/blueprints/application-admin-console/blueprint.json +31 -1
  36. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
  37. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
  38. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
  39. package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
  40. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
  41. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
  42. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
  43. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
  44. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
  45. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
  46. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
  47. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
  48. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
  49. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
  50. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
  51. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
  52. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
  53. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
  54. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
  55. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
  56. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
  57. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
  58. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
  59. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
  60. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
  61. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
  62. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
  63. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
  64. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
  65. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
  66. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
  67. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
  68. package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
  69. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
  70. package/blueprints/application-api-rest/CHANGELOG.md +26 -0
  71. package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
  72. package/blueprints/application-api-rest/blueprint.json +1 -1
  73. package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
  74. package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +1 -1
  75. package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
  76. package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
  77. package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
  78. package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
  79. package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
  80. package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
  81. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
  82. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
  83. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
  84. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
  85. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
  86. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
  87. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
  88. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
  89. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
  90. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
  91. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
  92. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
  93. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
  94. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
  95. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
  96. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
  97. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
  98. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
  99. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
  100. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
  101. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
  102. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
  103. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
  104. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
  105. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
  106. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
  107. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
  108. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
  109. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
  110. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
  111. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
  112. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
  113. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
  114. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
  115. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
  116. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
  117. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
  118. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
  119. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
  120. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
  121. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
  122. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
  123. package/blueprints/application-charts/CHANGELOG.md +24 -3
  124. package/blueprints/application-charts/README.md +5 -5
  125. package/blueprints/application-charts/blueprint.json +112 -18
  126. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +1 -1
  127. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
  128. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
  129. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
  130. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
  131. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
  132. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
  133. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
  134. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
  135. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +50 -6
  136. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
  137. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
  138. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
  139. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
  140. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
  141. package/blueprints/application-charts/docs/topics.md +2 -2
  142. package/blueprints/application-charts/guide/application-charts.md +3 -3
  143. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
  144. package/blueprints/application-dashboard/CHANGELOG.md +24 -3
  145. package/blueprints/application-dashboard/README.md +8 -8
  146. package/blueprints/application-dashboard/blueprint.json +147 -21
  147. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
  148. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +1 -1
  149. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
  150. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
  151. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
  152. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +10 -3
  153. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
  154. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
  155. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
  156. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +1 -1
  157. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +1 -1
  158. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +54 -6
  159. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +54 -6
  160. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +58 -6
  161. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
  162. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +54 -6
  163. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
  164. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
  165. package/blueprints/application-dashboard/docs/topics.md +3 -3
  166. package/blueprints/application-dashboard/guide/application-dashboard.md +3 -3
  167. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
  168. package/blueprints/application-datatable/CHANGELOG.md +23 -2
  169. package/blueprints/application-datatable/README.md +3 -3
  170. package/blueprints/application-datatable/blueprint.json +167 -25
  171. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
  172. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
  173. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
  174. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
  175. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
  176. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
  177. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
  178. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
  179. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
  180. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +10 -3
  181. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
  182. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
  183. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  184. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
  185. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
  186. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
  187. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
  188. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
  189. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
  190. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
  191. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
  192. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
  193. package/blueprints/application-datatable/docs/topics.md +1 -1
  194. package/blueprints/application-datatable/guide/application-datatable.md +1 -1
  195. package/blueprints/application-empty-error-states/CHANGELOG.md +33 -3
  196. package/blueprints/application-empty-error-states/README.md +3 -3
  197. package/blueprints/application-empty-error-states/blueprint.json +35 -1
  198. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
  199. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
  200. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
  201. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
  202. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
  203. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
  204. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
  205. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
  206. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
  207. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
  208. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
  209. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
  210. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
  211. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
  212. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
  213. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
  214. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
  215. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
  216. package/blueprints/application-error-handling/CHANGELOG.md +17 -0
  217. package/blueprints/application-error-handling/blueprint.json +104 -19
  218. package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
  219. package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
  220. package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
  221. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
  222. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
  223. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
  224. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
  225. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
  226. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
  227. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
  228. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
  229. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
  230. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
  231. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
  232. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
  233. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
  234. package/blueprints/application-file-upload/CHANGELOG.md +36 -3
  235. package/blueprints/application-file-upload/README.md +1 -1
  236. package/blueprints/application-file-upload/blueprint.json +56 -1
  237. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
  238. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +4 -0
  239. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +7 -3
  240. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +6 -2
  241. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +6 -2
  242. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +4 -0
  243. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
  244. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
  245. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
  246. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
  247. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
  248. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
  249. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
  250. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
  251. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
  252. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
  253. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
  254. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
  255. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
  256. package/blueprints/application-forms-wizard/CHANGELOG.md +34 -3
  257. package/blueprints/application-forms-wizard/README.md +2 -2
  258. package/blueprints/application-forms-wizard/blueprint.json +57 -1
  259. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +4 -0
  260. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +6 -2
  261. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +6 -2
  262. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +6 -2
  263. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +4 -0
  264. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
  265. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
  266. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
  267. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
  268. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
  269. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
  270. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
  271. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
  272. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
  273. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
  274. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
  275. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
  276. package/blueprints/application-notifications-in-app/CHANGELOG.md +35 -3
  277. package/blueprints/application-notifications-in-app/README.md +5 -5
  278. package/blueprints/application-notifications-in-app/blueprint.json +150 -22
  279. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
  280. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
  281. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
  282. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
  283. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
  284. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
  285. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +14 -8
  286. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
  287. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +29 -5
  288. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +43 -5
  289. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +39 -5
  290. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
  291. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +50 -8
  292. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
  293. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
  294. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
  295. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +1 -1
  296. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
  297. package/blueprints/application-onboarding-tour/CHANGELOG.md +33 -2
  298. package/blueprints/application-onboarding-tour/README.md +2 -2
  299. package/blueprints/application-onboarding-tour/blueprint.json +22 -2
  300. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
  301. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
  302. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
  303. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
  304. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
  305. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
  306. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
  307. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
  308. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
  309. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
  310. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
  311. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
  312. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
  313. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
  314. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
  315. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
  316. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
  317. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
  318. package/blueprints/application-onboarding-tour/docs/topics.md +2 -2
  319. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
  320. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
  321. package/blueprints/application-spa/CHANGELOG.md +30 -0
  322. package/blueprints/application-spa/README.md +8 -8
  323. package/blueprints/application-spa/blueprint.json +1 -1
  324. package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
  325. package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +1 -1
  326. package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
  327. package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
  328. package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
  329. package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +1 -1
  330. package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
  331. package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
  332. package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
  333. package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
  334. package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
  335. package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
  336. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
  337. package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
  338. package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
  339. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
  340. package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
  341. package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
  342. package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
  343. package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
  344. package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
  345. package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
  346. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
  347. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
  348. package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
  349. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
  350. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
  351. package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
  352. package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
  353. package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
  354. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
  355. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
  356. package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
  357. package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
  358. package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
  359. package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
  360. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +1 -1
  361. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +1 -1
  362. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +3 -3
  363. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +2 -2
  364. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +2 -2
  365. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
  366. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
  367. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
  368. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
  369. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
  370. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
  371. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
  372. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
  373. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
  374. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
  375. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
  376. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
  377. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
  378. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
  379. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
  380. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
  381. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
  382. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
  383. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
  384. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
  385. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
  386. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
  387. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
  388. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
  389. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
  390. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
  391. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
  392. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
  393. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
  394. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
  395. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
  396. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
  397. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
  398. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
  399. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
  400. package/blueprints/application-spa/guide/application-spa.md +2 -2
  401. package/blueprints/delivery-ci-workflows/CHANGELOG.md +18 -0
  402. package/blueprints/delivery-ci-workflows/README.md +1 -1
  403. package/blueprints/delivery-ci-workflows/blueprint.json +62 -1
  404. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
  405. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
  406. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
  407. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +4 -0
  408. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
  409. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
  410. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
  411. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
  412. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
  413. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
  414. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
  415. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
  416. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
  417. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
  418. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
  419. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
  420. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
  421. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
  422. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
  423. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
  424. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
  425. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
  426. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
  427. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
  428. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
  429. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
  430. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
  431. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
  432. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
  433. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
  434. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
  435. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
  436. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
  437. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
  438. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
  439. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
  440. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
  441. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
  442. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
  443. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
  444. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
  445. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
  446. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
  447. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
  448. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
  449. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
  450. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
  451. package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +17 -2
  452. package/blueprints/deploy-cloudflare-workers/README.md +2 -2
  453. package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
  454. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
  455. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +2 -2
  456. package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
  457. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
  458. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
  459. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
  460. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
  461. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
  462. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
  463. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
  464. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
  465. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
  466. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
  467. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
  468. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
  469. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
  470. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
  471. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
  472. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
  473. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
  474. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
  475. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
  476. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
  477. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
  478. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
  479. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
  480. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
  481. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
  482. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
  483. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
  484. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
  485. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
  486. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
  487. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
  488. package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
  489. package/blueprints/deploy-hetzner-server/CHANGELOG.md +22 -6
  490. package/blueprints/deploy-hetzner-server/README.md +12 -12
  491. package/blueprints/deploy-hetzner-server/blueprint.json +2 -2
  492. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
  493. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
  494. package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +1 -1
  495. package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +6 -6
  496. package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +1 -1
  497. package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +1 -1
  498. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
  499. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
  500. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
  501. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
  502. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
  503. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
  504. package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
  505. package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +1 -1
  506. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
  507. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
  508. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
  509. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
  510. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
  511. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
  512. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
  513. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
  514. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
  515. package/blueprints/deploy-hetzner-server/docs/topics.md +2 -2
  516. package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
  517. package/blueprints/edge-cloudflare-access/CHANGELOG.md +35 -3
  518. package/blueprints/edge-cloudflare-access/README.md +2 -2
  519. package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
  520. package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
  521. package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
  522. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
  523. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
  524. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
  525. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
  526. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
  527. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
  528. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
  529. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
  530. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
  531. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
  532. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
  533. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
  534. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
  535. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
  536. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
  537. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
  538. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
  539. package/blueprints/edge-cloudflare-access/docs/topics.md +1 -1
  540. package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +35 -1
  541. package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
  542. package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
  543. package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
  544. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
  545. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
  546. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
  547. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
  548. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
  549. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
  550. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
  551. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
  552. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
  553. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
  554. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
  555. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
  556. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
  557. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
  558. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
  559. package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
  560. package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +42 -7
  561. package/blueprints/edge-cloudflare-tunnel/README.md +20 -21
  562. package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
  563. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
  564. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
  565. package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +3 -3
  566. package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
  567. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +8 -9
  568. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +2 -2
  569. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
  570. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
  571. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
  572. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
  573. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
  574. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
  575. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
  576. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
  577. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
  578. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
  579. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
  580. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
  581. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
  582. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
  583. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
  584. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
  585. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
  586. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
  587. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
  588. package/blueprints/edge-cloudflare-tunnel/docs/topics.md +1 -1
  589. package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
  590. package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +33 -1
  591. package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
  592. package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
  593. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
  594. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
  595. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
  596. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
  597. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
  598. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
  599. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
  600. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
  601. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
  602. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
  603. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
  604. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
  605. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
  606. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
  607. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
  608. package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
  609. package/blueprints/email-smtp-resend/CHANGELOG.md +24 -0
  610. package/blueprints/email-smtp-resend/README.md +2 -2
  611. package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
  612. package/blueprints/email-smtp-resend/blueprint.json +119 -17
  613. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
  614. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
  615. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
  616. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
  617. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
  618. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
  619. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
  620. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
  621. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
  622. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
  623. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
  624. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
  625. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
  626. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
  627. package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
  628. package/blueprints/jobs-background/CHANGELOG.md +30 -6
  629. package/blueprints/jobs-background/README.md +8 -8
  630. package/blueprints/jobs-background/blueprint.json +55 -2
  631. package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
  632. package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
  633. package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +1 -1
  634. package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +4 -4
  635. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
  636. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
  637. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
  638. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
  639. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
  640. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
  641. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
  642. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
  643. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
  644. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
  645. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
  646. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
  647. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
  648. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
  649. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
  650. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
  651. package/blueprints/jobs-background/docs/topics.md +2 -2
  652. package/blueprints/jobs-background/guide/jobs-background.md +6 -6
  653. package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +31 -15
  654. package/blueprints/messaging-queue-cloudflare/README.md +6 -6
  655. package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
  656. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
  657. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
  658. package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +4 -4
  659. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
  660. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
  661. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
  662. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
  663. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
  664. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
  665. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
  666. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
  667. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
  668. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
  669. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
  670. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
  671. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
  672. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
  673. package/blueprints/messaging-queue-cloudflare/docs/topics.md +2 -2
  674. package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +7 -5
  675. package/blueprints/object-storage-s3/CHANGELOG.md +23 -6
  676. package/blueprints/object-storage-s3/README.md +2 -2
  677. package/blueprints/object-storage-s3/blueprint.json +154 -23
  678. package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +1 -1
  679. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
  680. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
  681. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
  682. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
  683. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
  684. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
  685. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +5 -1
  686. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
  687. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
  688. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
  689. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
  690. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
  691. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
  692. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
  693. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
  694. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +20 -3
  695. package/blueprints/object-storage-s3/guide/object-storage-s3.md +2 -2
  696. package/blueprints/observability-essentials/CHANGELOG.md +21 -0
  697. package/blueprints/observability-essentials/README.md +1 -1
  698. package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
  699. package/blueprints/observability-essentials/blueprint.json +32 -1
  700. package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
  701. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
  702. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
  703. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
  704. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
  705. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
  706. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
  707. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
  708. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
  709. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
  710. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
  711. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
  712. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
  713. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
  714. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
  715. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
  716. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
  717. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
  718. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
  719. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
  720. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
  721. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
  722. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
  723. package/blueprints/observability-essentials/docs/topics.md +1 -1
  724. package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
  725. package/blueprints/observability-logging/CHANGELOG.md +19 -4
  726. package/blueprints/observability-logging/README.md +1 -1
  727. package/blueprints/observability-logging/blueprint.json +76 -28
  728. package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
  729. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
  730. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
  731. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
  732. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
  733. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
  734. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
  735. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
  736. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
  737. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
  738. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
  739. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
  740. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
  741. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
  742. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
  743. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
  744. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
  745. package/blueprints/observability-probe-endpoints/CHANGELOG.md +17 -0
  746. package/blueprints/observability-probe-endpoints/README.md +1 -1
  747. package/blueprints/observability-probe-endpoints/blueprint.json +40 -1
  748. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
  749. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
  750. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
  751. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
  752. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
  753. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
  754. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
  755. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
  756. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
  757. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
  758. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
  759. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
  760. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
  761. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
  762. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
  763. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
  764. package/blueprints/observability-probe-endpoints/docs/topics.md +1 -1
  765. package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
  766. package/blueprints/persistence-data-d1/CHANGELOG.md +19 -0
  767. package/blueprints/persistence-data-d1/README.md +1 -1
  768. package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
  769. package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
  770. package/blueprints/persistence-data-d1/blueprint.json +106 -22
  771. package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
  772. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
  773. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
  774. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
  775. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
  776. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
  777. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
  778. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
  779. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
  780. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
  781. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
  782. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
  783. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
  784. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
  785. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
  786. package/blueprints/persistence-data-postgres/CHANGELOG.md +18 -2
  787. package/blueprints/persistence-data-postgres/README.md +1 -1
  788. package/blueprints/persistence-data-postgres/blueprint.json +201 -23
  789. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
  790. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
  791. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
  792. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
  793. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +5 -1
  794. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
  795. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
  796. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
  797. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
  798. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
  799. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
  800. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
  801. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
  802. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
  803. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
  804. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
  805. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
  806. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
  807. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
  808. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
  809. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
  810. package/blueprints/persistence-data-sqlite/CHANGELOG.md +14 -0
  811. package/blueprints/persistence-data-sqlite/blueprint.json +146 -30
  812. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
  813. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
  814. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
  815. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
  816. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
  817. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
  818. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
  819. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
  820. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
  821. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
  822. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
  823. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
  824. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
  825. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
  826. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
  827. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
  828. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
  829. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
  830. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
  831. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
  832. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
  833. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
  834. package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
  835. package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
  836. package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
  837. package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
  838. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
  839. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
  840. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
  841. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
  842. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
  843. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
  844. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
  845. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
  846. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
  847. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
  848. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
  849. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
  850. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
  851. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
  852. package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +3 -3
  853. package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +43 -3
  854. package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
  855. package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
  856. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
  857. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
  858. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +2 -2
  859. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +41 -35
  860. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +1 -1
  861. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +1 -1
  862. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +1 -1
  863. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
  864. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
  865. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
  866. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
  867. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
  868. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
  869. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
  870. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
  871. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
  872. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
  873. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
  874. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
  875. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
  876. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
  877. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
  878. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
  879. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
  880. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
  881. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
  882. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
  883. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
  884. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
  885. package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +1 -1
  886. package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
  887. package/blueprints/platform-cloudflare-kv/CHANGELOG.md +52 -10
  888. package/blueprints/platform-cloudflare-kv/README.md +6 -8
  889. package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
  890. package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
  891. package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +1 -1
  892. package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +1 -1
  893. package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +53 -18
  894. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
  895. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
  896. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
  897. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
  898. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
  899. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
  900. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
  901. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
  902. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
  903. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
  904. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
  905. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
  906. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
  907. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
  908. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
  909. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
  910. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
  911. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
  912. package/blueprints/platform-cloudflare-kv/docs/topics.md +1 -1
  913. package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
  914. package/blueprints/platform-docker-compose-host/CHANGELOG.md +37 -3
  915. package/blueprints/platform-docker-compose-host/README.md +7 -7
  916. package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
  917. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
  918. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
  919. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
  920. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
  921. package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +1 -1
  922. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +2 -3
  923. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +1 -1
  924. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
  925. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
  926. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
  927. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
  928. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
  929. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
  930. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
  931. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
  932. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
  933. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
  934. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
  935. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
  936. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
  937. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
  938. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
  939. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
  940. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
  941. package/blueprints/platform-docker-compose-host/docs/topics.md +3 -3
  942. package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
  943. package/blueprints/security-auth-clerk/CHANGELOG.md +24 -4
  944. package/blueprints/security-auth-clerk/README.md +1 -1
  945. package/blueprints/security-auth-clerk/blueprint.json +21 -1
  946. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
  947. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
  948. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
  949. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
  950. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
  951. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
  952. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
  953. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
  954. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
  955. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
  956. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
  957. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
  958. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
  959. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
  960. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
  961. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
  962. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
  963. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
  964. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
  965. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
  966. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
  967. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
  968. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
  969. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
  970. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
  971. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
  972. package/blueprints/security-auth-keycloak/CHANGELOG.md +23 -4
  973. package/blueprints/security-auth-keycloak/README.md +1 -1
  974. package/blueprints/security-auth-keycloak/blueprint.json +101 -1
  975. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
  976. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
  977. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
  978. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
  979. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
  980. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
  981. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
  982. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
  983. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
  984. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
  985. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
  986. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
  987. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
  988. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
  989. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
  990. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
  991. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
  992. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
  993. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
  994. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
  995. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
  996. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
  997. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
  998. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
  999. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
  1000. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
  1001. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
  1002. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
  1003. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
  1004. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
  1005. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
  1006. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
  1007. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
  1008. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
  1009. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
  1010. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
  1011. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
  1012. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
  1013. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
  1014. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
  1015. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
  1016. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
  1017. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
  1018. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
  1019. package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
  1020. package/blueprints/security-auth-magic-link/CHANGELOG.md +19 -3
  1021. package/blueprints/security-auth-magic-link/README.md +1 -1
  1022. package/blueprints/security-auth-magic-link/blueprint.json +1 -1
  1023. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
  1024. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
  1025. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
  1026. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
  1027. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
  1028. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
  1029. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
  1030. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
  1031. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
  1032. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
  1033. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
  1034. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
  1035. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
  1036. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
  1037. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
  1038. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
  1039. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
  1040. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
  1041. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
  1042. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
  1043. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
  1044. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
  1045. package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
  1046. package/blueprints/security-auth-oauth2/CHANGELOG.md +21 -4
  1047. package/blueprints/security-auth-oauth2/README.md +1 -1
  1048. package/blueprints/security-auth-oauth2/blueprint.json +33 -2
  1049. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
  1050. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
  1051. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
  1052. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
  1053. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
  1054. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
  1055. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
  1056. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
  1057. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
  1058. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
  1059. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
  1060. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
  1061. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
  1062. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
  1063. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
  1064. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
  1065. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
  1066. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
  1067. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
  1068. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
  1069. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
  1070. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
  1071. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
  1072. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
  1073. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
  1074. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
  1075. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
  1076. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
  1077. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
  1078. package/blueprints/security-secrets-management/CHANGELOG.md +14 -2
  1079. package/blueprints/security-secrets-management/blueprint.json +168 -31
  1080. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
  1081. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
  1082. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
  1083. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
  1084. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
  1085. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
  1086. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
  1087. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
  1088. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
  1089. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
  1090. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
  1091. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
  1092. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
  1093. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
  1094. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
  1095. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
  1096. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
  1097. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
  1098. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
  1099. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
  1100. package/fixtures/canary-manifest.json +9 -9
  1101. package/package.json +1 -1
  1102. package/rcf/test-suites/ts-050.json +1 -1
  1103. package/rcf/test-suites/ts-052.json +1 -1
  1104. package/rcf/test-suites/ts-053.json +2 -2
  1105. package/rcf/test-suites/ts-054.json +2 -2
  1106. package/rcf/test-suites/ts-055.json +2 -2
  1107. package/rcf/test-suites/ts-056.json +4 -4
  1108. package/rcf/test-suites/ts-057.json +2 -2
  1109. package/rcf/user-stories/us-7701.json +3 -3
  1110. package/releases/releases.yaml +11 -1
  1111. package/src/cli/view.js +22 -11
@@ -0,0 +1,117 @@
1
+ {
2
+ "usId": "security-auth-keycloak-US-11116",
3
+ "prdId": "PRD-001",
4
+ "reqId": "security-auth-keycloak-REQ-015",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "Discovery and account-console interactions each emit one structured audit event on the fixed allow-list",
8
+ "asA": "operator running the runtime-verify suite against the discovery client and the account-console verification",
9
+ "iWant": "every named interaction on those two families to write one structured event carrying only the allow-list fields",
10
+ "soThat": "the audit stream stays free of token material and a reviewer can decide at a glance whether an event field is inside the blueprint's contract",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-11116-1",
14
+ "description": "A completed discovery fetch for realm `alpha` emits exactly one `keycloak.discovery` audit event carrying `family=keycloak.discovery`, `outcome=verified`, `realmSlug=alpha`, and `at`; no other field appears.",
15
+ "given": "a realm-config record for `alpha` whose issuer is reachable and whose discovery document responds 200",
16
+ "when": "the discovery client fetches the realm's OIDC discovery document at boot",
17
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.discovery` and `outcome=verified`; no token value, no client secret, no raw claim record, and no substring of any of the above appears in any field",
18
+ "testable": true,
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
23
+ "field": "responsibilities.discoveryAudit"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-11116-2",
28
+ "description": "A refused account-console verification against an unreachable `accountConsoleUrl` emits exactly one `keycloak.account_console` audit event carrying `outcome=refused` and `reasonClass=account_console_unreachable`.",
29
+ "given": "a realm-config record for `alpha` whose `accountConsoleUrl` returns 404 to an unauthenticated GET",
30
+ "when": "the discovery client verifies the account console URL at boot",
31
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.account_console`, `outcome=refused`, and `reasonClass=account_console_unreachable`; no token value, no client secret, no raw claim record, and no substring of any of the above appears in any field",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "ownerRef": {
36
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
37
+ "field": "responsibilities.discoveryAudit"
38
+ }
39
+ },
40
+ {
41
+ "id": "AC-11116-3",
42
+ "description": "A transient discovery failure followed by a successful retry emits exactly one refusal event and one verified event on the `keycloak.discovery` family, in order.",
43
+ "given": "a realm-config record for `alpha` whose discovery endpoint returns 503 on the first attempt and 200 on the second",
44
+ "when": "the discovery client retries per its documented retry posture and completes the fetch",
45
+ "then": "the audit sink records exactly two events in order: one `keycloak.discovery` event with `outcome=refused` and `reasonClass=upstream_unavailable`, then one `keycloak.discovery` event with `outcome=verified`; no additional event is written for the retry itself",
46
+ "testable": true,
47
+ "scope": "runtime",
48
+ "disposition": "fixed",
49
+ "ownerRef": {
50
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
51
+ "field": "responsibilities.discoveryAudit"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-11116-4",
56
+ "description": "A sink failure during the emission of a `keycloak.discovery` event does not mask the underlying discovery outcome; the mechanism records a `keycloak.audit_sink_failed` warning event and the discovery outcome is unchanged.",
57
+ "given": "a realm-config record for `alpha` whose discovery responds 200 and an audit sink whose write throws",
58
+ "when": "the discovery client emits the completion event",
59
+ "then": "the discovery outcome remains `verified` (boot proceeds); the mechanism records a `keycloak.audit_sink_failed` warning event carrying the realm slug and a reason-class string; no token value or raw claim record appears; the original refusal or verification result is not masked",
60
+ "testable": true,
61
+ "scope": "runtime",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
65
+ "field": "responsibilities.discoveryAudit"
66
+ }
67
+ },
68
+ {
69
+ "id": "AC-11116-5",
70
+ "description": "A repeated identical discovery fetch of the same reachable realm (a scheduled `discoveryRefreshSeconds` refresh, or a second explicit fetch) is idempotent: each fetch call emits exactly one `keycloak.discovery` audit event with `outcome=verified`; two consecutive fetches produce two events (count is one per fetch call, never a deduplicated event).",
71
+ "given": "a realm-config record for `alpha` whose issuer is reachable and whose discovery document responds 200 on every attempt, and a completed first fetch already on record",
72
+ "when": "the discovery client performs a second discovery fetch against the same realm",
73
+ "then": "the audit sink records exactly one additional event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.discovery` and `outcome=verified`; the total count of `keycloak.discovery` verified events across the two fetches is exactly two; no additional event is written and no earlier event is mutated",
74
+ "testable": true,
75
+ "scope": "runtime",
76
+ "disposition": "fixed",
77
+ "ownerRef": {
78
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
79
+ "field": "responsibilities.discoveryAudit"
80
+ }
81
+ },
82
+ {
83
+ "id": "AC-11116-6",
84
+ "description": "A boot-time discovery fetch against a realm-config record whose `realmSlug` is a non-empty string (the credential that binds the fetch to a realm principal) emits a `keycloak.discovery` event that records that principal in the `realmSlug` field; a fetch attempted against a realm-config record whose `realmSlug` is missing or the empty string is refused before any network call with exactly one `keycloak.discovery` event carrying `outcome=refused` and `reasonClass=missing_realm_credential`, and no realm principal string leaks into any other field.",
85
+ "given": "two realm-config records: record A for `alpha` whose `realmSlug` is `alpha` and whose discovery document responds 200; record B whose `realmSlug` is the empty string",
86
+ "when": "the discovery client attempts a discovery fetch against each record in turn",
87
+ "then": "the audit sink records exactly one `keycloak.discovery` event for record A with `outcome=verified` and `realmSlug=alpha` (the `realmSlug` field is the payload field that records the realm principal), and exactly one `keycloak.discovery` event for record B with `outcome=refused` and `reasonClass=missing_realm_credential`; no network call is issued for record B and no principal string appears in any other field",
88
+ "testable": true,
89
+ "scope": "runtime",
90
+ "disposition": "fixed",
91
+ "ownerRef": {
92
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
93
+ "field": "responsibilities.discoveryAudit"
94
+ }
95
+ },
96
+ {
97
+ "id": "AC-11116-7",
98
+ "description": "An account-console verification against a realm-config record whose `realmSlug` is present (a valid realm credential) but whose `accountConsoleUrl` origin differs from the discovered issuer origin (the record lacks the origin-scope the mechanism requires) is refused with exactly one `keycloak.account_console` event carrying `outcome=refused` and `reasonClass=account_console_malformed`; the event records the refusal reason and the realm principal, and the underlying account-console verification is not carried out.",
99
+ "given": "a realm-config record for `alpha` with `realmSlug=alpha` whose discovered issuer origin is `https://issuer.example` and whose `accountConsoleUrl` origin is `https://other.example`",
100
+ "when": "the discovery client verifies the account console URL at boot",
101
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.account_console`, `outcome=refused`, `reasonClass=account_console_malformed`, and `realmSlug=alpha`; the `credentialSelfService` capability is not bound to the realm",
102
+ "testable": true,
103
+ "scope": "runtime",
104
+ "disposition": "fixed",
105
+ "ownerRef": {
106
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
107
+ "field": "responsibilities.discoveryAudit"
108
+ }
109
+ }
110
+ ],
111
+ "tacIds": [
112
+ "TAC-1201-security-auth-keycloak-discovery-client"
113
+ ],
114
+ "createdAt": "2026-09-10T00:00:00Z",
115
+ "updatedAt": "2026-09-10T00:00:00Z",
116
+ "description": "Applying agent sets: no project-parameterised values on this story; every AC is `fixed`. AC-set sufficiency (7a inline note per blueprint-authoring.md §7a): the credential scenario class is bound by AC-6 (a realm-config record with a non-empty `realmSlug` is the credential the discovery fetch is bound to, and the `realmSlug` payload field records the realm principal; a missing credential is refused with `reasonClass=missing_realm_credential`). The permission scenario class is bound by AC-7 (a realm-config record whose `accountConsoleUrl` origin does not match the discovered issuer origin lacks the origin scope the mechanism requires and is refused with `reasonClass=account_console_malformed`)."
117
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "usId": "security-auth-keycloak-US-11117",
3
+ "prdId": "PRD-001",
4
+ "reqId": "security-auth-keycloak-REQ-016",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "JWT verify calls each emit one structured audit event on the fixed allow-list",
8
+ "asA": "operator running the runtime-verify suite against the JWT verifier",
9
+ "iWant": "every verify call to write one structured `keycloak.jwt` event carrying only the allow-list fields",
10
+ "soThat": "the audit stream stays free of token material and every refusal has a stable reasonClass a reviewer can gate on",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-11117-1",
14
+ "description": "A verified JWT emits exactly one `keycloak.jwt` audit event carrying `outcome=verified` and the caller's realm slug; no token value appears.",
15
+ "given": "a JWT signed by realm `alpha`'s current signing key whose `iss`, `aud`, and `exp` claims match the configured verification record",
16
+ "when": "the JWT verifier verifies the token",
17
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.jwt` and `outcome=verified`; no access token, id token, refresh token, introspection response body, client secret, raw claim record, or substring of any of the above appears in any field",
18
+ "testable": true,
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
23
+ "field": "responsibilities.jwtAudit"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-11117-2",
28
+ "description": "A JWT whose `exp` timestamp is in the past emits exactly one `keycloak.jwt` audit event carrying `outcome=refused` and `reasonClass=expired`; the reasonClass is the single value bound to that input, not one of a set.",
29
+ "given": "a JWT signed by realm `alpha`'s current signing key whose `iss` and `aud` claims match the configured verification record and whose `exp` timestamp is in the past",
30
+ "when": "the JWT verifier verifies the token",
31
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.jwt`, `outcome=refused`, and `reasonClass=expired`; the event carries `realmSlug=alpha`; no token or claim material appears in any field",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "ownerRef": {
36
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
37
+ "field": "responsibilities.jwtAudit"
38
+ }
39
+ },
40
+ {
41
+ "id": "AC-11117-3",
42
+ "description": "A JWKS-refresh retry on `signature_invalid` before re-verifying emits exactly one refused event and, on a successful second verify, one verified event; no third event is written for the retry itself.",
43
+ "given": "a JWT whose signature does not verify against the cached JWKS but does verify against the freshly-refreshed JWKS (a key-rollover window)",
44
+ "when": "the JWT verifier refuses on cache, refreshes the JWKS per its documented posture, and re-verifies",
45
+ "then": "the audit sink records exactly two events in order: one `keycloak.jwt` event with `outcome=refused` and `reasonClass=signature_invalid`, then one `keycloak.jwt` event with `outcome=verified`; the retry itself is not recorded as a distinct event",
46
+ "testable": true,
47
+ "scope": "runtime",
48
+ "disposition": "fixed",
49
+ "ownerRef": {
50
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
51
+ "field": "responsibilities.jwtAudit"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-11117-4",
56
+ "description": "A sink failure during the emission of a `keycloak.jwt` event does not mask the underlying verify outcome; the mechanism records a `keycloak.audit_sink_failed` warning event and the verify outcome is unchanged.",
57
+ "given": "a valid JWT against realm `alpha` and an audit sink whose write throws",
58
+ "when": "the JWT verifier emits the completion event",
59
+ "then": "the verifier's return value still reports the underlying refusal or verification result unchanged; the mechanism records a `keycloak.audit_sink_failed` warning event carrying the realm slug and a reason-class string; no token value or raw claim record appears in any field",
60
+ "testable": true,
61
+ "scope": "runtime",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
65
+ "field": "responsibilities.jwtAudit"
66
+ }
67
+ },
68
+ {
69
+ "id": "AC-11117-5",
70
+ "description": "Verifying the same well-formed JWT twice within its `exp` window is idempotent: each verify call emits exactly one `keycloak.jwt` audit event with `outcome=verified`; two consecutive verify calls produce two events (count is one per verify call, never a deduplicated event).",
71
+ "given": "a JWT signed by realm `alpha`'s current signing key whose `iss`, `aud`, and `exp` claims match the configured verification record, verified once already",
72
+ "when": "the JWT verifier verifies the same token a second time",
73
+ "then": "the audit sink records exactly one additional event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.jwt` and `outcome=verified`; the total count of `keycloak.jwt` verified events across the two verifies is exactly two; the verify's return value is unchanged between calls",
74
+ "testable": true,
75
+ "scope": "runtime",
76
+ "disposition": "fixed",
77
+ "ownerRef": {
78
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
79
+ "field": "responsibilities.jwtAudit"
80
+ }
81
+ },
82
+ {
83
+ "id": "AC-11117-6",
84
+ "description": "A JWT with a valid signature and a matching `iss` claim, but whose `aud` claim does not match the audience the configured verification record requires (the credential is valid for a different audience scope than this mechanism permits), is refused: the audit sink records exactly one `keycloak.jwt` event with `outcome=refused` and `reasonClass=audience_mismatch`; the audience mismatch is the permission-scope refusal that records the refusal reason.",
85
+ "given": "a JWT signed by realm `alpha`'s current signing key whose `iss` claim is `https://issuer.example/realms/alpha` (matching the verification record) and whose `aud` claim is `other-service` (the verification record requires `aud=alpha-api`), and whose `exp` timestamp is in the future",
86
+ "when": "the JWT verifier verifies the token",
87
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.jwt`, `outcome=refused`, and `reasonClass=audience_mismatch`; the event carries `realmSlug=alpha`; no token or claim material appears in any field",
88
+ "testable": true,
89
+ "scope": "runtime",
90
+ "disposition": "fixed",
91
+ "ownerRef": {
92
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
93
+ "field": "responsibilities.jwtAudit"
94
+ }
95
+ },
96
+ {
97
+ "id": "AC-11117-7",
98
+ "description": "A JWT with a valid signature whose `iss` claim does not match the issuer the configured verification record requires emits exactly one `keycloak.jwt` audit event with `outcome=refused` and `reasonClass=issuer_mismatch`; the reasonClass is the single value bound to that input, not one of a set.",
99
+ "given": "a JWT signed by realm `alpha`'s current signing key whose `iss` claim is `https://other.example/realms/other` (the verification record expects `https://issuer.example/realms/alpha`), whose `aud` claim matches the record, and whose `exp` timestamp is in the future",
100
+ "when": "the JWT verifier verifies the token",
101
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.jwt`, `outcome=refused`, and `reasonClass=issuer_mismatch`; the event carries `realmSlug=alpha`; no token or claim material appears in any field",
102
+ "testable": true,
103
+ "scope": "runtime",
104
+ "disposition": "fixed",
105
+ "ownerRef": {
106
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
107
+ "field": "responsibilities.jwtAudit"
108
+ }
109
+ }
110
+ ],
111
+ "tacIds": [
112
+ "TAC-1202-security-auth-keycloak-jwt-verifier"
113
+ ],
114
+ "createdAt": "2026-09-10T00:00:00Z",
115
+ "updatedAt": "2026-09-10T00:00:00Z",
116
+ "description": "Applying agent sets: no project-parameterised values on this story; every AC is `fixed`. AC-set sufficiency (7a inline note per blueprint-authoring.md §7a): the credential scenario class is bound by AC-1 (a JWT signed by the realm's current key with matching `iss`, `aud` and unexpired `exp` is the credential and the event records the realm-scoped identity via the `realmSlug` payload field). The permission scenario class is bound by AC-6 (a JWT with a valid signature and matching `iss` but a mismatched `aud` is a valid credential lacking the required audience scope and is refused with `reasonClass=audience_mismatch`). The REQ-016 named refusal reasons are each bound to a concrete AC: `expired` on AC-2, `signature_invalid` on AC-3, `audience_mismatch` on AC-6, `issuer_mismatch` on AC-7."
117
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "usId": "security-auth-keycloak-US-11118",
3
+ "prdId": "PRD-001",
4
+ "reqId": "security-auth-keycloak-REQ-017",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "Token introspection calls each emit one structured audit event on the fixed allow-list",
8
+ "asA": "operator running the runtime-verify suite against the introspection client",
9
+ "iWant": "every introspect call to write one structured `keycloak.introspection` event carrying only the allow-list fields",
10
+ "soThat": "the audit stream stays free of the introspection response body and every refusal carries a stable reasonClass",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-11118-1",
14
+ "description": "An introspect call whose response is `active: true` emits exactly one `keycloak.introspection` event carrying `outcome=verified` and the caller's realm slug.",
15
+ "given": "a token whose introspection endpoint response is a `200 { active: true, ... }` against realm `alpha`",
16
+ "when": "the introspection client introspects the token",
17
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.introspection` and `outcome=verified`; the introspection response body, the token value, the client secret, and any substring of the above are not present in any field",
18
+ "testable": true,
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
23
+ "field": "responsibilities.introspectionAudit"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-11118-2",
28
+ "description": "An introspect call whose response is a 2xx `active: false` emits exactly one `keycloak.introspection` audit event with `outcome=refused` and `reasonClass=inactive`.",
29
+ "given": "a token whose introspection endpoint response is a 2xx `{ active: false }` against realm `alpha`",
30
+ "when": "the introspection client introspects the token",
31
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.introspection`, `outcome=refused`, and `reasonClass=inactive`; the introspection response body is not present in any field",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "ownerRef": {
36
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
37
+ "field": "responsibilities.introspectionAudit"
38
+ }
39
+ },
40
+ {
41
+ "id": "AC-11118-3",
42
+ "description": "A transient introspection failure followed by a successful retry emits exactly one refused event with `reasonClass=upstream_error` and one verified event on the `keycloak.introspection` family, in order; the retry itself is not a distinct event.",
43
+ "given": "a token whose introspection endpoint returns 503 on the first attempt and 200 with `active: true` on the second",
44
+ "when": "the introspection client retries per its documented posture and completes the call",
45
+ "then": "the audit sink records exactly two events in order: one `keycloak.introspection` event with `outcome=refused` and `reasonClass=upstream_error`, then one `keycloak.introspection` event with `outcome=verified`; no additional event is written for the retry itself",
46
+ "testable": true,
47
+ "scope": "runtime",
48
+ "disposition": "fixed",
49
+ "ownerRef": {
50
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
51
+ "field": "responsibilities.introspectionAudit"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-11118-4",
56
+ "description": "A sink failure during the emission of a `keycloak.introspection` event does not mask the underlying introspection outcome; the mechanism records a `keycloak.audit_sink_failed` warning event and the introspection outcome is unchanged.",
57
+ "given": "an introspect call whose response is `active: true` and an audit sink whose write throws",
58
+ "when": "the introspection client emits the completion event",
59
+ "then": "the client's return value still reports the underlying introspection result unchanged; the mechanism records a `keycloak.audit_sink_failed` warning event carrying the realm slug and a reason-class string; the introspection response body does not appear",
60
+ "testable": true,
61
+ "scope": "runtime",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
65
+ "field": "responsibilities.introspectionAudit"
66
+ }
67
+ },
68
+ {
69
+ "id": "AC-11118-5",
70
+ "description": "An introspect call whose response is a non-2xx status emits exactly one `keycloak.introspection` audit event with `outcome=refused` and `reasonClass=upstream_error`.",
71
+ "given": "a token whose introspection endpoint responds with a 5xx status against realm `alpha`",
72
+ "when": "the introspection client introspects the token",
73
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.introspection`, `outcome=refused`, and `reasonClass=upstream_error`; the introspection response body is not present in any field",
74
+ "testable": true,
75
+ "scope": "runtime",
76
+ "disposition": "fixed",
77
+ "ownerRef": {
78
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
79
+ "field": "responsibilities.introspectionAudit"
80
+ }
81
+ },
82
+ {
83
+ "id": "AC-11118-6",
84
+ "description": "Introspecting the same active token twice is idempotent: each introspect call emits exactly one `keycloak.introspection` audit event with `outcome=verified`; two consecutive introspect calls produce two events (count is one per introspect call, whether the second call is served from the introspection cache or not).",
85
+ "given": "a token whose introspection endpoint response is a 2xx `{ active: true }` on both attempts, and one completed introspect call already on record",
86
+ "when": "the introspection client introspects the same token a second time",
87
+ "then": "the audit sink records exactly one additional event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.introspection` and `outcome=verified`; the total count of `keycloak.introspection` verified events across the two calls is exactly two; the caller's return value is unchanged between the two calls",
88
+ "testable": true,
89
+ "scope": "runtime",
90
+ "disposition": "fixed",
91
+ "ownerRef": {
92
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
93
+ "field": "responsibilities.introspectionAudit"
94
+ }
95
+ },
96
+ {
97
+ "id": "AC-11118-7",
98
+ "description": "An introspect call whose introspection endpoint responds with `401 Unauthorized` to the mechanism's client credentials (the client is authenticated but not authorised to call introspection on this realm; the credential lacks the required permission scope) emits exactly one `keycloak.introspection` event with `outcome=refused` and `reasonClass=client_forbidden`; the introspection response body does not appear.",
99
+ "given": "a realm-config record for `alpha` whose introspection endpoint responds `401 Unauthorized` to the configured `clientId`",
100
+ "when": "the introspection client introspects any token against realm `alpha`",
101
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.introspection`, `outcome=refused`, and `reasonClass=client_forbidden`; the introspection response body is not present in any field; no client secret appears",
102
+ "testable": true,
103
+ "scope": "runtime",
104
+ "disposition": "fixed",
105
+ "ownerRef": {
106
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
107
+ "field": "responsibilities.introspectionAudit"
108
+ }
109
+ }
110
+ ],
111
+ "tacIds": [
112
+ "TAC-1203-security-auth-keycloak-introspection-client"
113
+ ],
114
+ "createdAt": "2026-09-10T00:00:00Z",
115
+ "updatedAt": "2026-09-10T00:00:00Z",
116
+ "description": "Applying agent sets: no project-parameterised values on this story; every AC is `fixed`. AC-set sufficiency (7a inline note per blueprint-authoring.md §7a): the credential scenario class is bound by AC-1 (a 2xx `{ active: true }` introspection response is the credential and the event records the realm-scoped identity via the `realmSlug` payload field). The permission scenario class is bound by AC-7 (an introspect call whose upstream returns `401 Unauthorized` names a valid client credential lacking the required permission scope on this realm and is refused with `reasonClass=client_forbidden`)."
117
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "usId": "security-auth-keycloak-US-11119",
3
+ "prdId": "PRD-001",
4
+ "reqId": "security-auth-keycloak-REQ-018",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "Provider-router routing decisions and sessionInventory operations each emit one structured audit event on the fixed allow-list",
8
+ "asA": "operator running the runtime-verify suite against the provider router and the sessionInventory surface",
9
+ "iWant": "every routing decision and every sessionInventory operation to write one structured event carrying only the allow-list fields",
10
+ "soThat": "the audit stream stays free of session material and every refusal has a stable reasonClass",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-11119-1",
14
+ "description": "A routing decision that returns a realm record emits exactly one `keycloak.route` event carrying `outcome=verified` and the routed realmSlug; a sessionInventory `list()` emits exactly one `keycloak.session_inventory` event carrying `outcome=verified` and the caller's realmSlug.",
15
+ "given": "an authenticated caller in realm `alpha` and a project-authored routing function that returns the `alpha` realm record",
16
+ "when": "the provider router routes the request and the caller then calls `sessionInventory.list()`",
17
+ "then": "the audit sink records two events in order: one `keycloak.route` event with `outcome=verified` and `realmSlug=alpha`, then one `keycloak.session_inventory` event with `outcome=verified` and `realmSlug=alpha`; each event's own-property keys are drawn from `{family, outcome, reasonClass, realmSlug, sessionIdPrefix, at}` and no request-content field appears",
18
+ "testable": true,
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
23
+ "field": "responsibilities.routeAndSessionAudit"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-11119-2",
28
+ "description": "A sessionInventory operation from an unauthenticated caller emits exactly one `keycloak.session_inventory` event with `outcome=refused` and `reasonClass=unauthenticated`; the operation itself refuses without side effect.",
29
+ "given": "a request with no verified session",
30
+ "when": "any sessionInventory operation is invoked",
31
+ "then": "the audit sink records exactly one event with `family=keycloak.session_inventory`, `outcome=refused`, and `reasonClass=unauthenticated`; no session record is created, updated, or removed; no cookie or full session id appears in any field",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "ownerRef": {
36
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
37
+ "field": "responsibilities.routeAndSessionAudit"
38
+ }
39
+ },
40
+ {
41
+ "id": "AC-11119-3",
42
+ "description": "A sessionInventory `revoke(sessionId)` that first refuses on `unknown_session` and then succeeds on a subsequent call for a valid session id emits exactly one refused event and one verified event on the `keycloak.session_inventory` family, in order; the retry itself is not a distinct event.",
43
+ "given": "an authenticated caller who first calls `sessionInventory.revoke(unknownSessionId)` and then calls `sessionInventory.revoke(validSessionId)`",
44
+ "when": "the two calls run in sequence",
45
+ "then": "the audit sink records exactly two events in order: one `keycloak.session_inventory` event with `outcome=refused` and `reasonClass=unknown_session`, then one `keycloak.session_inventory` event with `outcome=verified` and the caller's realmSlug; each event carries a `sessionIdPrefix` no longer than eight characters",
46
+ "testable": true,
47
+ "scope": "runtime",
48
+ "disposition": "fixed",
49
+ "ownerRef": {
50
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
51
+ "field": "responsibilities.routeAndSessionAudit"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-11119-4",
56
+ "description": "A sink failure during the emission of a `keycloak.route` event does not mask the underlying routing decision; the mechanism records a `keycloak.audit_sink_failed` warning event and the routing outcome is unchanged.",
57
+ "given": "a routing decision that returns the `alpha` realm record and an audit sink whose write throws",
58
+ "when": "the provider router emits the routing event",
59
+ "then": "the routing decision returned to the caller is unchanged (the routed realm record or the sentinel `notThisIssuer`); the mechanism records a `keycloak.audit_sink_failed` warning event carrying the realm slug and a reason-class string; no request-content field appears",
60
+ "testable": true,
61
+ "scope": "runtime",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
65
+ "field": "responsibilities.routeAndSessionAudit"
66
+ }
67
+ },
68
+ {
69
+ "id": "AC-11119-5",
70
+ "description": "A `sessionInventory.revoke(sessionId)` call for a valid session id from an authenticated caller in realm `alpha` emits exactly one `keycloak.session_inventory` audit event carrying `outcome=verified`, the caller's realmSlug, and a `sessionIdPrefix` of the revoked session; count is exactly one event per revoke-one invocation.",
71
+ "given": "an authenticated caller in realm `alpha` and a valid non-current sessionId belonging to that caller",
72
+ "when": "the caller invokes `sessionInventory.revoke(validSessionId)`",
73
+ "then": "the audit sink records exactly one event whose own-property keys are drawn from `{family, outcome, realmSlug, sessionIdPrefix, at}` with `family=keycloak.session_inventory`, `outcome=verified`, and `realmSlug=alpha`; `sessionIdPrefix` is a substring of length no greater than eight characters; no cookie value and no full session id appears in any field; the target session is invalidated on the provider",
74
+ "testable": true,
75
+ "scope": "runtime",
76
+ "disposition": "fixed",
77
+ "ownerRef": {
78
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
79
+ "field": "responsibilities.routeAndSessionAudit"
80
+ }
81
+ },
82
+ {
83
+ "id": "AC-11119-6",
84
+ "description": "A `sessionInventory.revokeAllExceptCurrent()` call from an authenticated caller emits exactly one `keycloak.session_inventory` audit event carrying `outcome=verified`, the caller's realmSlug, and a `sessionIdPrefix` for the retained current session; count is exactly one event per revoke-all-except-current invocation, regardless of how many other sessions were invalidated.",
85
+ "given": "an authenticated caller in realm `alpha` with three active sessions (one current, two non-current)",
86
+ "when": "the caller invokes `sessionInventory.revokeAllExceptCurrent()`",
87
+ "then": "the audit sink records exactly one event whose own-property keys are drawn from `{family, outcome, realmSlug, sessionIdPrefix, at}` with `family=keycloak.session_inventory`, `outcome=verified`, and `realmSlug=alpha`; `sessionIdPrefix` names the retained current session and is a substring of length no greater than eight characters; no cookie value and no full session id appears in any field; the two non-current sessions are invalidated on the provider and the current session remains valid",
88
+ "testable": true,
89
+ "scope": "runtime",
90
+ "disposition": "fixed",
91
+ "ownerRef": {
92
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
93
+ "field": "responsibilities.routeAndSessionAudit"
94
+ }
95
+ },
96
+ {
97
+ "id": "AC-11119-7",
98
+ "description": "A repeated `sessionInventory.revoke(sessionId)` for the same session id is idempotent: the first call emits one verified event and invalidates the session, the second call emits one refused event with `reasonClass=unknown_session` (the session has already been invalidated) with no additional side effect; count is exactly one event per revoke call across both invocations.",
99
+ "given": "an authenticated caller in realm `alpha` who has just successfully revoked sessionId `S1` (AC-11119-5 result on record)",
100
+ "when": "the caller invokes `sessionInventory.revoke(S1)` a second time",
101
+ "then": "the audit sink records exactly one additional event whose own-property keys are drawn from `{family, outcome, reasonClass, realmSlug, sessionIdPrefix, at}` with `family=keycloak.session_inventory`, `outcome=refused`, and `reasonClass=unknown_session`; the total count of `keycloak.session_inventory` events across the two revoke calls is exactly two (one verified, one refused); the session state on the provider is unchanged by the second call",
102
+ "testable": true,
103
+ "scope": "runtime",
104
+ "disposition": "fixed",
105
+ "ownerRef": {
106
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
107
+ "field": "responsibilities.routeAndSessionAudit"
108
+ }
109
+ }
110
+ ],
111
+ "tacIds": [
112
+ "TAC-1204-security-auth-keycloak-provider-router"
113
+ ],
114
+ "createdAt": "2026-09-10T00:00:00Z",
115
+ "updatedAt": "2026-09-10T00:00:00Z",
116
+ "description": "Applying agent sets: no project-parameterised values on this story; every AC is `fixed`. AC-set sufficiency (7a inline note per blueprint-authoring.md §7a): the credential scenario class is bound by AC-1 (an authenticated caller in a realm records the realm-scoped identity on both the route and the session_inventory event). The permission scenario class is bound by AC-2 (an unauthenticated caller's sessionInventory invocation refuses with `reasonClass=unauthenticated` and no side effect). Interaction coverage: route-decided AC-1, session-listed AC-1, revoke-one AC-5 (AC-3 also observes revoke-one inside a mixed sequence), revoke-all-except-current AC-6, unauthenticated AC-2."
117
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "usId": "security-auth-keycloak-US-11120",
3
+ "prdId": "PRD-001",
4
+ "reqId": "security-auth-keycloak-REQ-019",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "Role-adapter reads each emit one structured audit event on the fixed allow-list",
8
+ "asA": "operator running the runtime-verify suite against the role adapter",
9
+ "iWant": "every read call to write one structured `keycloak.roles` event carrying only the allow-list fields",
10
+ "soThat": "the audit stream stays free of raw claim records and every malformed-claim refusal carries a stable reasonClass",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-11120-1",
14
+ "description": "A read on a well-formed claim emits exactly one `keycloak.roles` audit event with `outcome=verified` and the caller's realmSlug.",
15
+ "given": "a verified claim record whose expected role path is an array of strings, in realm `alpha`",
16
+ "when": "the role adapter reads the roles from the claim record",
17
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.roles` and `outcome=verified`; no raw claim record and no token material appears in any field",
18
+ "testable": true,
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "ownerRef": {
22
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
23
+ "field": "responsibilities.rolesAudit"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-11120-2",
28
+ "description": "A read where the expected path is present but the value is not an array of strings emits exactly one refused event with `reasonClass=malformed`.",
29
+ "given": "a verified claim record whose expected role path is present as a scalar value or an array of non-string values, in realm `alpha`",
30
+ "when": "the role adapter reads the roles from the claim record",
31
+ "then": "the audit sink records exactly one event with `family=keycloak.roles`, `outcome=refused`, and `reasonClass=malformed`; the raw claim record does not appear in any field; the reduced roles array is not populated",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "ownerRef": {
36
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
37
+ "field": "responsibilities.rolesAudit"
38
+ }
39
+ },
40
+ {
41
+ "id": "AC-11120-3",
42
+ "description": "A caller whose claim record was malformed on a first read and well-formed on a second read (a claim refresh) emits exactly one refused event and one verified event on the `keycloak.roles` family, in order; the retry itself is not a distinct event.",
43
+ "given": "a caller whose first claim read is malformed and whose second claim read (after a re-verify) is well-formed",
44
+ "when": "the role adapter reads twice in sequence",
45
+ "then": "the audit sink records exactly two events in order: one `keycloak.roles` event with `outcome=refused` and `reasonClass=malformed`, then one `keycloak.roles` event with `outcome=verified`; no additional event is written for the retry itself",
46
+ "testable": true,
47
+ "scope": "runtime",
48
+ "disposition": "fixed",
49
+ "ownerRef": {
50
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
51
+ "field": "responsibilities.rolesAudit"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-11120-4",
56
+ "description": "A sink failure during the emission of a `keycloak.roles` event does not mask the underlying read outcome; the mechanism records a `keycloak.audit_sink_failed` warning event and the read outcome is unchanged.",
57
+ "given": "a verified claim record whose expected role path is well-formed and an audit sink whose write throws",
58
+ "when": "the role adapter emits the completion event",
59
+ "then": "the read's return value (the reduced roles array or the refusal) is unchanged; the mechanism records a `keycloak.audit_sink_failed` warning event carrying the realm slug and a reason-class string; the raw claim record does not appear in any field",
60
+ "testable": true,
61
+ "scope": "runtime",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
65
+ "field": "responsibilities.rolesAudit"
66
+ }
67
+ },
68
+ {
69
+ "id": "AC-11120-5",
70
+ "description": "Reading roles twice from the same well-formed verified claim record is idempotent: each read emits exactly one `keycloak.roles` audit event with `outcome=verified`; two consecutive reads produce two events (count is one per read call).",
71
+ "given": "a verified claim record whose expected role path is an array of strings in realm `alpha`, and one completed read already on record",
72
+ "when": "the role adapter reads the roles from the same claim record a second time",
73
+ "then": "the audit sink records exactly one additional event whose own-property keys are exactly `{family, outcome, realmSlug, at}` with `family=keycloak.roles` and `outcome=verified`; the total count of `keycloak.roles` verified events across the two reads is exactly two; the reduced roles array returned by the second read is identical to the first",
74
+ "testable": true,
75
+ "scope": "runtime",
76
+ "disposition": "fixed",
77
+ "ownerRef": {
78
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
79
+ "field": "responsibilities.rolesAudit"
80
+ }
81
+ },
82
+ {
83
+ "id": "AC-11120-6",
84
+ "description": "A read on a claim record whose expected role path is absent (the caller's credential carries no granted role and so no operation is permitted through this mechanism) emits exactly one `keycloak.roles` audit event with `outcome=refused` and `reasonClass=roles_absent`; the reduced roles array is not populated and no operation is authorised downstream.",
85
+ "given": "a verified claim record in realm `alpha` whose expected role path is not present on the record",
86
+ "when": "the role adapter reads the roles from the claim record",
87
+ "then": "the audit sink records exactly one event whose own-property keys are exactly `{family, outcome, reasonClass, realmSlug, at}` with `family=keycloak.roles`, `outcome=refused`, and `reasonClass=roles_absent`; the raw claim record does not appear in any field; the reduced roles array is not populated",
88
+ "testable": true,
89
+ "scope": "runtime",
90
+ "disposition": "fixed",
91
+ "ownerRef": {
92
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
93
+ "field": "responsibilities.rolesAudit"
94
+ }
95
+ }
96
+ ],
97
+ "tacIds": [
98
+ "TAC-1205-security-auth-keycloak-role-adapter"
99
+ ],
100
+ "createdAt": "2026-09-10T00:00:00Z",
101
+ "updatedAt": "2026-09-10T00:00:00Z",
102
+ "description": "Applying agent sets: no project-parameterised values on this story; every AC is `fixed`. AC-set sufficiency (7a inline note per blueprint-authoring.md §7a): the credential scenario class is bound by AC-1 (a verified claim record is the credential and the event records the realm-scoped identity via the `realmSlug` payload field). The permission scenario class is bound by AC-6 (a claim record whose expected role path is absent carries no granted role, so the mechanism refuses with `reasonClass=roles_absent` and populates no reduced roles array)."
103
+ }
@@ -71,7 +71,7 @@ Shipping this doc set costs the project 12 REQs, 13 USs (34 ACs), 5 TACs, and 6
71
71
  - The project needs delegated identity that is not vendor-committed (a small project that wants to plug in Google or GitHub without running a realm). Demote to `security-auth-oauth2`: supersede ADR-1201 with a project-level ADR pointing at oauth2's authModel; apply `security-auth-oauth2`.
72
72
  - The project's audience needs a passwordless-magic-link posture (regulated environment, no third-party identity dependency). Demote to `security-auth-magic-link`.
73
73
 
74
- ## Provider-aware install-design shape (Baz-reshape, restated)
74
+ ## Provider-aware install-design shape (operator reshape, restated)
75
75
 
76
76
  The blueprint stays Keycloak-committed. What the blueprint does NOT do is assume Keycloak is the only issuer the receiving system will ever consult. Two shapes make this explicit:
77
77