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
@@ -13,12 +13,67 @@
13
13
  "id": "AC-composeHost-logDriverClassification",
14
14
  "description": "Every service in the applied compose.yaml declares a logging: driver: block whose driver value matches the elicited log driver (default journald). The compose-config-lint probe asserts (a) every service declares logging: driver, (b) the value is one of journald or loki, and (c) SIMULATE_UNCLASSIFIED_LOG_DRIVER=true sets a disallowed driver and the probe FAILS naming the service and the disallowed value.",
15
15
  "testable": true,
16
- "scope": "runtime"
16
+ "scope": "runtime",
17
+ "disposition": "template"
18
+ },
19
+ {
20
+ "id": "AC-38109-2",
21
+ "description": "F-8 journald marker: with log-driver=journald on the throwaway server, the probe writes a marker line via a service's stdout (a unique UUID substring), then runs `journalctl CONTAINER_NAME=<name> -o cat` on the host and asserts the marker substring appears in the output within a bounded 30 seconds. Without CI_HAS_HETZNER_ACCOUNT the probe records accountBoundSkipped: true and aggregates to pass.",
22
+ "given": "a fixture with log-driver=journald and CI_HAS_HETZNER_ACCOUNT=true",
23
+ "when": "the probe writes the marker and greps journalctl",
24
+ "then": "the marker appears in the journalctl output within 30 seconds; the probe passes",
25
+ "testable": true,
26
+ "scope": "deployed",
27
+ "disposition": "template",
28
+ "ownerRef": {
29
+ "tacId": "TAC-3903-platform-docker-compose-host-healthcheck-lint",
30
+ "field": "responsibilities.logDriver"
31
+ },
32
+ "vendorCitation": {
33
+ "url": "https://www.freedesktop.org/software/systemd/man/journalctl.html",
34
+ "verifiedOn": "2026-09-09"
35
+ }
36
+ },
37
+ {
38
+ "id": "AC-38109-3",
39
+ "description": "F-8 loki marker: with log-driver=loki and the applied Loki endpoint set, the probe writes a marker (UUID substring) via a service's stdout, then HTTP GETs the Loki push-query API at the elicited endpoint and asserts the marker appears in the response within a bounded 30 seconds. Without CI_HAS_HETZNER_ACCOUNT the probe records accountBoundSkipped: true and aggregates to pass.",
40
+ "given": "a fixture with log-driver=loki, a Loki endpoint and CI_HAS_HETZNER_ACCOUNT=true",
41
+ "when": "the probe writes the marker and queries the Loki API",
42
+ "then": "the marker appears in the Loki API response within 30 seconds; the probe passes",
43
+ "testable": true,
44
+ "scope": "deployed",
45
+ "disposition": "template",
46
+ "ownerRef": {
47
+ "tacId": "TAC-3903-platform-docker-compose-host-healthcheck-lint",
48
+ "field": "responsibilities.logDriver"
49
+ },
50
+ "vendorCitation": {
51
+ "url": "https://grafana.com/docs/loki/latest/",
52
+ "verifiedOn": "2026-09-09"
53
+ }
54
+ },
55
+ {
56
+ "id": "AC-38109-4",
57
+ "description": "Missing logging block: SIMULATE_MISSING_LOG_DRIVER=true removes the logging: block from a service. The compose-config-lint FAILS naming the service; every service must declare a logging: driver block per REQ-006.",
58
+ "given": "a fixture with SIMULATE_MISSING_LOG_DRIVER=true",
59
+ "when": "the lint runs",
60
+ "then": "the lint FAILS naming the service with no logging driver",
61
+ "testable": true,
62
+ "scope": "runtime",
63
+ "disposition": "fixed",
64
+ "ownerRef": {
65
+ "tacId": "TAC-3903-platform-docker-compose-host-healthcheck-lint",
66
+ "field": "responsibilities.logDriver"
67
+ },
68
+ "vendorCitation": {
69
+ "url": "https://docs.docker.com/reference/compose-file/services/#logging",
70
+ "verifiedOn": "2026-09-09"
71
+ }
17
72
  }
18
73
  ],
19
74
  "tacIds": [
20
75
  "TAC-3903-platform-docker-compose-host-healthcheck-lint"
21
76
  ],
22
77
  "createdAt": "2026-09-08T00:00:00.000Z",
23
- "updatedAt": "2026-09-08T00:00:00.000Z"
78
+ "updatedAt": "2026-09-09T22:00:00.000Z"
24
79
  }
@@ -0,0 +1,92 @@
1
+ {
2
+ "usId": "platform-docker-compose-host-US-38110",
3
+ "prdId": "PRD-001",
4
+ "reqId": "platform-docker-compose-host-REQ-007",
5
+ "version": "1.0.0",
6
+ "status": "approved",
7
+ "title": "Docker Engine installs from the elicited apt channel: the observable repository source matches",
8
+ "asA": "operator installing the container host on a fresh Ubuntu 24.04 or Debian 12 baseline",
9
+ "iWant": "the shipped installer script to resolve the elicited docker-engine-channel answer into the apt sources entry actually written to the host, and to refuse any other value with a named error kind",
10
+ "soThat": "a project verifying against test can trust the installed engine is on the pre-release channel; a project on stable can trust it is on the stable channel",
11
+ "acceptanceCriteria": [
12
+ {
13
+ "id": "AC-38110-1",
14
+ "description": "With docker-engine-channel=stable, the installer writes an apt sources entry pointing at the vendor stable pool; the observable file at /etc/apt/sources.list.d/docker.list carries the \"stable\" pool component; dpkg -s docker-ce reports a version from the stable pool. With docker-engine-channel=test, the same file carries the \"test\" component and dpkg -s reports a version from the test pool.",
15
+ "given": "a fresh Ubuntu 24.04 baseline with no prior docker-ce install",
16
+ "when": "the installer script runs against the elicited channel",
17
+ "then": "the apt sources file carries the elicited pool component and the installed docker-ce matches",
18
+ "testable": true,
19
+ "scope": "deployed",
20
+ "disposition": "fixed",
21
+ "vendorCitation": {
22
+ "url": "https://docs.docker.com/engine/install/ubuntu/",
23
+ "verifiedOn": "2026-09-09"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-38110-2",
28
+ "description": "The installer refuses any elicited docker-engine-channel value outside {stable, test} with a stable error kind DOCKER_ENGINE_CHANNEL_UNSUPPORTED naming the offered value and lists the accepted options in the message. No apt sources entry is written on refusal.",
29
+ "given": "a docker-engine-channel elicit answer set to \"nightly\" (or any other unrecognised value)",
30
+ "when": "the installer script runs",
31
+ "then": "the installer refuses with DOCKER_ENGINE_CHANNEL_UNSUPPORTED and no apt sources entry lands",
32
+ "testable": true,
33
+ "scope": "deployed",
34
+ "disposition": "fixed"
35
+ },
36
+ {
37
+ "id": "AC-38110-3",
38
+ "description": "Sources file content probe: after the installer script runs on the fixture VM, a shell probe reads /etc/apt/sources.list.d/docker.list and asserts (a) the file exists, (b) the URI resolves to https://download.docker.com/linux/ubuntu (or /linux/debian) matching the OS, and (c) the pool component equals the elicited docker-engine-channel answer (\"stable\" or \"test\"). SIMULATE_STALE_SOURCES=true writes an incorrect pool value and the probe FAILS naming the observed and expected components.",
39
+ "given": "a fresh VM after the installer runs with docker-engine-channel=stable",
40
+ "when": "the probe reads the sources file",
41
+ "then": "the file exists, the URI matches, and the pool component equals \"stable\"",
42
+ "testable": true,
43
+ "scope": "deployed",
44
+ "disposition": "template",
45
+ "ownerRef": {
46
+ "tacId": "TAC-3901-platform-docker-compose-host-compose-layout",
47
+ "field": "responsibilities.aptSources"
48
+ },
49
+ "vendorCitation": {
50
+ "url": "https://docs.docker.com/engine/install/ubuntu/",
51
+ "verifiedOn": "2026-09-09"
52
+ }
53
+ },
54
+ {
55
+ "id": "AC-38110-4",
56
+ "description": "Keyring probe: /etc/apt/keyrings/docker.gpg exists after the installer runs (the Docker Engine install steps place the keyring here per the Ubuntu install doc). SIMULATE_MISSING_KEYRING=true removes the file and the installer refuses on the next apt-get update with a stable error kind DOCKER_ENGINE_KEYRING_MISSING.",
57
+ "given": "a fresh VM after the installer runs",
58
+ "when": "the probe reads /etc/apt/keyrings/docker.gpg",
59
+ "then": "the file exists; SIMULATE_MISSING_KEYRING=true removes it and the installer refuses with DOCKER_ENGINE_KEYRING_MISSING",
60
+ "testable": true,
61
+ "scope": "deployed",
62
+ "disposition": "fixed",
63
+ "ownerRef": {
64
+ "tacId": "TAC-3901-platform-docker-compose-host-compose-layout",
65
+ "field": "responsibilities.aptSources"
66
+ },
67
+ "vendorCitation": {
68
+ "url": "https://docs.docker.com/engine/install/ubuntu/",
69
+ "verifiedOn": "2026-09-09"
70
+ }
71
+ },
72
+ {
73
+ "id": "AC-38110-5",
74
+ "description": "Idempotent install: running the installer script twice on the same VM does NOT duplicate the sources entry (a subsequent grep of /etc/apt/sources.list.d/docker.list finds exactly one URI line), does NOT re-add the keyring, and returns exit 0 on the second run. The installer detects the existing install and short-circuits (docker-ce is up to date).",
75
+ "given": "a fresh VM after the installer has already run once",
76
+ "when": "the installer script runs a second time",
77
+ "then": "the sources file has exactly one URI line; the keyring is unchanged; the second run exits 0",
78
+ "testable": true,
79
+ "scope": "deployed",
80
+ "disposition": "fixed",
81
+ "ownerRef": {
82
+ "tacId": "TAC-3901-platform-docker-compose-host-compose-layout",
83
+ "field": "responsibilities.aptSources"
84
+ }
85
+ }
86
+ ],
87
+ "tacIds": [
88
+ "TAC-3901-platform-docker-compose-host-compose-layout"
89
+ ],
90
+ "createdAt": "2026-09-09T20:25:00.000Z",
91
+ "updatedAt": "2026-09-09T22:00:00.000Z"
92
+ }
@@ -61,11 +61,11 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
61
61
 
62
62
  US 38101-38109 sit at the LOW end of the 38101-38899 band on purpose (watchpost run-4 lesson). A project-side story mechanically derived from a platform-docker-compose-host REQ id into the number 38109 would collide against the shipped US-38109; band headroom (38110-38899) leaves that space.
63
63
 
64
- Platform-docker-compose-host suffixes for this blueprint use the 3901-3904 block, continuing the widening pattern (deploy-hetzner-server 3801-3804 for the T-1 sibling).
64
+ Platform-docker-compose-host suffixes for this blueprint use the 3901-3904 block, continuing the widening pattern (deploy-hetzner-server 3801-3804 for the host sibling).
65
65
 
66
66
  ## Cross-references
67
67
 
68
- - `deploy-hetzner-server` (v1.0.0): consumed via `capabilities: [cloudHost]`; this blueprint composes on the Hetzner cloudHost T-1 provisions.
68
+ - `deploy-hetzner-server` (v1.0.0): consumed via `capabilities: [cloudHost]`; this blueprint composes on the Hetzner cloudHost that blueprint provisions.
69
69
  - `security-secrets-management` (v1.0.1): the compose secrets file source resolves through the applied secrets facade when the secrets blueprint is applied; the guide names a file-based fallback path when it is not.
70
- - Round-7 T-3 `edge-cloudflare-tunnel`: composes on `capabilities: [containerHost]`; runs cloudflared as a compose service in this stack.
70
+ - Round-7 `edge-cloudflare-tunnel`: composes on `capabilities: [containerHost]`; runs cloudflared as a compose service in this stack.
71
71
  - `observability-logging`: elicited log-driver wires the applied logging companion's endpoint (journald by default, loki opt-in).
@@ -1,6 +1,6 @@
1
1
  # Guide: platform-docker-compose-host v1.0.0
2
2
 
3
- Round-7 T-2 of the Hetzner spec at `projects/blueprint-library/specs/hetzner-round-7-spec-2026-09-07.md`. Applies on top of `deploy-hetzner-server` (or any future `cloudHost` provider) and mints `containerHost` for downstream consumers.
3
+ Applies on top of `deploy-hetzner-server` (or any future `cloudHost` provider) and mints `containerHost` for downstream consumers.
4
4
 
5
5
  ## What this blueprint gives you
6
6
 
@@ -24,11 +24,11 @@ A docker compose stack as your application runtime on a Linux VM. The compose fi
24
24
 
25
25
  The `reverse-proxy` elicit is the one you will hit first. The defaults:
26
26
 
27
- - **`caddy` (default per Baz decision 19).** Matches the estate baseline (dev-01 and ops-01 both run Caddy). Small config file, automatic HTTPS in production, `docker compose exec caddy caddy reload` picks up changes instantly. Reach for it whenever you do not have a strong project-side reason for something else. See the Caddy docs at https://caddyserver.com/docs/.
27
+ - **`caddy` (the shipped default).** Matches a common Linux-host baseline where the target hosts already run Caddy. Small config file, automatic HTTPS in production, `docker compose exec caddy caddy reload` picks up changes instantly. Reach for it whenever you do not have a strong project-side reason for something else. See the Caddy docs at https://caddyserver.com/docs/.
28
28
  - **`traefik` (alternative).** Reach for it when your project wants docker-label auto-discovery (each service declares its hostname/route via labels in `compose.yaml` and Traefik configures itself). Trade-off: your routing is spread across many service blocks rather than one Caddyfile. See the Traefik docs at https://doc.traefik.io/traefik/.
29
- - **`none` (alternative).** Reach for it when the project is fronted only by the round-7 tunnel (`edge-cloudflare-tunnel` v1.0.0). The connector terminates at the CF edge and forwards to a service on the internal `web-net` network; no reverse proxy is needed inside compose. The lint refuses to add a `caddy/Caddyfile` when `reverse-proxy` is `none`.
29
+ - **`none` (alternative).** Reach for it when the project is fronted only by the `edge-cloudflare-tunnel` sibling (v1.0.0). The connector terminates at the CF edge and forwards to a service on the internal `web-net` network; no reverse proxy is needed inside compose. The lint refuses to add a `caddy/Caddyfile` when `reverse-proxy` is `none`.
30
30
 
31
- The Coolify note (ADR-3903 body): "reject; it shadows what the blueprints contract and adds its own DB and UI as a second source of state". Baz decision 20, verbatim. A `platform-coolify-host` sibling mints on operator demand later; it is not part of round 7.
31
+ The Coolify note (ADR-3903 body): "reject; it shadows what the blueprints contract and adds its own DB and UI as a second source of state". Recorded as a platform decision. A `platform-coolify-host` sibling may mint on operator demand later.
32
32
 
33
33
  ## Healthcheck contract
34
34
 
@@ -50,7 +50,7 @@ When `security-secrets-management` is applied, the source path resolves through
50
50
 
51
51
  The `log-driver` elicit (ADR-3904):
52
52
 
53
- - **`journald` (default).** Matches the Debian 12 and Ubuntu 24.04 baseline the T-1 cloud-init sets up on the throwaway server. `journalctl -u docker.service` and `journalctl CONTAINER_NAME=<name>` reach the same stream you would see in `docker logs`.
53
+ - **`journald` (default).** Matches the Debian 12 and Ubuntu 24.04 baseline the deploy-hetzner-server cloud-init sets up on the throwaway server. `journalctl -u docker.service` and `journalctl CONTAINER_NAME=<name>` reach the same stream you would see in `docker logs`.
54
54
  - **`loki` (opt-in).** Reach for it when the applying project runs Grafana. The compose logging block wires each service through the Grafana Loki docker plugin; the observability-logging companion supplies the loki endpoint.
55
55
 
56
56
  The compose-config-lint refuses on any driver value outside the two. The lint fires before `docker compose up` runs.
@@ -85,7 +85,7 @@ Real-account probes require `CI_HAS_HETZNER_ACCOUNT=true` plus `HCLOUD_TOKEN`; w
85
85
 
86
86
  ## Applying to your project
87
87
 
88
- Once T-1 (`deploy-hetzner-server`) has provisioned a `cloudHost`:
88
+ Once `deploy-hetzner-server` has provisioned a `cloudHost`:
89
89
 
90
90
  ```
91
91
  rcf apply platform-docker-compose-host
@@ -1,9 +1,29 @@
1
1
  # security-auth-clerk CHANGELOG
2
2
 
3
- ## 1.3.0 (visual round T-4, spec 2026-09-06 section 5.4.2, Baz Q2 default)
3
+ ## 1.5.1
4
4
 
5
- - Declares `capabilities: [principalDirectory, roleModel, sessionInventory, hostedIdentityUi]` on `blueprint.json`. Additive per section 6 of `blueprint-authoring.md` (an additive optional field with no global-topic change is a minor bump). Consumed at apply time by the visual round T-4 `application-account-settings` blueprint to gate the sessions surface (probe pack check `AC-25106-1`) and the security surface hosted-UI branch (`AC-25105-1`). Clerk exposes an inventory of active sessions with device labels and a terminate action, and hosts identity screens (sign-in, sign-up, account, security) that a link-out or embed can consume.
5
+ - Adds `vendorCitation` on `AC-9108-1` (`{ url, verifiedOn }` pointing at the Clerk sign-up-and-sign-in-options guide) and on `AC-9109-2` (pointing at the Clerk system-limits page): closes F-4 and F-5. Both ACs rest on Clerk-documented facts; the citations record the exact page and the ISO-8601 verification date so a reviewer can retrace the fact without following prose leads.
6
+ - Closure fix pass (F-6): rewrites the `README.md` shelf-latest line in neutral customer-facing voice with no spec-provenance label.
7
+ - Owner rule on `signInStrategy`: repoints `REQ-005.description` to reference `TAC-1001-security-auth-clerk-middleware.interfaces.config` as the owner of the record shape; `AC-9108-1` keeps the literal `{ primary: string, alternates: string[] }` as an oracle and gains an `ownerRef` at the same field.
6
8
 
7
- ## 1.2.0 (visual round T-5, spec 2026-09-04 section 5.5.2, Baz Q2 default)
9
+ ## 1.5.0
8
10
 
9
- - Declares `capabilities: [principalDirectory, roleModel]` on `blueprint.json`. No other change. The new field is additive per section 6 of `blueprint-authoring.md` (an additive optional field with no global-topic change is a minor bump), and it is consumed by the visual round T-5 `application-admin-console` blueprint at apply time to gate surfaces on what the applied identity blueprint actually provides.
11
+ - Extends `REQ-001.description` with a one-line runtime clause naming the `hostedIdentityUi` capability verbatim (Clerk-hosted sign-in, sign-up, MFA, and account-management surfaces; no project route renders a credential-input control of its own). Adds `AC-9102-3` to `US-9102` binding a fixed source-tree-scan observation against `TAC-1001-security-auth-clerk-middleware` `responsibilities.signInStrategy`. Adds `US-9113` binding `REQ-011` (audit surface) with four ACs covering the success, refusal, retry and boundary paths of the verification and sessionInventory audit-event contract, each `ownerRef` pointing at `TAC-1003-security-auth-clerk-session-verifier` `responsibilities.audit`. Rewrites `REQ-003.description` to reference `TAC-1001-security-auth-clerk-middleware` `responsibilities.verify` rather than restate the `{ authenticated, principal?, reason? }` shape verbatim, and moves the REQ's `deliveredBy` from the shape ADR to the owning TAC.
12
+ - Closure fixes: repoints `REQ-001.deliveredBy` from `TAC-1004-security-auth-clerk-claims-mapper.responsibilities.reduceClaims` to `TAC-1001-security-auth-clerk-middleware.responsibilities.signInStrategy`, the responsibility that carries the `hostedIdentityUi` mount behaviour (the field `AC-9102-3` observes); strengthens the TAC-1001 `signInStrategy` responsibility text to name the `hostedIdentityUi` capability verbatim. Tightens `AC-9113-1` and `AC-9113-2` to name each event by its (`operation`, `outcome`) tuple and binds the refusal case to `reasonClass=expired` for an expired `__session` cookie input (dropping the example set). Adds `AC-9113-5` (permission: unauthenticated `sessionInventory.revoke` refused with `reasonClass=unauthenticated`, no side effect) and `AC-9113-6` (idempotency: two verifications of the same valid cookie emit two events, count is one per verify call). Adds a 7a inline note in the story's `description` documenting the credential and permission scenario-class mapping.
13
+
14
+ ## 1.4.1 (register-sweep patch, 2026-09-10)
15
+
16
+ - Register: neutral wording in shipped prose (no capability change).
17
+
18
+ ## 1.4.0 (hardening pass, spec 2026-09-09 section 5.4.2)
19
+
20
+ - Adds `REQ-010` and `US-9112` for the `sessionInventory` capability contract (list, revoke-one, revoke-all-except-current, unauthenticated refusal, unknown-session refusal, one structured audit event per operation) and extends `TAC-1003` with the `sessionInventory` interface. Adds `REQ-011` (verification and inventory audit surface with a fixed field allow-list and prefix boundary). Reconciles the Principal shape in `REQ-001` to the four-field record already asserted by the ACs and TAC-1004. Adds `deliveredBy` on every `must` requirement and `disposition: fixed` on every existing acceptance criterion; adds `ownerRef` on ACs that observe the `sessionInventory` interface. Names the `principalDirectory`, `roleModel`, and `hostedIdentityUi` capabilities on the requirements that already carry their runtime clauses. hardening pass (criteria a, b, c on the 2026-09-09 programme).
21
+ - Review fix pass (PR #188 findings): softens `US-9112` `AC-1` to reference the `TAC-1003-security-auth-clerk-session-verifier.interfaces.sessionInventory` `SessionRow` shape rather than restating its fields (clerk owns the shape, and the reference form keeps every consumer AC single-owner).
22
+
23
+ ## 1.3.0 (visual round, spec 2026-09-06 section 5.4.2, operator Q2 default)
24
+
25
+ - Declares `capabilities: [principalDirectory, roleModel, sessionInventory, hostedIdentityUi]` on `blueprint.json`. Additive per section 6 of `blueprint-authoring.md` (an additive optional field with no global-topic change is a minor bump). Consumed at apply time by the visual round `application-account-settings` blueprint to gate the sessions surface (probe pack check `AC-25106-1`) and the security surface hosted-UI branch (`AC-25105-1`). Clerk exposes an inventory of active sessions with device labels and a terminate action, and hosts identity screens (sign-in, sign-up, account, security) that a link-out or embed can consume.
26
+
27
+ ## 1.2.0 (visual round, spec 2026-09-04 section 5.5.2, operator Q2 default)
28
+
29
+ - Declares `capabilities: [principalDirectory, roleModel]` on `blueprint.json`. No other change. The new field is additive per section 6 of `blueprint-authoring.md` (an additive optional field with no global-topic change is a minor bump), and it is consumed by the visual round `application-admin-console` blueprint at apply time to gate surfaces on what the applied identity blueprint actually provides.
@@ -3,7 +3,7 @@
3
3
  The tenth content blueprint on the rcf-build-lite blueprint mechanism, category `security`. A Clerk-committed sibling to `security-auth-magic-link` on the `authModel` global topic: Clerk hosts the identity surface (users, sessions, sign-in UX, credential storage, MFA, account recovery); the project owns a framework-agnostic middleware boundary, a session verifier confined to one module, a Clerk-claim-to-project-verb authorisation adapter, and a reduced principal shape the rest of the codebase reasons against. Targeted at small greenfield rcf-lite projects that want hosted identity without building the user-and-session surface themselves; larger deployments supersede the vendor by superseding ADR-1001 with a project-level ADR and swapping the middleware and verifier adapters.
4
4
 
5
5
 
6
- > Latest: **v1.3.0** (visual round T-4, 2026-09-06). `capabilities: [principalDirectory, roleModel, sessionInventory, hostedIdentityUi]`. See [CHANGELOG.md](CHANGELOG.md).
6
+ > Latest: **v1.5.1** (2026-09-10). `capabilities: [principalDirectory, roleModel, sessionInventory, hostedIdentityUi]`. See [CHANGELOG.md](CHANGELOG.md).
7
7
 
8
8
  ## Apply
9
9
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "slug": "security-auth-clerk",
3
- "version": "1.3.0",
3
+ "version": "1.5.1",
4
4
  "category": "security",
5
5
  "capabilities": [
6
6
  "principalDirectory",
@@ -155,6 +155,26 @@
155
155
  "id": "ADR-1005-security-auth-clerk-session-lifecycle",
156
156
  "kind": "adr",
157
157
  "path": "adrs/adr-1005-security-auth-clerk-session-lifecycle.json"
158
+ },
159
+ {
160
+ "id": "security-auth-clerk-REQ-010",
161
+ "kind": "req",
162
+ "path": "requirements/security-auth-clerk-req-010.json"
163
+ },
164
+ {
165
+ "id": "security-auth-clerk-US-9112",
166
+ "kind": "us",
167
+ "path": "user-stories/security-auth-clerk-us-9112.json"
168
+ },
169
+ {
170
+ "id": "security-auth-clerk-REQ-011",
171
+ "kind": "req",
172
+ "path": "requirements/security-auth-clerk-req-011.json"
173
+ },
174
+ {
175
+ "id": "security-auth-clerk-US-9113",
176
+ "kind": "us",
177
+ "path": "user-stories/security-auth-clerk-us-9113.json"
158
178
  }
159
179
  ]
160
180
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-clerk-REQ-001",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Clerk owns the identity surface; the project reads a resolved principal",
5
- "description": "The project's authentication model delegates the identity surface (users, sessions, sign-in UX, credential storage, MFA, account recovery) to Clerk. The project does not own a user table, does not mint or store credentials, and does not implement the sign-in UI beyond mounting a Clerk-hosted component or route. What the project owns is the reduction of a verified Clerk session into a stable in-process principal shape (a `principalId` string, a `roles` string array, an `organisationIds` string array) that the rest of the project reasons against. Any code path that needs to know who the current caller is reads that resolved principal; no code path calls Clerk directly outside the middleware and session-verifier boundary.",
5
+ "description": "The project's authentication model delegates the identity surface (users, sessions, sign-in UX, credential storage, MFA, account recovery) to Clerk. The project does not own a user table, does not mint or store credentials, and does not implement the sign-in UI beyond mounting a Clerk-hosted component or route. What the project owns is the reduction of a verified Clerk session into a stable in-process principal shape (`principalId` string, `roles` string array, `organisationIds` string array, and a `claims` bag holding the raw Clerk claim record as an escape hatch, accessed only through the authorisation adapter and the claims mapper per ADR-1004) that the rest of the project reasons against. Any code path that needs to know who the current caller is reads that resolved principal; no code path calls Clerk directly outside the middleware and session-verifier boundary. The reduced Principal is what the blueprint contributes as the `principalDirectory` capability: no other read-side surface on the project answers \"who is the caller\"; every project code path that reasons about identity reasons against the fields on this Principal, and the applied capability set exposes the token so consumer blueprints (application-account-settings and its peers) can bind against it. The blueprint contributes the `hostedIdentityUi` capability: the sign-in, sign-up, MFA, and account-management surfaces are Clerk-hosted routes or Clerk-hosted components mounted by the project, and no project route renders a credential-input control of its own; the applied capability set exposes the `hostedIdentityUi` token so consumer blueprints can gate on it.",
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-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-09-10T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1001-security-auth-clerk-middleware",
20
+ "field": "responsibilities.signInStrategy"
21
+ }
18
22
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1001-security-auth-clerk-middleware",
20
+ "field": "responsibilities.__session"
21
+ }
18
22
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-clerk-REQ-003",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Framework-agnostic middleware boundary contract",
5
- "description": "The project integrates Clerk on the server through a middleware boundary whose shape is fixed by the blueprint and whose framework is not. The boundary is a function of the form `verify(request) -> { authenticated: boolean, principal?: Principal, reason?: string }` where `Principal` is the reduced shape from REQ-001. Framework-specific adapters (an Express request handler, a Fastify hook, a Node HTTP wrapper, a Cloudflare Workers fetch handler) are project-authored thin wrappers that delegate to the same underlying verifier; the blueprint does not mandate Express and does not mandate any single HTTP framework, only the shape of the boundary. A request that fails verification is denied at the boundary; a request that passes carries the principal onto the request object under a fixed field name (`request.auth`) for downstream handlers to read.",
5
+ "description": "The project integrates Clerk on the server through a middleware boundary whose shape is fixed by the blueprint and whose framework is not. The boundary signature and its return shape are owned by `TAC-1001-security-auth-clerk-middleware` `responsibilities.verify`; framework-specific adapters (an Express request handler, a Fastify hook, a Node HTTP wrapper, a Cloudflare Workers fetch handler) are project-authored thin wrappers that delegate to the same underlying verifier. The blueprint does not mandate Express and does not mandate any single HTTP framework, only the shape of the boundary. A request that fails verification is denied at the boundary; a request that passes carries the principal onto the request object under a fixed field name (`request.auth`) for downstream handlers to read.",
6
6
  "category": "technical",
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-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1001-security-auth-clerk-middleware",
20
+ "field": "responsibilities.verify"
21
+ }
18
22
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-clerk-REQ-004",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Authorisation adapter maps Clerk claims onto project verbs",
5
- "description": "The project's authorisation layer does not consume Clerk claim shapes directly. A single Authorisation Adapter module owns the mapping from a verified principal (roles array, organisation ids array, arbitrary claim bag from the Clerk session) onto the set of project-defined verbs the caller is allowed to perform. The adapter's surface is `can(principal, verb, subject?) -> boolean` and `assert(principal, verb, subject?) -> void | throw`. Verbs are project-defined strings (`article.edit`, `admin.dashboard.view`, `billing.invoice.void`); the adapter's mapping table is project-authored and read from a single module the rest of the project imports. No downstream code path checks `principal.roles.includes('admin')` or `principal.organisationIds.includes('X')` directly; every check goes through `can` or `assert`.",
5
+ "description": "The project's authorisation layer does not consume Clerk claim shapes directly. A single Authorisation Adapter module owns the mapping from a verified principal (roles array, organisation ids array, arbitrary claim bag from the Clerk session) onto the set of project-defined verbs the caller is allowed to perform. The adapter's surface is `can(principal, verb, subject?) -> boolean` and `assert(principal, verb, subject?) -> void | throw`. Verbs are project-defined strings (`article.edit`, `admin.dashboard.view`, `billing.invoice.void`); the adapter's mapping table is project-authored and read from a single module the rest of the project imports. No downstream code path checks `principal.roles.includes('admin')` or `principal.organisationIds.includes('X')` directly; every check goes through `can` or `assert`. The `roles` string array on the reduced Principal is the sole role vocabulary the project reads; the authorisation adapter is the mechanism by which the blueprint contributes the `roleModel` capability into the applied capability set (a consumer that gates on `roleModel` gets project verbs answered by `can(principal, verb)` against the mapping table, never by direct Clerk claim access).",
6
6
  "category": "technical",
7
7
  "domain": "authorisation",
8
8
  "priority": "must",
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1002-security-auth-clerk-authorisation-adapter",
20
+ "field": "responsibilities.mappingTable"
21
+ }
18
22
  }
@@ -2,7 +2,7 @@
2
2
  "reqId": "security-auth-clerk-REQ-005",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Sign-in strategy is a fixed-shape config surface",
5
- "description": "Clerk supports multiple sign-in strategies (email link, email code, password, phone code, OAuth via named providers, SAML). The project's Clerk instance is configured to enable one or more of them; the blueprint fixes the SHAPE of that configuration on the project side as a single `signInStrategy` config record (`{ primary: string, alternates: string[] }`) rather than fixing the CHOICE. The values in the record are Clerk's currently-documented strategy identifiers (as printed by the Clerk dashboard or the Clerk SDK's strategy enumeration at the project's build time). The project's sign-in surface reads the config record and does not hard-code any strategy string; changing the enabled strategy set is a config edit and a Clerk-dashboard change, not a codebase change.",
5
+ "description": "Clerk supports multiple sign-in strategies (email link, email code, password, phone code, OAuth via named providers, SAML). The project's Clerk instance is configured to enable one or more of them; the blueprint fixes the SHAPE of that configuration on the project side as a single `signInStrategy` config record owned by `TAC-1001-security-auth-clerk-middleware.interfaces.config` (the field is the `signInStrategy` record on that interface) rather than fixing the CHOICE. The values in the record are Clerk's currently-documented strategy identifiers (as printed by the Clerk dashboard or the Clerk SDK's strategy enumeration at the project's build time). The project's sign-in surface reads the config record and does not hard-code any strategy string; changing the enabled strategy set is a config edit and a Clerk-dashboard change, not a codebase change. Because Clerk hosts every sign-in, sign-up, and MFA UI surface, the blueprint contributes the `hostedIdentityUi` capability: no project route renders a credential-input form of its own; the project route mounts the Clerk-hosted component or redirects to the Clerk-hosted route named by the `signInStrategy` record.",
6
6
  "category": "functional",
7
7
  "domain": "authentication",
8
8
  "priority": "should",
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1001-security-auth-clerk-auth-model"
20
+ }
18
21
  }
@@ -14,5 +14,9 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "tacId": "TAC-1003-security-auth-clerk-session-verifier",
20
+ "field": "responsibilities.revocation"
21
+ }
18
22
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1001-security-auth-clerk-auth-model"
20
+ }
18
21
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1001-security-auth-clerk-auth-model"
20
+ }
18
21
  }
@@ -14,5 +14,8 @@
14
14
  "version": "1.0.0",
15
15
  "status": "approved",
16
16
  "createdAt": "2026-08-30T00:00:00Z",
17
- "updatedAt": "2026-08-30T00:00:00Z"
17
+ "updatedAt": "2026-08-30T00:00:00Z",
18
+ "deliveredBy": {
19
+ "adrId": "ADR-1001-security-auth-clerk-auth-model"
20
+ }
18
21
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-clerk-REQ-010",
3
+ "prdId": "PRD-001",
4
+ "title": "The caller's active sessions are enumerable, revocable one at a time, and revocable in bulk-except-current",
5
+ "description": "The blueprint contributes the `sessionInventory` capability through the session verifier: an authenticated caller can list their active Clerk sessions, revoke one non-current session by id, and revoke every active session except the one being used to make the call. Each list row carries `{ sessionId, deviceLabel, lastActive, currentSession }`; the current session is the one whose id matches the caller's active `__session` cookie. Every operation refuses an unauthenticated caller with a stable-coded `SESSION_INVENTORY_UNAUTHENTICATED` error and no side effect. A revoke against an unknown or already-revoked session id refuses with `SESSION_INVENTORY_UNKNOWN_SESSION` and no side effect. Every operation emits one structured audit event carrying operation, session id prefix and wall-clock timestamp; no field carries a cookie value or a full session id. The consumer contract in `application-account-settings` TAC-2604 reads this interface verbatim.",
6
+ "category": "functional",
7
+ "domain": "authentication",
8
+ "priority": "must",
9
+ "rationale": "The capability declaration on `blueprint.json:capabilities[]` promises consumer blueprints a session-management surface the applying agent can bind against. Without a REQ describing list, revoke-one and revoke-all-except-current, a consumer that gates on `sessionInventory` will render an inventory screen against a contract the provider blueprint never wrote down, and no chain link will fail when the surface returns empty or the revoke is a no-op.",
10
+ "tags": [
11
+ "blueprint:security-auth-clerk",
12
+ "category:10-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-1003-security-auth-clerk-session-verifier",
20
+ "field": "interfaces.sessionInventory"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "reqId": "security-auth-clerk-REQ-011",
3
+ "prdId": "PRD-001",
4
+ "title": "Every session verification and every sessionInventory operation produces one structured audit event on an allow-list of fields",
5
+ "description": "The session verifier emits exactly one structured audit event per verification attempt (success or refusal) and per `sessionInventory` operation. Each event carries fields drawn from a fixed allow-list: `outcome`, `operation`, `reasonClass`, `sessionIdPrefix`, `at`, `principalIdPrefix?`. No event may carry the `__session` cookie value, the full session id, a raw Clerk claim, or a substring of any of the above. The `sessionIdPrefix` field is a substring of length no greater than eight characters. Every event is written to the audit sink synchronously with the verification result; a sink failure logs a `clerk.audit_sink_failed` warning event and never causes the verification to succeed spuriously. The blueprint's data-retention boundary is: audit events survive process restart when the sink is durable, and are treated as retained per the project's wider observability policy; the blueprint does not itself expire them.",
6
+ "category": "nonFunctional",
7
+ "domain": "observability",
8
+ "priority": "must",
9
+ "rationale": "The audit-surface responsibilities on TAC-1003 (verification events and sessionInventory events) are only observable if a REQ names the allow-list, the prefix boundary, and the sink-failure posture. Without a REQ, a reviewer cannot decide whether an event that carries an unexpected field violates the blueprint's contract.",
10
+ "tags": [
11
+ "blueprint:security-auth-clerk",
12
+ "category:11-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-1003-security-auth-clerk-session-verifier",
20
+ "field": "responsibilities.audit"
21
+ }
22
+ }
@@ -11,7 +11,7 @@
11
11
  "Attach `request.auth` on the request object when verification succeeds; do not attach it on failure (AC-9101-2, AC-9102-1).",
12
12
  "Refuse requests on failed verification with a status appropriate to the route class (401 for API-shaped, redirect for page-shaped) as declared by the wiring shim; the handler must not be invoked (AC-9103-2, AC-9103-3, AC-9107-1).",
13
13
  "Read the `__session` cookie by name from the request; do not accept credentials from any other transport under the blueprint's default (AC-9101-1, AC-9101-3).",
14
- "Read the `signInStrategy` config record from the project's config module for any sign-in surface that requires it; hold no hard-coded strategy string (AC-9108-1, AC-9108-2).",
14
+ "Read the `signInStrategy` config record from the project's config module for any sign-in surface that requires it, and mount the corresponding Clerk-hosted sign-in, sign-up, MFA and account-management surfaces (or redirect to them) as the project's only identity UI so no project route renders a credential-input control of its own; hold no hard-coded strategy string; contributes the `hostedIdentityUi` capability token (AC-9102-3, AC-9108-1, AC-9108-2).",
15
15
  "Confine the import of Clerk's server SDK to this module and to the session verifier (TAC-1003); other project code imports the middleware, not the SDK (AC-9102-2)."
16
16
  ],
17
17
  "internalStructure": "One stateless factory function producing the `verify` closure over an injected session verifier and an injected claims mapper. Framework shims (an `expressMiddleware()` wrapper, a `fastifyPlugin()` wrapper, a `workersHandler()` wrapper) are one-file adapters colocated with this TAC's module directory; each delegates to the same `verify`. The wrapper for a given framework is enabled by the project's boot code choosing one; the blueprint does not mandate the choice.",
@@ -33,10 +33,20 @@
33
33
  }
34
34
  ],
35
35
  "dependencies": [
36
- { "name": "Clerk session verifier", "kind": "tac", "tacId": "TAC-1003-security-auth-clerk-session-verifier", "description": "The session-verification surface the middleware delegates cookie verification to." },
37
- { "name": "Clerk claims mapper", "kind": "tac", "tacId": "TAC-1004-security-auth-clerk-claims-mapper", "description": "The reduction from raw Clerk claims onto the project's Principal shape." }
36
+ {
37
+ "name": "Clerk session verifier",
38
+ "kind": "tac",
39
+ "tacId": "TAC-1003-security-auth-clerk-session-verifier",
40
+ "description": "The session-verification surface the middleware delegates cookie verification to."
41
+ },
42
+ {
43
+ "name": "Clerk claims mapper",
44
+ "kind": "tac",
45
+ "tacId": "TAC-1004-security-auth-clerk-claims-mapper",
46
+ "description": "The reduction from raw Clerk claims onto the project's Principal shape."
47
+ }
38
48
  ],
39
49
  "tradeoffs": "Fixing the shape and the boundary while leaving the framework open costs the project one thin shim per HTTP framework it uses. Projects on a single framework carry one shim and pay nothing; projects that host multiple runtimes (an Express main app plus a Workers edge function) carry two shims but share the verifier and the mapper. That is intentional: the seam that absorbs framework variation is the shim, not the middleware.",
40
50
  "createdAt": "2026-08-30T00:00:00Z",
41
- "updatedAt": "2026-08-30T00:00:00Z"
51
+ "updatedAt": "2026-09-10T00:00:00Z"
42
52
  }
@@ -11,7 +11,8 @@
11
11
  "Reject tampered cookies (signature mismatch, malformed shape, unknown session id) without a cached-hit shortcut; every rejection contributes an audit event carrying the failure class and no cookie value (AC-9101-3).",
12
12
  "Honour Clerk-side revocation within the `revocationCheckIntervalMs` window declared by ADR-1005; a session revoked more than `revocationCheckIntervalMs` ago must not verify (AC-9107-2).",
13
13
  "Emit an audit event on every verification attempt (success and failure) with fields `{ outcome, reasonClass?, sessionIdPrefix, at }`; no field carries the cookie value, no field carries a full session id, no field carries a raw claim (AC-9101-3).",
14
- "Confine the import of Clerk's server SDK to this module and the middleware wiring (TAC-1001); do not export the SDK's internal types across the module boundary (AC-9102-2)."
14
+ "Confine the import of Clerk's server SDK to this module and the middleware wiring (TAC-1001); do not export the SDK's internal types across the module boundary (AC-9102-2).",
15
+ "Expose `sessionInventory` for the authenticated caller: `list()` returns the caller's active Clerk sessions each as `{ sessionId, deviceLabel, lastActive, currentSession }`; `revoke(sessionId)` invalidates one non-current session on Clerk's server; `revokeAllExceptCurrent()` invalidates every other active session for the caller. Refuse every call from an unauthenticated caller with a stable-coded `SESSION_INVENTORY_UNAUTHENTICATED` error; refuse a `revoke` of a session already gone with `SESSION_INVENTORY_UNKNOWN_SESSION` without a side effect; every operation emits one structured audit event carrying `{ operation, sessionIdPrefix, at }` with no cookie value and no full session id (AC-9112-1, AC-9112-2, AC-9112-3, AC-9112-4, AC-9112-5)."
15
16
  ],
16
17
  "internalStructure": "One stateless class over an injected Clerk SDK client and an injected audit sink. The verifier is instantiated once at process boot with the Clerk publishable and secret keys read from the project's secrets manifest under placeholder-named entries (`CLERK_PUBLISHABLE_KEY`, `CLERK_SECRET_KEY`). The revocation check is either the Clerk SDK's native revocation-aware verify (preferred when the SDK exposes it at the project's build time) or a bounded-freshness cache the verifier maintains itself; ADR-1005 documents which shape the default vendor default expects.",
17
18
  "interfaces": [
@@ -29,6 +30,11 @@
29
30
  "name": "clock",
30
31
  "kind": "clock",
31
32
  "description": "Injectable clock returning the current instant; used for revocation-window bounding and for the audit event's `at` field."
33
+ },
34
+ {
35
+ "name": "sessionInventory",
36
+ "kind": "query",
37
+ "description": "sessionInventory({ callerPrincipal }) -> { list() -> SessionRow[], revoke(sessionId) -> void, revokeAllExceptCurrent() -> number }. SessionRow shape: { sessionId, deviceLabel, lastActive (ISO-8601), currentSession }. The consumer contract in application-account-settings TAC-2604 reads this interface verbatim; do not restate the shape from another blueprint."
32
38
  }
33
39
  ],
34
40
  "dependencies": [],
@@ -16,7 +16,8 @@
16
16
  "when": "the browser inspects the cookie jar for the project's top-level domain immediately after the sign-in redirect completes",
17
17
  "then": "a cookie named `__session` is present with `HttpOnly`, `Secure`, and `SameSite=Lax` flags set; no other cookie carries the session credential",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed"
20
21
  },
21
22
  {
22
23
  "id": "AC-9101-2",
@@ -25,7 +26,8 @@
25
26
  "when": "the request is dispatched to the route",
26
27
  "then": "the middleware attaches a `request.auth` object carrying `principalId`, `roles`, and `organisationIds`; the route handler observes `request.auth.principalId` as a non-empty string that matches the Clerk-issued user id for the signed-in operator",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "fixed"
29
31
  },
30
32
  {
31
33
  "id": "AC-9101-3",
@@ -34,7 +36,8 @@
34
36
  "when": "the request reaches the middleware",
35
37
  "then": "the middleware treats the request as unauthenticated; no `request.auth` object is attached; the verifier's audit log records one verification-failure event carrying the failure class and no cookie value",
36
38
  "testable": true,
37
- "scope": "runtime"
39
+ "scope": "runtime",
40
+ "disposition": "fixed"
38
41
  }
39
42
  ],
40
43
  "tacIds": [