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
@@ -1,7 +1,14 @@
1
1
  {
2
2
  "slug": "security-auth-keycloak",
3
- "version": "1.2.0",
3
+ "version": "1.4.1",
4
4
  "category": "security",
5
+ "requiresAppliedCapabilities": {
6
+ "capabilities": [
7
+ "authorisationCodeFlow"
8
+ ],
9
+ "allowSkipFlag": "allow-no-auth-yet",
10
+ "refusalMessageId": "security-auth-keycloak-flow-required"
11
+ },
5
12
  "capabilities": [
6
13
  "principalDirectory",
7
14
  "roleModel",
@@ -190,6 +197,99 @@
190
197
  "id": "ADR-1206-security-auth-keycloak-refresh-and-sign-out-posture",
191
198
  "kind": "adr",
192
199
  "path": "adrs/adr-1206-security-auth-keycloak-refresh-and-sign-out-posture.json"
200
+ },
201
+ {
202
+ "id": "security-auth-keycloak-REQ-013",
203
+ "kind": "req",
204
+ "path": "requirements/security-auth-keycloak-req-013.json"
205
+ },
206
+ {
207
+ "id": "security-auth-keycloak-US-11114",
208
+ "kind": "us",
209
+ "path": "user-stories/security-auth-keycloak-us-11114.json"
210
+ },
211
+ {
212
+ "id": "security-auth-keycloak-REQ-014",
213
+ "kind": "req",
214
+ "path": "requirements/security-auth-keycloak-req-014.json"
215
+ },
216
+ {
217
+ "id": "security-auth-keycloak-US-11115",
218
+ "kind": "us",
219
+ "path": "user-stories/security-auth-keycloak-us-11115.json"
220
+ },
221
+ {
222
+ "id": "security-auth-keycloak-REQ-015",
223
+ "kind": "req",
224
+ "path": "requirements/security-auth-keycloak-req-015.json"
225
+ },
226
+ {
227
+ "id": "security-auth-keycloak-REQ-016",
228
+ "kind": "req",
229
+ "path": "requirements/security-auth-keycloak-req-016.json"
230
+ },
231
+ {
232
+ "id": "security-auth-keycloak-REQ-017",
233
+ "kind": "req",
234
+ "path": "requirements/security-auth-keycloak-req-017.json"
235
+ },
236
+ {
237
+ "id": "security-auth-keycloak-REQ-018",
238
+ "kind": "req",
239
+ "path": "requirements/security-auth-keycloak-req-018.json"
240
+ },
241
+ {
242
+ "id": "security-auth-keycloak-REQ-019",
243
+ "kind": "req",
244
+ "path": "requirements/security-auth-keycloak-req-019.json"
245
+ },
246
+ {
247
+ "id": "security-auth-keycloak-US-11116",
248
+ "kind": "us",
249
+ "path": "user-stories/security-auth-keycloak-us-11116.json"
250
+ },
251
+ {
252
+ "id": "security-auth-keycloak-US-11117",
253
+ "kind": "us",
254
+ "path": "user-stories/security-auth-keycloak-us-11117.json"
255
+ },
256
+ {
257
+ "id": "security-auth-keycloak-US-11118",
258
+ "kind": "us",
259
+ "path": "user-stories/security-auth-keycloak-us-11118.json"
260
+ },
261
+ {
262
+ "id": "security-auth-keycloak-US-11119",
263
+ "kind": "us",
264
+ "path": "user-stories/security-auth-keycloak-us-11119.json"
265
+ },
266
+ {
267
+ "id": "security-auth-keycloak-US-11120",
268
+ "kind": "us",
269
+ "path": "user-stories/security-auth-keycloak-us-11120.json"
270
+ }
271
+ ],
272
+ "elicits": [
273
+ {
274
+ "id": "boot-posture",
275
+ "prompt": "How should the blueprint behave when a realm's OIDC discovery is not reachable at boot?",
276
+ "kind": "enum",
277
+ "default": "strict",
278
+ "options": [
279
+ "strict",
280
+ "deferred",
281
+ "standby"
282
+ ]
283
+ },
284
+ {
285
+ "id": "verification-mode",
286
+ "prompt": "How should the blueprint verify tokens for a given realm?",
287
+ "kind": "enum",
288
+ "default": "jwks",
289
+ "options": [
290
+ "jwks",
291
+ "introspection"
292
+ ]
193
293
  }
194
294
  ]
195
295
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-keycloak-REQ-001",
3
3
  "prdId": "PRD-001",
4
4
  "title": "A Keycloak realm is the identity source; the project federates through OIDC authorisation-code with PKCE",
5
- "description": "The project's authentication model is delegated identity to a Keycloak realm the operator runs (locally at development time, in a project-owned deployment at operate time). Identity is proven by a completed OAuth2 authorisation-code round-trip with PKCE (RFC 7636, S256) against the realm's OIDC endpoints; the id_token issued by the realm carries the authenticated subject. The wire vocabulary is OIDC on top of OAuth2 and the flow shape is authorisation-code + PKCE; the vendor commitment is Keycloak. The blueprint contributes Keycloak-shaped decisions the vendor-neutral sibling `security-auth-oauth2` deliberately does not fix: a Keycloak realm as the concrete issuer, a Keycloak client with a chosen verification mode (JWT via JWKS, or opaque via the RFC 7662 introspection endpoint), the Keycloak claim shape for client roles, and the local-first stand-up shape through the vendor's official container image.",
5
+ "description": "The project's authentication model is delegated identity to a Keycloak realm the operator runs (locally at development time, in a project-owned deployment at operate time). Identity is proven by a completed OAuth2 authorisation-code round-trip with PKCE (RFC 7636, S256) against the realm's OIDC endpoints; the id_token issued by the realm carries the authenticated subject. The wire vocabulary is OIDC on top of OAuth2 and the flow shape is authorisation-code + PKCE; the vendor commitment is Keycloak. The blueprint contributes Keycloak-shaped decisions the vendor-neutral sibling `security-auth-oauth2` deliberately does not fix: a Keycloak realm as the concrete issuer, a Keycloak client with a chosen verification mode (JWT via JWKS, or opaque via the RFC 7662 introspection endpoint), the Keycloak claim shape for client roles, and the local-first stand-up shape through the vendor's official container image. This blueprint composes over `security-auth-oauth2` for the authorisation-code + PKCE flow controller (TAC-1101) and the session-bridge (TAC-1103); keycloak contributes the discovery client, JWT verifier, introspection client, provider router, role adapter, and its own `sessionInventory` and `credentialSelfService` surfaces on top of that flow. The composition prerequisite is declared machine-readably by the blueprint's `blueprint.json:requiresAppliedCapabilities` gate on the `authorisationCodeFlow` capability (provided by `security-auth-oauth2` or a superseding flow-owner); a project that applies keycloak without an applied provider of `authorisationCodeFlow` is refused at apply time with a stable-coded error naming both blueprint slugs, and the override lives at `--allow-no-auth-yet` for staged-scaffolding runs.",
6
6
  "category": "functional",
7
7
  "domain": "authentication",
8
8
  "priority": "must",
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1201-security-auth-keycloak-auth-model"
20
+ }
18
21
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
20
+ "field": "responsibilities.discovery"
21
+ }
18
22
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
20
+ "field": "responsibilities.jwksCacheTtlSeconds"
21
+ }
18
22
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
20
+ "field": "responsibilities.introspection"
21
+ }
18
22
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-keycloak-REQ-005",
3
3
  "prdId": "PRD-001",
4
4
  "title": "A provider-routing seam lets a project's middleware decide which issuer to consult per request",
5
- "description": "The blueprint contributes a provider-router seam (TAC-1204) that a project's own middleware layer invokes on every authenticated request to answer one question: for this request, which configured realm record (or, at the operator's option, which other OAuth2/OIDC issuer the project may have declared elsewhere in its own middleware chain) is the authoritative source of identity? The seam is a pure function on the request shape: `route(request) -> { realmSlug, verificationMode }` or the sentinel `notThisIssuer` when the routing decision hands off to a middleware layer above this blueprint's mechanism reach. The seam does NOT itself name any second issuer; the blueprint is Keycloak-committed and the seam's role is to make explicit the ONE point in the request-processing chain where a project that has chosen to consult two issuers can wire that decision. A project that has only Keycloak configured wires the seam to a constant realmSlug and the mechanism is unchanged. The routing decision is expressed in generic OAuth2/OIDC vocabulary (a header the middleware layer inspects, a request-path prefix, a claim on a preflight token) and refuses to embed any concrete deployment shape.",
5
+ "description": "The blueprint contributes a provider-router seam (TAC-1204) that a project's own middleware layer invokes on every authenticated request to answer one question: for this request, which configured realm record (or, at the operator's option, which other OAuth2/OIDC issuer the project may have declared elsewhere in its own middleware chain) is the authoritative source of identity? The seam is a pure function on the request shape whose signature and return shape are owned by `TAC-1204-security-auth-keycloak-provider-router` `responsibilities.route` (returning the routed realm record or the sentinel `notThisIssuer` when the routing decision hands off to a middleware layer above this blueprint's mechanism reach). The seam does NOT itself name any second issuer; the blueprint is Keycloak-committed and the seam's role is to make explicit the ONE point in the request-processing chain where a project that has chosen to consult two issuers can wire that decision. A project that has only Keycloak configured wires the seam to a constant record and the mechanism is unchanged. The routing decision is expressed in generic OAuth2/OIDC vocabulary (a header the middleware layer inspects, a request-path prefix, a claim on a preflight token) and refuses to embed any concrete deployment shape.",
6
6
  "category": "functional",
7
7
  "domain": "authentication",
8
8
  "priority": "must",
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-09-10T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
20
+ "field": "responsibilities.route"
21
+ }
18
22
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-keycloak-REQ-006",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Role extraction reads from Keycloak's client-roles or realm-roles claim shape",
5
- "description": "Keycloak places roles on two claim families the operator selects between when configuring the client: `resource_access.<clientId>.roles` (per-client roles, the recommended default) and `realm_access.roles` (realm-wide roles). The realm record's `roleClaimShape` field declares which family this client uses (`client-roles` or `realm-roles`); the role adapter (TAC-1205) reads roles from that path on every verified token and populates the reduced Principal's `roles[]` array with the resulting string list. A token whose expected claim path is absent yields an empty `roles[]` (not a refusal); a project that wants stricter behaviour (a specific claim path must be present, or a specific role must be present, or the request is refused) authors a project-side authoriser above the reduced Principal and does not push that policy into the mechanism. The role adapter does not remap Keycloak role strings into project-defined role vocabulary; that remapping is a project-level concern and belongs on a project-authored ADR whose `related-reqs` cites this REQ.",
5
+ "description": "Keycloak places roles on two claim families the operator selects between when configuring the client: `resource_access.<clientId>.roles` (per-client roles, the recommended default) and `realm_access.roles` (realm-wide roles). The realm record's `roleClaimShape` field declares which family this client uses (`client-roles` or `realm-roles`); the role adapter (TAC-1205) reads roles from that path on every verified token and populates the reduced Principal's `roles[]` array with the resulting string list. A token whose expected claim path is absent yields an empty `roles[]` (not a refusal); a project that wants stricter behaviour (a specific claim path must be present, or a specific role must be present, or the request is refused) authors a project-side authoriser above the reduced Principal and does not push that policy into the mechanism. The role adapter does not remap Keycloak role strings into project-defined role vocabulary; that remapping is a project-level concern and belongs on a project-authored ADR whose `related-reqs` cites this REQ. The `roles[]` field on the reduced Principal is the sole role vocabulary the project reads; the role adapter is the mechanism by which the blueprint contributes the `roleModel` capability into the applied capability set. The reduced Principal produced by the role adapter is also the blueprint's `principalDirectory` contribution: no other read-side surface on the project answers \"who is the caller\".",
6
6
  "category": "functional",
7
7
  "domain": "authentication",
8
8
  "priority": "must",
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
20
+ "field": "responsibilities.roles"
21
+ }
18
22
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1206-security-auth-keycloak-refresh-and-sign-out-posture"
20
+ }
18
21
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1204-security-auth-keycloak-session-vs-token-contract"
20
+ }
18
21
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1201-security-auth-keycloak-auth-model"
20
+ }
18
21
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1206-security-auth-keycloak-refresh-and-sign-out-posture"
20
+ }
18
21
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
20
+ "field": "responsibilities.bootPosture"
21
+ }
18
22
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-31T00:00:00Z",
17
- "updatedAt": "2026-08-31T00:00:00Z"
17
+ "updatedAt": "2026-08-31T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1201-security-auth-keycloak-auth-model"
20
+ }
18
21
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-013",
3
+ "prdId": "PRD-001",
4
+ "title": "Password change, reset and recovery are delegated to the realm's Keycloak account console",
5
+ "description": "The blueprint contributes the `credentialSelfService` capability by resolving and exposing the realm's Keycloak account console (`<issuerBaseUrl>/realms/<realm>/account`) as the sole self-service surface for password change, password reset, account recovery, and MFA enrolment. No project route renders a credential-change form of its own. The realm-config record declares an `accountConsoleUrl` field that the discovery client verifies on boot (the URL responds with a 2xx from an unauthenticated GET); a realm whose account console is disabled or unreachable is refused at boot with `KEYCLOAK_ACCOUNT_CONSOLE_UNREACHABLE`. The project exposes a project-authored `getCredentialSelfServiceUrl()` helper that returns the resolved account console URL for the current realm; a project page linking to self-service reads that helper rather than hard-coding a URL.",
6
+ "category": "functional",
7
+ "domain": "authentication",
8
+ "priority": "must",
9
+ "rationale": "A capability declaration without a delegated-self-service contract lets a consumer bind against `credentialSelfService` and render a self-service link that either resolves to nothing or lands on a broken realm surface. Naming the realm-config field and the boot-time verification is what makes the capability observable at apply time.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:13-credential-self-service"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
20
+ "field": "responsibilities.accountConsoleUrl"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-014",
3
+ "prdId": "PRD-001",
4
+ "title": "The caller's active project sessions are enumerable, revocable one at a time, and revocable in bulk-except-current",
5
+ "description": "The blueprint contributes the `sessionInventory` capability against its own project-issued session store (the opaque-handle session store the session-vs-token contract chooses when the record is in opaque-handle mode). An authenticated caller can list their active project sessions, revoke one non-current session by id, and revoke every active session except the one making the call. Each list row carries `{ sessionId, deviceLabel, lastActive, currentSession }`; the interface shape is inherited by reference from `security-auth-clerk` `TAC-1003` `interfaces.sessionInventory` and is not restated on keycloak. Every operation refuses an unauthenticated caller with `SESSION_INVENTORY_UNAUTHENTICATED`; every operation emits one structured audit event carrying operation, session id prefix and wall-clock timestamp; no field carries a full session id or a raw Keycloak token.",
6
+ "category": "functional",
7
+ "domain": "authentication",
8
+ "priority": "must",
9
+ "rationale": "A capability declaration without a REQ backing the surface leaves consumers to bind against a contract keycloak never wrote down. The cross-blueprint reference keeps the interface shape single-owner (clerk's TAC-1003) while letting each auth blueprint fulfil the capability against its own session store.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:14-session-inventory"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
20
+ "field": "responsibilities.sessionInventory"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-015",
3
+ "prdId": "PRD-001",
4
+ "title": "Discovery-client and account-console interactions emit one structured audit event per named interaction",
5
+ "description": "The discovery client and the account-console verification (both on TAC-1201) emit exactly one structured audit event per named interaction from the `keycloak.discovery` and `keycloak.account_console` families. Every event carries fields drawn from the fixed allow-list `family` (one of `keycloak.discovery`, `keycloak.account_console`), `outcome`, `reasonClass?`, `realmSlug`, `at`. No event may carry a token value (access token, id token, refresh token, introspection response body), a client secret, a raw claim record, or a substring of any of the above. The audit sink is contributed by the composed observability blueprint (or by a project-authored sink under the same interface); a sink failure logs a `keycloak.audit_sink_failed` warning event and never masks the underlying refusal. The other keycloak-side surfaces (JWT verifier, introspection client, provider router, sessionInventory, role adapter) each carry their own audit contract on the TAC that owns the surface (REQ-016 through REQ-019); the token-exclusion rule and the sink-failure posture named here apply verbatim to each of them.",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "The five TACs each require structured audit events with slightly different fields; without a cross-cutting REQ naming the allow-list and the token-exclusion rule, a reviewer cannot decide whether a new event field is inside the blueprint's contract. The REQ also anchors the sink-failure posture the guide implies but never states at REQ level.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:15-audit-surface"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-10T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
20
+ "field": "responsibilities.discoveryAudit"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-016",
3
+ "prdId": "PRD-001",
4
+ "title": "JWT verifier interactions emit one structured audit event per named interaction",
5
+ "description": "The JWT verifier emits exactly one structured audit event per verify call from the `keycloak.jwt` family (verified, refused with reasonClass in `expired`, `issuer_mismatch`, `audience_mismatch`, `signature_invalid`). Every event carries fields drawn from the fixed allow-list `family` (`keycloak.jwt`), `outcome`, `reasonClass?`, `realmSlug`, `at`. No event may carry a token value (access token, id token, refresh token, introspection response body), a client secret, a raw claim record, or a substring of any of the above. The audit sink is the same one REQ-015 names; sink-failure posture is inherited verbatim (a sink failure logs a `keycloak.audit_sink_failed` warning event and never masks the underlying refusal).",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "A single cross-cutting audit REQ pointing at one TAC hides ownership when the delivery is spread across TACs. Each TAC that emits an audit family owns its own REQ so a reviewer can see the ownership at a glance and so a future author changing an audit family finds the single REQ that governs it.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:15-audit-surface"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1202-security-auth-keycloak-jwt-verifier",
20
+ "field": "responsibilities.jwtAudit"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-017",
3
+ "prdId": "PRD-001",
4
+ "title": "Introspection client interactions emit one structured audit event per named interaction",
5
+ "description": "The introspection client emits exactly one structured audit event per introspect call from the `keycloak.introspection` family (verified on `active: true`, refused on `active: false` or non-2xx). Every event carries fields drawn from the fixed allow-list `family` (`keycloak.introspection`), `outcome`, `reasonClass?`, `realmSlug`, `at`. No event may carry a token value (access token, id token, refresh token, introspection response body), a client secret, a raw claim record, or a substring of any of the above. The audit sink is the same one REQ-015 names; sink-failure posture is inherited verbatim (a sink failure logs a `keycloak.audit_sink_failed` warning event and never masks the underlying refusal).",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "A single cross-cutting audit REQ pointing at one TAC hides ownership when the delivery is spread across TACs. Each TAC that emits an audit family owns its own REQ so a reviewer can see the ownership at a glance and so a future author changing an audit family finds the single REQ that governs it.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:15-audit-surface"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1203-security-auth-keycloak-introspection-client",
20
+ "field": "responsibilities.introspectionAudit"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-018",
3
+ "prdId": "PRD-001",
4
+ "title": "Provider-router routing decisions and sessionInventory operations emit one structured audit event per named interaction",
5
+ "description": "The provider router and the sessionInventory surface (both on TAC-1204) emit exactly one structured audit event per named interaction from the `keycloak.route` and `keycloak.session_inventory` families (route decided, session listed, session revoked one, sessions revoked all-except-current, refused when unauthenticated). Every event carries fields drawn from the fixed allow-list `family` (one of `keycloak.route`, `keycloak.session_inventory`), `outcome`, `reasonClass?`, `realmSlug`, `sessionIdPrefix?`, `at`. No event may carry a token value (access token, id token, refresh token, introspection response body), a client secret, a raw claim record, or a substring of any of the above. The audit sink is the same one REQ-015 names; sink-failure posture is inherited verbatim (a sink failure logs a `keycloak.audit_sink_failed` warning event and never masks the underlying refusal).",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "A single cross-cutting audit REQ pointing at one TAC hides ownership when the delivery is spread across TACs. Each TAC that emits an audit family owns its own REQ so a reviewer can see the ownership at a glance and so a future author changing an audit family finds the single REQ that governs it.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:15-audit-surface"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1204-security-auth-keycloak-provider-router",
20
+ "field": "responsibilities.routeAndSessionAudit"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-keycloak-REQ-019",
3
+ "prdId": "PRD-001",
4
+ "title": "Role-adapter interactions emit one structured audit event per named interaction",
5
+ "description": "The role adapter emits exactly one structured audit event per read call from the `keycloak.roles` family (read on a well-formed claim, refused with reasonClass `malformed` when the expected path is present but not an array of strings). Every event carries fields drawn from the fixed allow-list `family` (`keycloak.roles`), `outcome`, `reasonClass?`, `realmSlug`, `at`. No event may carry a token value (access token, id token, refresh token, introspection response body), a client secret, a raw claim record, or a substring of any of the above. The audit sink is the same one REQ-015 names; sink-failure posture is inherited verbatim (a sink failure logs a `keycloak.audit_sink_failed` warning event and never masks the underlying refusal).",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "A single cross-cutting audit REQ pointing at one TAC hides ownership when the delivery is spread across TACs. Each TAC that emits an audit family owns its own REQ so a reviewer can see the ownership at a glance and so a future author changing an audit family finds the single REQ that governs it.",
10
+ "tags": [
11
+ "blueprint:security-auth-keycloak",
12
+ "category:15-audit-surface"
13
+ ],
14
+ "version": "1.0.0",
15
+ "status": "approved",
16
+ "createdAt": "2026-09-09T00:00:00Z",
17
+ "updatedAt": "2026-09-09T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1205-security-auth-keycloak-role-adapter",
20
+ "field": "responsibilities.rolesAudit"
21
+ }
22
+ }
@@ -14,7 +14,9 @@
14
14
  "Verify that the discovery response carries the endpoints the record's `verificationMode` depends on: `jwks_uri` when mode is `jwks`, `introspection_endpoint` when mode is `introspection`; refuse boot with `KEYCLOAK_DISCOVERY_MISSING_ENDPOINT` on absence (AC-11102-3).",
15
15
  "Verify that a record whose `providerLogout` is `'redirect'` maps to a discovery response that carries `end_session_endpoint`; refuse boot with `KEYCLOAK_LOGOUT_NOT_DECLARED` on absence (AC-11110-2, related to REQ-010).",
16
16
  "Refresh the discovery document at the realm record's `discoveryRefreshSeconds` cadence (default 3600) in a background loop; a refresh failure logs a warning event but does not flip a healthy realm to unhealthy - the failure is transient by policy (AC-11102-2).",
17
- "Emit structured audit events `keycloak.realm_healthy`, `keycloak.realm_unhealthy`, `keycloak.discovery_refreshed`, `keycloak.discovery_refused` carrying the realm slug; no field carries a client secret."
17
+ "Emit structured audit events `keycloak.realm_healthy`, `keycloak.realm_unhealthy`, `keycloak.discovery_refreshed`, `keycloak.discovery_refused` carrying the realm slug; no field carries a client secret.",
18
+ "Verify each realm record's `accountConsoleUrl` on boot with an unauthenticated GET returning 2xx; refuse with `KEYCLOAK_ACCOUNT_CONSOLE_UNREACHABLE` on non-2xx or connection failure; refuse with `KEYCLOAK_ACCOUNT_CONSOLE_MALFORMED` when the URL's origin differs from the discovered issuer origin; a null `accountConsoleUrl` is legal and leaves the realm without a `credentialSelfService` binding (AC-11114-1, AC-11114-4, AC-11114-5).",
19
+ "Audit each discovery fetch and each account-console verification as one `keycloak.discovery` or `keycloak.account_console` audit event on the allow-list REQ-015 declares (`family`, `outcome`, `reasonClass?`, `realmSlug`, `at`); the token-exclusion rule and sink-failure posture inherit from REQ-015 (discoveryAudit)."
18
20
  ],
19
21
  "internalStructure": "One factory function producing a discovery-client closure over an injected `realmConfig` module (a plain data-record set the project maintains), an injected `httpFetch` port (the process HTTP client), an injected `clock`, an injected `auditSink`, and an injected `retryScheduler` used by the deferred posture. The internal cache is a Map keyed by realmSlug whose value is `{ endpoints, fetchedAt, health }`; refresh replaces atomically.",
20
22
  "interfaces": [
@@ -47,5 +49,5 @@
47
49
  "dependencies": [],
48
50
  "tradeoffs": "Fixing discovery at boot and refreshing on a fixed cadence trades a small piece of background work for the guarantee that the realm's URL layout can change under the process without a code edit. Three fail-safe postures let the operator pick their preferred crash-loop / self-heal / manual-control shape; the trade against a single hardcoded posture is one record field and a small policy branch. Emitting audit events on health transitions makes an unhealthy realm legible in the project's own log stream rather than only in the realm's operations surface.",
49
51
  "createdAt": "2026-08-31T00:00:00Z",
50
- "updatedAt": "2026-08-31T00:00:00Z"
52
+ "updatedAt": "2026-09-10T00:00:00Z"
51
53
  }
@@ -12,7 +12,8 @@
12
12
  "Validate the standard claim set: `iss` equals the record's discovered issuer; `aud` contains the record's `clientId` OR `azp` equals it; `exp` in the future by at least one second; `nbf` not in the future; `iat` in the past by no more than `idTokenMaxAgeSeconds` (AC-11104-1).",
13
13
  "Refuse with `KEYCLOAK_JWT_EXPIRED`, `KEYCLOAK_JWT_ISSUER_MISMATCH`, `KEYCLOAK_JWT_AUDIENCE_MISMATCH`, or `KEYCLOAK_JWT_SIGNATURE_INVALID` per failure class; emit one structured audit event `keycloak.jwt_refused` carrying realmSlug, reasonClass, and no token value (AC-11104-2).",
14
14
  "Return the verified claim record `{ sub, email?, azp, iss, aud, exp, iat, resource_access?, realm_access?, plus other realm-declared claims }` to the caller; the caller (the role adapter, the session-bridge in opaque-handle mode, the bearer verifier in stateless mode) consumes from that record (AC-11101-3).",
15
- "Refuse a JWKS fetch failure at verification time with `KEYCLOAK_JWKS_UNREACHABLE`; the token is refused, not silently trusted (AC-11103-2)."
15
+ "Refuse a JWKS fetch failure at verification time with `KEYCLOAK_JWKS_UNREACHABLE`; the token is refused, not silently trusted (AC-11103-2).",
16
+ "Audit each verify call as one `keycloak.jwt` audit event on the allow-list REQ-016 declares (`family`, `outcome`, `reasonClass?`, `realmSlug`, `at`); the token-exclusion rule and sink-failure posture inherit from REQ-015 (jwtAudit)."
16
17
  ],
17
18
  "internalStructure": "One factory function producing a verify closure over the injected discovery-client (TAC-1201, which exposes the record's discovered endpoints), an injected `httpFetch` port for JWKS, an injected clock, and an injected auditSink. The JWKS cache is a Map keyed by realmSlug whose value is `{ keys[], fetchedAt }`; the crypto is either the process's Web Crypto (Node 20+) or a project-injected primitive.",
18
19
  "interfaces": [
@@ -38,7 +39,12 @@
38
39
  }
39
40
  ],
40
41
  "dependencies": [
41
- { "name": "Discovery client", "kind": "tac", "tacId": "TAC-1201-security-auth-keycloak-discovery-client", "description": "Reads the realm's discovered endpoints." }
42
+ {
43
+ "name": "Discovery client",
44
+ "kind": "tac",
45
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
46
+ "description": "Reads the realm's discovered endpoints."
47
+ }
42
48
  ],
43
49
  "tradeoffs": "TTL-plus-kid-miss caching is the standard shape for JWKS verification; the trade against a shorter TTL is one background refresh per window; against a longer TTL is a bounded staleness window. Refusing on a kid-miss after one refresh defends against amplification while still recovering from a rotation the realm has published. Fixed refusal codes make failure classes observable in the audit stream without a runtime taxonomy the operator has to learn.",
44
50
  "createdAt": "2026-08-31T00:00:00Z",
@@ -11,7 +11,8 @@
11
11
  "Parse the response body as JSON per RFC 7662; a response with `active: true` yields the claim record; a response with `active: false` refuses the token with `KEYCLOAK_INTROSPECTION_INACTIVE` (AC-11105-2).",
12
12
  "Refuse a non-2xx response with `KEYCLOAK_INTROSPECTION_ENDPOINT_ERROR` naming the HTTP status class; emit `keycloak.introspection_refused` carrying realmSlug and status class (AC-11105-3).",
13
13
  "Cache the response when the record's `introspectionCacheTtlSeconds` is greater than zero; cache key is a stable hash of the token value (SHA-256 hex prefix, never the token) so the cache does not carry token strings; default TTL is 0 (no cache); AC-11105-1 covers the uncached path.",
14
- "Emit one structured audit event `keycloak.introspection_verified` on a 2xx `active: true` carrying realmSlug and no token value (AC-11105-1)."
14
+ "Emit one structured audit event `keycloak.introspection_verified` on a 2xx `active: true` carrying realmSlug and no token value (AC-11105-1).",
15
+ "Audit each introspect call as one `keycloak.introspection` audit event on the allow-list REQ-017 declares (`family`, `outcome`, `reasonClass?`, `realmSlug`, `at`); the token-exclusion rule and sink-failure posture inherit from REQ-015 (introspectionAudit)."
15
16
  ],
16
17
  "internalStructure": "One factory function producing an introspect closure over the discovery client (for the endpoint), an injected `httpFetch`, an injected clock, and an injected auditSink. The optional cache is a Map keyed by the token-hash whose value is `{ claims, cachedAt }`; entries evict on TTL expiry from the read path.",
17
18
  "interfaces": [
@@ -37,7 +38,12 @@
37
38
  }
38
39
  ],
39
40
  "dependencies": [
40
- { "name": "Discovery client", "kind": "tac", "tacId": "TAC-1201-security-auth-keycloak-discovery-client", "description": "Provides the introspection endpoint from discovery." }
41
+ {
42
+ "name": "Discovery client",
43
+ "kind": "tac",
44
+ "tacId": "TAC-1201-security-auth-keycloak-discovery-client",
45
+ "description": "Provides the introspection endpoint from discovery."
46
+ }
41
47
  ],
42
48
  "tradeoffs": "The introspection round-trip is expensive on the hot path; the optional cache lets an operator on a high-issuance realm claw back some of the cost at the price of a bounded revocation-reflection delay. Hashing the token as the cache key defends against a leaked cache dump: nothing on disk (or in a warmed memory dump) is a token; the hash cannot be exchanged. Refusing on non-2xx keeps the mechanism from falling back to a permissive posture when the endpoint is misbehaving.",
43
49
  "createdAt": "2026-08-31T00:00:00Z",
@@ -10,7 +10,9 @@
10
10
  "Expose `route(request) -> { realmSlug, verificationMode } | notThisIssuer` as a pure function on the request shape; the function is injected by the project and the reference wiring provides a constant-realm implementation for the common single-realm deployment (AC-11106-1).",
11
11
  "Refuse a routing decision that names a realmSlug not present in the realmConfig list with `KEYCLOAK_REALM_UNKNOWN`; the mechanism does not silently fall back to a default realm (AC-11106-2).",
12
12
  "Honour the `notThisIssuer` sentinel by returning it verbatim to the caller (the project's own middleware chain); the mechanism does not decide what a caller does with the sentinel (AC-11106-3).",
13
- "Emit one structured audit event per routing decision `keycloak.route_decided` carrying realmSlug (or the string `notThisIssuer`) and no request-content field."
13
+ "Emit one structured audit event per routing decision `keycloak.route_decided` carrying realmSlug (or the string `notThisIssuer`) and no request-content field.",
14
+ "Expose `sessionInventory` for the authenticated caller against the project's Keycloak session store (list, revoke-one, revoke-all-except-current); the interface shape is owned by `TAC-1003-security-auth-clerk-session-verifier` `interfaces.sessionInventory` and referenced by that owner id (AC-11115-1, AC-11115-2, AC-11115-3, AC-11115-4, AC-11115-5).",
15
+ "Audit each routing decision and each sessionInventory operation as one `keycloak.route` or `keycloak.session_inventory` audit event on the allow-list REQ-018 declares (`family`, `outcome`, `reasonClass?`, `realmSlug`, `sessionIdPrefix?`, `at`); the token-exclusion rule and sink-failure posture inherit from REQ-015 (routeAndSessionAudit)."
14
16
  ],
15
17
  "internalStructure": "One factory function producing a router closure over an injected `routeFn` (the project-authored pure function) and an injected realmConfig list. The reference wiring is a constant-realm `routeFn` that returns the first configured realmSlug for every request; a multi-realm project supplies its own routeFn. The routeFn is the seam the ratified reshape ruling names in generic vocabulary; the blueprint refuses to inspect specific request features or to name any second issuer.",
16
18
  "interfaces": [
@@ -10,7 +10,8 @@
10
10
  "Read roles from the verified claim record at the path declared by `roleClaimShape`: `client-roles` reads from `resource_access.<clientId>.roles`; `realm-roles` reads from `realm_access.roles` (AC-11107-1).",
11
11
  "Populate the reduced Principal's `roles[]` with the resulting string list, or an empty array when the path is absent (not a refusal - the project's authoriser above the Principal decides whether an empty roles set is acceptable) (AC-11107-2).",
12
12
  "Refuse a claim record whose expected path is present but not an array of strings with `KEYCLOAK_ROLES_MALFORMED`; emit `keycloak.roles_refused` carrying realmSlug and reason class (AC-11107-3).",
13
- "Never remap or transform Keycloak role strings; a project that maps them onto its own project-role vocabulary authors an `enrichPrincipal` hook the session-bridge invokes after the role adapter has populated the raw roles."
13
+ "Never remap or transform Keycloak role strings; a project that maps them onto its own project-role vocabulary authors an `enrichPrincipal` hook the session-bridge invokes after the role adapter has populated the raw roles.",
14
+ "Audit each roles read as one `keycloak.roles` audit event on the allow-list REQ-019 declares (`family`, `outcome`, `reasonClass?`, `realmSlug`, `at`); the token-exclusion rule and sink-failure posture inherit from REQ-015 (rolesAudit)."
14
15
  ],
15
16
  "internalStructure": "One factory function producing an adapt closure over the realmConfig record (for the record's `roleClaimShape` and `clientId`). The read is a plain object-path lookup; the shape checks are structural.",
16
17
  "interfaces": [
@@ -16,7 +16,8 @@
16
16
  "when": "the request is dispatched and the response is inspected",
17
17
  "then": "the response is a 302 whose `Location` starts with the realm's discovered `authorization_endpoint`; the query carries `response_type=code`, `code_challenge` matching `^[A-Za-z0-9_-]{43,128}$`, `code_challenge_method=S256`, a `state` value distinct from any prior observed value in the test collector; no `response_type=token` or `access_type=implicit` is present",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed"
20
21
  },
21
22
  {
22
23
  "id": "AC-11101-2",
@@ -25,7 +26,8 @@
25
26
  "when": "the browser follows the realm's redirect back to the project's callback route",
26
27
  "then": "the flow controller issues a POST to the realm's `token_endpoint` whose body carries `grant_type=authorization_code`, the returned `code`, `client_id`, `code_verifier` (matching the stored verifier), and `redirect_uri`; the response is a 2xx carrying `access_token` and `id_token`",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "fixed"
29
31
  },
30
32
  {
31
33
  "id": "AC-11101-3",
@@ -34,7 +36,8 @@
34
36
  "when": "the browser inspects the response cookie jar",
35
37
  "then": "a session cookie declared by the project's session-cookie name is set with `Secure`, `HttpOnly`, `SameSite=Lax`; the cookie value does not equal the access_token, the id_token, or any refresh_token returned by the realm; the reduced Principal on the next protected-route request carries `principalId` derived from `{realmSlug, sub}` and `provider` equal to the realmSlug",
36
38
  "testable": true,
37
- "scope": "runtime"
39
+ "scope": "runtime",
40
+ "disposition": "fixed"
38
41
  }
39
42
  ],
40
43
  "tacIds": [