rcf-lite 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1525) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +10 -0
  3. package/bin/rcf.js +2 -0
  4. package/blueprints/application-account-settings/CHANGELOG.md +64 -2
  5. package/blueprints/application-account-settings/README.md +10 -10
  6. package/blueprints/application-account-settings/blueprint.json +26 -4
  7. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +1 -1
  8. package/blueprints/application-account-settings/contributions/adrs/adr-2602-application-account-settings-security-surface-shape.json +1 -1
  9. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +5 -5
  10. package/blueprints/application-account-settings/contributions/probes/probe-utils.mjs +177 -0
  11. package/blueprints/application-account-settings/contributions/probes/profile-form-autocomplete.mjs +67 -0
  12. package/blueprints/application-account-settings/contributions/probes/run-profile-form-autocomplete.mjs +5 -0
  13. package/blueprints/application-account-settings/contributions/probes/run-sessions-adapter-uniform.mjs +5 -0
  14. package/blueprints/application-account-settings/contributions/probes/run-sessions-surface-shape.mjs +5 -0
  15. package/blueprints/application-account-settings/contributions/probes/run-shell-tablist-per-capability.mjs +5 -0
  16. package/blueprints/application-account-settings/contributions/probes/run-theme-radiogroup.mjs +5 -0
  17. package/blueprints/application-account-settings/contributions/probes/sessions-adapter-uniform.mjs +130 -0
  18. package/blueprints/application-account-settings/contributions/probes/sessions-surface-shape.mjs +70 -0
  19. package/blueprints/application-account-settings/contributions/probes/shell-tablist-per-capability.mjs +60 -0
  20. package/blueprints/application-account-settings/contributions/probes/theme-radiogroup.mjs +126 -0
  21. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +6 -2
  22. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +4 -0
  23. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +7 -3
  24. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +4 -0
  25. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +4 -0
  26. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +6 -2
  27. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +22 -0
  28. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +21 -0
  29. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +8 -4
  30. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +3 -3
  31. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +13 -7
  32. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +19 -3
  33. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -2
  34. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +13 -2
  35. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +23 -2
  36. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +51 -3
  37. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +25 -6
  38. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +13 -2
  39. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -2
  40. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +4 -2
  41. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +13 -2
  42. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +71 -0
  43. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +77 -0
  44. package/blueprints/application-account-settings/docs/topics.md +4 -4
  45. package/blueprints/application-account-settings/guide/application-account-settings.md +1 -1
  46. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +2 -2
  47. package/blueprints/application-admin-console/CHANGELOG.md +69 -7
  48. package/blueprints/application-admin-console/README.md +4 -4
  49. package/blueprints/application-admin-console/blueprint.json +34 -2
  50. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +2 -2
  51. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +5 -5
  52. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +7 -7
  53. package/blueprints/application-admin-console/contributions/adrs/adr-2214-application-admin-console-consume-zero-trust-gate.json +3 -3
  54. package/blueprints/application-admin-console/contributions/probes/audit-log-surface.mjs +79 -0
  55. package/blueprints/application-admin-console/contributions/probes/org-switcher-surface.mjs +83 -0
  56. package/blueprints/application-admin-console/contributions/probes/permission-matrix-grid.mjs +67 -0
  57. package/blueprints/application-admin-console/contributions/probes/probe-utils.mjs +177 -0
  58. package/blueprints/application-admin-console/contributions/probes/run-audit-log-surface.mjs +5 -0
  59. package/blueprints/application-admin-console/contributions/probes/run-org-switcher-surface.mjs +5 -0
  60. package/blueprints/application-admin-console/contributions/probes/run-permission-matrix-grid.mjs +5 -0
  61. package/blueprints/application-admin-console/contributions/probes/run-sign-in-access-gated-surface.mjs +5 -0
  62. package/blueprints/application-admin-console/contributions/probes/run-users-directory-surface.mjs +5 -0
  63. package/blueprints/application-admin-console/contributions/probes/sign-in-access-gated-surface.mjs +117 -0
  64. package/blueprints/application-admin-console/contributions/probes/users-directory-surface.mjs +145 -0
  65. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +4 -0
  66. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +5 -1
  67. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +4 -0
  68. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +4 -0
  69. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +6 -2
  70. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +4 -0
  71. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +22 -0
  72. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +22 -0
  73. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +21 -0
  74. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +6 -2
  75. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +9 -7
  76. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +6 -6
  77. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +1 -1
  78. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +5 -5
  79. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +4 -2
  80. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +4 -2
  81. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +10 -4
  82. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +13 -2
  83. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +15 -3
  84. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +35 -2
  85. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +22 -3
  86. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +4 -2
  87. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +4 -2
  88. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21110.json +68 -0
  89. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +76 -0
  90. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +77 -0
  91. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +21 -2
  92. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +21 -2
  93. package/blueprints/application-admin-console/guide/application-admin-console.md +3 -3
  94. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +2 -2
  95. package/blueprints/application-api-rest/CHANGELOG.md +34 -0
  96. package/blueprints/application-api-rest/README.md +3 -3
  97. package/blueprints/application-api-rest/assets/samples/request-response-pairs.md +2 -0
  98. package/blueprints/application-api-rest/blueprint.json +3 -2
  99. package/blueprints/application-api-rest/contributions/adrs/adr-301-application-api-rest-error-envelope.json +1 -1
  100. package/blueprints/application-api-rest/contributions/adrs/adr-302-application-api-rest-auth-model.json +2 -2
  101. package/blueprints/application-api-rest/contributions/adrs/adr-303-application-api-rest-api-versioning.json +1 -1
  102. package/blueprints/application-api-rest/contributions/adrs/adr-304-application-api-rest-logging.json +1 -1
  103. package/blueprints/application-api-rest/contributions/adrs/adr-305-application-api-rest-pagination.json +1 -1
  104. package/blueprints/application-api-rest/contributions/adrs/adr-306-application-api-rest-idempotency.json +3 -3
  105. package/blueprints/application-api-rest/contributions/adrs/adr-307-application-api-rest-openapi-generation.json +1 -1
  106. package/blueprints/application-api-rest/contributions/adrs/adr-308-application-api-rest-rate-limiting.json +1 -1
  107. package/blueprints/application-api-rest/contributions/probes/cursor-pagination-round-trip.mjs +154 -0
  108. package/blueprints/application-api-rest/contributions/probes/health-probes-distinct.mjs +124 -0
  109. package/blueprints/application-api-rest/contributions/probes/probe-utils.mjs +177 -0
  110. package/blueprints/application-api-rest/contributions/probes/problem-details-on-error.mjs +77 -0
  111. package/blueprints/application-api-rest/contributions/probes/request-id-echoed.mjs +76 -0
  112. package/blueprints/application-api-rest/contributions/probes/run-cursor-pagination-round-trip.mjs +5 -0
  113. package/blueprints/application-api-rest/contributions/probes/run-health-probes-distinct.mjs +5 -0
  114. package/blueprints/application-api-rest/contributions/probes/run-problem-details-on-error.mjs +5 -0
  115. package/blueprints/application-api-rest/contributions/probes/run-request-id-echoed.mjs +5 -0
  116. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +6 -2
  117. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +7 -3
  118. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-003.json +6 -2
  119. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +6 -2
  120. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-005.json +6 -2
  121. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-006.json +6 -2
  122. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-007.json +6 -2
  123. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +6 -2
  124. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-009.json +6 -2
  125. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-010.json +8 -4
  126. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-011.json +6 -2
  127. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-012.json +6 -2
  128. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-013.json +7 -3
  129. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-014.json +6 -2
  130. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-015.json +6 -2
  131. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +6 -2
  132. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +1 -1
  133. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +1 -1
  134. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +2 -2
  135. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +1 -1
  136. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +1 -1
  137. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +1 -1
  138. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2101.json +13 -7
  139. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +27 -13
  140. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +18 -9
  141. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +32 -10
  142. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +19 -6
  143. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2106.json +14 -8
  144. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2107.json +20 -12
  145. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +37 -15
  146. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2109.json +15 -9
  147. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +21 -11
  148. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +42 -8
  149. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2112.json +23 -13
  150. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2113.json +17 -11
  151. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2114.json +13 -8
  152. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2115.json +13 -8
  153. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2116.json +11 -6
  154. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2117.json +19 -14
  155. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +20 -10
  156. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +20 -7
  157. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2120.json +16 -10
  158. package/blueprints/application-api-rest/docs/topics.md +1 -1
  159. package/blueprints/application-charts/CHANGELOG.md +53 -6
  160. package/blueprints/application-charts/README.md +10 -10
  161. package/blueprints/application-charts/blueprint.json +115 -19
  162. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +2 -2
  163. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +1 -1
  164. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +1 -1
  165. package/blueprints/application-charts/contributions/probes/keyboard-traversal.mjs +151 -0
  166. package/blueprints/application-charts/contributions/probes/non-colour-distinction.mjs +67 -0
  167. package/blueprints/application-charts/contributions/probes/probe-utils.mjs +177 -0
  168. package/blueprints/application-charts/contributions/probes/run-keyboard-traversal.mjs +5 -0
  169. package/blueprints/application-charts/contributions/probes/run-non-colour-distinction.mjs +5 -0
  170. package/blueprints/application-charts/contributions/probes/run-text-alternative-table.mjs +5 -0
  171. package/blueprints/application-charts/contributions/probes/text-alternative-table.mjs +139 -0
  172. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +11 -4
  173. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +11 -4
  174. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +10 -3
  175. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +10 -3
  176. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +3 -2
  177. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +1 -1
  178. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +52 -8
  179. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +58 -6
  180. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +54 -6
  181. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +55 -6
  182. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +64 -8
  183. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +45 -7
  184. package/blueprints/application-charts/docs/topics.md +2 -2
  185. package/blueprints/application-charts/guide/application-charts.md +3 -3
  186. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +2 -2
  187. package/blueprints/application-dashboard/CHANGELOG.md +39 -8
  188. package/blueprints/application-dashboard/README.md +13 -13
  189. package/blueprints/application-dashboard/assets/guidance/dashboard-design.md +2 -2
  190. package/blueprints/application-dashboard/blueprint.json +149 -22
  191. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +4 -4
  192. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +2 -2
  193. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +1 -1
  194. package/blueprints/application-dashboard/contributions/probes/export-handle-formats.mjs +75 -0
  195. package/blueprints/application-dashboard/contributions/probes/four-tile-states.mjs +75 -0
  196. package/blueprints/application-dashboard/contributions/probes/primary-kpi-top-left.mjs +58 -0
  197. package/blueprints/application-dashboard/contributions/probes/probe-utils.mjs +177 -0
  198. package/blueprints/application-dashboard/contributions/probes/run-export-handle-formats.mjs +4 -0
  199. package/blueprints/application-dashboard/contributions/probes/run-four-tile-states.mjs +4 -0
  200. package/blueprints/application-dashboard/contributions/probes/run-primary-kpi-top-left.mjs +4 -0
  201. package/blueprints/application-dashboard/contributions/probes/run-shell-five-regions.mjs +4 -0
  202. package/blueprints/application-dashboard/contributions/probes/shell-five-regions.mjs +93 -0
  203. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +10 -3
  204. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +11 -4
  205. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +11 -4
  206. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +11 -4
  207. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +11 -4
  208. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +1 -1
  209. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +2 -2
  210. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +3 -3
  211. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +55 -7
  212. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +56 -8
  213. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +59 -7
  214. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +55 -7
  215. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +55 -7
  216. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +60 -8
  217. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +57 -9
  218. package/blueprints/application-dashboard/docs/topics.md +3 -3
  219. package/blueprints/application-dashboard/guide/application-dashboard.md +5 -5
  220. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +4 -4
  221. package/blueprints/application-datatable/CHANGELOG.md +36 -5
  222. package/blueprints/application-datatable/README.md +4 -4
  223. package/blueprints/application-datatable/blueprint.json +169 -26
  224. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +1 -1
  225. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +1 -1
  226. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +1 -1
  227. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +1 -1
  228. package/blueprints/application-datatable/contributions/probes/apg-table-shape.mjs +57 -0
  229. package/blueprints/application-datatable/contributions/probes/four-states-regions.mjs +80 -0
  230. package/blueprints/application-datatable/contributions/probes/probe-utils.mjs +177 -0
  231. package/blueprints/application-datatable/contributions/probes/run-apg-table-shape.mjs +4 -0
  232. package/blueprints/application-datatable/contributions/probes/run-four-states-regions.mjs +4 -0
  233. package/blueprints/application-datatable/contributions/probes/run-search-adapter-round-trip.mjs +4 -0
  234. package/blueprints/application-datatable/contributions/probes/run-sort-adapter-round-trip.mjs +4 -0
  235. package/blueprints/application-datatable/contributions/probes/search-adapter-round-trip.mjs +58 -0
  236. package/blueprints/application-datatable/contributions/probes/sort-adapter-round-trip.mjs +60 -0
  237. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +11 -4
  238. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +11 -4
  239. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +10 -3
  240. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +11 -4
  241. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +10 -3
  242. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +11 -4
  243. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +1 -1
  244. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +1 -1
  245. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  246. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +29 -7
  247. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +29 -7
  248. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +28 -6
  249. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +65 -7
  250. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +32 -7
  251. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +60 -7
  252. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +72 -7
  253. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +59 -9
  254. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +58 -9
  255. package/blueprints/application-datatable/docs/topics.md +1 -1
  256. package/blueprints/application-datatable/guide/application-datatable.md +1 -1
  257. package/blueprints/application-empty-error-states/CHANGELOG.md +64 -4
  258. package/blueprints/application-empty-error-states/README.md +3 -3
  259. package/blueprints/application-empty-error-states/blueprint.json +38 -2
  260. package/blueprints/application-empty-error-states/contributions/probes/empty-list-and-no-search.mjs +66 -0
  261. package/blueprints/application-empty-error-states/contributions/probes/error-boundary-alert.mjs +65 -0
  262. package/blueprints/application-empty-error-states/contributions/probes/forbidden-and-server-error.mjs +167 -0
  263. package/blueprints/application-empty-error-states/contributions/probes/not-found-and-recovery.mjs +61 -0
  264. package/blueprints/application-empty-error-states/contributions/probes/permission-denied-and-offline.mjs +155 -0
  265. package/blueprints/application-empty-error-states/contributions/probes/probe-utils.mjs +177 -0
  266. package/blueprints/application-empty-error-states/contributions/probes/run-empty-list-and-no-search.mjs +5 -0
  267. package/blueprints/application-empty-error-states/contributions/probes/run-error-boundary-alert.mjs +5 -0
  268. package/blueprints/application-empty-error-states/contributions/probes/run-forbidden-and-server-error.mjs +5 -0
  269. package/blueprints/application-empty-error-states/contributions/probes/run-not-found-and-recovery.mjs +5 -0
  270. package/blueprints/application-empty-error-states/contributions/probes/run-permission-denied-and-offline.mjs +5 -0
  271. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +4 -0
  272. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +7 -3
  273. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +4 -0
  274. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +6 -2
  275. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +7 -3
  276. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +21 -0
  277. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +21 -0
  278. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +7 -4
  279. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +3 -2
  280. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +17 -2
  281. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +31 -2
  282. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +27 -2
  283. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +13 -2
  284. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +33 -2
  285. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +13 -2
  286. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +23 -2
  287. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +27 -2
  288. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +93 -9
  289. package/blueprints/application-error-handling/CHANGELOG.md +56 -0
  290. package/blueprints/application-error-handling/blueprint.json +106 -20
  291. package/blueprints/application-error-handling/contributions/adrs/adr-1701-application-error-handling-record-shape.json +1 -1
  292. package/blueprints/application-error-handling/contributions/adrs/adr-1702-application-error-handling-classification-vocabulary.json +1 -1
  293. package/blueprints/application-error-handling/contributions/adrs/adr-1703-application-error-handling-transport-mapping.json +1 -1
  294. package/blueprints/application-error-handling/contributions/probes/category-vocabulary.mjs +90 -0
  295. package/blueprints/application-error-handling/contributions/probes/probe-utils.mjs +177 -0
  296. package/blueprints/application-error-handling/contributions/probes/record-shape-adr-1701.mjs +78 -0
  297. package/blueprints/application-error-handling/contributions/probes/run-category-vocabulary.mjs +5 -0
  298. package/blueprints/application-error-handling/contributions/probes/run-record-shape-adr-1701.mjs +5 -0
  299. package/blueprints/application-error-handling/contributions/probes/run-two-boundaries-registered.mjs +5 -0
  300. package/blueprints/application-error-handling/contributions/probes/two-boundaries-registered.mjs +343 -0
  301. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-001.json +10 -3
  302. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-002.json +10 -3
  303. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-003.json +10 -3
  304. package/blueprints/application-error-handling/contributions/requirements/application-error-handling-req-004.json +10 -3
  305. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +1 -1
  306. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +1 -1
  307. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +63 -4
  308. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16102.json +49 -4
  309. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16103.json +51 -5
  310. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16104.json +49 -4
  311. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16105.json +49 -4
  312. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16106.json +49 -4
  313. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +53 -4
  314. package/blueprints/application-file-upload/CHANGELOG.md +60 -5
  315. package/blueprints/application-file-upload/README.md +1 -1
  316. package/blueprints/application-file-upload/blueprint.json +58 -2
  317. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +3 -3
  318. package/blueprints/application-file-upload/contributions/probes/assertive-completion-slot.mjs +78 -0
  319. package/blueprints/application-file-upload/contributions/probes/chunked-transport-endpoints.mjs +173 -0
  320. package/blueprints/application-file-upload/contributions/probes/per-file-progressbar.mjs +124 -0
  321. package/blueprints/application-file-upload/contributions/probes/probe-utils.mjs +177 -0
  322. package/blueprints/application-file-upload/contributions/probes/run-assertive-completion-slot.mjs +4 -0
  323. package/blueprints/application-file-upload/contributions/probes/run-chunked-transport-endpoints.mjs +4 -0
  324. package/blueprints/application-file-upload/contributions/probes/run-per-file-progressbar.mjs +4 -0
  325. package/blueprints/application-file-upload/contributions/probes/run-upload-surface-shape.mjs +4 -0
  326. package/blueprints/application-file-upload/contributions/probes/upload-surface-shape.mjs +55 -0
  327. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +5 -1
  328. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +8 -4
  329. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +7 -3
  330. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +7 -3
  331. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +5 -1
  332. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +21 -0
  333. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +21 -0
  334. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +4 -2
  335. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +7 -2
  336. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +16 -6
  337. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +23 -2
  338. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +29 -4
  339. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +13 -2
  340. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +45 -2
  341. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +37 -2
  342. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +13 -2
  343. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +17 -2
  344. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +14 -5
  345. package/blueprints/application-forms-wizard/CHANGELOG.md +50 -5
  346. package/blueprints/application-forms-wizard/README.md +3 -3
  347. package/blueprints/application-forms-wizard/blueprint.json +59 -2
  348. package/blueprints/application-forms-wizard/contributions/probes/draft-persistence-round-trip.mjs +110 -0
  349. package/blueprints/application-forms-wizard/contributions/probes/probe-utils.mjs +177 -0
  350. package/blueprints/application-forms-wizard/contributions/probes/run-draft-persistence-round-trip.mjs +4 -0
  351. package/blueprints/application-forms-wizard/contributions/probes/run-step-page-shape.mjs +4 -0
  352. package/blueprints/application-forms-wizard/contributions/probes/run-task-list-surface.mjs +4 -0
  353. package/blueprints/application-forms-wizard/contributions/probes/step-page-shape.mjs +61 -0
  354. package/blueprints/application-forms-wizard/contributions/probes/task-list-surface.mjs +109 -0
  355. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +5 -1
  356. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +7 -3
  357. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +7 -3
  358. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +7 -3
  359. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +5 -1
  360. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +21 -0
  361. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +6 -4
  362. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -3
  363. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +35 -2
  364. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +27 -2
  365. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +21 -2
  366. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +13 -2
  367. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +33 -2
  368. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +18 -3
  369. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +23 -2
  370. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +13 -2
  371. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +3 -3
  372. package/blueprints/application-notifications-in-app/CHANGELOG.md +70 -5
  373. package/blueprints/application-notifications-in-app/README.md +9 -9
  374. package/blueprints/application-notifications-in-app/blueprint.json +153 -23
  375. package/blueprints/application-notifications-in-app/contributions/adrs/adr-2101-application-notifications-in-app-live-region-role-mapping.json +1 -1
  376. package/blueprints/application-notifications-in-app/contributions/probes/centre-acknowledge-round-trip.mjs +210 -0
  377. package/blueprints/application-notifications-in-app/contributions/probes/live-region-preseeding.mjs +93 -0
  378. package/blueprints/application-notifications-in-app/contributions/probes/probe-utils.mjs +177 -0
  379. package/blueprints/application-notifications-in-app/contributions/probes/run-centre-acknowledge-round-trip.mjs +5 -0
  380. package/blueprints/application-notifications-in-app/contributions/probes/run-live-region-preseeding.mjs +5 -0
  381. package/blueprints/application-notifications-in-app/contributions/probes/run-toast-contract.mjs +5 -0
  382. package/blueprints/application-notifications-in-app/contributions/probes/toast-contract.mjs +92 -0
  383. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +11 -4
  384. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +8 -1
  385. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +10 -3
  386. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +11 -4
  387. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +12 -5
  388. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +21 -0
  389. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +3 -3
  390. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +15 -9
  391. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +2 -2
  392. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +30 -6
  393. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +44 -6
  394. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +40 -6
  395. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +31 -5
  396. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +51 -9
  397. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +19 -4
  398. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +19 -4
  399. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +19 -4
  400. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +4 -4
  401. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +4 -4
  402. package/blueprints/application-onboarding-tour/CHANGELOG.md +59 -2
  403. package/blueprints/application-onboarding-tour/README.md +3 -3
  404. package/blueprints/application-onboarding-tour/blueprint.json +24 -2
  405. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +4 -4
  406. package/blueprints/application-onboarding-tour/contributions/probes/checklist-anchor-open.mjs +81 -0
  407. package/blueprints/application-onboarding-tour/contributions/probes/completion-persistence.mjs +159 -0
  408. package/blueprints/application-onboarding-tour/contributions/probes/first-run-detection.mjs +67 -0
  409. package/blueprints/application-onboarding-tour/contributions/probes/probe-utils.mjs +177 -0
  410. package/blueprints/application-onboarding-tour/contributions/probes/run-checklist-anchor-open.mjs +5 -0
  411. package/blueprints/application-onboarding-tour/contributions/probes/run-completion-persistence.mjs +5 -0
  412. package/blueprints/application-onboarding-tour/contributions/probes/run-first-run-detection.mjs +5 -0
  413. package/blueprints/application-onboarding-tour/contributions/probes/run-stepper-role-dialog.mjs +5 -0
  414. package/blueprints/application-onboarding-tour/contributions/probes/stepper-role-dialog.mjs +45 -0
  415. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +6 -2
  416. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +6 -2
  417. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +4 -0
  418. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +4 -0
  419. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +22 -0
  420. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +22 -0
  421. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -1
  422. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +7 -7
  423. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +67 -2
  424. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +35 -2
  425. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +13 -2
  426. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +33 -2
  427. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +13 -2
  428. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +13 -2
  429. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +17 -2
  430. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +62 -0
  431. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26109.json +72 -0
  432. package/blueprints/application-onboarding-tour/docs/topics.md +2 -2
  433. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +1 -1
  434. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +2 -2
  435. package/blueprints/application-spa/CHANGELOG.md +39 -0
  436. package/blueprints/application-spa/README.md +11 -12
  437. package/blueprints/application-spa/blueprint.json +3 -2
  438. package/blueprints/application-spa/contributions/adrs/adr-201-application-spa-routing.json +1 -1
  439. package/blueprints/application-spa/contributions/adrs/adr-202-application-spa-theming.json +2 -2
  440. package/blueprints/application-spa/contributions/adrs/adr-203-application-spa-client-state.json +1 -1
  441. package/blueprints/application-spa/contributions/adrs/adr-204-application-spa-error-envelope.json +1 -1
  442. package/blueprints/application-spa/contributions/adrs/adr-205-application-spa-auth-model.json +1 -1
  443. package/blueprints/application-spa/contributions/adrs/adr-206-application-spa-iconography.json +2 -2
  444. package/blueprints/application-spa/contributions/adrs/adr-207-application-spa-motion.json +1 -1
  445. package/blueprints/application-spa/contributions/adrs/adr-208-application-spa-i18n.json +1 -1
  446. package/blueprints/application-spa/contributions/adrs/adr-209-application-spa-telemetry-naming.json +1 -1
  447. package/blueprints/application-spa/contributions/probes/designed-empty-state.mjs +72 -0
  448. package/blueprints/application-spa/contributions/probes/probe-utils.mjs +177 -0
  449. package/blueprints/application-spa/contributions/probes/route-inventory-published.mjs +185 -0
  450. package/blueprints/application-spa/contributions/probes/run-designed-empty-state.mjs +5 -0
  451. package/blueprints/application-spa/contributions/probes/run-route-inventory-published.mjs +5 -0
  452. package/blueprints/application-spa/contributions/probes/run-shell-nav-present.mjs +5 -0
  453. package/blueprints/application-spa/contributions/probes/shell-nav-present.mjs +69 -0
  454. package/blueprints/application-spa/contributions/requirements/application-spa-req-001.json +6 -2
  455. package/blueprints/application-spa/contributions/requirements/application-spa-req-002.json +6 -2
  456. package/blueprints/application-spa/contributions/requirements/application-spa-req-003.json +6 -2
  457. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +6 -2
  458. package/blueprints/application-spa/contributions/requirements/application-spa-req-005.json +6 -2
  459. package/blueprints/application-spa/contributions/requirements/application-spa-req-006.json +6 -2
  460. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +6 -2
  461. package/blueprints/application-spa/contributions/requirements/application-spa-req-008.json +6 -2
  462. package/blueprints/application-spa/contributions/requirements/application-spa-req-009.json +7 -3
  463. package/blueprints/application-spa/contributions/requirements/application-spa-req-010.json +6 -2
  464. package/blueprints/application-spa/contributions/requirements/application-spa-req-011.json +6 -2
  465. package/blueprints/application-spa/contributions/requirements/application-spa-req-012.json +6 -2
  466. package/blueprints/application-spa/contributions/requirements/application-spa-req-013.json +6 -2
  467. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +6 -2
  468. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +6 -2
  469. package/blueprints/application-spa/contributions/requirements/application-spa-req-016.json +6 -2
  470. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +6 -2
  471. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +7 -3
  472. package/blueprints/application-spa/contributions/requirements/application-spa-req-019.json +6 -2
  473. package/blueprints/application-spa/contributions/requirements/application-spa-req-020.json +6 -2
  474. package/blueprints/application-spa/contributions/requirements/application-spa-req-021.json +6 -2
  475. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -3
  476. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +1 -1
  477. package/blueprints/application-spa/contributions/tacs/tac-203-application-spa-component-library.json +1 -1
  478. package/blueprints/application-spa/contributions/tacs/tac-204-application-spa-client-data-layer.json +1 -1
  479. package/blueprints/application-spa/contributions/tacs/tac-205-application-spa-forms-engine.json +1 -1
  480. package/blueprints/application-spa/contributions/tacs/tac-206-application-spa-telemetry.json +1 -1
  481. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +2 -2
  482. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +3 -3
  483. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +4 -4
  484. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +3 -3
  485. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +3 -3
  486. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +22 -8
  487. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +18 -9
  488. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1103.json +13 -7
  489. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1104.json +15 -10
  490. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1105.json +13 -7
  491. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1106.json +12 -7
  492. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +25 -6
  493. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1108.json +17 -9
  494. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1109.json +17 -9
  495. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1110.json +19 -10
  496. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1111.json +19 -11
  497. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1112.json +15 -8
  498. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1113.json +15 -8
  499. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1114.json +15 -10
  500. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1115.json +13 -7
  501. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1116.json +15 -9
  502. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +20 -10
  503. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1118.json +9 -5
  504. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1119.json +11 -6
  505. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1120.json +16 -10
  506. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1121.json +13 -7
  507. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1122.json +13 -7
  508. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1123.json +28 -9
  509. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1124.json +11 -6
  510. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1125.json +14 -8
  511. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1126.json +24 -9
  512. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1127.json +11 -6
  513. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1128.json +11 -7
  514. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +25 -5
  515. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +25 -5
  516. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +19 -9
  517. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +40 -10
  518. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +35 -9
  519. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +23 -3
  520. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1135.json +19 -3
  521. package/blueprints/application-spa/docs/topics.md +1 -1
  522. package/blueprints/application-spa/guide/application-spa.md +2 -2
  523. package/blueprints/delivery-ci-workflows/CHANGELOG.md +40 -2
  524. package/blueprints/delivery-ci-workflows/README.md +4 -4
  525. package/blueprints/delivery-ci-workflows/blueprint.json +64 -2
  526. package/blueprints/delivery-ci-workflows/contributions/adrs/adr-702-delivery-ci-workflows-strict-coverage-gate.json +2 -2
  527. package/blueprints/delivery-ci-workflows/contributions/probes/node-gate-entrypoint.mjs +76 -0
  528. package/blueprints/delivery-ci-workflows/contributions/probes/probe-utils.mjs +56 -0
  529. package/blueprints/delivery-ci-workflows/contributions/probes/real-account-github-actions-run-record.mjs +139 -0
  530. package/blueprints/delivery-ci-workflows/contributions/probes/run-node-gate-entrypoint.mjs +3 -0
  531. package/blueprints/delivery-ci-workflows/contributions/probes/run-real-account-github-actions-run-record.mjs +3 -0
  532. package/blueprints/delivery-ci-workflows/contributions/probes/run-workflow-template-shape.mjs +3 -0
  533. package/blueprints/delivery-ci-workflows/contributions/probes/workflow-template-shape.mjs +94 -0
  534. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +4 -0
  535. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +4 -0
  536. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +4 -0
  537. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +5 -1
  538. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +4 -0
  539. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +4 -0
  540. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +4 -0
  541. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +4 -0
  542. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +4 -0
  543. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +4 -0
  544. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +6 -2
  545. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +4 -0
  546. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +4 -0
  547. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +4 -0
  548. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +4 -0
  549. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +4 -0
  550. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +4 -0
  551. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +4 -0
  552. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +4 -0
  553. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +4 -0
  554. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +4 -0
  555. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +4 -0
  556. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +4 -0
  557. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +20 -4
  558. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +19 -3
  559. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +20 -4
  560. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +20 -4
  561. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6105.json +20 -4
  562. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +20 -4
  563. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +20 -4
  564. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6108.json +20 -4
  565. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +12 -5
  566. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +21 -5
  567. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +21 -5
  568. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6112.json +35 -5
  569. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +21 -5
  570. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6114.json +8 -5
  571. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +21 -5
  572. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +19 -3
  573. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +19 -3
  574. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +21 -5
  575. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +19 -3
  576. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +19 -3
  577. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6121.json +23 -6
  578. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +24 -7
  579. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +21 -5
  580. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +19 -3
  581. package/blueprints/delivery-ci-workflows/docs/topics.md +2 -3
  582. package/blueprints/deploy-cloudflare-workers/CHANGELOG.md +19 -4
  583. package/blueprints/deploy-cloudflare-workers/README.md +5 -5
  584. package/blueprints/deploy-cloudflare-workers/blueprint.json +4 -4
  585. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1303-deploy-cloudflare-workers-preview-vs-production.json +1 -1
  586. package/blueprints/deploy-cloudflare-workers/contributions/adrs/adr-1306-deploy-cloudflare-workers-spa-shape.json +4 -4
  587. package/blueprints/deploy-cloudflare-workers/contributions/probes/assets-manifest-scan.mjs +25 -7
  588. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +5 -1
  589. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +6 -2
  590. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +5 -1
  591. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +5 -1
  592. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +5 -1
  593. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +5 -1
  594. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +5 -1
  595. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +5 -1
  596. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +5 -1
  597. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +5 -1
  598. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +5 -1
  599. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +5 -1
  600. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +5 -1
  601. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +7 -3
  602. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +3 -2
  603. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +5 -2
  604. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +21 -9
  605. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +23 -4
  606. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12103.json +7 -4
  607. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12104.json +7 -4
  608. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +11 -4
  609. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12106.json +7 -4
  610. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12107.json +7 -4
  611. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12108.json +15 -4
  612. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +11 -4
  613. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12110.json +7 -4
  614. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12111.json +11 -4
  615. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12112.json +11 -4
  616. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +41 -3
  617. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +17 -2
  618. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +18 -3
  619. package/blueprints/deploy-cloudflare-workers/docs/topics.md +2 -2
  620. package/blueprints/deploy-cloudflare-workers/guide/deploy-cloudflare-workers.md +7 -2
  621. package/blueprints/deploy-hetzner-server/CHANGELOG.md +115 -8
  622. package/blueprints/deploy-hetzner-server/README.md +12 -12
  623. package/blueprints/deploy-hetzner-server/blueprint.json +8 -7
  624. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3801-deploy-hetzner-server-cloud-host-contract.json +2 -2
  625. package/blueprints/deploy-hetzner-server/contributions/adrs/adr-3803-deploy-hetzner-server-provisioning-tool.json +2 -2
  626. package/blueprints/deploy-hetzner-server/contributions/probes/cloud-init-render-lint.mjs +46 -21
  627. package/blueprints/deploy-hetzner-server/contributions/probes/hcloud-dry-run-mock.mjs +344 -83
  628. package/blueprints/deploy-hetzner-server/contributions/probes/manifest-schema-validate.mjs +211 -42
  629. package/blueprints/deploy-hetzner-server/contributions/probes/probe-utils.mjs +140 -22
  630. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-cloud-init-hardened.mjs +111 -30
  631. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-snapshot-on-demand.mjs +158 -30
  632. package/blueprints/deploy-hetzner-server/contributions/probes/real-account-throwaway-server-provision.mjs +154 -32
  633. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +6 -2
  634. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +6 -2
  635. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +5 -1
  636. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +5 -1
  637. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +6 -2
  638. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +5 -1
  639. package/blueprints/deploy-hetzner-server/contributions/schemas/hetzner-server.schema.json +1 -1
  640. package/blueprints/deploy-hetzner-server/contributions/templates/cloud-init.yaml.tmpl +1 -1
  641. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +63 -2
  642. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +35 -2
  643. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +59 -2
  644. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +31 -2
  645. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +25 -2
  646. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +35 -2
  647. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +31 -2
  648. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +43 -2
  649. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +31 -2
  650. package/blueprints/deploy-hetzner-server/docs/topics.md +2 -2
  651. package/blueprints/deploy-hetzner-server/guide/deploy-hetzner-server.md +12 -11
  652. package/blueprints/edge-cloudflare-access/CHANGELOG.md +36 -3
  653. package/blueprints/edge-cloudflare-access/README.md +2 -2
  654. package/blueprints/edge-cloudflare-access/blueprint.json +12 -2
  655. package/blueprints/edge-cloudflare-access/contributions/probes/admin-console-gate-surface.mjs +9 -1
  656. package/blueprints/edge-cloudflare-access/contributions/probes/real-account-gated-url.mjs +10 -2
  657. package/blueprints/edge-cloudflare-access/contributions/probes/wrangler-seam.mjs +1 -1
  658. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +5 -1
  659. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +5 -1
  660. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +5 -1
  661. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +6 -2
  662. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +5 -1
  663. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +7 -3
  664. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +22 -0
  665. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +13 -3
  666. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +63 -2
  667. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +18 -3
  668. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +36 -3
  669. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +13 -3
  670. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +9 -3
  671. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +68 -3
  672. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34108.json +5 -3
  673. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34109.json +10 -4
  674. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +33 -0
  675. package/blueprints/edge-cloudflare-access/docs/topics.md +2 -2
  676. package/blueprints/edge-cloudflare-rate-limiting/CHANGELOG.md +33 -2
  677. package/blueprints/edge-cloudflare-rate-limiting/README.md +3 -3
  678. package/blueprints/edge-cloudflare-rate-limiting/blueprint.json +1 -1
  679. package/blueprints/edge-cloudflare-rate-limiting/contributions/probes/real-account-burst-and-429.mjs +10 -2
  680. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +6 -2
  681. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +5 -1
  682. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +5 -1
  683. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +6 -2
  684. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +5 -1
  685. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +2 -2
  686. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +2 -2
  687. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +27 -3
  688. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36102.json +9 -3
  689. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +24 -5
  690. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +88 -3
  691. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36105.json +5 -3
  692. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +22 -3
  693. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36107.json +16 -5
  694. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36108.json +14 -3
  695. package/blueprints/edge-cloudflare-rate-limiting/docs/topics.md +1 -1
  696. package/blueprints/edge-cloudflare-rate-limiting/guide/edge-cloudflare-rate-limiting.md +2 -2
  697. package/blueprints/edge-cloudflare-tunnel/CHANGELOG.md +40 -7
  698. package/blueprints/edge-cloudflare-tunnel/README.md +21 -23
  699. package/blueprints/edge-cloudflare-tunnel/blueprint.json +29 -4
  700. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4001-edge-cloudflare-tunnel-ingress-bridge-contract.json +4 -4
  701. package/blueprints/edge-cloudflare-tunnel/contributions/adrs/adr-4002-edge-cloudflare-tunnel-connector-runtime.json +1 -1
  702. package/blueprints/edge-cloudflare-tunnel/contributions/probes/manifest-schema-validate.mjs +3 -3
  703. package/blueprints/edge-cloudflare-tunnel/contributions/probes/probe-utils.mjs +13 -2
  704. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-connector-healthy.mjs +8 -9
  705. package/blueprints/edge-cloudflare-tunnel/contributions/probes/real-account-tunnel-hostname-routes.mjs +2 -2
  706. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +6 -2
  707. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +5 -1
  708. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +7 -3
  709. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +5 -1
  710. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +5 -1
  711. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +22 -0
  712. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +22 -0
  713. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +1 -1
  714. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +29 -0
  715. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +39 -3
  716. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +23 -4
  717. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +53 -3
  718. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +33 -3
  719. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +25 -3
  720. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +86 -2
  721. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +25 -3
  722. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +35 -2
  723. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +74 -0
  724. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +60 -0
  725. package/blueprints/edge-cloudflare-tunnel/docs/topics.md +2 -2
  726. package/blueprints/edge-cloudflare-tunnel/guide/edge-cloudflare-tunnel.md +60 -13
  727. package/blueprints/edge-cloudflare-turnstile/CHANGELOG.md +32 -1
  728. package/blueprints/edge-cloudflare-turnstile/README.md +2 -2
  729. package/blueprints/edge-cloudflare-turnstile/blueprint.json +1 -1
  730. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +6 -2
  731. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +5 -1
  732. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +6 -2
  733. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +5 -1
  734. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +5 -1
  735. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +2 -2
  736. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +2 -2
  737. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +46 -5
  738. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +53 -2
  739. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +81 -2
  740. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +29 -6
  741. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +14 -4
  742. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35106.json +9 -3
  743. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35107.json +5 -3
  744. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35108.json +5 -3
  745. package/blueprints/edge-cloudflare-turnstile/docs/topics.md +1 -1
  746. package/blueprints/edge-cloudflare-turnstile/probe-packs/edge-cloudflare-turnstile.pack.mjs +27 -5
  747. package/blueprints/email-smtp-resend/CHANGELOG.md +40 -0
  748. package/blueprints/email-smtp-resend/README.md +4 -4
  749. package/blueprints/email-smtp-resend/assets/stub-adapter.md +2 -0
  750. package/blueprints/email-smtp-resend/blueprint.json +121 -18
  751. package/blueprints/email-smtp-resend/contributions/probes/probe-utils.mjs +50 -0
  752. package/blueprints/email-smtp-resend/contributions/probes/real-account-resend-send.mjs +50 -0
  753. package/blueprints/email-smtp-resend/contributions/probes/run-real-account-resend-send.mjs +3 -0
  754. package/blueprints/email-smtp-resend/contributions/probes/run-smtp-round-trip.mjs +3 -0
  755. package/blueprints/email-smtp-resend/contributions/probes/run-unverified-sender-refusal.mjs +3 -0
  756. package/blueprints/email-smtp-resend/contributions/probes/smtp-round-trip.mjs +43 -0
  757. package/blueprints/email-smtp-resend/contributions/probes/unverified-sender-refusal.mjs +99 -0
  758. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +7 -3
  759. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +4 -0
  760. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +4 -0
  761. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +4 -0
  762. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +4 -0
  763. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +4 -0
  764. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +3 -3
  765. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +7 -2
  766. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +15 -8
  767. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +27 -7
  768. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +49 -4
  769. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4104.json +6 -3
  770. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +21 -5
  771. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +27 -7
  772. package/blueprints/email-smtp-resend/docs/topics.md +2 -3
  773. package/blueprints/email-smtp-resend/guide/email-smtp-resend.md +2 -2
  774. package/blueprints/jobs-background/CHANGELOG.md +91 -6
  775. package/blueprints/jobs-background/README.md +8 -8
  776. package/blueprints/jobs-background/blueprint.json +57 -3
  777. package/blueprints/jobs-background/contributions/adrs/adr-3102-jobs-background-scheduler-mode.json +1 -1
  778. package/blueprints/jobs-background/contributions/adrs/adr-3103-jobs-background-requires-applied-capabilities.json +6 -6
  779. package/blueprints/jobs-background/contributions/probes/apply-time-override.mjs +38 -10
  780. package/blueprints/jobs-background/contributions/probes/apply-time-refusal.mjs +28 -6
  781. package/blueprints/jobs-background/contributions/probes/event-secrecy.mjs +16 -2
  782. package/blueprints/jobs-background/contributions/probes/fake-clock-cron.mjs +102 -21
  783. package/blueprints/jobs-background/contributions/probes/probe-utils.mjs +14 -6
  784. package/blueprints/jobs-background/contributions/probes/retry-and-fail-real-account.mjs +355 -0
  785. package/blueprints/jobs-background/contributions/probes/retry-and-fail.mjs +33 -2
  786. package/blueprints/jobs-background/contributions/probes/run-retry-and-fail-real-account.mjs +12 -0
  787. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +7 -3
  788. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +7 -3
  789. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +5 -1
  790. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +5 -1
  791. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +5 -1
  792. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +5 -1
  793. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +5 -5
  794. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +20 -3
  795. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +44 -9
  796. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +48 -3
  797. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +63 -3
  798. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +20 -3
  799. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +20 -3
  800. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +20 -3
  801. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +21 -3
  802. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +23 -6
  803. package/blueprints/jobs-background/docs/topics.md +3 -3
  804. package/blueprints/jobs-background/guide/jobs-background.md +6 -6
  805. package/blueprints/messaging-queue-cloudflare/CHANGELOG.md +41 -19
  806. package/blueprints/messaging-queue-cloudflare/README.md +14 -14
  807. package/blueprints/messaging-queue-cloudflare/blueprint.json +127 -19
  808. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3001-messaging-queue-cloudflare-adapter.json +3 -3
  809. package/blueprints/messaging-queue-cloudflare/contributions/adrs/adr-3002-messaging-queue-cloudflare-delivery-semantics.json +1 -1
  810. package/blueprints/messaging-queue-cloudflare/contributions/probes/real-account-concurrency-smoke.mjs +183 -15
  811. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +6 -2
  812. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +6 -2
  813. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +5 -1
  814. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +6 -2
  815. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +6 -2
  816. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +6 -2
  817. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +22 -4
  818. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +23 -4
  819. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +20 -3
  820. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +29 -7
  821. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +20 -3
  822. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +25 -4
  823. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +25 -3
  824. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +28 -6
  825. package/blueprints/messaging-queue-cloudflare/docs/topics.md +3 -3
  826. package/blueprints/messaging-queue-cloudflare/guide/messaging-queue-cloudflare.md +8 -6
  827. package/blueprints/object-storage-s3/CHANGELOG.md +94 -6
  828. package/blueprints/object-storage-s3/README.md +2 -2
  829. package/blueprints/object-storage-s3/blueprint.json +156 -24
  830. package/blueprints/object-storage-s3/contributions/probes/event-secrecy.mjs +73 -12
  831. package/blueprints/object-storage-s3/contributions/probes/facade-round-trip.mjs +55 -7
  832. package/blueprints/object-storage-s3/contributions/probes/hetzner-object-storage-round-trip.mjs +103 -19
  833. package/blueprints/object-storage-s3/contributions/probes/multipart-upload.mjs +105 -36
  834. package/blueprints/object-storage-s3/contributions/probes/presigned-url.mjs +104 -55
  835. package/blueprints/object-storage-s3/contributions/probes/probe-utils.mjs +129 -7
  836. package/blueprints/object-storage-s3/contributions/probes/put-get-round-trip.mjs +80 -18
  837. package/blueprints/object-storage-s3/contributions/probes/r2-real-account-smoke.mjs +291 -37
  838. package/blueprints/object-storage-s3/contributions/probes/run-event-secrecy.mjs +8 -2
  839. package/blueprints/object-storage-s3/contributions/probes/run-facade-round-trip.mjs +5 -5
  840. package/blueprints/object-storage-s3/contributions/probes/run-hetzner-object-storage-round-trip.mjs +8 -5
  841. package/blueprints/object-storage-s3/contributions/probes/run-multipart-upload.mjs +8 -2
  842. package/blueprints/object-storage-s3/contributions/probes/run-presigned-url.mjs +8 -2
  843. package/blueprints/object-storage-s3/contributions/probes/run-put-get-round-trip.mjs +6 -3
  844. package/blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs +10 -2
  845. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +6 -2
  846. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +6 -2
  847. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +5 -1
  848. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +6 -2
  849. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +6 -2
  850. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +6 -2
  851. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +5 -1
  852. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +36 -4
  853. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +32 -5
  854. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +42 -3
  855. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +22 -4
  856. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -4
  857. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +13 -5
  858. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +10 -4
  859. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +12 -4
  860. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +20 -3
  861. package/blueprints/object-storage-s3/docs/topics.md +1 -1
  862. package/blueprints/object-storage-s3/guide/object-storage-s3.md +3 -3
  863. package/blueprints/observability-essentials/CHANGELOG.md +37 -0
  864. package/blueprints/observability-essentials/README.md +3 -3
  865. package/blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json +17 -0
  866. package/blueprints/observability-essentials/blueprint.json +34 -2
  867. package/blueprints/observability-essentials/contributions/adrs/adr-801-observability-essentials-health-probes.json +1 -1
  868. package/blueprints/observability-essentials/contributions/probes/liveness-probe.mjs +84 -0
  869. package/blueprints/observability-essentials/contributions/probes/metrics-endpoint.mjs +96 -0
  870. package/blueprints/observability-essentials/contributions/probes/probe-utils.mjs +52 -0
  871. package/blueprints/observability-essentials/contributions/probes/readiness-probe.mjs +171 -0
  872. package/blueprints/observability-essentials/contributions/probes/run-liveness-probe.mjs +3 -0
  873. package/blueprints/observability-essentials/contributions/probes/run-metrics-endpoint.mjs +3 -0
  874. package/blueprints/observability-essentials/contributions/probes/run-readiness-probe.mjs +3 -0
  875. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +4 -0
  876. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +4 -0
  877. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +4 -0
  878. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +4 -0
  879. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +4 -0
  880. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +6 -2
  881. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +7 -3
  882. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +4 -0
  883. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +4 -0
  884. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +4 -0
  885. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +6 -1
  886. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +1 -1
  887. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +25 -7
  888. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7102.json +9 -5
  889. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +51 -6
  890. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7104.json +7 -4
  891. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7105.json +6 -3
  892. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +37 -6
  893. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +18 -11
  894. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7108.json +6 -3
  895. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7109.json +7 -4
  896. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7110.json +8 -5
  897. package/blueprints/observability-essentials/docs/topics.md +3 -4
  898. package/blueprints/observability-essentials/guide/observability-essentials.md +1 -1
  899. package/blueprints/observability-logging/CHANGELOG.md +44 -4
  900. package/blueprints/observability-logging/README.md +2 -2
  901. package/blueprints/observability-logging/blueprint.json +78 -29
  902. package/blueprints/observability-logging/contributions/adrs/adr-1605-observability-logging-serialisation-refusal.json +25 -0
  903. package/blueprints/observability-logging/contributions/probes/correlation-id-flow.mjs +173 -0
  904. package/blueprints/observability-logging/contributions/probes/line-shape-and-fields.mjs +82 -0
  905. package/blueprints/observability-logging/contributions/probes/probe-utils.mjs +47 -0
  906. package/blueprints/observability-logging/contributions/probes/redaction-boundary.mjs +130 -0
  907. package/blueprints/observability-logging/contributions/probes/run-correlation-id-flow.mjs +3 -0
  908. package/blueprints/observability-logging/contributions/probes/run-line-shape-and-fields.mjs +3 -0
  909. package/blueprints/observability-logging/contributions/probes/run-redaction-boundary.mjs +3 -0
  910. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +10 -3
  911. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +8 -1
  912. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +8 -1
  913. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +8 -1
  914. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +8 -1
  915. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +16 -0
  916. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +4 -4
  917. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +62 -8
  918. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15102.json +11 -6
  919. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +37 -5
  920. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +35 -4
  921. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +24 -6
  922. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +22 -4
  923. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +34 -3
  924. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +21 -3
  925. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +71 -0
  926. package/blueprints/observability-probe-endpoints/CHANGELOG.md +32 -0
  927. package/blueprints/observability-probe-endpoints/README.md +4 -4
  928. package/blueprints/observability-probe-endpoints/blueprint.json +42 -2
  929. package/blueprints/observability-probe-endpoints/contributions/probes/kubernetes-startup-enabled.mjs +80 -0
  930. package/blueprints/observability-probe-endpoints/contributions/probes/partial-profile-refusal.mjs +101 -0
  931. package/blueprints/observability-probe-endpoints/contributions/probes/probe-utils.mjs +49 -0
  932. package/blueprints/observability-probe-endpoints/contributions/probes/profile-boot-materialisation.mjs +69 -0
  933. package/blueprints/observability-probe-endpoints/contributions/probes/run-kubernetes-startup-enabled.mjs +3 -0
  934. package/blueprints/observability-probe-endpoints/contributions/probes/run-partial-profile-refusal.mjs +3 -0
  935. package/blueprints/observability-probe-endpoints/contributions/probes/run-profile-boot-materialisation.mjs +3 -0
  936. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +6 -2
  937. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +4 -0
  938. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +4 -0
  939. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +4 -0
  940. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +4 -0
  941. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +4 -0
  942. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +4 -0
  943. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +4 -0
  944. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +30 -9
  945. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +24 -6
  946. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14103.json +6 -3
  947. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14104.json +9 -6
  948. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +49 -4
  949. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14106.json +9 -6
  950. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14107.json +12 -8
  951. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14108.json +6 -3
  952. package/blueprints/observability-probe-endpoints/docs/topics.md +2 -2
  953. package/blueprints/observability-probe-endpoints/guide/observability-probe-endpoints.md +3 -6
  954. package/blueprints/persistence-data-d1/CHANGELOG.md +32 -0
  955. package/blueprints/persistence-data-d1/README.md +3 -3
  956. package/blueprints/persistence-data-d1/assets/batch-usage/batch-atomicity-example.md +2 -0
  957. package/blueprints/persistence-data-d1/assets/facade-shape/facade-module-shape.md +2 -0
  958. package/blueprints/persistence-data-d1/blueprint.json +108 -23
  959. package/blueprints/persistence-data-d1/contributions/adrs/adr-1404-persistence-data-d1-store-boundary.json +4 -4
  960. package/blueprints/persistence-data-d1/contributions/probes/facade-round-trip.mjs +140 -0
  961. package/blueprints/persistence-data-d1/contributions/probes/migrations-forward-only.mjs +66 -0
  962. package/blueprints/persistence-data-d1/contributions/probes/probe-utils.mjs +51 -0
  963. package/blueprints/persistence-data-d1/contributions/probes/real-account-d1-round-trip.mjs +133 -0
  964. package/blueprints/persistence-data-d1/contributions/probes/run-facade-round-trip.mjs +3 -0
  965. package/blueprints/persistence-data-d1/contributions/probes/run-migrations-forward-only.mjs +3 -0
  966. package/blueprints/persistence-data-d1/contributions/probes/run-real-account-d1-round-trip.mjs +3 -0
  967. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +5 -1
  968. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +5 -1
  969. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +5 -1
  970. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +7 -3
  971. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +5 -1
  972. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +5 -1
  973. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +5 -1
  974. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +35 -4
  975. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +25 -4
  976. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13103.json +11 -4
  977. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13104.json +13 -6
  978. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13105.json +11 -4
  979. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13106.json +7 -4
  980. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +23 -3
  981. package/blueprints/persistence-data-d1/docs/topics.md +2 -3
  982. package/blueprints/persistence-data-postgres/CHANGELOG.md +99 -3
  983. package/blueprints/persistence-data-postgres/README.md +2 -2
  984. package/blueprints/persistence-data-postgres/blueprint.json +203 -24
  985. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +1 -1
  986. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +1 -1
  987. package/blueprints/persistence-data-postgres/contributions/probes/facade-round-trip.mjs +87 -12
  988. package/blueprints/persistence-data-postgres/contributions/probes/migration-apply.mjs +245 -19
  989. package/blueprints/persistence-data-postgres/contributions/probes/pool-posture-smoke.mjs +109 -26
  990. package/blueprints/persistence-data-postgres/contributions/probes/prepared-statement-scan.mjs +151 -38
  991. package/blueprints/persistence-data-postgres/contributions/probes/probe-utils.mjs +24 -6
  992. package/blueprints/persistence-data-postgres/contributions/probes/recovery-restore-round-trip.mjs +261 -48
  993. package/blueprints/persistence-data-postgres/contributions/probes/transaction-atomicity.mjs +76 -20
  994. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +6 -2
  995. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +6 -2
  996. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +6 -2
  997. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +7 -3
  998. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +6 -2
  999. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +6 -2
  1000. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +7 -3
  1001. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +2 -2
  1002. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +5 -5
  1003. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +22 -4
  1004. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +118 -3
  1005. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +20 -3
  1006. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +26 -5
  1007. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +62 -3
  1008. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +20 -3
  1009. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +20 -3
  1010. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +20 -3
  1011. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +20 -3
  1012. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +48 -3
  1013. package/blueprints/persistence-data-postgres/docs/topics.md +1 -1
  1014. package/blueprints/persistence-data-sqlite/CHANGELOG.md +28 -0
  1015. package/blueprints/persistence-data-sqlite/README.md +2 -2
  1016. package/blueprints/persistence-data-sqlite/blueprint.json +148 -31
  1017. package/blueprints/persistence-data-sqlite/contributions/probes/boot-open-migrate.mjs +90 -0
  1018. package/blueprints/persistence-data-sqlite/contributions/probes/facade-round-trip.mjs +82 -0
  1019. package/blueprints/persistence-data-sqlite/contributions/probes/probe-utils.mjs +83 -0
  1020. package/blueprints/persistence-data-sqlite/contributions/probes/run-boot-open-migrate.mjs +5 -0
  1021. package/blueprints/persistence-data-sqlite/contributions/probes/run-facade-round-trip.mjs +5 -0
  1022. package/blueprints/persistence-data-sqlite/contributions/probes/run-wal-checkpoint.mjs +5 -0
  1023. package/blueprints/persistence-data-sqlite/contributions/probes/wal-checkpoint.mjs +137 -0
  1024. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +5 -1
  1025. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +5 -1
  1026. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +5 -1
  1027. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +5 -1
  1028. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +5 -1
  1029. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +5 -1
  1030. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +5 -1
  1031. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +5 -1
  1032. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +5 -1
  1033. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +5 -1
  1034. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +5 -1
  1035. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +35 -4
  1036. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5102.json +7 -4
  1037. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +19 -3
  1038. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +21 -4
  1039. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5105.json +7 -4
  1040. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +11 -4
  1041. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5107.json +7 -4
  1042. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5108.json +7 -4
  1043. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5109.json +11 -8
  1044. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +23 -3
  1045. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +19 -3
  1046. package/blueprints/persistence-data-sqlite/docs/topics.md +2 -3
  1047. package/blueprints/persistence-data-sqlite/guide/persistence-data-sqlite.md +1 -1
  1048. package/blueprints/platform-cloudflare-cron-triggers/CHANGELOG.md +40 -2
  1049. package/blueprints/platform-cloudflare-cron-triggers/README.md +2 -3
  1050. package/blueprints/platform-cloudflare-cron-triggers/blueprint.json +78 -17
  1051. package/blueprints/platform-cloudflare-cron-triggers/contributions/adrs/adr-3301-platform-cloudflare-cron-triggers-scheduled-trigger-contract.json +2 -2
  1052. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/real-account-scheduled-smoke.mjs +24 -3
  1053. package/blueprints/platform-cloudflare-cron-triggers/contributions/probes/skew-tolerance.mjs +1 -1
  1054. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +6 -2
  1055. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +5 -1
  1056. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +5 -1
  1057. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +6 -2
  1058. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +1 -1
  1059. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +86 -5
  1060. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +69 -5
  1061. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +51 -4
  1062. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +65 -4
  1063. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +68 -5
  1064. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +62 -3
  1065. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +56 -3
  1066. package/blueprints/platform-cloudflare-cron-triggers/docs/topics.md +4 -4
  1067. package/blueprints/platform-cloudflare-durable-objects/CHANGELOG.md +40 -4
  1068. package/blueprints/platform-cloudflare-durable-objects/README.md +6 -6
  1069. package/blueprints/platform-cloudflare-durable-objects/blueprint.json +3 -2
  1070. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3401-platform-cloudflare-durable-objects-single-cell-contract.json +1 -1
  1071. package/blueprints/platform-cloudflare-durable-objects/contributions/adrs/adr-3402-platform-cloudflare-durable-objects-websocket-hub-contract.json +1 -1
  1072. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/probe-utils.mjs +2 -2
  1073. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/real-account-storage-smoke.mjs +41 -35
  1074. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/sole-reader-scan.mjs +1 -1
  1075. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/storage-round-trip.mjs +1 -1
  1076. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/websocket-hub-broadcast.mjs +1 -1
  1077. package/blueprints/platform-cloudflare-durable-objects/contributions/probes/wrangler-seam.mjs +11 -5
  1078. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +5 -1
  1079. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +6 -2
  1080. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +5 -1
  1081. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +5 -1
  1082. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +6 -2
  1083. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +6 -2
  1084. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +5 -1
  1085. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +5 -1
  1086. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +73 -2
  1087. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +59 -2
  1088. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +77 -2
  1089. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +75 -6
  1090. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +73 -2
  1091. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +49 -2
  1092. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +45 -2
  1093. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +84 -3
  1094. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +45 -2
  1095. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +59 -2
  1096. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +45 -2
  1097. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +53 -2
  1098. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +68 -5
  1099. package/blueprints/platform-cloudflare-durable-objects/docs/topics.md +2 -2
  1100. package/blueprints/platform-cloudflare-durable-objects/guide/platform-cloudflare-durable-objects.md +9 -9
  1101. package/blueprints/platform-cloudflare-kv/CHANGELOG.md +58 -12
  1102. package/blueprints/platform-cloudflare-kv/README.md +7 -11
  1103. package/blueprints/platform-cloudflare-kv/blueprint.json +115 -20
  1104. package/blueprints/platform-cloudflare-kv/contributions/adrs/adr-3201-platform-cloudflare-kv-key-value-store-contract.json +3 -3
  1105. package/blueprints/platform-cloudflare-kv/contributions/probes/cache-aside-hit-then-miss.mjs +1 -1
  1106. package/blueprints/platform-cloudflare-kv/contributions/probes/event-secrecy.mjs +1 -1
  1107. package/blueprints/platform-cloudflare-kv/contributions/probes/real-account-eventual-consistency-smoke.mjs +53 -18
  1108. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +6 -2
  1109. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +5 -1
  1110. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +5 -1
  1111. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +6 -2
  1112. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +7 -3
  1113. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +22 -0
  1114. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +22 -0
  1115. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +59 -2
  1116. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +45 -2
  1117. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +73 -3
  1118. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +67 -2
  1119. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +59 -2
  1120. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +45 -2
  1121. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +45 -2
  1122. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +45 -2
  1123. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +92 -0
  1124. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +88 -0
  1125. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +89 -0
  1126. package/blueprints/platform-cloudflare-kv/docs/topics.md +2 -2
  1127. package/blueprints/platform-cloudflare-kv/guide/platform-cloudflare-kv.md +2 -2
  1128. package/blueprints/platform-docker-compose-host/CHANGELOG.md +124 -3
  1129. package/blueprints/platform-docker-compose-host/README.md +7 -7
  1130. package/blueprints/platform-docker-compose-host/blueprint.json +23 -6
  1131. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3901-platform-docker-compose-host-contract.json +3 -3
  1132. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3902-platform-docker-compose-host-reverse-proxy.json +4 -4
  1133. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3903-platform-docker-compose-host-reject-coolify.json +2 -2
  1134. package/blueprints/platform-docker-compose-host/contributions/adrs/adr-3904-platform-docker-compose-host-log-driver.json +2 -2
  1135. package/blueprints/platform-docker-compose-host/contributions/probes/caddyfile-validate.mjs +116 -29
  1136. package/blueprints/platform-docker-compose-host/contributions/probes/compose-config-lint.mjs +181 -109
  1137. package/blueprints/platform-docker-compose-host/contributions/probes/probe-utils.mjs +146 -26
  1138. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-minimal-stack-up.mjs +238 -25
  1139. package/blueprints/platform-docker-compose-host/contributions/probes/real-account-reload-burst.mjs +207 -21
  1140. package/blueprints/platform-docker-compose-host/contributions/probes/secrets-as-files-scan.mjs +246 -42
  1141. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +6 -2
  1142. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +5 -1
  1143. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +6 -2
  1144. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +5 -1
  1145. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +6 -2
  1146. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +6 -2
  1147. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +22 -0
  1148. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +73 -2
  1149. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +67 -2
  1150. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +59 -2
  1151. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +75 -2
  1152. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +49 -2
  1153. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +45 -2
  1154. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +49 -2
  1155. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +49 -2
  1156. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +57 -2
  1157. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +92 -0
  1158. package/blueprints/platform-docker-compose-host/docs/topics.md +4 -4
  1159. package/blueprints/platform-docker-compose-host/guide/platform-docker-compose-host.md +6 -6
  1160. package/blueprints/security-auth-clerk/CHANGELOG.md +36 -4
  1161. package/blueprints/security-auth-clerk/README.md +4 -4
  1162. package/blueprints/security-auth-clerk/assets/wiring/workers-wrangler-toml-shape.md +1 -1
  1163. package/blueprints/security-auth-clerk/blueprint.json +23 -2
  1164. package/blueprints/security-auth-clerk/contributions/probes/hosted-identity-ui-config.mjs +61 -0
  1165. package/blueprints/security-auth-clerk/contributions/probes/probe-utils.mjs +188 -0
  1166. package/blueprints/security-auth-clerk/contributions/probes/real-account-principal-directory-round-trip.mjs +216 -0
  1167. package/blueprints/security-auth-clerk/contributions/probes/real-account-session-inventory.mjs +260 -0
  1168. package/blueprints/security-auth-clerk/contributions/probes/role-model-adapter.mjs +53 -0
  1169. package/blueprints/security-auth-clerk/contributions/probes/run-hosted-identity-ui-config.mjs +4 -0
  1170. package/blueprints/security-auth-clerk/contributions/probes/run-real-account-principal-directory-round-trip.mjs +4 -0
  1171. package/blueprints/security-auth-clerk/contributions/probes/run-real-account-session-inventory.mjs +4 -0
  1172. package/blueprints/security-auth-clerk/contributions/probes/run-role-model-adapter.mjs +4 -0
  1173. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +6 -2
  1174. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +5 -1
  1175. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +6 -2
  1176. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +6 -2
  1177. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-005.json +5 -2
  1178. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +5 -1
  1179. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-007.json +4 -1
  1180. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-008.json +4 -1
  1181. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-009.json +4 -1
  1182. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +22 -0
  1183. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +22 -0
  1184. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +14 -4
  1185. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +7 -1
  1186. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9101.json +6 -3
  1187. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +19 -3
  1188. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9103.json +6 -3
  1189. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9104.json +6 -3
  1190. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9105.json +4 -2
  1191. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9106.json +4 -2
  1192. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9107.json +4 -2
  1193. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +13 -3
  1194. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9109.json +8 -2
  1195. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9110.json +4 -2
  1196. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9111.json +4 -2
  1197. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +102 -0
  1198. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +103 -0
  1199. package/blueprints/security-auth-clerk/docs/topics.md +2 -3
  1200. package/blueprints/security-auth-keycloak/CHANGELOG.md +34 -4
  1201. package/blueprints/security-auth-keycloak/README.md +3 -3
  1202. package/blueprints/security-auth-keycloak/blueprint.json +103 -2
  1203. package/blueprints/security-auth-keycloak/contributions/probes/discovery-shape.mjs +68 -0
  1204. package/blueprints/security-auth-keycloak/contributions/probes/introspection-shape.mjs +88 -0
  1205. package/blueprints/security-auth-keycloak/contributions/probes/jwt-verifier-shape.mjs +86 -0
  1206. package/blueprints/security-auth-keycloak/contributions/probes/probe-utils.mjs +180 -0
  1207. package/blueprints/security-auth-keycloak/contributions/probes/real-account-realm-round-trip.mjs +91 -0
  1208. package/blueprints/security-auth-keycloak/contributions/probes/role-adapter-shape.mjs +69 -0
  1209. package/blueprints/security-auth-keycloak/contributions/probes/run-discovery-shape.mjs +4 -0
  1210. package/blueprints/security-auth-keycloak/contributions/probes/run-introspection-shape.mjs +4 -0
  1211. package/blueprints/security-auth-keycloak/contributions/probes/run-jwt-verifier-shape.mjs +4 -0
  1212. package/blueprints/security-auth-keycloak/contributions/probes/run-real-account-realm-round-trip.mjs +4 -0
  1213. package/blueprints/security-auth-keycloak/contributions/probes/run-role-adapter-shape.mjs +4 -0
  1214. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-001.json +5 -2
  1215. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +5 -1
  1216. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +5 -1
  1217. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +5 -1
  1218. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +6 -2
  1219. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +6 -2
  1220. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-007.json +4 -1
  1221. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-008.json +4 -1
  1222. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-009.json +4 -1
  1223. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-010.json +4 -1
  1224. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +5 -1
  1225. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-012.json +4 -1
  1226. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +22 -0
  1227. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +22 -0
  1228. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +22 -0
  1229. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +22 -0
  1230. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +22 -0
  1231. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +22 -0
  1232. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +22 -0
  1233. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +4 -2
  1234. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -2
  1235. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -2
  1236. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +3 -1
  1237. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +2 -1
  1238. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11101.json +6 -3
  1239. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +10 -3
  1240. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +12 -2
  1241. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +8 -2
  1242. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11105.json +6 -3
  1243. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +18 -3
  1244. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11107.json +6 -3
  1245. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11108.json +6 -3
  1246. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11109.json +4 -2
  1247. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11110.json +6 -3
  1248. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +14 -3
  1249. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11112.json +4 -2
  1250. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11113.json +4 -2
  1251. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +72 -0
  1252. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +88 -0
  1253. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +117 -0
  1254. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +117 -0
  1255. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +117 -0
  1256. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +117 -0
  1257. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +103 -0
  1258. package/blueprints/security-auth-keycloak/docs/topics.md +1 -2
  1259. package/blueprints/security-auth-keycloak/guide/security-auth-keycloak.md +1 -1
  1260. package/blueprints/security-auth-magic-link/CHANGELOG.md +30 -3
  1261. package/blueprints/security-auth-magic-link/README.md +3 -3
  1262. package/blueprints/security-auth-magic-link/assets/principal-registry-samples/single-address.md +1 -1
  1263. package/blueprints/security-auth-magic-link/blueprint.json +3 -2
  1264. package/blueprints/security-auth-magic-link/contributions/probes/probe-utils.mjs +174 -0
  1265. package/blueprints/security-auth-magic-link/contributions/probes/real-account-magic-link-send.mjs +139 -0
  1266. package/blueprints/security-auth-magic-link/contributions/probes/run-real-account-magic-link-send.mjs +4 -0
  1267. package/blueprints/security-auth-magic-link/contributions/probes/run-token-entropy-shape.mjs +4 -0
  1268. package/blueprints/security-auth-magic-link/contributions/probes/run-token-issue-verify.mjs +4 -0
  1269. package/blueprints/security-auth-magic-link/contributions/probes/token-entropy-shape.mjs +60 -0
  1270. package/blueprints/security-auth-magic-link/contributions/probes/token-issue-verify.mjs +90 -0
  1271. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-001.json +4 -1
  1272. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +5 -1
  1273. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +6 -2
  1274. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +5 -1
  1275. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +5 -1
  1276. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-006.json +4 -1
  1277. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-007.json +4 -1
  1278. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +5 -1
  1279. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +5 -1
  1280. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +6 -2
  1281. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +6 -2
  1282. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3101.json +10 -5
  1283. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3102.json +8 -4
  1284. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3103.json +6 -3
  1285. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3104.json +8 -4
  1286. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3105.json +6 -3
  1287. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3106.json +6 -3
  1288. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3107.json +8 -4
  1289. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3108.json +6 -3
  1290. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3109.json +6 -3
  1291. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3110.json +6 -3
  1292. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +14 -3
  1293. package/blueprints/security-auth-magic-link/docs/topics.md +1 -1
  1294. package/blueprints/security-auth-magic-link/guide/security-auth-magic-link.md +1 -1
  1295. package/blueprints/security-auth-oauth2/CHANGELOG.md +32 -4
  1296. package/blueprints/security-auth-oauth2/README.md +3 -3
  1297. package/blueprints/security-auth-oauth2/blueprint.json +35 -3
  1298. package/blueprints/security-auth-oauth2/contributions/probes/authorisation-code-flow-shape.mjs +259 -0
  1299. package/blueprints/security-auth-oauth2/contributions/probes/pkce-challenge-shape.mjs +58 -0
  1300. package/blueprints/security-auth-oauth2/contributions/probes/probe-utils.mjs +190 -0
  1301. package/blueprints/security-auth-oauth2/contributions/probes/provider-adapter-shape.mjs +64 -0
  1302. package/blueprints/security-auth-oauth2/contributions/probes/real-account-authorisation-code-flow.mjs +93 -0
  1303. package/blueprints/security-auth-oauth2/contributions/probes/run-authorisation-code-flow-shape.mjs +4 -0
  1304. package/blueprints/security-auth-oauth2/contributions/probes/run-pkce-challenge-shape.mjs +4 -0
  1305. package/blueprints/security-auth-oauth2/contributions/probes/run-provider-adapter-shape.mjs +4 -0
  1306. package/blueprints/security-auth-oauth2/contributions/probes/run-real-account-authorisation-code-flow.mjs +4 -0
  1307. package/blueprints/security-auth-oauth2/contributions/probes/run-session-bridge-shape.mjs +4 -0
  1308. package/blueprints/security-auth-oauth2/contributions/probes/session-bridge-shape.mjs +78 -0
  1309. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-001.json +5 -2
  1310. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +5 -1
  1311. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +5 -1
  1312. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-004.json +4 -1
  1313. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +5 -1
  1314. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +6 -2
  1315. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-007.json +4 -1
  1316. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +6 -2
  1317. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +5 -1
  1318. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-010.json +4 -1
  1319. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +22 -0
  1320. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +22 -0
  1321. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +22 -0
  1322. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +2 -1
  1323. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +9 -2
  1324. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10101.json +6 -3
  1325. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10102.json +6 -3
  1326. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10103.json +4 -2
  1327. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10104.json +4 -2
  1328. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10105.json +8 -4
  1329. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10106.json +6 -3
  1330. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10107.json +6 -3
  1331. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10108.json +6 -3
  1332. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10109.json +4 -2
  1333. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10110.json +4 -2
  1334. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +17 -2
  1335. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +82 -0
  1336. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10113.json +68 -0
  1337. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +88 -0
  1338. package/blueprints/security-auth-oauth2/docs/topics.md +1 -2
  1339. package/blueprints/security-secrets-management/CHANGELOG.md +26 -3
  1340. package/blueprints/security-secrets-management/README.md +2 -2
  1341. package/blueprints/security-secrets-management/blueprint.json +170 -32
  1342. package/blueprints/security-secrets-management/contributions/probes/add-recipient-rotation.mjs +107 -0
  1343. package/blueprints/security-secrets-management/contributions/probes/encrypt-decrypt-round-trip.mjs +122 -0
  1344. package/blueprints/security-secrets-management/contributions/probes/key-rotation.mjs +93 -0
  1345. package/blueprints/security-secrets-management/contributions/probes/mismatched-key-refusal.mjs +74 -0
  1346. package/blueprints/security-secrets-management/contributions/probes/probe-utils.mjs +214 -0
  1347. package/blueprints/security-secrets-management/contributions/probes/run-add-recipient-rotation.mjs +4 -0
  1348. package/blueprints/security-secrets-management/contributions/probes/run-encrypt-decrypt-round-trip.mjs +4 -0
  1349. package/blueprints/security-secrets-management/contributions/probes/run-key-rotation.mjs +4 -0
  1350. package/blueprints/security-secrets-management/contributions/probes/run-mismatched-key-refusal.mjs +4 -0
  1351. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +5 -1
  1352. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +6 -2
  1353. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +6 -2
  1354. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +5 -1
  1355. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +6 -2
  1356. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +5 -1
  1357. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +5 -1
  1358. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +5 -1
  1359. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +5 -1
  1360. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-010.json +6 -3
  1361. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8101.json +6 -3
  1362. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8102.json +6 -3
  1363. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8103.json +4 -2
  1364. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8104.json +6 -3
  1365. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8105.json +8 -4
  1366. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8106.json +6 -3
  1367. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8107.json +6 -3
  1368. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8108.json +6 -3
  1369. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8109.json +6 -3
  1370. package/blueprints/security-secrets-management/contributions/user-stories/security-secrets-management-us-8110.json +6 -3
  1371. package/blueprints/security-secrets-management/docs/topics.md +2 -3
  1372. package/fixtures/canary-manifest.json +9 -9
  1373. package/guidance/harness-template.md +25 -0
  1374. package/guidance/managed/agent-instructions-block.hash +1 -1
  1375. package/guidance/managed/agent-instructions-block.md +25 -0
  1376. package/package.json +2 -2
  1377. package/rcf/adrs/adr-4101-feedback-store-gitignored.json +20 -0
  1378. package/rcf/adrs/adr-4102-fingerprint-and-labels.json +25 -0
  1379. package/rcf/adrs/adr-4103-redaction-rule-based.json +20 -0
  1380. package/rcf/adrs/adr-4104-destination-on-library.json +25 -0
  1381. package/rcf/adrs/adr-4105-gh-ambient-auth.json +20 -0
  1382. package/rcf/adrs/adr-4106-bundled-entries-terminal.json +20 -0
  1383. package/rcf/adrs/adr-4107-stop-is-ask-event.json +30 -0
  1384. package/rcf/adrs/adr-4108-hooks-in-committed-config.json +25 -0
  1385. package/rcf/adrs/adr-4109-referee-validate-adr-crosslinks.json +25 -0
  1386. package/rcf/adrs/adr-4110-referee-coverage-strict-by-default.json +25 -0
  1387. package/rcf/adrs/adr-4111-referee-finalise-refusals.json +20 -0
  1388. package/rcf/adrs/adr-4112-referee-finalise-verified-invariant.json +30 -0
  1389. package/rcf/code-nodes/cn-600.json +45 -0
  1390. package/rcf/code-nodes/cn-601.json +18 -0
  1391. package/rcf/code-nodes/cn-602.json +15 -0
  1392. package/rcf/code-nodes/cn-603.json +12 -0
  1393. package/rcf/code-nodes/cn-604.json +14 -0
  1394. package/rcf/code-nodes/cn-605.json +17 -0
  1395. package/rcf/code-nodes/cn-606.json +12 -0
  1396. package/rcf/code-nodes/cn-607.json +12 -0
  1397. package/rcf/code-nodes/cn-608.json +14 -0
  1398. package/rcf/code-nodes/cn-609.json +17 -0
  1399. package/rcf/code-nodes/cn-620.json +18 -0
  1400. package/rcf/code-nodes/cn-621.json +14 -0
  1401. package/rcf/code-nodes/cn-622.json +15 -0
  1402. package/rcf/code-nodes/cn-623.json +16 -0
  1403. package/rcf/code-nodes/cn-624.json +14 -0
  1404. package/rcf/code-nodes/cn-625.json +15 -0
  1405. package/rcf/code-nodes/cn-626.json +13 -0
  1406. package/rcf/code-nodes/cn-627.json +13 -0
  1407. package/rcf/code-nodes/cn-628.json +14 -0
  1408. package/rcf/code-nodes/cn-629.json +12 -0
  1409. package/rcf/code-nodes/cn-630.json +12 -0
  1410. package/rcf/code-nodes/cn-631.json +13 -0
  1411. package/rcf/code-nodes/cn-632.json +13 -0
  1412. package/rcf/fbs/fbs-180.json +45 -0
  1413. package/rcf/fbs/fbs-181.json +45 -0
  1414. package/rcf/fbs/fbs-182.json +42 -0
  1415. package/rcf/fbs/fbs-183.json +50 -0
  1416. package/rcf/fbs/fbs-184.json +49 -0
  1417. package/rcf/fbs/fbs-185.json +34 -0
  1418. package/rcf/fbs/fbs-186.json +16 -0
  1419. package/rcf/fbs/fbs-187.json +17 -0
  1420. package/rcf/fbs/fbs-188.json +17 -0
  1421. package/rcf/fbs/fbs-189.json +17 -0
  1422. package/rcf/requirements/req-155.json +13 -0
  1423. package/rcf/requirements/req-156.json +13 -0
  1424. package/rcf/requirements/req-157.json +13 -0
  1425. package/rcf/requirements/req-158.json +13 -0
  1426. package/rcf/requirements/req-159.json +13 -0
  1427. package/rcf/requirements/req-160.json +13 -0
  1428. package/rcf/requirements/req-161.json +13 -0
  1429. package/rcf/requirements/req-162.json +13 -0
  1430. package/rcf/requirements/req-163.json +13 -0
  1431. package/rcf/requirements/req-164.json +13 -0
  1432. package/rcf/requirements/req-165.json +13 -0
  1433. package/rcf/tacs/tac-4101-feedback-cli.json +77 -0
  1434. package/rcf/tacs/tac-4102-feedback-store.json +50 -0
  1435. package/rcf/tacs/tac-4103-feedback-redact.json +39 -0
  1436. package/rcf/tacs/tac-4104-feedback-fingerprint.json +33 -0
  1437. package/rcf/tacs/tac-4105-feedback-render.json +45 -0
  1438. package/rcf/tacs/tac-4106-feedback-destination.json +39 -0
  1439. package/rcf/tacs/tac-4107-feedback-gh.json +43 -0
  1440. package/rcf/tacs/tac-4108-feedback-hook.json +46 -0
  1441. package/rcf/tacs/tac-4109-referee-validate-adr-crosslinks.json +20 -0
  1442. package/rcf/tacs/tac-4110-referee-coverage-mode-selector.json +21 -0
  1443. package/rcf/tacs/tac-4111-referee-finalise-per-ac-refusals.json +21 -0
  1444. package/rcf/tacs/tac-4112-referee-finalise-verified-invariant.json +22 -0
  1445. package/rcf/test-suites/ts-050.json +1 -1
  1446. package/rcf/test-suites/ts-052.json +1 -1
  1447. package/rcf/test-suites/ts-053.json +2 -2
  1448. package/rcf/test-suites/ts-054.json +2 -2
  1449. package/rcf/test-suites/ts-055.json +2 -2
  1450. package/rcf/test-suites/ts-056.json +4 -4
  1451. package/rcf/test-suites/ts-057.json +2 -2
  1452. package/rcf/test-suites/ts-140.json +9 -9
  1453. package/rcf/test-suites/ts-150.json +9 -9
  1454. package/rcf/test-suites/ts-185.json +54 -0
  1455. package/rcf/test-suites/ts-186.json +58 -0
  1456. package/rcf/test-suites/ts-187.json +44 -0
  1457. package/rcf/test-suites/ts-188.json +166 -0
  1458. package/rcf/test-suites/ts-189.json +38 -0
  1459. package/rcf/test-suites/ts-190.json +30 -0
  1460. package/rcf/test-suites/ts-191.json +51 -0
  1461. package/rcf/test-suites/ts-192.json +37 -0
  1462. package/rcf/test-suites/ts-193.json +60 -0
  1463. package/rcf/test-suites/ts-194.json +67 -0
  1464. package/rcf/test-suites/ts-195.json +52 -0
  1465. package/rcf/test-suites/ts-196.json +58 -0
  1466. package/rcf/test-suites/ts-197.json +66 -0
  1467. package/rcf/test-suites/ts-198.json +87 -0
  1468. package/rcf/test-suites/ts-199.json +51 -0
  1469. package/rcf/test-suites/ts-200.json +30 -0
  1470. package/rcf/test-suites/ts-201.json +38 -0
  1471. package/rcf/test-suites/ts-202.json +38 -0
  1472. package/rcf/test-suites/ts-203.json +38 -0
  1473. package/rcf/user-stories/us-15501.json +60 -0
  1474. package/rcf/user-stories/us-15502.json +33 -0
  1475. package/rcf/user-stories/us-15503.json +33 -0
  1476. package/rcf/user-stories/us-15601.json +51 -0
  1477. package/rcf/user-stories/us-15701.json +42 -0
  1478. package/rcf/user-stories/us-15801.json +42 -0
  1479. package/rcf/user-stories/us-15802.json +33 -0
  1480. package/rcf/user-stories/us-15901.json +33 -0
  1481. package/rcf/user-stories/us-15902.json +51 -0
  1482. package/rcf/user-stories/us-16001.json +51 -0
  1483. package/rcf/user-stories/us-16101.json +42 -0
  1484. package/rcf/user-stories/us-16102.json +33 -0
  1485. package/rcf/user-stories/us-16103.json +42 -0
  1486. package/rcf/user-stories/us-16104.json +42 -0
  1487. package/rcf/user-stories/us-16201.json +33 -0
  1488. package/rcf/user-stories/us-16301.json +36 -0
  1489. package/rcf/user-stories/us-16401.json +45 -0
  1490. package/rcf/user-stories/us-16501.json +45 -0
  1491. package/rcf/user-stories/us-16502.json +45 -0
  1492. package/rcf/user-stories/us-7701.json +3 -3
  1493. package/releases/releases.yaml +21 -1
  1494. package/src/blueprint/library-loader.js +48 -0
  1495. package/src/blueprint/library-registry.js +13 -0
  1496. package/src/browser-verify/pack-runner.js +7 -12
  1497. package/src/build/mark.js +1 -1
  1498. package/src/cli/blueprint-library.js +149 -0
  1499. package/src/cli/coverage.js +49 -24
  1500. package/src/cli/doctor.js +195 -7
  1501. package/src/cli/feedback.js +2204 -0
  1502. package/src/cli/finalise.js +158 -1
  1503. package/src/cli/help.js +6 -0
  1504. package/src/cli/init.js +63 -0
  1505. package/src/cli/update.js +21 -1
  1506. package/src/cli/view.js +22 -11
  1507. package/src/core/store/walker.js +33 -0
  1508. package/src/core/store/writer.js +23 -0
  1509. package/src/feedback/destination.js +361 -0
  1510. package/src/feedback/fingerprint.js +132 -0
  1511. package/src/feedback/gh.js +376 -0
  1512. package/src/feedback/hook.js +183 -0
  1513. package/src/feedback/labels.js +87 -0
  1514. package/src/feedback/redact-allowlist.json +14 -0
  1515. package/src/feedback/redact.js +1108 -0
  1516. package/src/feedback/render.js +267 -0
  1517. package/src/feedback/store.js +604 -0
  1518. package/src/finalise/index.js +4 -0
  1519. package/src/finalise/ingest.js +61 -0
  1520. package/src/finalise/ship-without-eval.js +19 -7
  1521. package/src/mcp/tools.js +8 -2
  1522. package/src/setup/feedback-hooks.js +397 -0
  1523. package/src/setup/managed-gitignore.js +3 -0
  1524. package/src/view/html-page.js +5 -5
  1525. package/src/view/style.css +2 -2
@@ -16,7 +16,8 @@
16
16
  "when": "the process boots and the facade's ready-check returns",
17
17
  "then": "a facadeReady event fires on the injected event sink with a payload containing endpointHost and bucketName, and the client is ready to accept verbs; the facade exposes named domain verbs and does not re-export the raw S3 client",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template"
20
21
  },
21
22
  {
22
23
  "id": "AC-28101-2",
@@ -25,10 +26,41 @@
25
26
  "when": "grep 'from \\'@aws-sdk/client-s3\\'' or 'from \\'aws4fetch\\'' walks the tree outside the facade directory",
26
27
  "then": "no match is found outside the facade directory; the facade's public surface exports named domain verbs only, no raw S3 client reference",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "template"
31
+ },
32
+ {
33
+ "id": "AC-28101-3",
34
+ "description": "Facade refuses at boot when the elicited endpoint is unreachable. Given the elicited s3-endpoint-url resolves to a host the runner cannot reach (or refuses a ready-check inside the connection timeout), when the facade opens on boot, then the facade refuses with a named error kind (endpointUnreachable) carrying the endpoint host but no credential material, and facadeReady does not fire.",
35
+ "given": "s3-endpoint-url resolves to an unreachable host or times out on ready-check",
36
+ "when": "the facade opens on boot",
37
+ "then": "the facade refuses with endpointUnreachable carrying host but no credentials; facadeReady does not fire",
38
+ "testable": true,
39
+ "scope": "runtime",
40
+ "ownerRef": {
41
+ "tacId": "TAC-2901-object-storage-s3-facade",
42
+ "field": "interfaces.createObjectStore"
43
+ },
44
+ "disposition": "template"
45
+ },
46
+ {
47
+ "id": "AC-28101-4",
48
+ "description": "S3 adapter aws-sdk-client-s3. Given the elicited s3-adapter answers aws-sdk-client-s3, when the facade opens on process boot, then the facade constructs one `new S3Client(...)` from @aws-sdk/client-s3 v3 and the outbound HeadBucket request carries the SDK's default User-Agent header of shape `aws-sdk-js/<version> ...` (grep on the client's user-agent middleware output confirms the aws-sdk-js prefix); the aws4fetch package is NOT present in the facade module's imports; a grep across the applied source refuses any import of aws4fetch outside the facade.",
49
+ "given": "s3-adapter = aws-sdk-client-s3",
50
+ "when": "the facade opens on boot and issues its first HeadBucket ready-check",
51
+ "then": "the facade constructs one S3Client from @aws-sdk/client-s3 v3 and the outbound HeadBucket carries a User-Agent starting with `aws-sdk-js/`; aws4fetch is absent from the applied source",
52
+ "testable": true,
53
+ "scope": "runtime",
54
+ "ownerRef": {
55
+ "adrId": "ADR-2901-object-storage-s3-adapter",
56
+ "field": "decision"
57
+ },
58
+ "disposition": "template"
29
59
  }
30
60
  ],
31
- "tacIds": ["TAC-2901-object-storage-s3-facade"],
61
+ "tacIds": [
62
+ "TAC-2901-object-storage-s3-facade"
63
+ ],
32
64
  "createdAt": "2026-09-06T18:00:00.000Z",
33
- "updatedAt": "2026-09-06T18:00:00.000Z"
65
+ "updatedAt": "2026-09-09T00:00:00Z"
34
66
  }
@@ -16,7 +16,12 @@
16
16
  "when": "putObject(key, contentType='application/octet-stream', body=<1 KiB Buffer>) then getObject(key)",
17
17
  "then": "the returned body's byte length equals 1024 and the returned content-type equals application/octet-stream; the events list captured on the sink contains an objectPut record with matching key, size 1024, contentType, timestamp; no body bytes appear in any event record",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "vendorCitation": {
22
+ "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html",
23
+ "verifiedOn": "2026-09-09"
24
+ }
20
25
  },
21
26
  {
22
27
  "id": "AC-28102-2",
@@ -25,7 +30,12 @@
25
30
  "when": "deleteObject(key) followed by getObject(key)",
26
31
  "then": "the getObject rejects with a not-found shape (NoSuchKey on S3/R2/MinIO); an objectDeleted event fires on the sink with matching key and timestamp",
27
32
  "testable": true,
28
- "scope": "runtime"
33
+ "scope": "runtime",
34
+ "disposition": "fixed",
35
+ "vendorCitation": {
36
+ "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html",
37
+ "verifiedOn": "2026-09-09"
38
+ }
29
39
  },
30
40
  {
31
41
  "id": "AC-28102-3",
@@ -34,10 +44,27 @@
34
44
  "when": "listObjects(prefix='probe/list/')",
35
45
  "then": "the returned keys include every put key with matching prefix, and the paginated envelope carries an isTruncated boolean",
36
46
  "testable": true,
37
- "scope": "runtime"
47
+ "scope": "runtime",
48
+ "disposition": "fixed"
49
+ },
50
+ {
51
+ "id": "AC-28102-4",
52
+ "description": "Key-shape refusal. Given a call to put, get, delete or list on the facade, when the key argument is an empty string, starts with a \"/\", contains \"..\" or \"//\", or exceeds 1024 bytes, then the facade refuses with a named error kind (invalidKey) before any client call, and no lifecycle event fires on the sink.",
53
+ "given": "a facade verb call with an invalid key shape",
54
+ "when": "the verb runs",
55
+ "then": "the facade refuses with error kind invalidKey; no client call is issued; no lifecycle event fires",
56
+ "testable": true,
57
+ "scope": "runtime",
58
+ "ownerRef": {
59
+ "tacId": "TAC-2901-object-storage-s3-facade",
60
+ "field": "interfaces.store.verbs"
61
+ },
62
+ "disposition": "fixed"
38
63
  }
39
64
  ],
40
- "tacIds": ["TAC-2901-object-storage-s3-facade"],
65
+ "tacIds": [
66
+ "TAC-2901-object-storage-s3-facade"
67
+ ],
41
68
  "createdAt": "2026-09-06T18:00:00.000Z",
42
- "updatedAt": "2026-09-06T18:00:00.000Z"
69
+ "updatedAt": "2026-09-09T00:00:00Z"
43
70
  }
@@ -16,10 +16,49 @@
16
16
  "when": "presignGetUrl(key, ttl=60) then fetch(url) immediately, then wait ttl+2 seconds and fetch(url) again",
17
17
  "then": "first fetch returns 200 with body bytes equal to the put payload; second fetch returns 403; the events list contains a presignedIssued record with key, ttl=60, timestamp; no URL or credential material appears in any event record",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "vendorCitation": {
22
+ "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html",
23
+ "verifiedOn": "2026-09-09"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-28103-2",
28
+ "description": "Presigned URL beyond TTL returns 403. Given a presigned GET URL issued with TTL of 60 seconds, when a fetch runs against it more than 60 seconds after issuance, then the vendor returns HTTP 403 (SignatureDoesNotMatch or expired-URL family), and the facade's subsequent presign call for the same key issues a fresh URL with a fresh TTL boundary.",
29
+ "given": "a presigned GET URL issued with a 60-second TTL",
30
+ "when": "a fetch runs against it more than 60 seconds after issuance",
31
+ "then": "the vendor returns HTTP 403 (expired-URL family); a subsequent presign issues a fresh URL",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "ownerRef": {
35
+ "tacId": "TAC-2901-object-storage-s3-facade",
36
+ "field": "interfaces.store.verbs"
37
+ },
38
+ "disposition": "fixed",
39
+ "vendorCitation": {
40
+ "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html",
41
+ "verifiedOn": "2026-09-09"
42
+ }
43
+ },
44
+ {
45
+ "id": "AC-28103-3",
46
+ "description": "Presigned TTL above ceiling refused at the facade edge. Given a presignGetUrl call with a TTL argument above the elicited presigned-ttl-ceiling-seconds, when the verb runs, then the facade refuses with a named error kind (presignTtlAboveCeiling); no vendor call issues.",
47
+ "given": "presignGetUrl call with TTL above the elicited ceiling",
48
+ "when": "the verb runs",
49
+ "then": "the facade refuses with presignTtlAboveCeiling; no vendor call issues",
50
+ "testable": true,
51
+ "scope": "runtime",
52
+ "ownerRef": {
53
+ "tacId": "TAC-2901-object-storage-s3-facade",
54
+ "field": "interfaces.store.verbs"
55
+ },
56
+ "disposition": "template"
20
57
  }
21
58
  ],
22
- "tacIds": ["TAC-2901-object-storage-s3-facade"],
59
+ "tacIds": [
60
+ "TAC-2901-object-storage-s3-facade"
61
+ ],
23
62
  "createdAt": "2026-09-06T18:00:00.000Z",
24
- "updatedAt": "2026-09-06T18:00:00.000Z"
63
+ "updatedAt": "2026-09-09T00:00:00Z"
25
64
  }
@@ -16,7 +16,8 @@
16
16
  "when": "putObject(key, contentType, body=<10 MiB Buffer>) then getObject(key)",
17
17
  "then": "the getObject returns a body of exact size 10485760 with byte equality to the put payload; the events list contains one objectPut record with size=10485760; no ListMultipartUploads on the bucket surfaces an in-flight upload after completion",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template"
20
21
  },
21
22
  {
22
23
  "id": "AC-28104-2",
@@ -25,10 +26,27 @@
25
26
  "when": "putObject(key, contentType, body=<10 MiB Buffer>) rejects mid-upload",
26
27
  "then": "the rejection propagates to the caller; a probe-side ListMultipartUploads(prefix=key) returns zero uploads; no completed object appears at key",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "template"
31
+ },
32
+ {
33
+ "id": "AC-28104-3",
34
+ "description": "Multipart aborted on part failure. Given a multipart-upload with N parts where part K uploadPart returns a non-2xx (a mid-stream 5xx or client abort), when the uploader catches the failure, then it calls AbortMultipartUpload against the upload id, no CompleteMultipartUpload runs, no partial object survives at the target key, and the facade emits multipartAborted with { key, uploadId, failedPartNumber } on the event sink.",
35
+ "given": "a multipart-upload with N parts where uploadPart K returns non-2xx",
36
+ "when": "the uploader catches the failure",
37
+ "then": "AbortMultipartUpload runs; no CompleteMultipartUpload runs; no partial object survives; multipartAborted fires with {key, uploadId, failedPartNumber}",
38
+ "testable": true,
39
+ "scope": "runtime",
40
+ "ownerRef": {
41
+ "tacId": "TAC-2902-object-storage-s3-multipart-uploader",
42
+ "field": "interfaces.putMultipart"
43
+ },
44
+ "disposition": "fixed"
29
45
  }
30
46
  ],
31
- "tacIds": ["TAC-2902-object-storage-s3-multipart-uploader"],
47
+ "tacIds": [
48
+ "TAC-2902-object-storage-s3-multipart-uploader"
49
+ ],
32
50
  "createdAt": "2026-09-06T18:00:00.000Z",
33
- "updatedAt": "2026-09-06T18:00:00.000Z"
51
+ "updatedAt": "2026-09-09T00:00:00Z"
34
52
  }
@@ -11,15 +11,36 @@
11
11
  "acceptanceCriteria": [
12
12
  {
13
13
  "id": "AC-28105-1",
14
- "description": "Given a lifecycle-event spy attached to the sink, when put, get, delete, and presign verbs run against a PII fixture (key users/1234/passport.jpg, body carrying the PII fixture text), then every event record on the sink carries only fields from the whitelist {event, key, size, contentType, ttl, timestamp, endpointHost, bucketName}; no field name matches userId or ssn or dob or email; no field value contains the PII fixture body text; no field value contains any part of the object body bytes.",
14
+ "description": "Given a lifecycle-event spy attached to the sink, when put, get, delete, and presign verbs run against a PII fixture (key users/1234/passport.jpg, body carrying the PII fixture text), then every event record on the sink carries only fields from the whitelist {event, key, size, contentType, ttl, ts (number of milliseconds since epoch), endpointHost, bucketName}; no field name matches userId or ssn or dob or email; no field value contains the PII fixture body text; no field value contains any part of the object body bytes.",
15
15
  "given": "the facade opened, a spy on the event sink, a PII fixture body PII-FIXTURE-DO-NOT-LOG",
16
16
  "when": "putObject(users/1234/passport.jpg, image/jpeg, <body containing PII-FIXTURE-DO-NOT-LOG>), then getObject, then presignGetUrl, then deleteObject",
17
17
  "then": "every event record on the sink has keys drawn from the whitelist above; no event value contains the string PII-FIXTURE-DO-NOT-LOG; no event value contains a userId, ssn, dob, or email field; the key users/1234/passport.jpg appears on records as the key field only (not decomposed into userId)",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template",
21
+ "ownerRef": {
22
+ "tacId": "TAC-2903-object-storage-s3-event-sink",
23
+ "field": "interfaces.onEvent"
24
+ }
25
+ },
26
+ {
27
+ "id": "AC-28105-2",
28
+ "description": "Repeat-emission secrecy at high fanout. Given every facade verb exercised across N iterations, when the accumulated event stream is inspected, then every one of the N records is restricted to the metadata whitelist on AC-28105-1 with no body bytes, no user id and no PII; a mutation SIMULATE_BODY_BYTES_IN_EVENT=true injects payload bytes into a putCompleted record and the sink observer FAILS naming the leaked field.",
29
+ "given": "every facade verb exercised N times",
30
+ "when": "the accumulated event stream is inspected",
31
+ "then": "every record is restricted to metadata whitelist; the body-byte mutation FAILS",
32
+ "testable": true,
33
+ "scope": "runtime",
34
+ "ownerRef": {
35
+ "tacId": "TAC-2903-object-storage-s3-event-sink",
36
+ "field": "interfaces.onEvent"
37
+ },
38
+ "disposition": "fixed"
20
39
  }
21
40
  ],
22
- "tacIds": ["TAC-2903-object-storage-s3-event-sink"],
41
+ "tacIds": [
42
+ "TAC-2903-object-storage-s3-event-sink"
43
+ ],
23
44
  "createdAt": "2026-09-06T18:00:00.000Z",
24
- "updatedAt": "2026-09-06T18:00:00.000Z"
45
+ "updatedAt": "2026-09-09T00:00:00Z"
25
46
  }
@@ -11,12 +11,17 @@
11
11
  "acceptanceCriteria": [
12
12
  {
13
13
  "id": "AC-28106-1",
14
- "description": "Given a fresh scratch project with no security-secrets-management applied, when rcf define blueprint add ./blueprints/object-storage-s3 runs, then the command exits 3 and stderr contains the stable message id object-storage-s3-no-secrets, the required predecessor blueprint name security-secrets-management, and the override flag --allow-no-secrets-yet; the scratch project's rcf tree does not carry object-storage-s3 contributions after the refusal.",
14
+ "description": "Given a fresh scratch project with no security-secrets-management applied, when rcf define blueprint add ./blueprints/object-storage-s3 runs, then the command exits 3 and stderr contains the stable message id object-storage-s3-no-secrets, the required predecessor blueprint name security-secrets-management, and the override flag --allow-no-secrets-yet; the scratch project's rcf tree does not carry object-storage-s3 contributions after the refusal. The applying agent constructs the facade by passing { secretRef, resolver } (never { accessKeyId, secretAccessKey }); a mutation that swaps in a resolved credential object FAILS the boundary check with a named error kind (rejectedResolvedCredentials).",
15
15
  "given": "a fresh rcf init scratch project with no security-secrets-management applied",
16
16
  "when": "rcf define blueprint add ./blueprints/object-storage-s3 runs against the scratch project",
17
17
  "then": "the command exits 3; stderr contains the string object-storage-s3-no-secrets; stderr names security-secrets-management and the --allow-no-secrets-yet flag; the scratch tree has zero object-storage-s3 requirements after the refusal",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template",
21
+ "ownerRef": {
22
+ "tacId": "TAC-2901-object-storage-s3-facade",
23
+ "field": "interfaces.createObjectStore"
24
+ }
20
25
  },
21
26
  {
22
27
  "id": "AC-28106-2",
@@ -25,10 +30,13 @@
25
30
  "when": "rcf define blueprint add ./blueprints/object-storage-s3 --allow-no-secrets-yet runs against the scratch project",
26
31
  "then": "the command exits 0; the applied manifest entry for object-storage-s3 carries a source.notes string naming the security-secrets-management predecessor and the --allow-no-secrets-yet override; the contributions land on disk",
27
32
  "testable": true,
28
- "scope": "runtime"
33
+ "scope": "runtime",
34
+ "disposition": "template"
29
35
  }
30
36
  ],
31
- "tacIds": ["TAC-2901-object-storage-s3-facade"],
37
+ "tacIds": [
38
+ "TAC-2901-object-storage-s3-facade"
39
+ ],
32
40
  "createdAt": "2026-09-06T18:00:00.000Z",
33
- "updatedAt": "2026-09-06T18:00:00.000Z"
41
+ "updatedAt": "2026-09-09T00:00:00Z"
34
42
  }
@@ -16,7 +16,8 @@
16
16
  "when": "run-facade-round-trip.mjs, run-put-get-round-trip.mjs, run-presigned-url.mjs, run-multipart-upload.mjs, run-event-secrecy.mjs run in sequence",
17
17
  "then": "each shim exits 0; each per-blueprint report at .rcf/reports/blueprints/object-storage-s3/<probe>.json carries aggregateVerdict pass; every result carries an anchorAcId matching a contributed AC id",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template"
20
21
  },
21
22
  {
22
23
  "id": "AC-28107-2",
@@ -25,10 +26,15 @@
25
26
  "when": "each induced-failure switch is set in turn and the paired probe runs",
26
27
  "then": "the paired probe exits non-zero and the aggregate verdict lands as fail on the anchored AC; the fixture README documents the paired switch and probe for each of the four wired switches",
27
28
  "testable": true,
28
- "scope": "runtime"
29
+ "scope": "runtime",
30
+ "disposition": "template"
29
31
  }
30
32
  ],
31
- "tacIds": ["TAC-2901-object-storage-s3-facade", "TAC-2902-object-storage-s3-multipart-uploader", "TAC-2903-object-storage-s3-event-sink"],
33
+ "tacIds": [
34
+ "TAC-2901-object-storage-s3-facade",
35
+ "TAC-2902-object-storage-s3-multipart-uploader",
36
+ "TAC-2903-object-storage-s3-event-sink"
37
+ ],
32
38
  "createdAt": "2026-09-06T18:00:00.000Z",
33
- "updatedAt": "2026-09-06T18:00:00.000Z"
39
+ "updatedAt": "2026-09-09T00:00:00Z"
34
40
  }
@@ -16,7 +16,12 @@
16
16
  "when": "node blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs runs",
17
17
  "then": "the shim exits 0; the report at .rcf/reports/blueprints/object-storage-s3/r2-real-account-smoke.json carries aggregateVerdict pass and a single result with accountBoundSkipped true",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "fixed",
21
+ "vendorCitation": {
22
+ "url": "https://developers.cloudflare.com/r2/api/s3/api/",
23
+ "verifiedOn": "2026-09-09"
24
+ }
20
25
  },
21
26
  {
22
27
  "id": "AC-28108-2",
@@ -25,10 +30,13 @@
25
30
  "when": "node blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs runs",
26
31
  "then": "the shim exits 0; the temporary object is deleted after the round-trip; the report carries aggregateVerdict pass and no accountBoundSkipped:true field",
27
32
  "testable": true,
28
- "scope": "runtime"
33
+ "scope": "runtime",
34
+ "disposition": "template"
29
35
  }
30
36
  ],
31
- "tacIds": ["TAC-2901-object-storage-s3-facade"],
37
+ "tacIds": [
38
+ "TAC-2901-object-storage-s3-facade"
39
+ ],
32
40
  "createdAt": "2026-09-06T18:00:00.000Z",
33
- "updatedAt": "2026-09-06T18:00:00.000Z"
41
+ "updatedAt": "2026-09-09T00:00:00Z"
34
42
  }
@@ -16,10 +16,27 @@
16
16
  "when": "node blueprints/object-storage-s3/contributions/probes/run-hetzner-object-storage-round-trip.mjs runs",
17
17
  "then": "the probe either round-trips a byte-equal 1 KiB payload via put/get/delete against the composed <bucket>.<location>.your-objectstorage.com endpoint or records accountBoundSkipped true; SIMULATE_HETZNER_ENDPOINT_MISSHAPEN true composes an invalid endpoint via the fixture-side shim and the probe FAILS naming the missing subdomain",
18
18
  "testable": true,
19
- "scope": "runtime"
19
+ "scope": "runtime",
20
+ "disposition": "template"
21
+ },
22
+ {
23
+ "id": "AC-28110-2",
24
+ "description": "Unknown Hetzner location refused. Given the elicited hetzner-location-code answered as a value outside the shipped enum {fsn1, hel1, nbg1}, when the endpoint-shape helper composes the endpoint URL, then the helper refuses with a named error kind (unknownHetznerLocation) naming the offending value and the shipped enum; the facade does not open against the unknown location.",
25
+ "given": "hetzner-location-code answered outside {fsn1, hel1, nbg1}",
26
+ "when": "the endpoint-shape helper composes the URL",
27
+ "then": "the helper refuses with unknownHetznerLocation naming the offending value and the shipped enum; the facade does not open",
28
+ "testable": true,
29
+ "scope": "runtime",
30
+ "ownerRef": {
31
+ "tacId": "TAC-2904-object-storage-s3-hetzner-endpoint-helper",
32
+ "field": "interfaces.composeHetznerEndpoint"
33
+ },
34
+ "disposition": "template"
20
35
  }
21
36
  ],
22
- "tacIds": ["TAC-2904-object-storage-s3-hetzner-endpoint-helper"],
37
+ "tacIds": [
38
+ "TAC-2904-object-storage-s3-hetzner-endpoint-helper"
39
+ ],
23
40
  "createdAt": "2026-09-08T00:00:00.000Z",
24
- "updatedAt": "2026-09-08T00:00:00.000Z"
41
+ "updatedAt": "2026-09-09T00:00:00Z"
25
42
  }
@@ -58,7 +58,7 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
58
58
  | platform-docker-compose-host | 38101-38899 | 39xx | shipped v1.0.0 | `containerHostContract` |
59
59
  | edge-cloudflare-tunnel | 39101-39899 | 40xx | shipped v1.0.0 | `edgeIngressBridge` |
60
60
 
61
- US 28101-28108 sit at the LOW end of the 28101-28899 band on purpose (watchpost run-4 lesson). A project-side story mechanically derived from an object-storage-s3 REQ id into the number 28110 would collide against a shipped US-28110; band headroom (28109-28899) leaves that space.
61
+ US 28101-28108 sit at the LOW end of the 28101-28899 band on purpose. A project-side story mechanically derived from an object-storage-s3 REQ id into the number 28110 would collide against a shipped US-28110; band headroom (28109-28899) leaves that space.
62
62
 
63
63
  ADR/TAC suffixes for this blueprint use the 2901-2999 block, continuing the shelf pattern.
64
64
 
@@ -6,7 +6,7 @@ S3-shape object storage on any S3-compatible endpoint: Cloudflare R2 (the shippe
6
6
 
7
7
  ## Apply this blueprint
8
8
 
9
- `security-secrets-management` v1.0.1+ MUST be applied first per REQ-006 (Baz decision 6). The blueprint declares `requiresAppliedCapabilities: {capabilities: ["secretsProvider"], allowSkipFlag: "allow-no-secrets-yet", refusalMessageId: "object-storage-s3-no-secrets"}` and the T-5 capability mechanism (visual round spec 5.5.1) enforces the refusal at apply time. On a project that has not applied secrets-management:
9
+ `security-secrets-management` v1.0.1+ MUST be applied first per REQ-006. The blueprint declares `requiresAppliedCapabilities: {capabilities: ["secretsProvider"], allowSkipFlag: "allow-no-secrets-yet", refusalMessageId: "object-storage-s3-no-secrets"}` and the capability mechanism enforces the refusal at apply time. On a project that has not applied secrets-management:
10
10
 
11
11
  ```sh
12
12
  rcf define blueprint add object-storage-s3
@@ -55,7 +55,7 @@ await store.deleteObject('uploads/report.pdf');
55
55
  const { keys, isTruncated } = await store.listObjects('uploads/');
56
56
  ```
57
57
 
58
- The facade is the sole importer of `@aws-sdk/client-s3` in your source tree per REQ-001. A project-side call site that reaches into the SDK directly is refused at author-side review.
58
+ The facade is the sole importer of `@aws-sdk/client-s3` in your source tree per REQ-001. A project-side call site that reaches into the SDK directly is refused at the author-side check.
59
59
 
60
60
  ## Adapter choice per deploy target
61
61
 
@@ -216,7 +216,7 @@ The Cloudflare R2 smoke stays gated on `CI_HAS_CLOUDFLARE_ACCOUNT` and is not af
216
216
 
217
217
  - Storage region matters (European data-locality requirements or lower-latency reads from EU-hosted workloads). `fsn1`, `hel1`, `nbg1` cover Germany and Finland; R2 does not surface a per-region locality on the public shape.
218
218
  - Egress-pricing profile differs from R2's zero-egress-fee posture; a workload with high internal-only egress may prefer R2, while a workload with predictable public egress may prefer Hetzner's flat per-TB pricing.
219
- - The applying project already runs on Hetzner Cloud (deploy-hetzner-server v1.0.0 shipped in round 7 T-1) and pairing the storage on the same vendor account is operationally simpler.
219
+ - The applying project already runs on Hetzner Cloud (deploy-hetzner-server v1.0.0 shipped in round 7) and pairing the storage on the same vendor account is operationally simpler.
220
220
 
221
221
  Reach for R2 for the zero-egress-fee posture, for AWS S3 for the widest feature surface (Object Lock, versioning, lifecycle policies), and for MinIO for local dev without any account.
222
222
 
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+
3
+ ## 2.1.6 - 2026-09-11
4
+
5
+ metrics-endpoint (status-page) probe now supplies an x-request-id header on the GET /status call and asserts the fixture echoes it; AC-7104-2 and AC-7104-3 rows record the echoed request id as the identifier alongside the derived rendered-state and rendered-order lists. AC-7104-1 (configured-path clause) is de-claimed to conformanceOnly because the shipped probe-server hard-codes '/status' rather than accepting a paths.status option, so the configuration-provenance property is not observed here.
6
+
7
+ ## 2.1.5 - 2026-09-11
8
+
9
+ readiness-probe AC-7102-1 anchor now observes the configuration-sourced path clause and the distinct-from-liveness clause. The probe boots the fixture with an explicit non-default readiness path (/readiness-cfg-v2) alongside a distinct liveness path (/live-cfg-v2), asserts the fixture serves the configured readiness path AND that the shipped default /ready returns 404 (default absent) AND that a GET at the configured liveness path returns the liveness body shape (no checks{}). The fixture probe-server accepts { paths: { liveness, readiness } } and refuses boot with PROBE_INTERFACE_PATHS_NOT_DISTINCT when the two are equal.
10
+
11
+ # observability-essentials CHANGELOG
12
+
13
+ ## 2.1.4 - 2026-09-11
14
+
15
+ Adds a contributions/probes/ pack (liveness-probe, readiness-probe, metrics-endpoint) with a fixture-side probe server under packages/rcf-lite/test/fixtures/probe-pack-observability-essentials/. Probes run against the fixture on Node 24 with a real TCP dependency the readiness probe controls. No account gate.
16
+
17
+ Anchoring: liveness-probe anchors AC-7101-5 (three-request flow: HTTP 503 empty body on unhealthy; HTTP 503 repeat while predicate stays fail; HTTP 200 body.status='pass' after predicate restored). The healthy warm-up row de-claims with the limitation naming AC-7101-1 (path-from-configuration clause not observed). readiness-probe anchors AC-7102-1 (200 with body.status='pass' when every declared dependency passes; 503 with body.status='fail' when at least one fails, verified by closing a TCP dependency the probe controls). The checks-object shape and checkedAt rows de-claim with limitations naming AC-7103-1 (boot-time missing/malformed declaration refusal not observed) and AC-7103-2 (evaluation-budget bound is a probe-authored 5000 ms constant, not fixture-configured). metrics-endpoint asserts the /status page exact component set, states and rendered order per AC-7104-1. probe-utils normalisation and thrown-error rows carry an evidence object; the fallback anchorAcId is null.
18
+
19
+ ## 2.1.2 - 2026-09-10
20
+
21
+ Dimension-d single-definition-ownership cleanup on REQ-007: REQ description now references the JSON media-type header owned on TAC-801.responsibilities[1] rather than restating the header literal. Chain-consistency lint zero on pass 1 and pass 2.
22
+
23
+ ## 2.1.1 (register-sweep patch, 2026-09-10)
24
+
25
+ - Register: neutral wording in shipped prose (no capability change).
26
+
27
+ ## 2.1.0 (2026-09-09)
28
+
29
+ - Adds `elicits[]` with four apply-time answers: `liveness-probe-path` (string, default /live; REQ-001), `readiness-probe-path` (string, default /ready; REQ-002), `declared-dependency-set` (string, comma-separated; REQ-003), and `notification-outcome-substrate` (enum sqlite/postgres/custom, default sqlite; REQ-006). Every option value is backed by a must-priority REQ description (section 7c criterion a).
30
+ - Adds `deliveredBy` to every REQ (REQ-001/002/003/007/010 -> TAC-801/TAC-802 interface names; REQ-004/005 -> TAC-803; REQ-006 -> TAC-804; REQ-008 -> ADR-804; REQ-009 -> ADR-803). Closes 8 pass-2 lint findings; per-blueprint lint reports zero on pass 1 and pass 2.
31
+ - AC-7107-3 is a v2-baseline snapshot compatibility check against `blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json` with stable-coded PROBE_BODY_SHAPE_DRIFT on rename or removal.
32
+ - The liveness self-check failure without AC coverage gap is fixed: adds AC-7101-5 asserting a response-capable in-process self-check predicate answers HTTP 503 with content-length 0 on fail and returns to 200 on pass; the AC is `template` because the predicate itself is project-owned.
33
+ - The boot-refuse ACs for dependency declaration gap is fixed: adds AC-7103-4 (deps missing -> READINESS_DEPS_MISSING), AC-7103-5 (duplicate name -> READINESS_DEPS_DUPLICATE, template on the declared set), AC-7103-6 (blank/malformed name -> READINESS_DEPS_MALFORMED).
34
+ - The durable outcome sink gap is fixed: adds AC-7106-4 asserting outcome records survive a sink restart (template on the elicited notification-outcome-substrate) and AC-7106-5 asserting a failed write signals NOTIFICATION_OUTCOME_WRITE_FAILED to the caller and does not fabricate a success record.
35
+ - Re-sweeps every existing AC's `disposition` per section 7b: ACs marked `template` (those whose text references elicited paths, project-declared dependencies, or the elicited substrate) with `templateFillIns` naming which values the applying agent sets; the remaining ACs stay `fixed`.
36
+ - adds `probeBodyShapeCompatibility` interface entry to TAC-802 that owns the cross-probe response body shape contract and names `PROBE_BODY_SHAPE_DRIFT`; updates AC-7107-3.ownerRef from ADR-803.decision.probeBodyShape (which the decision text did not carry) to TAC-802.interfaces.probeBodyShapeCompatibility; moves the v2 baseline snapshot from `packages/rcf-lite/test/blueprint/` to `blueprints/observability-essentials/assets/probe-samples/probe-response-baseline.v2.json` so its placement matches its documentation-fixture nature (no suite test read it in the previous location).
37
+ - extends REQ-006 description with a runtime clause per substrate option (`sqlite`, `postgres`, `custom`), literally named and each backed as the accepted values the notification-outcome-substrate elicit resolves at boot (AC-7106-4 exercises the restart path across substrates; AC-7106-5 exercises the failed-write path).
@@ -1,4 +1,4 @@
1
- # Observability blueprint (v2.0.0)
1
+ # Observability blueprint (v2.1.0)
2
2
 
3
3
  The fifth content blueprint on the rcf-build-lite blueprint mechanism (design brief v2, ratified; Phase 5 of the blueprint programme). Scope: two HTTP health probes (liveness and readiness, path-neutral from v2.0.0: liveness answering strictly on in-process state, readiness aggregating over an explicit boot-time-declared dependency set with strict-any-fail semantics), a public status page rendering a declared component list plus stable-fielded incident notices, and a durable notification-outcome sink recording every attempt's outcome for later query by recipient and window. Targeted at small greenfield rcf-lite projects. Historical uptime charts, metrics export, and distributed tracing are documented future variants; the v2.0.0 blueprint ships the current-state contract only.
4
4
 
@@ -31,9 +31,9 @@ The doc set is contributions (copied into the project tree by `rcf define bluepr
31
31
 
32
32
  ## What it contributes, and what it deliberately does not
33
33
 
34
- Contributed kinds: REQ, US (with inline ACs), TAC, ADR. Adherence is expressed as ACs; the blueprint ships no test files (ratified decision 5) and no code.
34
+ Contributed kinds: REQ, US (with inline ACs), TAC, ADR. Adherence is expressed as ACs; the blueprint ships no test files (shipped policy 5) and no code.
35
35
 
36
- No FBS contributions, as a matter of principle (ratified policy 2026-08-19): FBSs are the work of the implementing agent, not the blueprint; project constraints have to be applied at the time of creation. The blueprint contributes the WHAT (the liveness probe contract, the readiness probe contract with its dependency-set declaration and cached-state evaluator, the public status page contract with its declared component list and stable notice fields, the notification outcome sink contract with its recordOutcome and queryByRecipient verbs); the implementing agent derives the HOW-tasks (FBS) in the host project, where the ACs contributed here get picked up by the project's own build sequencing.
36
+ No FBS contributions, as a matter of principle (policy): FBSs are the work of the implementing agent, not the blueprint; project constraints have to be applied at the time of creation. The blueprint contributes the WHAT (the liveness probe contract, the readiness probe contract with its dependency-set declaration and cached-state evaluator, the public status page contract with its declared component list and stable notice fields, the notification outcome sink contract with its recordOutcome and queryByRecipient verbs); the implementing agent derives the HOW-tasks (FBS) in the host project, where the ACs contributed here get picked up by the project's own build sequencing.
37
37
 
38
38
  Deliberately not contributed: historical uptime charts and rolling reliability numbers on the status page (out of scope at v1.0.0; see 'Known mechanism-reach gaps' below and the guide 'when it does not fit'); a metrics-export surface (Prometheus scrape endpoints, StatsD emission, OpenTelemetry metrics); a distributed-tracing surface (span emission, propagation, sampling); a log-shipping surface (the application-api-rest blueprint's `logging` topic already governs the wire-log shape; this blueprint neither extends nor conflicts with it); an authenticated operator dashboard for granular internal state (the operator gets granular state through the readiness probe body and through project-authored authenticated surfaces, not through this blueprint); the durable substrate for the notification outcome sink (project-owned; the persistence-data-sqlite blueprint is the natural compose partner). An operator-panel-style authenticated drift surface is deliberately outside this blueprint's scope: `operatorPanel` is claimed by the hello-panel walkthrough exemplar and this blueprint does not overlap it.
39
39
 
@@ -0,0 +1,17 @@
1
+ {
2
+ "// Baseline documented for observability-essentials AC-7107-3": "captures the v2 baseline shape of the /live and /ready probe response bodies so a release-time compatibility check can compare a candidate against the current v2 snapshot. A candidate that renames or removes a field named here fails with PROBE_BODY_SHAPE_DRIFT; additions are allowed.",
3
+ "live": {
4
+ "status": "pass",
5
+ "checkedAt": "ISO-8601 timestamp string"
6
+ },
7
+ "ready": {
8
+ "status": "pass",
9
+ "checkedAt": "ISO-8601 timestamp string",
10
+ "dependencies": [
11
+ {
12
+ "name": "string",
13
+ "status": "pass|fail"
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -1,7 +1,38 @@
1
1
  {
2
2
  "slug": "observability-essentials",
3
- "version": "2.0.0",
3
+ "version": "2.1.6",
4
4
  "category": "observability",
5
+ "elicits": [
6
+ {
7
+ "id": "liveness-probe-path",
8
+ "prompt": "HTTP path the liveness probe binds to on the request-traffic listener (REQ-001; default /live).",
9
+ "kind": "string",
10
+ "default": "/live"
11
+ },
12
+ {
13
+ "id": "readiness-probe-path",
14
+ "prompt": "HTTP path the readiness probe binds to on the request-traffic listener (REQ-002; default /ready).",
15
+ "kind": "string",
16
+ "default": "/ready"
17
+ },
18
+ {
19
+ "id": "declared-dependency-set",
20
+ "prompt": "Comma-separated names of dependencies whose availability the readiness probe evaluates (REQ-003; blank when no dependencies are declared). Each name resolves to a checkFor(name) predicate.",
21
+ "kind": "string",
22
+ "default": ""
23
+ },
24
+ {
25
+ "id": "notification-outcome-substrate",
26
+ "prompt": "Durable substrate for notification-outcome records (REQ-006). Recommended defaults: sqlite (single-node), postgres (multi-node). The substrate must survive a process restart.",
27
+ "kind": "enum",
28
+ "options": [
29
+ "sqlite",
30
+ "postgres",
31
+ "custom"
32
+ ],
33
+ "default": "sqlite"
34
+ }
35
+ ],
5
36
  "contributions": [
6
37
  {
7
38
  "id": "observability-essentials-REQ-001",
@@ -150,5 +181,6 @@
150
181
  "kind": "adr",
151
182
  "path": "adrs/adr-805-observability-essentials-notification-outcome-model.json"
152
183
  }
153
- ]
184
+ ],
185
+ "updatedAt": "2026-09-11"
154
186
  }
@@ -6,7 +6,7 @@
6
6
  "status": "accepted",
7
7
  "title": "Historical: two HTTP health probes on the request-traffic listener with a stable JSON body shape (self-supervised design intent, superseded by observability-probe-endpoints as the shelf canonical path owner from v2.0.0)",
8
8
  "context": "Every deployed application runs under an orchestrator that needs a restart signal and under a load balancer that needs a routing signal. The two signals answer different questions: 'is this process wedged, restart it' versus 'is this process able to serve, route around it if not'. A single probe folded across both questions produces the outage-amplifying failure mode where a downstream dependency blip triggers a restart storm that dwarfs the original blip. The probes have to be structurally separate at the endpoint and semantically separate at the answer.",
9
- "decision": "The application serves two probe endpoints on the same HTTP listener that serves request traffic: a liveness probe at /healthz (or the configured override) and a readiness probe at /readyz (or the configured override). Both respond with Content-Type application/json and a stable body shape: { status: 'pass' | 'fail', checkedAt: <ISO-8601> } for liveness, plus a { checks: { <depName>: { state, checkedAt } } } object for readiness. Liveness returns 200 whenever the event loop is responsive and never depends on any external condition; readiness returns 200 when every declared dependency's cached state is pass and 503 otherwise. Both endpoints are auth-exempt (see ADR-804). The probes bind to the request-traffic listener rather than a separate operator port so the load balancer's probe observes the same reachability the traffic will observe.",
9
+ "decision": "The application serves two probe endpoints on the same HTTP listener that serves request traffic: a liveness probe at /healthz (or the configured override) and a readiness probe at /readyz (or the configured override). Both respond with the response header owned on TAC-801-observability-essentials-liveness-probe.responsibilities[1] and a stable body shape: { status: 'pass' | 'fail', checkedAt: <ISO-8601> } for liveness, plus a { checks: { <depName>: { state, checkedAt } } } object for readiness. Liveness returns 200 whenever the event loop is responsive and never depends on any external condition; readiness returns 200 when every declared dependency's cached state is pass and 503 otherwise. Both endpoints are auth-exempt (see ADR-804). The probes bind to the request-traffic listener rather than a separate operator port so the load balancer's probe observes the same reachability the traffic will observe.",
10
10
  "consequences": "The orchestrator's restart action is coupled only to true process wedging: a downstream dependency outage never triggers a restart. The load balancer's rotation action is coupled to declared-dependency health only: an unready replica gets pulled from rotation without a restart the replica cannot recover from. The stable JSON shape lets third-party monitoring integrations wire once. A change to the probe path defaults or a rename of a top-level probe body field is a major version bump on this blueprint. Composing blueprints that hold a different opinion on the endpoint contract (a project that wants /health as a single endpoint answering both questions, a project that wants gRPC probes, a project that wants both probes on a separate admin port) conflict on the healthProbes topic; the expected resolution is one project-level ADR that fixes the endpoint contract. From essentials v2.0.0 this ADR is scope-local historical context: the shelf-wide healthProbes topic is claimed only by observability-probe-endpoints. The self-supervised body shape and the request-traffic-listener binding remain the intent for the essentials-alone case; the literal /healthz and /readyz path defaults were removed from TAC-801 and TAC-802 in the same bump.",
11
11
  "alternativesConsidered": [
12
12
  {