rcf-lite 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1111) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/blueprints/application-account-settings/CHANGELOG.md +35 -2
  3. package/blueprints/application-account-settings/README.md +10 -10
  4. package/blueprints/application-account-settings/blueprint.json +23 -3
  5. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
  6. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
  7. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
  8. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
  10. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
  11. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
  12. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
  13. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
  14. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
  15. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
  16. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
  17. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
  18. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
  19. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
  20. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
  21. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
  22. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
  23. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
  24. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
  25. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
  26. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
  27. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
  28. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
  29. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
  30. package/blueprints/application-account-settings/docs/topics.md +4 -4
  31. package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
  32. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
  33. package/blueprints/application-admin-console/CHANGELOG.md +42 -6
  34. package/blueprints/application-admin-console/README.md +4 -4
  35. package/blueprints/application-admin-console/blueprint.json +31 -1
  36. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
  37. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
  38. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
  39. package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
  40. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
  41. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
  42. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
  43. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
  44. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
  45. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
  46. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
  47. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
  48. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
  49. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
  50. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
  51. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
  52. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
  53. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
  54. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
  55. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
  56. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
  57. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
  58. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
  59. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
  60. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
  61. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
  62. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
  63. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
  64. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
  65. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
  66. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
  67. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
  68. package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
  69. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
  70. package/blueprints/application-api-rest/CHANGELOG.md +26 -0
  71. package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
  72. package/blueprints/application-api-rest/blueprint.json +1 -1
  73. package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
  74. package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +1 -1
  75. package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
  76. package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
  77. package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
  78. package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
  79. package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
  80. package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
  81. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
  82. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
  83. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
  84. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
  85. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
  86. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
  87. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
  88. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
  89. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
  90. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
  91. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
  92. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
  93. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
  94. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
  95. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
  96. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
  97. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
  98. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
  99. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
  100. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
  101. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
  102. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
  103. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
  104. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
  105. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
  106. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
  107. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
  108. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
  109. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
  110. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
  111. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
  112. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
  113. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
  114. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
  115. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
  116. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
  117. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
  118. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
  119. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
  120. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
  121. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
  122. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
  123. package/blueprints/application-charts/CHANGELOG.md +24 -3
  124. package/blueprints/application-charts/README.md +5 -5
  125. package/blueprints/application-charts/blueprint.json +112 -18
  126. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +1 -1
  127. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
  128. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
  129. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
  130. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
  131. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
  132. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
  133. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
  134. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
  135. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +50 -6
  136. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
  137. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
  138. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
  139. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
  140. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
  141. package/blueprints/application-charts/docs/topics.md +2 -2
  142. package/blueprints/application-charts/guide/application-charts.md +3 -3
  143. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
  144. package/blueprints/application-dashboard/CHANGELOG.md +24 -3
  145. package/blueprints/application-dashboard/README.md +8 -8
  146. package/blueprints/application-dashboard/blueprint.json +147 -21
  147. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
  148. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +1 -1
  149. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
  150. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
  151. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
  152. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +10 -3
  153. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
  154. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
  155. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
  156. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +1 -1
  157. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +1 -1
  158. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +54 -6
  159. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +54 -6
  160. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +58 -6
  161. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
  162. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +54 -6
  163. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
  164. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
  165. package/blueprints/application-dashboard/docs/topics.md +3 -3
  166. package/blueprints/application-dashboard/guide/application-dashboard.md +3 -3
  167. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
  168. package/blueprints/application-datatable/CHANGELOG.md +23 -2
  169. package/blueprints/application-datatable/README.md +3 -3
  170. package/blueprints/application-datatable/blueprint.json +167 -25
  171. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
  172. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
  173. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
  174. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
  175. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
  176. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
  177. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
  178. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
  179. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
  180. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +10 -3
  181. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
  182. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
  183. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  184. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
  185. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
  186. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
  187. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
  188. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
  189. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
  190. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
  191. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
  192. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
  193. package/blueprints/application-datatable/docs/topics.md +1 -1
  194. package/blueprints/application-datatable/guide/application-datatable.md +1 -1
  195. package/blueprints/application-empty-error-states/CHANGELOG.md +33 -3
  196. package/blueprints/application-empty-error-states/README.md +3 -3
  197. package/blueprints/application-empty-error-states/blueprint.json +35 -1
  198. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
  199. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
  200. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
  201. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
  202. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
  203. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
  204. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
  205. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
  206. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
  207. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
  208. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
  209. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
  210. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
  211. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
  212. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
  213. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
  214. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
  215. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
  216. package/blueprints/application-error-handling/CHANGELOG.md +17 -0
  217. package/blueprints/application-error-handling/blueprint.json +104 -19
  218. package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
  219. package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
  220. package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
  221. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
  222. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
  223. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
  224. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
  225. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
  226. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
  227. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
  228. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
  229. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
  230. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
  231. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
  232. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
  233. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
  234. package/blueprints/application-file-upload/CHANGELOG.md +36 -3
  235. package/blueprints/application-file-upload/README.md +1 -1
  236. package/blueprints/application-file-upload/blueprint.json +56 -1
  237. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
  238. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +4 -0
  239. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +7 -3
  240. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +6 -2
  241. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +6 -2
  242. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +4 -0
  243. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
  244. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
  245. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
  246. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
  247. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
  248. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
  249. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
  250. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
  251. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
  252. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
  253. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
  254. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
  255. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
  256. package/blueprints/application-forms-wizard/CHANGELOG.md +34 -3
  257. package/blueprints/application-forms-wizard/README.md +2 -2
  258. package/blueprints/application-forms-wizard/blueprint.json +57 -1
  259. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +4 -0
  260. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +6 -2
  261. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +6 -2
  262. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +6 -2
  263. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +4 -0
  264. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
  265. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
  266. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
  267. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
  268. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
  269. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
  270. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
  271. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
  272. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
  273. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
  274. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
  275. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
  276. package/blueprints/application-notifications-in-app/CHANGELOG.md +35 -3
  277. package/blueprints/application-notifications-in-app/README.md +5 -5
  278. package/blueprints/application-notifications-in-app/blueprint.json +150 -22
  279. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
  280. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
  281. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
  282. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
  283. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
  284. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
  285. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +14 -8
  286. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
  287. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +29 -5
  288. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +43 -5
  289. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +39 -5
  290. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
  291. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +50 -8
  292. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
  293. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
  294. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
  295. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +1 -1
  296. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
  297. package/blueprints/application-onboarding-tour/CHANGELOG.md +33 -2
  298. package/blueprints/application-onboarding-tour/README.md +2 -2
  299. package/blueprints/application-onboarding-tour/blueprint.json +22 -2
  300. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
  301. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
  302. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
  303. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
  304. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
  305. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
  306. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
  307. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
  308. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
  309. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
  310. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
  311. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
  312. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
  313. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
  314. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
  315. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
  316. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
  317. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
  318. package/blueprints/application-onboarding-tour/docs/topics.md +2 -2
  319. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
  320. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
  321. package/blueprints/application-spa/CHANGELOG.md +30 -0
  322. package/blueprints/application-spa/README.md +8 -8
  323. package/blueprints/application-spa/blueprint.json +1 -1
  324. package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
  325. package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +1 -1
  326. package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
  327. package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
  328. package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
  329. package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +1 -1
  330. package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
  331. package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
  332. package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
  333. package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
  334. package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
  335. package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
  336. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
  337. package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
  338. package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
  339. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
  340. package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
  341. package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
  342. package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
  343. package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
  344. package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
  345. package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
  346. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
  347. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
  348. package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
  349. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
  350. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
  351. package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
  352. package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
  353. package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
  354. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
  355. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
  356. package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
  357. package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
  358. package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
  359. package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
  360. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +1 -1
  361. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +1 -1
  362. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +3 -3
  363. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +2 -2
  364. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +2 -2
  365. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
  366. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
  367. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
  368. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
  369. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
  370. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
  371. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
  372. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
  373. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
  374. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
  375. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
  376. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
  377. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
  378. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
  379. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
  380. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
  381. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
  382. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
  383. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
  384. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
  385. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
  386. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
  387. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
  388. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
  389. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
  390. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
  391. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
  392. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
  393. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
  394. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
  395. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
  396. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
  397. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
  398. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
  399. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
  400. package/blueprints/application-spa/guide/application-spa.md +2 -2
  401. package/blueprints/delivery-ci-workflows/CHANGELOG.md +18 -0
  402. package/blueprints/delivery-ci-workflows/README.md +1 -1
  403. package/blueprints/delivery-ci-workflows/blueprint.json +62 -1
  404. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
  405. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
  406. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
  407. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +4 -0
  408. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
  409. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
  410. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
  411. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
  412. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
  413. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
  414. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
  415. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
  416. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
  417. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
  418. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
  419. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
  420. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
  421. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
  422. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
  423. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
  424. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
  425. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
  426. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
  427. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
  428. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
  429. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
  430. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
  431. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
  432. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
  433. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
  434. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
  435. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
  436. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
  437. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
  438. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
  439. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
  440. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
  441. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
  442. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
  443. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
  444. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
  445. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
  446. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
  447. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
  448. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
  449. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
  450. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
  451. package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +17 -2
  452. package/blueprints/deploy-cloudflare-workers/README.md +2 -2
  453. package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
  454. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
  455. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +2 -2
  456. package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
  457. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
  458. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
  459. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
  460. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
  461. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
  462. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
  463. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
  464. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
  465. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
  466. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
  467. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
  468. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
  469. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
  470. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
  471. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
  472. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
  473. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
  474. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
  475. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
  476. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
  477. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
  478. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
  479. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
  480. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
  481. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
  482. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
  483. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
  484. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
  485. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
  486. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
  487. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
  488. package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
  489. package/blueprints/deploy-hetzner-server/CHANGELOG.md +22 -6
  490. package/blueprints/deploy-hetzner-server/README.md +12 -12
  491. package/blueprints/deploy-hetzner-server/blueprint.json +2 -2
  492. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
  493. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
  494. package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +1 -1
  495. package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +6 -6
  496. package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +1 -1
  497. package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +1 -1
  498. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
  499. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
  500. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
  501. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
  502. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
  503. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
  504. package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
  505. package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +1 -1
  506. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
  507. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
  508. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
  509. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
  510. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
  511. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
  512. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
  513. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
  514. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
  515. package/blueprints/deploy-hetzner-server/docs/topics.md +2 -2
  516. package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
  517. package/blueprints/edge-cloudflare-access/CHANGELOG.md +35 -3
  518. package/blueprints/edge-cloudflare-access/README.md +2 -2
  519. package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
  520. package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
  521. package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
  522. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
  523. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
  524. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
  525. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
  526. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
  527. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
  528. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
  529. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
  530. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
  531. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
  532. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
  533. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
  534. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
  535. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
  536. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
  537. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
  538. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
  539. package/blueprints/edge-cloudflare-access/docs/topics.md +1 -1
  540. package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +35 -1
  541. package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
  542. package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
  543. package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
  544. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
  545. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
  546. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
  547. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
  548. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
  549. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
  550. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
  551. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
  552. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
  553. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
  554. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
  555. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
  556. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
  557. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
  558. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
  559. package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
  560. package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +42 -7
  561. package/blueprints/edge-cloudflare-tunnel/README.md +20 -21
  562. package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
  563. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
  564. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
  565. package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +3 -3
  566. package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
  567. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +8 -9
  568. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +2 -2
  569. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
  570. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
  571. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
  572. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
  573. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
  574. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
  575. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
  576. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
  577. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
  578. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
  579. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
  580. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
  581. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
  582. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
  583. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
  584. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
  585. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
  586. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
  587. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
  588. package/blueprints/edge-cloudflare-tunnel/docs/topics.md +1 -1
  589. package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
  590. package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +33 -1
  591. package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
  592. package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
  593. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
  594. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
  595. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
  596. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
  597. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
  598. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
  599. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
  600. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
  601. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
  602. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
  603. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
  604. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
  605. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
  606. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
  607. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
  608. package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
  609. package/blueprints/email-smtp-resend/CHANGELOG.md +24 -0
  610. package/blueprints/email-smtp-resend/README.md +2 -2
  611. package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
  612. package/blueprints/email-smtp-resend/blueprint.json +119 -17
  613. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
  614. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
  615. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
  616. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
  617. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
  618. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
  619. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
  620. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
  621. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
  622. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
  623. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
  624. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
  625. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
  626. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
  627. package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
  628. package/blueprints/jobs-background/CHANGELOG.md +30 -6
  629. package/blueprints/jobs-background/README.md +8 -8
  630. package/blueprints/jobs-background/blueprint.json +55 -2
  631. package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
  632. package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
  633. package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +1 -1
  634. package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +4 -4
  635. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
  636. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
  637. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
  638. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
  639. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
  640. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
  641. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
  642. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
  643. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
  644. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
  645. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
  646. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
  647. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
  648. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
  649. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
  650. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
  651. package/blueprints/jobs-background/docs/topics.md +2 -2
  652. package/blueprints/jobs-background/guide/jobs-background.md +6 -6
  653. package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +31 -15
  654. package/blueprints/messaging-queue-cloudflare/README.md +6 -6
  655. package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
  656. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
  657. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
  658. package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +4 -4
  659. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
  660. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
  661. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
  662. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
  663. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
  664. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
  665. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
  666. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
  667. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
  668. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
  669. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
  670. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
  671. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
  672. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
  673. package/blueprints/messaging-queue-cloudflare/docs/topics.md +2 -2
  674. package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +7 -5
  675. package/blueprints/object-storage-s3/CHANGELOG.md +23 -6
  676. package/blueprints/object-storage-s3/README.md +2 -2
  677. package/blueprints/object-storage-s3/blueprint.json +154 -23
  678. package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +1 -1
  679. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
  680. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
  681. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
  682. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
  683. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
  684. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
  685. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +5 -1
  686. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
  687. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
  688. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
  689. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
  690. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
  691. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
  692. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
  693. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
  694. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +20 -3
  695. package/blueprints/object-storage-s3/guide/object-storage-s3.md +2 -2
  696. package/blueprints/observability-essentials/CHANGELOG.md +21 -0
  697. package/blueprints/observability-essentials/README.md +1 -1
  698. package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
  699. package/blueprints/observability-essentials/blueprint.json +32 -1
  700. package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
  701. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
  702. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
  703. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
  704. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
  705. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
  706. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
  707. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
  708. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
  709. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
  710. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
  711. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
  712. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
  713. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
  714. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
  715. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
  716. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
  717. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
  718. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
  719. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
  720. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
  721. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
  722. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
  723. package/blueprints/observability-essentials/docs/topics.md +1 -1
  724. package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
  725. package/blueprints/observability-logging/CHANGELOG.md +19 -4
  726. package/blueprints/observability-logging/README.md +1 -1
  727. package/blueprints/observability-logging/blueprint.json +76 -28
  728. package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
  729. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
  730. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
  731. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
  732. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
  733. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
  734. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
  735. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
  736. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
  737. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
  738. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
  739. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
  740. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
  741. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
  742. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
  743. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
  744. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
  745. package/blueprints/observability-probe-endpoints/CHANGELOG.md +17 -0
  746. package/blueprints/observability-probe-endpoints/README.md +1 -1
  747. package/blueprints/observability-probe-endpoints/blueprint.json +40 -1
  748. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
  749. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
  750. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
  751. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
  752. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
  753. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
  754. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
  755. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
  756. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
  757. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
  758. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
  759. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
  760. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
  761. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
  762. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
  763. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
  764. package/blueprints/observability-probe-endpoints/docs/topics.md +1 -1
  765. package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
  766. package/blueprints/persistence-data-d1/CHANGELOG.md +19 -0
  767. package/blueprints/persistence-data-d1/README.md +1 -1
  768. package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
  769. package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
  770. package/blueprints/persistence-data-d1/blueprint.json +106 -22
  771. package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
  772. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
  773. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
  774. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
  775. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
  776. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
  777. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
  778. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
  779. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
  780. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
  781. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
  782. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
  783. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
  784. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
  785. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
  786. package/blueprints/persistence-data-postgres/CHANGELOG.md +18 -2
  787. package/blueprints/persistence-data-postgres/README.md +1 -1
  788. package/blueprints/persistence-data-postgres/blueprint.json +201 -23
  789. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
  790. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
  791. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
  792. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
  793. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +5 -1
  794. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
  795. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
  796. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
  797. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
  798. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
  799. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
  800. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
  801. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
  802. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
  803. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
  804. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
  805. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
  806. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
  807. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
  808. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
  809. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
  810. package/blueprints/persistence-data-sqlite/CHANGELOG.md +14 -0
  811. package/blueprints/persistence-data-sqlite/blueprint.json +146 -30
  812. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
  813. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
  814. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
  815. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
  816. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
  817. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
  818. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
  819. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
  820. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
  821. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
  822. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
  823. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
  824. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
  825. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
  826. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
  827. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
  828. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
  829. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
  830. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
  831. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
  832. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
  833. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
  834. package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
  835. package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
  836. package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
  837. package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
  838. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
  839. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
  840. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
  841. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
  842. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
  843. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
  844. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
  845. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
  846. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
  847. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
  848. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
  849. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
  850. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
  851. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
  852. package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +3 -3
  853. package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +43 -3
  854. package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
  855. package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
  856. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
  857. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
  858. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +2 -2
  859. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +41 -35
  860. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +1 -1
  861. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +1 -1
  862. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +1 -1
  863. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
  864. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
  865. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
  866. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
  867. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
  868. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
  869. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
  870. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
  871. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
  872. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
  873. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
  874. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
  875. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
  876. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
  877. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
  878. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
  879. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
  880. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
  881. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
  882. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
  883. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
  884. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
  885. package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +1 -1
  886. package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
  887. package/blueprints/platform-cloudflare-kv/CHANGELOG.md +52 -10
  888. package/blueprints/platform-cloudflare-kv/README.md +6 -8
  889. package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
  890. package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
  891. package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +1 -1
  892. package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +1 -1
  893. package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +53 -18
  894. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
  895. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
  896. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
  897. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
  898. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
  899. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
  900. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
  901. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
  902. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
  903. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
  904. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
  905. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
  906. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
  907. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
  908. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
  909. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
  910. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
  911. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
  912. package/blueprints/platform-cloudflare-kv/docs/topics.md +1 -1
  913. package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
  914. package/blueprints/platform-docker-compose-host/CHANGELOG.md +37 -3
  915. package/blueprints/platform-docker-compose-host/README.md +7 -7
  916. package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
  917. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
  918. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
  919. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
  920. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
  921. package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +1 -1
  922. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +2 -3
  923. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +1 -1
  924. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
  925. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
  926. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
  927. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
  928. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
  929. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
  930. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
  931. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
  932. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
  933. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
  934. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
  935. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
  936. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
  937. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
  938. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
  939. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
  940. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
  941. package/blueprints/platform-docker-compose-host/docs/topics.md +3 -3
  942. package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
  943. package/blueprints/security-auth-clerk/CHANGELOG.md +24 -4
  944. package/blueprints/security-auth-clerk/README.md +1 -1
  945. package/blueprints/security-auth-clerk/blueprint.json +21 -1
  946. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
  947. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
  948. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
  949. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
  950. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
  951. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
  952. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
  953. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
  954. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
  955. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
  956. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
  957. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
  958. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
  959. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
  960. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
  961. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
  962. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
  963. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
  964. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
  965. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
  966. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
  967. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
  968. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
  969. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
  970. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
  971. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
  972. package/blueprints/security-auth-keycloak/CHANGELOG.md +23 -4
  973. package/blueprints/security-auth-keycloak/README.md +1 -1
  974. package/blueprints/security-auth-keycloak/blueprint.json +101 -1
  975. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
  976. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
  977. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
  978. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
  979. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
  980. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
  981. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
  982. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
  983. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
  984. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
  985. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
  986. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
  987. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
  988. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
  989. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
  990. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
  991. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
  992. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
  993. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
  994. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
  995. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
  996. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
  997. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
  998. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
  999. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
  1000. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
  1001. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
  1002. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
  1003. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
  1004. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
  1005. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
  1006. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
  1007. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
  1008. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
  1009. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
  1010. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
  1011. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
  1012. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
  1013. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
  1014. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
  1015. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
  1016. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
  1017. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
  1018. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
  1019. package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
  1020. package/blueprints/security-auth-magic-link/CHANGELOG.md +19 -3
  1021. package/blueprints/security-auth-magic-link/README.md +1 -1
  1022. package/blueprints/security-auth-magic-link/blueprint.json +1 -1
  1023. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
  1024. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
  1025. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
  1026. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
  1027. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
  1028. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
  1029. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
  1030. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
  1031. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
  1032. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
  1033. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
  1034. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
  1035. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
  1036. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
  1037. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
  1038. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
  1039. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
  1040. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
  1041. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
  1042. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
  1043. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
  1044. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
  1045. package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
  1046. package/blueprints/security-auth-oauth2/CHANGELOG.md +21 -4
  1047. package/blueprints/security-auth-oauth2/README.md +1 -1
  1048. package/blueprints/security-auth-oauth2/blueprint.json +33 -2
  1049. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
  1050. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
  1051. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
  1052. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
  1053. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
  1054. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
  1055. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
  1056. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
  1057. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
  1058. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
  1059. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
  1060. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
  1061. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
  1062. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
  1063. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
  1064. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
  1065. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
  1066. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
  1067. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
  1068. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
  1069. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
  1070. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
  1071. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
  1072. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
  1073. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
  1074. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
  1075. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
  1076. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
  1077. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
  1078. package/blueprints/security-secrets-management/CHANGELOG.md +14 -2
  1079. package/blueprints/security-secrets-management/blueprint.json +168 -31
  1080. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
  1081. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
  1082. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
  1083. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
  1084. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
  1085. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
  1086. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
  1087. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
  1088. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
  1089. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
  1090. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
  1091. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
  1092. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
  1093. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
  1094. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
  1095. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
  1096. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
  1097. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
  1098. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
  1099. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
  1100. package/fixtures/canary-manifest.json +9 -9
  1101. package/package.json +1 -1
  1102. package/rcf/test-suites/ts-050.json +1 -1
  1103. package/rcf/test-suites/ts-052.json +1 -1
  1104. package/rcf/test-suites/ts-053.json +2 -2
  1105. package/rcf/test-suites/ts-054.json +2 -2
  1106. package/rcf/test-suites/ts-055.json +2 -2
  1107. package/rcf/test-suites/ts-056.json +4 -4
  1108. package/rcf/test-suites/ts-057.json +2 -2
  1109. package/rcf/user-stories/us-7701.json +3 -3
  1110. package/releases/releases.yaml +11 -1
  1111. package/src/cli/view.js +22 -11
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "slug": "application-file-upload",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "category": "application",
5
5
  "suggestedCompanions": [
6
6
  {
@@ -38,6 +38,16 @@
38
38
  "kind": "req",
39
39
  "path": "requirements/application-file-upload-req-005.json"
40
40
  },
41
+ {
42
+ "id": "application-file-upload-REQ-006",
43
+ "kind": "req",
44
+ "path": "requirements/application-file-upload-req-006.json"
45
+ },
46
+ {
47
+ "id": "application-file-upload-REQ-007",
48
+ "kind": "req",
49
+ "path": "requirements/application-file-upload-req-007.json"
50
+ },
41
51
  {
42
52
  "id": "application-file-upload-US-23101",
43
53
  "kind": "us",
@@ -110,5 +120,50 @@
110
120
  "elicited": true,
111
121
  "standardsTraceClause": "OWASP ASVS V12 file uploads"
112
122
  }
123
+ ],
124
+ "elicits": [
125
+ {
126
+ "id": "accepted-set",
127
+ "prompt": "Accepted MIME set: comma-separated IANA media types or wildcards (image/*, application/*).",
128
+ "kind": "string",
129
+ "default": "image/*"
130
+ },
131
+ {
132
+ "id": "size-cap",
133
+ "prompt": "Per-file size cap in bytes.",
134
+ "kind": "string",
135
+ "default": "10485760"
136
+ },
137
+ {
138
+ "id": "tick-interval",
139
+ "prompt": "Internal progress polling cadence in milliseconds (default 250, internal only).",
140
+ "kind": "string",
141
+ "default": "250"
142
+ },
143
+ {
144
+ "id": "concurrency",
145
+ "prompt": "Chunk upload concurrency cap (default 3).",
146
+ "kind": "string",
147
+ "default": "3"
148
+ },
149
+ {
150
+ "id": "polling",
151
+ "prompt": "Announcement cap in seconds for the polite live region (default 2).",
152
+ "kind": "string",
153
+ "default": "2"
154
+ },
155
+ {
156
+ "id": "chunked-transport",
157
+ "prompt": "Chunked-and-resumable transport branch: multipart (default) or tus.",
158
+ "kind": "enum",
159
+ "options": [
160
+ "multipart",
161
+ "tus"
162
+ ],
163
+ "default": "multipart"
164
+ }
165
+ ],
166
+ "capabilities": [
167
+ "virusScan"
113
168
  ]
114
169
  }
@@ -2,11 +2,11 @@
2
2
  "adrId": "ADR-2402-application-file-upload-accepted-set",
3
3
  "prdId": "PRD-001",
4
4
  "tadId": "TAD-001",
5
- "version": "1.0.0",
5
+ "version": "1.0.1",
6
6
  "status": "accepted",
7
7
  "title": "Accepted MIME set and per-file size cap are elicited per project; no shelf default beyond \"nothing accepted\"",
8
8
  "context": "A shelf blueprint cannot know what a downstream project's upload endpoint accepts. A photo-gallery product accepts a narrow image set (jpeg, png, webp) with a 20 MB per-file cap; a document workspace accepts pdf, docx, txt with a 100 MB cap; a code-review product accepts a broad set with a 5 MB cap. Picking a default that fits all projects picks one that fits none. Shipping without any elicited values leaves the input TAC in a state where every file is refused (the safe default), which is the correct floor: a project that forgets to elicit the accepted set discovers this immediately on the first upload.",
9
- "decision": "The accepted MIME set and the per-file size cap are elicited per project through this ADR. The blueprint contributes the two parameters as elicits on apply; the input TAC's MIME gate refuses every file until both are elicited. The elicited MIME set is a list of IANA media types; wildcards (image/*, application/*) are permitted for projects that want them but discouraged in the guide. The per-file size cap is a positive integer in bytes. A concurrency cap and the polling interval for the announcer are secondary elicits with recommended defaults (concurrency 3, interval 250 ms).",
9
+ "decision": "The accepted MIME set and the per-file size cap are elicited per project through this ADR. The blueprint contributes the two parameters as elicits on apply; the input TAC's MIME gate refuses every file until both are elicited. The elicited MIME set is a list of IANA media types; wildcards (image/*, application/*) are permitted for projects that want them but discouraged in the guide. The per-file size cap is a positive integer in bytes. A concurrency cap and the announcer cadences are secondary elicits with recommended defaults owned by `TAC-2403.interfaces.tickInterval` (250 ms internal poll, not user-observable) and `TAC-2403.interfaces.announcementInterval` (2 seconds user-observable announcement cap); concurrency defaults to 3.",
10
10
  "consequences": "Projects that apply the blueprint without elicitizing discover the refusal on the first upload attempt and go through the elicit flow to unblock it; the refusal is legible (\"MIME gate has no accepted set\") rather than silently accepting everything. Projects with a mature accepted-set list paste it in once and never revisit. The pack asserts the input TAC refuses an obvious wrong-MIME file (a text/plain payload with a jpeg extension) and refuses a payload exceeding the size cap.",
11
11
  "alternativesConsidered": [
12
12
  {
@@ -21,5 +21,5 @@
21
21
  }
22
22
  ],
23
23
  "createdAt": "2026-09-06T16:55:00Z",
24
- "updatedAt": "2026-09-06T16:55:00Z"
24
+ "updatedAt": "2026-09-10T00:00:00Z"
25
25
  }
@@ -3,6 +3,10 @@
3
3
  "prdId": "PRD-001",
4
4
  "title": "Input contract: a labelled file input plus a drop-zone plus a keyboard alternative per WCAG 2.5.7",
5
5
  "description": "The upload surface renders a labelled native file input, a labelled drop-zone region for pointer users, and a keyboard-focusable alternative control that opens the picker on Enter or Space. Every input carries an accessible name via label association or aria-label. The three affordances share the same underlying file collector so a keyboard-only user, a pointer user with drag-drop and a screen-reader user reach the same state. Per WCAG 2.5.7 Dragging Movements, the drop-zone is never the only way to add a file; a click and keyboard path both satisfy the same acceptance criterion.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2401-application-file-upload-input",
8
+ "field": "interfaces.collectFiles"
9
+ },
6
10
  "category": "functional",
7
11
  "domain": "application",
8
12
  "priority": "must",
@@ -2,7 +2,11 @@
2
2
  "reqId": "application-file-upload-REQ-002",
3
3
  "prdId": "PRD-001",
4
4
  "title": "Progress contract: per-file percent, aggregate percent, and a polite live-region tick",
5
- "description": "Every file in the upload set carries a per-file percent that advances monotonically from 0 to 100. The surface also carries an aggregate percent that reflects the mean weighted by byte size. A polite live-region wrapper (aria-live polite) receives a text tick at least every 10 percent of aggregate progress with the string format \"<uploaded> of <total> files, <PP> percent\". The polite wrapper is preseeded at render time so a screen reader adopts it before the first tick fires.",
5
+ "description": "Every file in the upload set carries a per-file percent that advances monotonically from 0 to 100. The surface also carries an aggregate percent that reflects the mean weighted by byte size. A polite live-region wrapper (aria-live polite) receives a text tick per the elicited announcement cap (default 2 seconds, owned by `TAC-2403.interfaces.announcementInterval`) with the string format \"<uploaded> of <total> files, <PP> percent\". Internal progress polling runs at the internal cadence owned by `TAC-2403.interfaces.tickInterval` (default 250 ms, internal only, not user-observable); the polite wrapper is preseeded at render time so a screen reader adopts it before the first announcement fires.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2403-application-file-upload-progress-announcer",
8
+ "field": "interfaces.tick"
9
+ },
6
10
  "category": "functional",
7
11
  "domain": "application",
8
12
  "priority": "must",
@@ -11,8 +15,8 @@
11
15
  "blueprint:application-file-upload",
12
16
  "category:02-progress-contract"
13
17
  ],
14
- "version": "1.0.0",
18
+ "version": "1.0.1",
15
19
  "status": "approved",
16
20
  "createdAt": "2026-09-06T16:55:00Z",
17
- "updatedAt": "2026-09-06T16:55:00Z"
21
+ "updatedAt": "2026-09-10T00:00:00Z"
18
22
  }
@@ -3,6 +3,10 @@
3
3
  "prdId": "PRD-001",
4
4
  "title": "Refusal contract: MIME-type, size-limit and virus-scan refusals with an aria-describedby error binding and focus-to-retry",
5
5
  "description": "The upload surface refuses a file that fails the MIME-type gate, exceeds the per-file size cap, or matches the virus-scan hit. Every refusal renders a per-file error message inside a region bound to the file row via aria-describedby, moves keyboard focus to the row's retry control, and refuses to send the file to the server. The refusal reason is one of the closed strings mime-refused, size-refused, virus-refused so a project's log pipeline can classify without prose parsing.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2401-application-file-upload-input",
8
+ "field": "interfaces.renderRefusal"
9
+ },
6
10
  "category": "functional",
7
11
  "domain": "application",
8
12
  "priority": "must",
@@ -11,8 +15,8 @@
11
15
  "blueprint:application-file-upload",
12
16
  "category:03-refusal-contract"
13
17
  ],
14
- "version": "1.0.0",
18
+ "version": "1.0.1",
15
19
  "status": "approved",
16
20
  "createdAt": "2026-09-06T16:55:00Z",
17
- "updatedAt": "2026-09-06T16:55:00Z"
21
+ "updatedAt": "2026-09-10T00:00:00Z"
18
22
  }
@@ -3,6 +3,10 @@
3
3
  "prdId": "PRD-001",
4
4
  "title": "Transport contract: chunked-and-resumable, multipart POST default, tus.io elicited alternative",
5
5
  "description": "The upload transport is chunked-and-resumable: an interrupted upload resumes from the last acknowledged offset on retry, and the client retries on transient failures without re-sending acknowledged bytes. The recommended default is a multipart POST with the file split into fixed-size chunks the server assembles server-side. The tus.io resumable upload protocol 1.0.0 is the elicited alternative for projects with a tus server or the third-party SDK; when applied it exposes an Upload-Offset header per PATCH request and supports server-side pause and resume. A per-vendor SDK (S3 multipart, Cloudflare R2 client-direct) is the second elicited alternative when the project has committed to a vendor library.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2402-application-file-upload-transport",
8
+ "field": "interfaces.uploadFile"
9
+ },
6
10
  "category": "functional",
7
11
  "domain": "application",
8
12
  "priority": "must",
@@ -11,8 +15,8 @@
11
15
  "blueprint:application-file-upload",
12
16
  "category:04-transport-contract"
13
17
  ],
14
- "version": "1.0.0",
18
+ "version": "1.0.1",
15
19
  "status": "approved",
16
20
  "createdAt": "2026-09-06T16:55:00Z",
17
- "updatedAt": "2026-09-06T16:55:00Z"
21
+ "updatedAt": "2026-09-10T00:00:00Z"
18
22
  }
@@ -3,6 +3,10 @@
3
3
  "prdId": "PRD-001",
4
4
  "title": "Completion contract: assertive-slot success announcement per WCAG 4.1.3 plus per-file remove and retry",
5
5
  "description": "On successful completion of the upload set, the surface renders an assertive-slot announcement in a wrapper carrying role=status or aria-live=assertive with the string \"<N> files uploaded successfully\", per WCAG 4.1.3 Status Messages. Every completed file row carries a keyboard-reachable remove control (returns the row to the pre-upload state and issues a DELETE against the transport where the transport supports removal) and a retry control (visible only after a refusal or a transport error). The completion announcement fires exactly once per set; a retried refusal that then succeeds increments the completed count but does not re-announce.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2402-application-file-upload-transport",
8
+ "field": "interfaces.removeFile"
9
+ },
6
10
  "category": "functional",
7
11
  "domain": "application",
8
12
  "priority": "must",
@@ -0,0 +1,21 @@
1
+ {
2
+ "reqId": "application-file-upload-REQ-006",
3
+ "prdId": "PRD-001",
4
+ "title": "Apply-time answer families bind the six elicits to the upload contract",
5
+ "description": "When the applying project answers the six apply-time elicits, the surface honours each with a runtime clause per family: `blueprint.json.elicits[id=accepted-set]` populates the MIME-type gate; `blueprint.json.elicits[id=size-cap]` populates the per-file byte cap; `blueprint.json.elicits[id=tick-interval]` sets the internal progress polling cadence (owned by `TAC-2403.interfaces.tickInterval`, internal only, not user-observable); `blueprint.json.elicits[id=concurrency]` sets the chunk upload parallelism on the transport TAC; `blueprint.json.elicits[id=polling]` caps the polite live-region announcement cadence (owned by `TAC-2403.interfaces.announcementInterval`); `blueprint.json.elicits[id=chunked-transport]` picks the multipart or tus branch on the transport TAC.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2401-application-file-upload-input",
8
+ "field": "responsibilities.applyElicits"
9
+ },
10
+ "category": "functional",
11
+ "domain": "application",
12
+ "priority": "must",
13
+ "rationale": "The six apply-time answer families named in the guide and ADR-2402 needed one must REQ per family so a project cannot elicit a value and see it ignored silently.",
14
+ "tags": [
15
+ "blueprint:application-file-upload"
16
+ ],
17
+ "version": "1.0.0",
18
+ "status": "approved",
19
+ "createdAt": "2026-09-10T00:00:00Z",
20
+ "updatedAt": "2026-09-10T00:00:00Z"
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "reqId": "application-file-upload-REQ-007",
3
+ "prdId": "PRD-001",
4
+ "title": "virusScan is declared as an own capability the input TAC calls; the applied verifier is elicited per project",
5
+ "description": "The blueprint declares `virusScan` in `capabilities` and the input TAC calls the applied verifier as an async predicate over a File that resolves to `{clean: true}` or `{clean: false, reason: <string>}`. A project supplies the verifier (or elicits the noop verifier and accepts the risk per ADR-2403). The refusal path on a virus-scan hit fires on the input TAC and the refused file never leaves the browser.",
6
+ "deliveredBy": {
7
+ "tacId": "TAC-2401-application-file-upload-input",
8
+ "field": "responsibilities.verifyVirusScan"
9
+ },
10
+ "category": "security",
11
+ "domain": "application",
12
+ "priority": "must",
13
+ "rationale": "ADR-2403 contributes virusScan but the manifest declared no capability; declaring it as an own capability with a must REQ closes the seam.",
14
+ "tags": [
15
+ "blueprint:application-file-upload"
16
+ ],
17
+ "version": "1.0.0",
18
+ "status": "approved",
19
+ "createdAt": "2026-09-10T00:00:00Z",
20
+ "updatedAt": "2026-09-10T00:00:00Z"
21
+ }
@@ -11,7 +11,9 @@
11
11
  "Render a [data-drop-zone] region that accepts dropped files but is never the only input path (WCAG 2.5.7).",
12
12
  "Render a [data-open-picker] button that opens the same picker on Enter or Space (AC-23101-1).",
13
13
  "Aggregate the three input paths into one file-selection set the transport TAC drains (AC-23101-1).",
14
- "Render a per-file error region with an aria-describedby binding and a [data-recovery=\"retry\"] control on refusal, and hand refused files to the transport TAC's refusal-render seam so no bytes leave the browser (AC-23103-1)."
14
+ "Render a per-file error region with an aria-describedby binding and a [data-recovery=\"retry\"] control on refusal, and hand refused files to the transport TAC's refusal-render seam so no bytes leave the browser (AC-23103-1).",
15
+ "applyElicits: at apply time, dispatch each of the six answer families to its owner interface: `accepted-set` and `size-cap` populate the input gate; `tick-interval` binds `TAC-2403.interfaces.tickInterval`; `concurrency` binds the transport chunk parallelism on `TAC-2402`; `polling` binds `TAC-2403.interfaces.announcementInterval`; `chunked-transport` selects the transport branch on `TAC-2402`. Per REQ-006 (AC-23106-1 through AC-23108-1).",
16
+ "verifyVirusScan: call the applied virus-scan verifier as an async predicate over each collected File; on `{clean: false, reason}` route the file to `interfaces.renderRefusal`, ensuring no bytes leave the browser. The blueprint provides the `virusScan` capability that names this verifier hook. Per REQ-007 (AC-23103-1)."
15
17
  ],
16
18
  "internalStructure": "One input-surface module the shell mounts on route entry. On file addition the module normalises the three input paths (input change, drop event, picker-opener button) into a File[] selection set, tags each entry with a stable [data-file-row] id, runs the accepted-set gates (MIME per ADR-2402, size per ADR-2402) and the virus-scan hook per ADR-2403 before handing the set to the transport TAC. Refusal renders inside the file row with a [data-error-message] element whose id is referenced by the row's aria-describedby attribute; the closed refusal-reason enum {mime-refused, size-refused, virus-refused} rides [data-refusal-reason].",
17
19
  "interfaces": [
@@ -43,4 +45,4 @@
43
45
  "notes": "See README Known mechanism-reach gaps for the full list.",
44
46
  "createdAt": "2026-09-06T16:55:00Z",
45
47
  "updatedAt": "2026-09-06T16:55:00Z"
46
- }
48
+ }
@@ -2,7 +2,7 @@
2
2
  "tacId": "TAC-2402-application-file-upload-transport",
3
3
  "prdId": "PRD-001",
4
4
  "tadId": "TAD-001",
5
- "version": "1.0.0",
5
+ "version": "1.0.1",
6
6
  "status": "approved",
7
7
  "name": "Upload transport contract",
8
8
  "purpose": "Owns the wire-level side of the file-upload contract: chunking, resumption, the multipart POST default, the tus.io elicited alternative, the refusal-render seam, and the completion callback. Every AC on REQ-004 that reads the request log anchors on this TAC.",
@@ -30,6 +30,11 @@
30
30
  "name": "transportsEnum",
31
31
  "kind": "shape",
32
32
  "description": "The transport branches are the closed enum {multipart, tus, vendor-sdk}. multipart is the recommended default per ADR-2401."
33
+ },
34
+ {
35
+ "name": "removeFile",
36
+ "kind": "function",
37
+ "description": "removeFile(fileId) -> Promise<void>. Issues a DELETE against the applied endpoint on the multipart branch or aborts the tus PATCH session on the tus branch; refuses with REMOVE_FAILED and surfaces the failure through the per-file error region on non-2xx."
33
38
  }
34
39
  ],
35
40
  "dependencies": [
@@ -43,5 +48,5 @@
43
48
  "tradeoffs": "Three transport branches keep the shelf usable for teams already committed to a vendor SDK, but the per-branch adapter code is real work; a project that never elicits tus or a vendor SDK ships with the multipart adapter only. Bounded parallelism (default 3) is a heuristic; a slow-link project can lower it via the applied endpoint config. Known mechanism-reach gap: the pack cannot probe a network-interruption resume path on the multipart branch without a request-blocking driver; the fixture simulates the pause via a ?interrupt=1 branch and the pack reads the resulting DOM state.",
44
49
  "notes": "See README Known mechanism-reach gaps for the full list.",
45
50
  "createdAt": "2026-09-06T16:55:00Z",
46
- "updatedAt": "2026-09-06T16:55:00Z"
51
+ "updatedAt": "2026-09-10T00:00:00Z"
47
52
  }
@@ -2,18 +2,18 @@
2
2
  "tacId": "TAC-2403-application-file-upload-progress-announcer",
3
3
  "prdId": "PRD-001",
4
4
  "tadId": "TAD-001",
5
- "version": "1.0.0",
5
+ "version": "1.0.1",
6
6
  "status": "approved",
7
7
  "name": "Upload progress announcer",
8
8
  "purpose": "Owns the announcement side of the file-upload contract: the polite live-region wrapper the transport ticks, the aggregate-percent calculator, the assertive-slot completion announcement, and the background-tab tick continuity. Every AC on REQ-002 and REQ-005 that reads the aria-live regions anchors on this TAC.",
9
9
  "responsibilities": [
10
10
  "Mount the polite live-region wrapper at render time so a screen reader adopts it before the first tick (AC-23102-1).",
11
- "Emit a polite text tick every 10 percent of aggregate progress in the closed format \"<uploaded> of <total> files, <PP> percent\" (AC-23102-1).",
11
+ "Emit a polite text tick at the cadence owned by `interfaces.announcementInterval` in the closed format owned by `interfaces.announcementFormatsEnum` (AC-23102-1).",
12
12
  "Compute the aggregate percent as the mean weighted by byte size across the active file set (AC-23102-1).",
13
- "On completion of the set, mount an assertive-slot announcement (aria-live=\"assertive\" or role=\"status\") with the closed text \"<N> files uploaded successfully\", exactly once per set (AC-23105-1).",
13
+ "On completion of the set, mount an assertive-slot announcement (aria-live=\"assertive\" or role=\"status\") in the closed format owned by `interfaces.announcementFormatsEnum`, exactly once per set (AC-23105-1).",
14
14
  "Continue ticking under document visibilitychange to hidden so a backgrounded tab does not stall the announcement (AC-23107-1)."
15
15
  ],
16
- "internalStructure": "One announcer module the transport hooks. The module preseeds the polite wrapper (aria-live polite) on mount, reads per-chunk acknowledgements from the transport, updates a per-file percent + aggregate percent record, and pushes a text tick every time the floor(aggregate/10) integer changes. Completion detection is a single flag; the assertive slot is mounted on mount as an empty wrapper and its textContent is set exactly once per set. Background-tab continuity is achieved by using setInterval on the ack polling loop rather than requestAnimationFrame; the interval keeps firing when the tab is hidden. A project that wants to pause on hidden explicitly elicits the alternative.",
16
+ "internalStructure": "One announcer module the transport hooks. The module preseeds the polite wrapper (aria-live polite) on mount, reads per-chunk acknowledgements from the transport, updates a per-file percent and aggregate percent record, and pushes a text tick at the cadence owned by `interfaces.announcementInterval`. Completion detection is a single flag; the assertive slot is mounted on mount as an empty wrapper and its textContent is set exactly once per set. Background-tab continuity is achieved by using setInterval on the ack polling loop rather than requestAnimationFrame; the interval keeps firing when the tab is hidden. A project that wants to pause on hidden explicitly elicits the alternative.",
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "tick",
@@ -29,6 +29,16 @@
29
29
  "name": "announcementFormatsEnum",
30
30
  "kind": "shape",
31
31
  "description": "The polite format is fixed: /^\\d+ of \\d+ files, \\d{1,3} percent$/; the assertive format is fixed: /^\\d+ files uploaded successfully$/. Localisation is a v1.1.0 minor bump extending the enum with a lookup table."
32
+ },
33
+ {
34
+ "name": "tickInterval",
35
+ "kind": "shape",
36
+ "description": "Internal progress polling cadence in milliseconds (default 250). Internal only, not user-observable; drives the byte-progress reader that feeds the announcer."
37
+ },
38
+ {
39
+ "name": "announcementInterval",
40
+ "kind": "shape",
41
+ "description": "Announcement cadence in seconds (default 2). Caps the polite live-region announcement frequency the user hears; independent of the internal tickInterval."
32
42
  }
33
43
  ],
34
44
  "dependencies": [
@@ -42,5 +52,5 @@
42
52
  "tradeoffs": "One announcer module keeps the aria-live discipline testable but pins the wire format in English at v1.0.0; a localised project elicits the format table in a v1.1.0 minor. Known mechanism-reach gap: the pack asserts the polite wrapper's textContent format but does not additionally probe screen-reader adoption (that requires a real assistive tech in the loop).",
43
53
  "notes": "See README Known mechanism-reach gaps for the full list.",
44
54
  "createdAt": "2026-09-06T16:55:00Z",
45
- "updatedAt": "2026-09-06T16:55:00Z"
46
- }
55
+ "updatedAt": "2026-09-10T00:00:00Z"
56
+ }
@@ -13,7 +13,28 @@
13
13
  "id": "AC-23101-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "The upload region carries [data-surface=\"file-upload\"] and inside it: a labelled <input type=\"file\"> with a keyboard-reachable label (an id-referenced <label> or an aria-label), a [data-drop-zone] region, and a keyboard-focusable [data-open-picker] button that opens the same picker on Enter or Space. The pack drives the real browser to /upload, asserts the three affordances are present, focuses the [data-open-picker] control and presses Enter, then reads that the file input received focus."
16
+ "description": "The upload region carries [data-surface=\"file-upload\"] and inside it: a labelled <input type=\"file\"> with a keyboard-reachable label (an id-referenced <label> or an aria-label), a [data-drop-zone] region, and a keyboard-focusable [data-open-picker] button that opens the same picker on Enter or Space. The pack drives the real browser to /upload, asserts the three affordances are present, focuses the [data-open-picker] control and presses Enter, then reads that the file input received focus.",
17
+ "disposition": "fixed"
18
+ },
19
+ {
20
+ "id": "AC-23101-2",
21
+ "description": "A file whose MIME type is outside the elicited accepted-set is refused at the input with an inline error naming the mismatch and the accepted set; no request is sent to the transport. Applying agent sets: accepted-set.",
22
+ "given": "a file whose MIME type is outside the accepted-set",
23
+ "when": "the principal drops or selects the file",
24
+ "then": "the input refuses the file inline, an aria-describedby-bound error names the mismatch and the accepted set, and no transport call fires",
25
+ "testable": true,
26
+ "scope": "runtime",
27
+ "disposition": "template"
28
+ },
29
+ {
30
+ "id": "AC-23101-3",
31
+ "description": "A file whose size exceeds the elicited size-cap is refused inline with the cap named in bytes and a human-readable form; the input never accepts the file into the drop-zone queue. Applying agent sets: size-cap.",
32
+ "given": "a file whose size exceeds the elicited size-cap",
33
+ "when": "the principal drops or selects the file",
34
+ "then": "the input refuses inline with the cap named and no transport call fires",
35
+ "testable": true,
36
+ "scope": "runtime",
37
+ "disposition": "template"
17
38
  }
18
39
  ],
19
40
  "tacIds": [
@@ -24,5 +45,5 @@
24
45
  "affordance:input-plus-drop-plus-keyboard"
25
46
  ],
26
47
  "createdAt": "2026-09-06T16:55:00Z",
27
- "updatedAt": "2026-09-06T16:55:00Z"
48
+ "updatedAt": "2026-09-10T00:00:00Z"
28
49
  }
@@ -4,16 +4,41 @@
4
4
  "reqId": "application-file-upload-REQ-002",
5
5
  "version": "1.0.0",
6
6
  "status": "approved",
7
- "title": "The progress announcer emits per-file and aggregate progress through a polite live-region wrapper",
7
+ "title": "The progress announcer emits per-file and aggregate progress through a polite live-region wrapper at the manifest-owned cadence",
8
8
  "asA": "operator watching an upload progress on a screen reader or a low-vision magnifier",
9
- "iWant": "a polite live-region tick every 10 percent of aggregate progress that names how many files have completed out of how many",
9
+ "iWant": "a polite live-region tick at the cadence owned by `TAC-2403.interfaces.announcementInterval` that names how many files have completed out of how many",
10
10
  "soThat": "I know the upload is still working without watching the screen and I can tell when it stalls",
11
11
  "acceptanceCriteria": [
12
12
  {
13
13
  "id": "AC-23102-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "The upload region ships a [data-live-region=\"polite\"] wrapper with aria-live=\"polite\" preseeded at render time. During an upload the wrapper's textContent matches /^\\d+ of \\d+ files, \\d{1,3} percent$/ and the numeric aggregate percent advances monotonically. Per-file rows carry [data-file-row] with a [data-file-progress] element whose text or aria-valuenow reflects the per-file percent. The pack drives /upload?transport=multipart, starts the upload, and reads the wrapper text plus one per-file progress value before completion."
16
+ "description": "The upload region ships a [data-live-region=\"polite\"] wrapper with aria-live=\"polite\" preseeded at render time. During an upload the wrapper's textContent matches /^\\d+ of \\d+ files, \\d{1,3} percent$/ and the numeric aggregate percent advances monotonically. Per-file rows carry [data-file-row] with a [data-file-progress] element whose text or aria-valuenow reflects the per-file percent. The pack drives /upload?transport=multipart, starts the upload, and reads the wrapper text plus one per-file progress value before completion.",
17
+ "disposition": "fixed"
18
+ },
19
+ {
20
+ "id": "AC-23102-2",
21
+ "description": "Aggregate progress is the byte-weighted sum of per-file progresses: three files of 1 MiB, 2 MiB and 5 MiB produce an aggregate percentage weighted by size, not a plain average of the three per-file percentages.",
22
+ "given": "three files of unequal size uploading concurrently",
23
+ "when": "the announcer emits aggregate progress",
24
+ "then": "the announced aggregate percentage equals the byte-weighted sum of per-file bytes uploaded over total bytes",
25
+ "testable": true,
26
+ "scope": "runtime",
27
+ "disposition": "fixed"
28
+ },
29
+ {
30
+ "id": "AC-23102-3",
31
+ "description": "The polite live region emits one aggregate progress announcement per the elicited announcement interval owned by `TAC-2403.interfaces.announcementInterval` and never emits more than once per that interval, so that assistive tech does not receive an announcement flood.",
32
+ "given": "an in-flight upload and the announcement interval resolved from `TAC-2403.interfaces.announcementInterval`",
33
+ "when": "ticks fire",
34
+ "then": "the polite live region carries at most one aggregate announcement per that interval",
35
+ "testable": true,
36
+ "scope": "runtime",
37
+ "disposition": "fixed",
38
+ "ownerRef": {
39
+ "tacId": "TAC-2403-application-file-upload-progress-announcer",
40
+ "field": "interfaces.announcementInterval"
41
+ }
17
42
  }
18
43
  ],
19
44
  "tacIds": [
@@ -24,5 +49,5 @@
24
49
  "affordance:polite-progress"
25
50
  ],
26
51
  "createdAt": "2026-09-06T16:55:00Z",
27
- "updatedAt": "2026-09-06T16:55:00Z"
52
+ "updatedAt": "2026-09-10T00:00:00Z"
28
53
  }
@@ -13,7 +13,18 @@
13
13
  "id": "AC-23103-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "When the fixture is seeded with a refused file (MIME mismatch, size cap exceeded, or virus-scan hit), the file row [data-file-row][data-refused=\"true\"] renders a [data-error-message] element whose id is referenced by the row's aria-describedby attribute, the row exposes the closed refusal reason via [data-refusal-reason] (one of mime-refused, size-refused, virus-refused), a [data-recovery=\"retry\"] control receives keyboard focus, and the pack observes zero POST or PATCH requests carrying the refused filename on the browser's request log."
16
+ "description": "When the fixture is seeded with a refused file (MIME mismatch, size cap exceeded, or virus-scan hit), the file row [data-file-row][data-refused=\"true\"] renders a [data-error-message] element whose id is referenced by the row's aria-describedby attribute, the row exposes the closed refusal reason via [data-refusal-reason] (one of mime-refused, size-refused, virus-refused), a [data-recovery=\"retry\"] control receives keyboard focus, and the pack observes zero POST or PATCH requests carrying the refused filename on the browser's request log.",
17
+ "disposition": "fixed"
18
+ },
19
+ {
20
+ "id": "AC-23103-2",
21
+ "description": "On a per-file transport failure (non-2xx from the transport POST/PATCH), the row renders with data-file-outcome=failed and focus moves to a retry control on the row; a subsequent retry starts from the last acknowledged Upload-Offset on tus.",
22
+ "given": "a per-file upload that fails on the transport",
23
+ "when": "the failure is reported",
24
+ "then": "the row shows data-file-outcome=failed, focus lands on the retry control and retry starts from the last acknowledged offset",
25
+ "testable": true,
26
+ "scope": "runtime",
27
+ "disposition": "fixed"
17
28
  }
18
29
  ],
19
30
  "tacIds": [
@@ -25,5 +36,5 @@
25
36
  "affordance:refusal"
26
37
  ],
27
38
  "createdAt": "2026-09-06T16:55:00Z",
28
- "updatedAt": "2026-09-06T16:55:00Z"
39
+ "updatedAt": "2026-09-10T00:00:00Z"
29
40
  }
@@ -13,7 +13,50 @@
13
13
  "id": "AC-23104-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "On the ?transport=multipart branch the fixture returns 200 with a completed chunk count higher than 1 on a file large enough to force chunking; the DOM exposes [data-transport=\"multipart\"] and [data-chunks-uploaded] whose numeric value equals the completed chunk count. On the ?transport=tus branch the pack observes at least one PATCH request on the browser's network log whose request headers include Upload-Offset with a numeric value, and the DOM exposes [data-transport=\"tus\"] with [data-chunks-uploaded] > 1."
16
+ "description": "On the ?transport=multipart branch the fixture returns 200 with a completed chunk count higher than 1 on a file large enough to force chunking; the DOM exposes [data-transport=\"multipart\"] and [data-chunks-uploaded] whose numeric value equals the completed chunk count. On the ?transport=tus branch the pack observes at least one PATCH request on the browser's network log whose request headers include Upload-Offset with a numeric value, and the DOM exposes [data-transport=\"tus\"] with [data-chunks-uploaded] > 1.",
17
+ "disposition": "fixed",
18
+ "vendorCitation": {
19
+ "url": "https://tus.io/protocols/resumable-upload#patch",
20
+ "verifiedOn": "2026-09-10"
21
+ }
22
+ },
23
+ {
24
+ "id": "AC-23104-2",
25
+ "description": "When the transport is tus.io and no tus server or client library prerequisite is available at apply time, apply refuses with TUS_PREREQUISITE_MISSING naming the missing side (server or client) and the remedy to install it; no upload code is written to the project until the prerequisite is present.",
26
+ "given": "tus transport elicited without the tus server or client dependency installed",
27
+ "when": "apply runs",
28
+ "then": "apply exits with a non-zero code, TUS_PREREQUISITE_MISSING names the missing side and the remedy, and no transport code is added",
29
+ "testable": true,
30
+ "scope": "runtime",
31
+ "disposition": "fixed"
32
+ },
33
+ {
34
+ "id": "AC-23104-3",
35
+ "description": "Upload-Offset on the tus branch matches the byte offset the server has durably acknowledged; a chunk write that returns a non-2xx does not advance Upload-Offset and a subsequent PATCH resumes from the last acknowledged offset.",
36
+ "given": "a tus upload with a chunk that returns a non-2xx",
37
+ "when": "the client inspects Upload-Offset and retries",
38
+ "then": "Upload-Offset reflects the last acknowledged offset only, and the resume PATCH sends bytes from that offset onward",
39
+ "testable": true,
40
+ "scope": "runtime",
41
+ "disposition": "fixed",
42
+ "vendorCitation": {
43
+ "url": "https://tus.io/protocols/resumable-upload#patch",
44
+ "verifiedOn": "2026-09-10"
45
+ }
46
+ },
47
+ {
48
+ "id": "AC-23104-4",
49
+ "description": "A chunk write whose response headers do not include a valid Upload-Offset header (missing, malformed, or beyond the total) is treated as a transport failure: the client refuses to advance and the polite live region announces the failure.",
50
+ "given": "a chunk response with a malformed or missing Upload-Offset",
51
+ "when": "the client processes the response",
52
+ "then": "the client does not advance its offset, the polite live region announces the failure and a retry stays keyboard-reachable",
53
+ "testable": true,
54
+ "scope": "runtime",
55
+ "disposition": "fixed",
56
+ "vendorCitation": {
57
+ "url": "https://tus.io/protocols/resumable-upload#patch",
58
+ "verifiedOn": "2026-09-10"
59
+ }
17
60
  }
18
61
  ],
19
62
  "tacIds": [
@@ -24,5 +67,5 @@
24
67
  "affordance:chunked-resumable"
25
68
  ],
26
69
  "createdAt": "2026-09-06T16:55:00Z",
27
- "updatedAt": "2026-09-06T16:55:00Z"
70
+ "updatedAt": "2026-09-10T00:00:00Z"
28
71
  }
@@ -13,7 +13,42 @@
13
13
  "id": "AC-23105-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "After the fixture completes the upload set the upload region carries a [data-assertive-slot] element with aria-live=\"assertive\" or role=\"status\" whose textContent matches /^\\d+ files uploaded successfully$/, each completed file row carries [data-file-row][data-file-state=\"complete\"], a keyboard-reachable [data-recovery=\"remove\"] button per row and, after a refused-then-succeeded row, a [data-recovery=\"retry\"] button visible only until the retry succeeds."
16
+ "description": "After the fixture completes the upload set the upload region carries a [data-assertive-slot] element with aria-live=\"assertive\" or role=\"status\" whose textContent matches /^\\d+ files uploaded successfully$/, each completed file row carries [data-file-row][data-file-state=\"complete\"], a keyboard-reachable [data-recovery=\"remove\"] button per row and, after a refused-then-succeeded row, a [data-recovery=\"retry\"] button visible only until the retry succeeds.",
17
+ "disposition": "fixed"
18
+ },
19
+ {
20
+ "id": "AC-23105-2",
21
+ "description": "On successful removal (the transport DELETE returns 204 or a defined 200), the upload surface removes the row, announces the removal via the polite live region and no upload artefact remains referenced in the applied data blueprint.",
22
+ "given": "a completed upload row and a successful DELETE",
23
+ "when": "the principal activates remove",
24
+ "then": "the row is removed from the DOM, a polite announcement fires and the applied data blueprint no longer references the artefact",
25
+ "testable": true,
26
+ "scope": "runtime",
27
+ "disposition": "fixed"
28
+ },
29
+ {
30
+ "id": "AC-23105-3",
31
+ "description": "When the transport DELETE returns a non-2xx or times out, the row remains with data-remove-outcome=failed, the assertive live region announces the failure, no recovery artefact is deleted downstream, and a retry stays keyboard-reachable.",
32
+ "given": "a completed upload row and a DELETE that returns a non-2xx or times out",
33
+ "when": "the principal activates remove",
34
+ "then": "the row remains with data-remove-outcome=failed, the assertive live region announces the failure and a retry is keyboard-reachable",
35
+ "testable": true,
36
+ "scope": "runtime",
37
+ "disposition": "fixed",
38
+ "ownerRef": {
39
+ "tacId": "TAC-2402-application-file-upload-transport",
40
+ "field": "interfaces.removeFile"
41
+ }
42
+ },
43
+ {
44
+ "id": "AC-23105-4",
45
+ "description": "The completion once contract: a single upload emits exactly one completion announcement even under a retry; two rapid completions from the same upload id emit one announcement (idempotency of a retried operation).",
46
+ "given": "an upload that emits two completion events for the same upload id",
47
+ "when": "the completions are dispatched",
48
+ "then": "exactly one completion announcement fires and no duplicate data-complete=true is emitted",
49
+ "testable": true,
50
+ "scope": "runtime",
51
+ "disposition": "fixed"
17
52
  }
18
53
  ],
19
54
  "tacIds": [
@@ -25,5 +60,5 @@
25
60
  "affordance:completion"
26
61
  ],
27
62
  "createdAt": "2026-09-06T16:55:00Z",
28
- "updatedAt": "2026-09-06T16:55:00Z"
63
+ "updatedAt": "2026-09-10T00:00:00Z"
29
64
  }
@@ -13,7 +13,18 @@
13
13
  "id": "AC-23106-1",
14
14
  "testable": true,
15
15
  "scope": "runtime",
16
- "description": "On the ?interrupt=1 branch of the fixture the upload pauses after the first acknowledged chunk, the DOM exposes [data-file-state=\"paused\"] and [data-chunks-uploaded] with a numeric value greater than zero on the paused row, and after the fixture resumes with ?resume=1 the row transitions to [data-file-state=\"complete\"] with the accumulated [data-chunks-uploaded] equal to the total chunk count. The pack asserts no chunk index is re-uploaded (the fixture records the received offsets on the row and never repeats one)."
16
+ "description": "On the ?interrupt=1 branch of the fixture the upload pauses after the first acknowledged chunk, the DOM exposes [data-file-state=\"paused\"] and [data-chunks-uploaded] with a numeric value greater than zero on the paused row, and after the fixture resumes with ?resume=1 the row transitions to [data-file-state=\"complete\"] with the accumulated [data-chunks-uploaded] equal to the total chunk count. The pack asserts no chunk index is re-uploaded (the fixture records the received offsets on the row and never repeats one).",
17
+ "disposition": "fixed"
18
+ },
19
+ {
20
+ "id": "AC-23106-2",
21
+ "description": "When the resume PATCH lands but the server responds with an Upload-Offset less than the client-known offset (a lost server-side state), the client aborts the upload with UPLOAD_OFFSET_REGRESSION rather than replaying bytes; the row remains with a defined failure and a manual retry option.",
22
+ "given": "a resume attempt where the server returns a lower Upload-Offset than the client tracked",
23
+ "when": "the client processes the response",
24
+ "then": "the upload aborts with UPLOAD_OFFSET_REGRESSION, the row shows the defined failure and a manual retry is offered",
25
+ "testable": true,
26
+ "scope": "runtime",
27
+ "disposition": "fixed"
17
28
  }
18
29
  ],
19
30
  "tacIds": [
@@ -24,5 +35,5 @@
24
35
  "affordance:resumption"
25
36
  ],
26
37
  "createdAt": "2026-09-06T16:55:00Z",
27
- "updatedAt": "2026-09-06T16:55:00Z"
38
+ "updatedAt": "2026-09-10T00:00:00Z"
28
39
  }