rcf-lite 0.21.0 → 0.22.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 (342) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/blueprints/application-account-settings/CHANGELOG.md +12 -0
  3. package/blueprints/application-account-settings/README.md +114 -0
  4. package/blueprints/application-account-settings/blueprint.json +234 -0
  5. package/blueprints/application-account-settings/contributions/adrs/adr-2601-application-account-settings-capability-vocabulary.json +20 -0
  6. package/blueprints/application-account-settings/contributions/adrs/adr-2602-application-account-settings-security-surface-shape.json +20 -0
  7. package/blueprints/application-account-settings/contributions/adrs/adr-2603-application-account-settings-theme-persistence.json +20 -0
  8. package/blueprints/application-account-settings/contributions/adrs/adr-2604-application-account-settings-reauth-window.json +20 -0
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +18 -0
  10. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +18 -0
  11. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +18 -0
  12. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +18 -0
  13. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +18 -0
  14. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +18 -0
  15. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +41 -0
  16. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +28 -0
  17. package/blueprints/application-account-settings/contributions/tacs/tac-2603-application-account-settings-hosted-ui-bridge.json +35 -0
  18. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +40 -0
  19. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25101.json +34 -0
  20. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25102.json +27 -0
  21. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25103.json +27 -0
  22. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25104.json +27 -0
  23. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +33 -0
  24. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +27 -0
  25. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25107.json +27 -0
  26. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25108.json +27 -0
  27. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25109.json +33 -0
  28. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25110.json +27 -0
  29. package/blueprints/application-account-settings/docs/topics.md +48 -0
  30. package/blueprints/application-account-settings/guide/application-account-settings.md +30 -0
  31. package/blueprints/application-account-settings/probe-packs/application-account-settings.pack.mjs +246 -0
  32. package/blueprints/application-admin-console/docs/topics.md +7 -0
  33. package/blueprints/application-api-rest/docs/topics.md +8 -1
  34. package/blueprints/application-charts/docs/topics.md +7 -0
  35. package/blueprints/application-dashboard/docs/topics.md +7 -0
  36. package/blueprints/application-datatable/docs/topics.md +7 -0
  37. package/blueprints/application-empty-error-states/CHANGELOG.md +9 -0
  38. package/blueprints/application-empty-error-states/README.md +88 -0
  39. package/blueprints/application-empty-error-states/blueprint.json +119 -0
  40. package/blueprints/application-empty-error-states/contributions/adrs/adr-2301-application-empty-error-states-status-contract.json +25 -0
  41. package/blueprints/application-empty-error-states/contributions/adrs/adr-2302-application-empty-error-states-stack-trace-visibility.json +25 -0
  42. package/blueprints/application-empty-error-states/contributions/adrs/adr-2303-application-empty-error-states-offline-strategy.json +25 -0
  43. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +18 -0
  44. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +18 -0
  45. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +18 -0
  46. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +18 -0
  47. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +18 -0
  48. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +46 -0
  49. package/blueprints/application-empty-error-states/contributions/tacs/tac-2302-application-empty-error-states-recovery-router.json +36 -0
  50. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +40 -0
  51. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22101.json +29 -0
  52. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22102.json +29 -0
  53. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22103.json +29 -0
  54. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22104.json +29 -0
  55. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22105.json +29 -0
  56. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22106.json +29 -0
  57. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22107.json +29 -0
  58. package/blueprints/application-empty-error-states/contributions/user-stories/application-empty-error-states-us-22108.json +29 -0
  59. package/blueprints/application-empty-error-states/docs/topics.md +53 -0
  60. package/blueprints/application-empty-error-states/guide/application-empty-error-states.md +50 -0
  61. package/blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs +284 -0
  62. package/blueprints/application-error-handling/docs/topics.md +7 -0
  63. package/blueprints/application-file-upload/CHANGELOG.md +9 -0
  64. package/blueprints/application-file-upload/README.md +85 -0
  65. package/blueprints/application-file-upload/blueprint.json +114 -0
  66. package/blueprints/application-file-upload/contributions/adrs/adr-2401-application-file-upload-transport.json +25 -0
  67. package/blueprints/application-file-upload/contributions/adrs/adr-2402-application-file-upload-accepted-set.json +25 -0
  68. package/blueprints/application-file-upload/contributions/adrs/adr-2403-application-file-upload-virus-scan.json +25 -0
  69. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +18 -0
  70. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +18 -0
  71. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +18 -0
  72. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +18 -0
  73. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +18 -0
  74. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +46 -0
  75. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +47 -0
  76. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +46 -0
  77. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23101.json +28 -0
  78. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +28 -0
  79. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23103.json +29 -0
  80. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23104.json +28 -0
  81. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +29 -0
  82. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23106.json +28 -0
  83. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23107.json +28 -0
  84. package/blueprints/application-file-upload/docs/topics.md +58 -0
  85. package/blueprints/application-file-upload/guide/application-file-upload.md +48 -0
  86. package/blueprints/application-file-upload/probe-packs/application-file-upload.pack.mjs +238 -0
  87. package/blueprints/application-forms-wizard/CHANGELOG.md +9 -0
  88. package/blueprints/application-forms-wizard/README.md +102 -0
  89. package/blueprints/application-forms-wizard/blueprint.json +120 -0
  90. package/blueprints/application-forms-wizard/contributions/adrs/adr-2501-application-forms-wizard-navigation.json +25 -0
  91. package/blueprints/application-forms-wizard/contributions/adrs/adr-2502-application-forms-wizard-save-and-return.json +25 -0
  92. package/blueprints/application-forms-wizard/contributions/adrs/adr-2503-application-forms-wizard-step-indicator.json +25 -0
  93. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +18 -0
  94. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +18 -0
  95. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +18 -0
  96. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +18 -0
  97. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +18 -0
  98. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +46 -0
  99. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +40 -0
  100. package/blueprints/application-forms-wizard/contributions/tacs/tac-2503-application-forms-wizard-draft-store.json +40 -0
  101. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +28 -0
  102. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24102.json +29 -0
  103. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24103.json +28 -0
  104. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24104.json +29 -0
  105. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24105.json +28 -0
  106. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24106.json +28 -0
  107. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24107.json +28 -0
  108. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24108.json +29 -0
  109. package/blueprints/application-forms-wizard/docs/topics.md +49 -0
  110. package/blueprints/application-forms-wizard/guide/application-forms-wizard.md +48 -0
  111. package/blueprints/application-forms-wizard/probe-packs/application-forms-wizard.pack.mjs +233 -0
  112. package/blueprints/application-notifications-in-app/docs/topics.md +7 -0
  113. package/blueprints/application-onboarding-tour/CHANGELOG.md +12 -0
  114. package/blueprints/application-onboarding-tour/README.md +77 -0
  115. package/blueprints/application-onboarding-tour/blueprint.json +164 -0
  116. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2701-application-onboarding-tour-dismissal-policy.json +20 -0
  117. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2702-application-onboarding-tour-completion-store-shape.json +20 -0
  118. package/blueprints/application-onboarding-tour/contributions/adrs/adr-2703-application-onboarding-tour-checklist-anchor.json +20 -0
  119. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +18 -0
  120. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +18 -0
  121. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +18 -0
  122. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +18 -0
  123. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2701-application-onboarding-tour-step-runner.json +41 -0
  124. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +35 -0
  125. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +34 -0
  126. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26101.json +27 -0
  127. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26102.json +27 -0
  128. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26103.json +27 -0
  129. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26104.json +27 -0
  130. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26105.json +27 -0
  131. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26106.json +27 -0
  132. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26107.json +27 -0
  133. package/blueprints/application-onboarding-tour/docs/topics.md +48 -0
  134. package/blueprints/application-onboarding-tour/guide/application-onboarding-tour.md +59 -0
  135. package/blueprints/application-onboarding-tour/probe-packs/application-onboarding-tour.pack.mjs +231 -0
  136. package/blueprints/application-spa/docs/topics.md +8 -1
  137. package/blueprints/delivery-ci-workflows/docs/topics.md +8 -1
  138. package/blueprints/deploy-cloudflare-workers/docs/topics.md +8 -1
  139. package/blueprints/email-smtp-resend/docs/topics.md +8 -1
  140. package/blueprints/object-storage-s3/CHANGELOG.md +13 -0
  141. package/blueprints/object-storage-s3/README.md +108 -0
  142. package/blueprints/object-storage-s3/blueprint.json +72 -0
  143. package/blueprints/object-storage-s3/contributions/adrs/adr-2901-object-storage-s3-adapter.json +30 -0
  144. package/blueprints/object-storage-s3/contributions/adrs/adr-2902-object-storage-s3-presigned-ttl-floor.json +25 -0
  145. package/blueprints/object-storage-s3/contributions/adrs/adr-2903-object-storage-s3-multipart-threshold.json +25 -0
  146. package/blueprints/object-storage-s3/contributions/adrs/adr-2904-object-storage-s3-contract.json +25 -0
  147. package/blueprints/object-storage-s3/contributions/probes/event-secrecy.mjs +103 -0
  148. package/blueprints/object-storage-s3/contributions/probes/facade-round-trip.mjs +43 -0
  149. package/blueprints/object-storage-s3/contributions/probes/multipart-upload.mjs +84 -0
  150. package/blueprints/object-storage-s3/contributions/probes/presigned-url.mjs +101 -0
  151. package/blueprints/object-storage-s3/contributions/probes/probe-utils.mjs +85 -0
  152. package/blueprints/object-storage-s3/contributions/probes/put-get-round-trip.mjs +84 -0
  153. package/blueprints/object-storage-s3/contributions/probes/r2-real-account-smoke.mjs +64 -0
  154. package/blueprints/object-storage-s3/contributions/probes/run-event-secrecy.mjs +4 -0
  155. package/blueprints/object-storage-s3/contributions/probes/run-facade-round-trip.mjs +10 -0
  156. package/blueprints/object-storage-s3/contributions/probes/run-multipart-upload.mjs +4 -0
  157. package/blueprints/object-storage-s3/contributions/probes/run-presigned-url.mjs +4 -0
  158. package/blueprints/object-storage-s3/contributions/probes/run-put-get-round-trip.mjs +7 -0
  159. package/blueprints/object-storage-s3/contributions/probes/run-r2-real-account-smoke.mjs +4 -0
  160. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +18 -0
  161. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +18 -0
  162. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +18 -0
  163. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +18 -0
  164. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +18 -0
  165. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +18 -0
  166. package/blueprints/object-storage-s3/contributions/tacs/tac-2901-object-storage-s3-facade.json +57 -0
  167. package/blueprints/object-storage-s3/contributions/tacs/tac-2902-object-storage-s3-multipart-uploader.json +36 -0
  168. package/blueprints/object-storage-s3/contributions/tacs/tac-2903-object-storage-s3-event-sink.json +36 -0
  169. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +34 -0
  170. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +43 -0
  171. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +25 -0
  172. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +34 -0
  173. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +25 -0
  174. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +34 -0
  175. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28107.json +34 -0
  176. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28108.json +34 -0
  177. package/blueprints/object-storage-s3/docs/topics.md +62 -0
  178. package/blueprints/object-storage-s3/guide/object-storage-s3.md +207 -0
  179. package/blueprints/observability-essentials/docs/topics.md +8 -1
  180. package/blueprints/observability-logging/CHANGELOG.md +4 -0
  181. package/blueprints/observability-logging/README.md +3 -0
  182. package/blueprints/observability-logging/blueprint.json +3 -2
  183. package/blueprints/observability-logging/docs/topics.md +7 -0
  184. package/blueprints/observability-probe-endpoints/docs/topics.md +8 -1
  185. package/blueprints/persistence-data-d1/docs/topics.md +8 -1
  186. package/blueprints/persistence-data-postgres/CHANGELOG.md +12 -0
  187. package/blueprints/persistence-data-postgres/README.md +101 -0
  188. package/blueprints/persistence-data-postgres/blueprint.json +80 -0
  189. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2801-persistence-data-postgres-driver.json +30 -0
  190. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2802-persistence-data-postgres-migration-shape.json +25 -0
  191. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2803-persistence-data-postgres-runner-mode.json +25 -0
  192. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2804-persistence-data-postgres-recovery.json +25 -0
  193. package/blueprints/persistence-data-postgres/contributions/adrs/adr-2805-persistence-data-postgres-connection-pool-posture.json +25 -0
  194. package/blueprints/persistence-data-postgres/contributions/probes/facade-round-trip.mjs +56 -0
  195. package/blueprints/persistence-data-postgres/contributions/probes/migration-apply.mjs +75 -0
  196. package/blueprints/persistence-data-postgres/contributions/probes/pool-posture-smoke.mjs +56 -0
  197. package/blueprints/persistence-data-postgres/contributions/probes/prepared-statement-scan.mjs +186 -0
  198. package/blueprints/persistence-data-postgres/contributions/probes/probe-utils.mjs +76 -0
  199. package/blueprints/persistence-data-postgres/contributions/probes/recovery-restore-round-trip.mjs +173 -0
  200. package/blueprints/persistence-data-postgres/contributions/probes/run-facade-round-trip.mjs +10 -0
  201. package/blueprints/persistence-data-postgres/contributions/probes/run-migration-apply.mjs +10 -0
  202. package/blueprints/persistence-data-postgres/contributions/probes/run-pool-posture-smoke.mjs +9 -0
  203. package/blueprints/persistence-data-postgres/contributions/probes/run-prepared-statement-scan.mjs +10 -0
  204. package/blueprints/persistence-data-postgres/contributions/probes/run-recovery-restore-round-trip.mjs +9 -0
  205. package/blueprints/persistence-data-postgres/contributions/probes/run-transaction-atomicity.mjs +10 -0
  206. package/blueprints/persistence-data-postgres/contributions/probes/transaction-atomicity.mjs +79 -0
  207. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +18 -0
  208. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +18 -0
  209. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +18 -0
  210. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +18 -0
  211. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +18 -0
  212. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +18 -0
  213. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +18 -0
  214. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2801-persistence-data-postgres-facade.json +58 -0
  215. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +40 -0
  216. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +35 -0
  217. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2804-persistence-data-postgres-recovery-runner.json +40 -0
  218. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +34 -0
  219. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +25 -0
  220. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +25 -0
  221. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +25 -0
  222. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +25 -0
  223. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +25 -0
  224. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +25 -0
  225. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +25 -0
  226. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +25 -0
  227. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +25 -0
  228. package/blueprints/persistence-data-postgres/docs/topics.md +64 -0
  229. package/blueprints/persistence-data-postgres/guide/persistence-data-postgres.md +172 -0
  230. package/blueprints/persistence-data-sqlite/docs/topics.md +8 -1
  231. package/blueprints/security-auth-clerk/CHANGELOG.md +4 -0
  232. package/blueprints/security-auth-clerk/README.md +3 -0
  233. package/blueprints/security-auth-clerk/blueprint.json +147 -30
  234. package/blueprints/security-auth-clerk/docs/topics.md +8 -1
  235. package/blueprints/security-auth-keycloak/CHANGELOG.md +4 -0
  236. package/blueprints/security-auth-keycloak/README.md +3 -0
  237. package/blueprints/security-auth-keycloak/blueprint.json +182 -37
  238. package/blueprints/security-auth-keycloak/docs/topics.md +8 -1
  239. package/blueprints/security-auth-magic-link/CHANGELOG.md +4 -0
  240. package/blueprints/security-auth-magic-link/README.md +3 -0
  241. package/blueprints/security-auth-magic-link/blueprint.json +159 -33
  242. package/blueprints/security-auth-magic-link/docs/topics.md +8 -1
  243. package/blueprints/security-auth-oauth2/CHANGELOG.md +4 -0
  244. package/blueprints/security-auth-oauth2/README.md +3 -0
  245. package/blueprints/security-auth-oauth2/blueprint.json +158 -32
  246. package/blueprints/security-auth-oauth2/docs/topics.md +8 -1
  247. package/blueprints/security-secrets-management/CHANGELOG.md +11 -0
  248. package/blueprints/security-secrets-management/blueprint.json +2 -1
  249. package/blueprints/security-secrets-management/docs/topics.md +8 -1
  250. package/fixtures/canary-manifest.json +9 -9
  251. package/package.json +1 -1
  252. package/rcf/code-nodes/cn-134.json +13 -0
  253. package/rcf/code-nodes/cn-135.json +12 -0
  254. package/rcf/code-nodes/cn-136.json +13 -0
  255. package/rcf/code-nodes/cn-137.json +13 -0
  256. package/rcf/code-nodes/cn-138.json +12 -0
  257. package/rcf/code-nodes/cn-139.json +12 -0
  258. package/rcf/code-nodes/cn-140.json +13 -0
  259. package/rcf/code-nodes/cn-141.json +13 -0
  260. package/rcf/code-nodes/cn-142.json +12 -0
  261. package/rcf/code-nodes/cn-143.json +13 -0
  262. package/rcf/code-nodes/cn-144.json +13 -0
  263. package/rcf/code-nodes/cn-145.json +12 -0
  264. package/rcf/code-nodes/cn-146.json +12 -0
  265. package/rcf/code-nodes/cn-147.json +13 -0
  266. package/rcf/code-nodes/cn-148.json +13 -0
  267. package/rcf/code-nodes/cn-149.json +12 -0
  268. package/rcf/code-nodes/cn-150.json +13 -0
  269. package/rcf/code-nodes/cn-151.json +13 -0
  270. package/rcf/code-nodes/cn-152.json +12 -0
  271. package/rcf/code-nodes/cn-153.json +12 -0
  272. package/rcf/code-nodes/cn-154.json +13 -0
  273. package/rcf/code-nodes/cn-155.json +14 -0
  274. package/rcf/code-nodes/cn-156.json +13 -0
  275. package/rcf/code-nodes/cn-157.json +13 -0
  276. package/rcf/code-nodes/cn-158.json +12 -0
  277. package/rcf/code-nodes/cn-159.json +13 -0
  278. package/rcf/code-nodes/cn-160.json +12 -0
  279. package/rcf/code-nodes/cn-161.json +12 -0
  280. package/rcf/code-nodes/cn-162.json +13 -0
  281. package/rcf/code-nodes/cn-163.json +12 -0
  282. package/rcf/code-nodes/cn-164.json +13 -0
  283. package/rcf/code-nodes/cn-165.json +12 -0
  284. package/rcf/code-nodes/cn-166.json +12 -0
  285. package/rcf/code-nodes/cn-167.json +12 -0
  286. package/rcf/code-nodes/cn-168.json +12 -0
  287. package/rcf/code-nodes/cn-169.json +12 -0
  288. package/rcf/code-nodes/cn-170.json +12 -0
  289. package/rcf/code-nodes/cn-171.json +12 -0
  290. package/rcf/code-nodes/cn-172.json +12 -0
  291. package/rcf/code-nodes/cn-173.json +12 -0
  292. package/rcf/code-nodes/cn-174.json +12 -0
  293. package/rcf/code-nodes/cn-175.json +13 -0
  294. package/rcf/code-nodes/cn-176.json +12 -0
  295. package/rcf/code-nodes/cn-177.json +12 -0
  296. package/rcf/code-nodes/cn-178.json +12 -0
  297. package/rcf/code-nodes/cn-179.json +12 -0
  298. package/rcf/code-nodes/cn-180.json +13 -0
  299. package/rcf/code-nodes/cn-181.json +12 -0
  300. package/rcf/code-nodes/cn-182.json +13 -0
  301. package/rcf/code-nodes/cn-183.json +12 -0
  302. package/rcf/code-nodes/cn-184.json +13 -0
  303. package/rcf/code-nodes/cn-185.json +12 -0
  304. package/rcf/code-nodes/cn-186.json +12 -0
  305. package/rcf/code-nodes/cn-200.json +14 -0
  306. package/rcf/code-nodes/cn-201.json +13 -0
  307. package/rcf/code-nodes/cn-202.json +14 -0
  308. package/rcf/code-nodes/cn-203.json +14 -0
  309. package/rcf/code-nodes/cn-204.json +13 -0
  310. package/rcf/code-nodes/cn-205.json +14 -0
  311. package/rcf/fbs/fbs-043.json +23 -0
  312. package/rcf/fbs/fbs-044.json +23 -0
  313. package/rcf/fbs/fbs-045.json +23 -0
  314. package/rcf/fbs/fbs-046.json +24 -0
  315. package/rcf/fbs/fbs-047.json +24 -0
  316. package/rcf/fbs/fbs-060.json +22 -0
  317. package/rcf/fbs/fbs-061.json +20 -0
  318. package/rcf/requirements/req-024.json +69 -0
  319. package/rcf/requirements/req-025.json +59 -0
  320. package/rcf/requirements/req-026.json +154 -0
  321. package/rcf/requirements/req-027.json +33 -0
  322. package/rcf/requirements/req-028.json +13 -0
  323. package/rcf/requirements/req-040.json +13 -0
  324. package/rcf/requirements/req-041.json +125 -0
  325. package/rcf/test-suites/ts-053.json +70 -0
  326. package/rcf/test-suites/ts-054.json +70 -0
  327. package/rcf/test-suites/ts-055.json +77 -0
  328. package/rcf/test-suites/ts-056.json +78 -0
  329. package/rcf/test-suites/ts-057.json +78 -0
  330. package/rcf/test-suites/ts-070.json +62 -0
  331. package/rcf/test-suites/ts-071.json +62 -0
  332. package/rcf/user-stories/us-2401.json +62 -0
  333. package/rcf/user-stories/us-2501.json +58 -0
  334. package/rcf/user-stories/us-2601.json +51 -0
  335. package/rcf/user-stories/us-2701.json +55 -0
  336. package/rcf/user-stories/us-2801.json +55 -0
  337. package/rcf/user-stories/us-4001.json +69 -0
  338. package/rcf/user-stories/us-4101.json +69 -0
  339. package/releases/releases.yaml +11 -1
  340. package/src/blueprint/apply.js +10 -1
  341. package/src/blueprint/capabilities.js +41 -2
  342. package/src/cli/blueprint.js +8 -1
@@ -1,36 +1,146 @@
1
1
  {
2
2
  "slug": "security-auth-magic-link",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "category": "security",
5
- "capabilities": ["principalDirectory"],
5
+ "capabilities": [
6
+ "principalDirectory"
7
+ ],
6
8
  "contributions": [
7
- { "id": "security-auth-magic-link-REQ-001", "kind": "req", "path": "requirements/security-auth-magic-link-req-001.json" },
8
- { "id": "security-auth-magic-link-REQ-002", "kind": "req", "path": "requirements/security-auth-magic-link-req-002.json" },
9
- { "id": "security-auth-magic-link-REQ-003", "kind": "req", "path": "requirements/security-auth-magic-link-req-003.json" },
10
- { "id": "security-auth-magic-link-REQ-004", "kind": "req", "path": "requirements/security-auth-magic-link-req-004.json" },
11
- { "id": "security-auth-magic-link-REQ-005", "kind": "req", "path": "requirements/security-auth-magic-link-req-005.json" },
12
- { "id": "security-auth-magic-link-REQ-006", "kind": "req", "path": "requirements/security-auth-magic-link-req-006.json" },
13
- { "id": "security-auth-magic-link-REQ-007", "kind": "req", "path": "requirements/security-auth-magic-link-req-007.json" },
14
- { "id": "security-auth-magic-link-REQ-008", "kind": "req", "path": "requirements/security-auth-magic-link-req-008.json" },
15
- { "id": "security-auth-magic-link-REQ-009", "kind": "req", "path": "requirements/security-auth-magic-link-req-009.json" },
16
- { "id": "security-auth-magic-link-REQ-010", "kind": "req", "path": "requirements/security-auth-magic-link-req-010.json" },
17
- { "id": "security-auth-magic-link-REQ-011", "kind": "req", "path": "requirements/security-auth-magic-link-req-011.json" },
18
- { "id": "security-auth-magic-link-US-3101", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3101.json" },
19
- { "id": "security-auth-magic-link-US-3102", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3102.json" },
20
- { "id": "security-auth-magic-link-US-3103", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3103.json" },
21
- { "id": "security-auth-magic-link-US-3104", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3104.json" },
22
- { "id": "security-auth-magic-link-US-3105", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3105.json" },
23
- { "id": "security-auth-magic-link-US-3106", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3106.json" },
24
- { "id": "security-auth-magic-link-US-3107", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3107.json" },
25
- { "id": "security-auth-magic-link-US-3108", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3108.json" },
26
- { "id": "security-auth-magic-link-US-3109", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3109.json" },
27
- { "id": "security-auth-magic-link-US-3110", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3110.json" },
28
- { "id": "security-auth-magic-link-US-3111", "kind": "us", "path": "user-stories/security-auth-magic-link-us-3111.json" },
29
- { "id": "TAC-501-security-auth-magic-link-manager", "kind": "tac", "path": "tacs/tac-501-security-auth-magic-link-manager.json" },
30
- { "id": "TAC-502-security-auth-magic-link-session-manager", "kind": "tac", "path": "tacs/tac-502-security-auth-magic-link-session-manager.json" },
31
- { "id": "TAC-503-security-auth-magic-link-login-routes", "kind": "tac", "path": "tacs/tac-503-security-auth-magic-link-login-routes.json" },
32
- { "id": "TAC-504-security-auth-magic-link-email-delivery-adapter", "kind": "tac", "path": "tacs/tac-504-security-auth-magic-link-email-delivery-adapter.json" },
33
- { "id": "TAC-505-security-auth-magic-link-principal-registry", "kind": "tac", "path": "tacs/tac-505-security-auth-magic-link-principal-registry.json" },
9
+ {
10
+ "id": "security-auth-magic-link-REQ-001",
11
+ "kind": "req",
12
+ "path": "requirements/security-auth-magic-link-req-001.json"
13
+ },
14
+ {
15
+ "id": "security-auth-magic-link-REQ-002",
16
+ "kind": "req",
17
+ "path": "requirements/security-auth-magic-link-req-002.json"
18
+ },
19
+ {
20
+ "id": "security-auth-magic-link-REQ-003",
21
+ "kind": "req",
22
+ "path": "requirements/security-auth-magic-link-req-003.json"
23
+ },
24
+ {
25
+ "id": "security-auth-magic-link-REQ-004",
26
+ "kind": "req",
27
+ "path": "requirements/security-auth-magic-link-req-004.json"
28
+ },
29
+ {
30
+ "id": "security-auth-magic-link-REQ-005",
31
+ "kind": "req",
32
+ "path": "requirements/security-auth-magic-link-req-005.json"
33
+ },
34
+ {
35
+ "id": "security-auth-magic-link-REQ-006",
36
+ "kind": "req",
37
+ "path": "requirements/security-auth-magic-link-req-006.json"
38
+ },
39
+ {
40
+ "id": "security-auth-magic-link-REQ-007",
41
+ "kind": "req",
42
+ "path": "requirements/security-auth-magic-link-req-007.json"
43
+ },
44
+ {
45
+ "id": "security-auth-magic-link-REQ-008",
46
+ "kind": "req",
47
+ "path": "requirements/security-auth-magic-link-req-008.json"
48
+ },
49
+ {
50
+ "id": "security-auth-magic-link-REQ-009",
51
+ "kind": "req",
52
+ "path": "requirements/security-auth-magic-link-req-009.json"
53
+ },
54
+ {
55
+ "id": "security-auth-magic-link-REQ-010",
56
+ "kind": "req",
57
+ "path": "requirements/security-auth-magic-link-req-010.json"
58
+ },
59
+ {
60
+ "id": "security-auth-magic-link-REQ-011",
61
+ "kind": "req",
62
+ "path": "requirements/security-auth-magic-link-req-011.json"
63
+ },
64
+ {
65
+ "id": "security-auth-magic-link-US-3101",
66
+ "kind": "us",
67
+ "path": "user-stories/security-auth-magic-link-us-3101.json"
68
+ },
69
+ {
70
+ "id": "security-auth-magic-link-US-3102",
71
+ "kind": "us",
72
+ "path": "user-stories/security-auth-magic-link-us-3102.json"
73
+ },
74
+ {
75
+ "id": "security-auth-magic-link-US-3103",
76
+ "kind": "us",
77
+ "path": "user-stories/security-auth-magic-link-us-3103.json"
78
+ },
79
+ {
80
+ "id": "security-auth-magic-link-US-3104",
81
+ "kind": "us",
82
+ "path": "user-stories/security-auth-magic-link-us-3104.json"
83
+ },
84
+ {
85
+ "id": "security-auth-magic-link-US-3105",
86
+ "kind": "us",
87
+ "path": "user-stories/security-auth-magic-link-us-3105.json"
88
+ },
89
+ {
90
+ "id": "security-auth-magic-link-US-3106",
91
+ "kind": "us",
92
+ "path": "user-stories/security-auth-magic-link-us-3106.json"
93
+ },
94
+ {
95
+ "id": "security-auth-magic-link-US-3107",
96
+ "kind": "us",
97
+ "path": "user-stories/security-auth-magic-link-us-3107.json"
98
+ },
99
+ {
100
+ "id": "security-auth-magic-link-US-3108",
101
+ "kind": "us",
102
+ "path": "user-stories/security-auth-magic-link-us-3108.json"
103
+ },
104
+ {
105
+ "id": "security-auth-magic-link-US-3109",
106
+ "kind": "us",
107
+ "path": "user-stories/security-auth-magic-link-us-3109.json"
108
+ },
109
+ {
110
+ "id": "security-auth-magic-link-US-3110",
111
+ "kind": "us",
112
+ "path": "user-stories/security-auth-magic-link-us-3110.json"
113
+ },
114
+ {
115
+ "id": "security-auth-magic-link-US-3111",
116
+ "kind": "us",
117
+ "path": "user-stories/security-auth-magic-link-us-3111.json"
118
+ },
119
+ {
120
+ "id": "TAC-501-security-auth-magic-link-manager",
121
+ "kind": "tac",
122
+ "path": "tacs/tac-501-security-auth-magic-link-manager.json"
123
+ },
124
+ {
125
+ "id": "TAC-502-security-auth-magic-link-session-manager",
126
+ "kind": "tac",
127
+ "path": "tacs/tac-502-security-auth-magic-link-session-manager.json"
128
+ },
129
+ {
130
+ "id": "TAC-503-security-auth-magic-link-login-routes",
131
+ "kind": "tac",
132
+ "path": "tacs/tac-503-security-auth-magic-link-login-routes.json"
133
+ },
134
+ {
135
+ "id": "TAC-504-security-auth-magic-link-email-delivery-adapter",
136
+ "kind": "tac",
137
+ "path": "tacs/tac-504-security-auth-magic-link-email-delivery-adapter.json"
138
+ },
139
+ {
140
+ "id": "TAC-505-security-auth-magic-link-principal-registry",
141
+ "kind": "tac",
142
+ "path": "tacs/tac-505-security-auth-magic-link-principal-registry.json"
143
+ },
34
144
  {
35
145
  "id": "ADR-501-security-auth-magic-link-model",
36
146
  "kind": "adr",
@@ -38,9 +148,25 @@
38
148
  "scope": "global",
39
149
  "topic": "authModel"
40
150
  },
41
- { "id": "ADR-502-security-auth-magic-link-token-secrecy", "kind": "adr", "path": "adrs/adr-502-security-auth-magic-link-token-secrecy.json" },
42
- { "id": "ADR-503-security-auth-magic-link-anti-enumeration-budget", "kind": "adr", "path": "adrs/adr-503-security-auth-magic-link-anti-enumeration-budget.json" },
43
- { "id": "ADR-504-security-auth-magic-link-session-lifecycle", "kind": "adr", "path": "adrs/adr-504-security-auth-magic-link-session-lifecycle.json" },
44
- { "id": "ADR-505-security-auth-magic-link-rate-limiting", "kind": "adr", "path": "adrs/adr-505-security-auth-magic-link-rate-limiting.json" }
151
+ {
152
+ "id": "ADR-502-security-auth-magic-link-token-secrecy",
153
+ "kind": "adr",
154
+ "path": "adrs/adr-502-security-auth-magic-link-token-secrecy.json"
155
+ },
156
+ {
157
+ "id": "ADR-503-security-auth-magic-link-anti-enumeration-budget",
158
+ "kind": "adr",
159
+ "path": "adrs/adr-503-security-auth-magic-link-anti-enumeration-budget.json"
160
+ },
161
+ {
162
+ "id": "ADR-504-security-auth-magic-link-session-lifecycle",
163
+ "kind": "adr",
164
+ "path": "adrs/adr-504-security-auth-magic-link-session-lifecycle.json"
165
+ },
166
+ {
167
+ "id": "ADR-505-security-auth-magic-link-rate-limiting",
168
+ "kind": "adr",
169
+ "path": "adrs/adr-505-security-auth-magic-link-rate-limiting.json"
170
+ }
45
171
  ]
46
172
  }
@@ -28,7 +28,7 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
28
28
  | persistence-data-sqlite | 5101-5899 | 6xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
29
29
  | delivery-ci-workflows | 6101-6899 | 7xx | shipped v2.0.0 (renamed from ci-pipeline) | `ciGates`, `strictCoverageGate`, `releaseArtefacts` |
30
30
  | observability-essentials | 7101-7899 | 8xx | shipped v2.0.0 | `statusPageContract` |
31
- | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.0 | `secretsSource` |
31
+ | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.1 | `secretsSource` |
32
32
  | security-auth-clerk | 9101-9899 | 10xx | shipped v1.0.0 | `authModel` |
33
33
  | security-auth-oauth2 | 10101-10899 | 11xx | shipped v1.0.0 | `authModel` |
34
34
  | security-auth-keycloak | 11101-11899 | 12xx | shipped v1.0.0 | `authModel` |
@@ -40,6 +40,13 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
40
40
  | application-dashboard | 19101-19899 | 20xx | shipped v1.0.0 | none |
41
41
  | application-notifications-in-app | 20101-20899 | 21xx | shipped v1.0.0 | none |
42
42
  | application-admin-console | 21101-21899 | 22xx | shipped v1.0.0 | none |
43
+ | application-empty-error-states | 22101-22899 | 23xx | shipped v1.0.0 | none |
44
+ | application-file-upload | 23101-23899 | 24xx | shipped v1.0.0 | none |
45
+ | application-forms-wizard | 24101-24899 | 25xx | shipped v1.0.0 | none |
46
+ | application-account-settings | 25101-25899 | 26xx | shipped v1.0.0 | none |
47
+ | application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
48
+ | persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
49
+ | object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
43
50
 
44
51
  US 3101-3111 sit at the LOW end of the 3101-3899 band on purpose. A project-side story that mechanically derives from `security-auth-magic-link-REQ-011` into the number `3111` would collide against security-auth-magic-link-US-3111 in this package; the band leaves headroom at the HIGH end (US 3181-3899) so a project's own stories anchored to security-auth-magic-link REQs can allocate without conflict.
45
52
 
@@ -1,5 +1,9 @@
1
1
  # security-auth-oauth2 CHANGELOG
2
2
 
3
+ ## 1.2.0 (visual round T-4, spec 2026-09-06 section 5.4.2, Baz Q2 default)
4
+
5
+ - Declares `capabilities: [principalDirectory, roleModel, credentialSelfService, sessionInventory, hostedIdentityUi]` on `blueprint.json`. Additive per section 6 of `blueprint-authoring.md`. Consumed at apply time by the visual round T-4 `application-account-settings` blueprint to gate the security surface across both self-service and hosted-link-out branches (`AC-25105-1`) and the sessions surface (`AC-25106-1`). The three added capabilities are provider-conditional per spec section 5.4.2 vendor variation note: an OAuth2 provider (Auth0, Cognito, Azure AD, Okta) that ships a hosted account portal supplies `hostedIdentityUi`; a provider that exposes an account-management endpoint supplies `credentialSelfService`; a provider that exposes a session inventory endpoint supplies `sessionInventory`. A project on an OAuth2 provider without one of these surfaces sets the corresponding capability to false via a project-scoped ADR override; the account-settings blueprint suppresses the surface accordingly.
6
+
3
7
  ## 1.1.0 (visual round T-5, spec 2026-09-04 section 5.5.2, Baz Q2 default)
4
8
 
5
9
  - Declares `capabilities: [principalDirectory, roleModel]` on `blueprint.json`. No other change. The new field is additive per section 6 of `blueprint-authoring.md` (an additive optional field with no global-topic change is a minor bump), and it is consumed by the visual round T-5 `application-admin-console` blueprint at apply time to gate surfaces on what the applied identity blueprint actually provides.
@@ -2,6 +2,9 @@
2
2
 
3
3
  The eleventh content blueprint on the rcf-build-lite blueprint mechanism, category `security`. A vendor-neutral sibling to `security-auth-magic-link` and `security-auth-clerk` on the `authModel` global topic: identity is delegated to any OAuth2-compatible IdP the project selects (Google, GitHub, Microsoft, Okta, Auth0, a corporate ADFS-fronted OIDC, a self-hosted `node-oidc-provider`) through a fixed provider-abstraction contract. The project owns the flow controller (authorisation-code + PKCE state machine), the provider adapter (pluggable record validation and JWKS fetch), the session-bridge (opaque-handle project session, no provider tokens in the browser), and an optional provider selector. Targeted at small greenfield rcf-lite projects that want delegated identity without vendor commitment; larger deployments supersede vendor-neutral posture with a vendor-committed sibling (`security-auth-clerk`, `security-auth-keycloak` when it ships) or with a project-level ADR.
4
4
 
5
+
6
+ > Latest: **v1.2.0** (visual round T-4, 2026-09-06). `capabilities: [principalDirectory, roleModel, credentialSelfService, sessionInventory, hostedIdentityUi]`. See [CHANGELOG.md](CHANGELOG.md).
7
+
5
8
  ## Apply
6
9
 
7
10
  ```
@@ -1,34 +1,140 @@
1
1
  {
2
2
  "slug": "security-auth-oauth2",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "category": "security",
5
- "capabilities": ["principalDirectory", "roleModel"],
5
+ "capabilities": [
6
+ "principalDirectory",
7
+ "roleModel",
8
+ "credentialSelfService",
9
+ "sessionInventory",
10
+ "hostedIdentityUi"
11
+ ],
6
12
  "contributions": [
7
- { "id": "security-auth-oauth2-REQ-001", "kind": "req", "path": "requirements/security-auth-oauth2-req-001.json" },
8
- { "id": "security-auth-oauth2-REQ-002", "kind": "req", "path": "requirements/security-auth-oauth2-req-002.json" },
9
- { "id": "security-auth-oauth2-REQ-003", "kind": "req", "path": "requirements/security-auth-oauth2-req-003.json" },
10
- { "id": "security-auth-oauth2-REQ-004", "kind": "req", "path": "requirements/security-auth-oauth2-req-004.json" },
11
- { "id": "security-auth-oauth2-REQ-005", "kind": "req", "path": "requirements/security-auth-oauth2-req-005.json" },
12
- { "id": "security-auth-oauth2-REQ-006", "kind": "req", "path": "requirements/security-auth-oauth2-req-006.json" },
13
- { "id": "security-auth-oauth2-REQ-007", "kind": "req", "path": "requirements/security-auth-oauth2-req-007.json" },
14
- { "id": "security-auth-oauth2-REQ-008", "kind": "req", "path": "requirements/security-auth-oauth2-req-008.json" },
15
- { "id": "security-auth-oauth2-REQ-009", "kind": "req", "path": "requirements/security-auth-oauth2-req-009.json" },
16
- { "id": "security-auth-oauth2-REQ-010", "kind": "req", "path": "requirements/security-auth-oauth2-req-010.json" },
17
- { "id": "security-auth-oauth2-US-10101", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10101.json" },
18
- { "id": "security-auth-oauth2-US-10102", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10102.json" },
19
- { "id": "security-auth-oauth2-US-10103", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10103.json" },
20
- { "id": "security-auth-oauth2-US-10104", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10104.json" },
21
- { "id": "security-auth-oauth2-US-10105", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10105.json" },
22
- { "id": "security-auth-oauth2-US-10106", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10106.json" },
23
- { "id": "security-auth-oauth2-US-10107", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10107.json" },
24
- { "id": "security-auth-oauth2-US-10108", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10108.json" },
25
- { "id": "security-auth-oauth2-US-10109", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10109.json" },
26
- { "id": "security-auth-oauth2-US-10110", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10110.json" },
27
- { "id": "security-auth-oauth2-US-10111", "kind": "us", "path": "user-stories/security-auth-oauth2-us-10111.json" },
28
- { "id": "TAC-1101-security-auth-oauth2-flow-controller", "kind": "tac", "path": "tacs/tac-1101-security-auth-oauth2-flow-controller.json" },
29
- { "id": "TAC-1102-security-auth-oauth2-provider-adapter", "kind": "tac", "path": "tacs/tac-1102-security-auth-oauth2-provider-adapter.json" },
30
- { "id": "TAC-1103-security-auth-oauth2-session-bridge", "kind": "tac", "path": "tacs/tac-1103-security-auth-oauth2-session-bridge.json" },
31
- { "id": "TAC-1104-security-auth-oauth2-provider-selector", "kind": "tac", "path": "tacs/tac-1104-security-auth-oauth2-provider-selector.json" },
13
+ {
14
+ "id": "security-auth-oauth2-REQ-001",
15
+ "kind": "req",
16
+ "path": "requirements/security-auth-oauth2-req-001.json"
17
+ },
18
+ {
19
+ "id": "security-auth-oauth2-REQ-002",
20
+ "kind": "req",
21
+ "path": "requirements/security-auth-oauth2-req-002.json"
22
+ },
23
+ {
24
+ "id": "security-auth-oauth2-REQ-003",
25
+ "kind": "req",
26
+ "path": "requirements/security-auth-oauth2-req-003.json"
27
+ },
28
+ {
29
+ "id": "security-auth-oauth2-REQ-004",
30
+ "kind": "req",
31
+ "path": "requirements/security-auth-oauth2-req-004.json"
32
+ },
33
+ {
34
+ "id": "security-auth-oauth2-REQ-005",
35
+ "kind": "req",
36
+ "path": "requirements/security-auth-oauth2-req-005.json"
37
+ },
38
+ {
39
+ "id": "security-auth-oauth2-REQ-006",
40
+ "kind": "req",
41
+ "path": "requirements/security-auth-oauth2-req-006.json"
42
+ },
43
+ {
44
+ "id": "security-auth-oauth2-REQ-007",
45
+ "kind": "req",
46
+ "path": "requirements/security-auth-oauth2-req-007.json"
47
+ },
48
+ {
49
+ "id": "security-auth-oauth2-REQ-008",
50
+ "kind": "req",
51
+ "path": "requirements/security-auth-oauth2-req-008.json"
52
+ },
53
+ {
54
+ "id": "security-auth-oauth2-REQ-009",
55
+ "kind": "req",
56
+ "path": "requirements/security-auth-oauth2-req-009.json"
57
+ },
58
+ {
59
+ "id": "security-auth-oauth2-REQ-010",
60
+ "kind": "req",
61
+ "path": "requirements/security-auth-oauth2-req-010.json"
62
+ },
63
+ {
64
+ "id": "security-auth-oauth2-US-10101",
65
+ "kind": "us",
66
+ "path": "user-stories/security-auth-oauth2-us-10101.json"
67
+ },
68
+ {
69
+ "id": "security-auth-oauth2-US-10102",
70
+ "kind": "us",
71
+ "path": "user-stories/security-auth-oauth2-us-10102.json"
72
+ },
73
+ {
74
+ "id": "security-auth-oauth2-US-10103",
75
+ "kind": "us",
76
+ "path": "user-stories/security-auth-oauth2-us-10103.json"
77
+ },
78
+ {
79
+ "id": "security-auth-oauth2-US-10104",
80
+ "kind": "us",
81
+ "path": "user-stories/security-auth-oauth2-us-10104.json"
82
+ },
83
+ {
84
+ "id": "security-auth-oauth2-US-10105",
85
+ "kind": "us",
86
+ "path": "user-stories/security-auth-oauth2-us-10105.json"
87
+ },
88
+ {
89
+ "id": "security-auth-oauth2-US-10106",
90
+ "kind": "us",
91
+ "path": "user-stories/security-auth-oauth2-us-10106.json"
92
+ },
93
+ {
94
+ "id": "security-auth-oauth2-US-10107",
95
+ "kind": "us",
96
+ "path": "user-stories/security-auth-oauth2-us-10107.json"
97
+ },
98
+ {
99
+ "id": "security-auth-oauth2-US-10108",
100
+ "kind": "us",
101
+ "path": "user-stories/security-auth-oauth2-us-10108.json"
102
+ },
103
+ {
104
+ "id": "security-auth-oauth2-US-10109",
105
+ "kind": "us",
106
+ "path": "user-stories/security-auth-oauth2-us-10109.json"
107
+ },
108
+ {
109
+ "id": "security-auth-oauth2-US-10110",
110
+ "kind": "us",
111
+ "path": "user-stories/security-auth-oauth2-us-10110.json"
112
+ },
113
+ {
114
+ "id": "security-auth-oauth2-US-10111",
115
+ "kind": "us",
116
+ "path": "user-stories/security-auth-oauth2-us-10111.json"
117
+ },
118
+ {
119
+ "id": "TAC-1101-security-auth-oauth2-flow-controller",
120
+ "kind": "tac",
121
+ "path": "tacs/tac-1101-security-auth-oauth2-flow-controller.json"
122
+ },
123
+ {
124
+ "id": "TAC-1102-security-auth-oauth2-provider-adapter",
125
+ "kind": "tac",
126
+ "path": "tacs/tac-1102-security-auth-oauth2-provider-adapter.json"
127
+ },
128
+ {
129
+ "id": "TAC-1103-security-auth-oauth2-session-bridge",
130
+ "kind": "tac",
131
+ "path": "tacs/tac-1103-security-auth-oauth2-session-bridge.json"
132
+ },
133
+ {
134
+ "id": "TAC-1104-security-auth-oauth2-provider-selector",
135
+ "kind": "tac",
136
+ "path": "tacs/tac-1104-security-auth-oauth2-provider-selector.json"
137
+ },
32
138
  {
33
139
  "id": "ADR-1101-security-auth-oauth2-auth-model",
34
140
  "kind": "adr",
@@ -36,10 +142,30 @@
36
142
  "scope": "global",
37
143
  "topic": "authModel"
38
144
  },
39
- { "id": "ADR-1102-security-auth-oauth2-provider-abstraction-contract", "kind": "adr", "path": "adrs/adr-1102-security-auth-oauth2-provider-abstraction-contract.json" },
40
- { "id": "ADR-1103-security-auth-oauth2-pkce-discipline", "kind": "adr", "path": "adrs/adr-1103-security-auth-oauth2-pkce-discipline.json" },
41
- { "id": "ADR-1104-security-auth-oauth2-session-bridge-shape", "kind": "adr", "path": "adrs/adr-1104-security-auth-oauth2-session-bridge-shape.json" },
42
- { "id": "ADR-1105-security-auth-oauth2-refresh-token-posture", "kind": "adr", "path": "adrs/adr-1105-security-auth-oauth2-refresh-token-posture.json" },
43
- { "id": "ADR-1106-security-auth-oauth2-multi-provider-routing", "kind": "adr", "path": "adrs/adr-1106-security-auth-oauth2-multi-provider-routing.json" }
145
+ {
146
+ "id": "ADR-1102-security-auth-oauth2-provider-abstraction-contract",
147
+ "kind": "adr",
148
+ "path": "adrs/adr-1102-security-auth-oauth2-provider-abstraction-contract.json"
149
+ },
150
+ {
151
+ "id": "ADR-1103-security-auth-oauth2-pkce-discipline",
152
+ "kind": "adr",
153
+ "path": "adrs/adr-1103-security-auth-oauth2-pkce-discipline.json"
154
+ },
155
+ {
156
+ "id": "ADR-1104-security-auth-oauth2-session-bridge-shape",
157
+ "kind": "adr",
158
+ "path": "adrs/adr-1104-security-auth-oauth2-session-bridge-shape.json"
159
+ },
160
+ {
161
+ "id": "ADR-1105-security-auth-oauth2-refresh-token-posture",
162
+ "kind": "adr",
163
+ "path": "adrs/adr-1105-security-auth-oauth2-refresh-token-posture.json"
164
+ },
165
+ {
166
+ "id": "ADR-1106-security-auth-oauth2-multi-provider-routing",
167
+ "kind": "adr",
168
+ "path": "adrs/adr-1106-security-auth-oauth2-multi-provider-routing.json"
169
+ }
44
170
  ]
45
171
  }
@@ -39,7 +39,7 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
39
39
  | persistence-data-sqlite | 5101-5899 | 6xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
40
40
  | delivery-ci-workflows | 6101-6899 | 7xx | shipped v2.0.0 (renamed from ci-pipeline) | `ciGates`, `strictCoverageGate`, `releaseArtefacts` |
41
41
  | observability-essentials | 7101-7899 | 8xx | shipped v2.0.0 | `statusPageContract` |
42
- | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.0 | `secretsSource` |
42
+ | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.1 | `secretsSource` |
43
43
  | security-auth-clerk | 9101-9899 | 10xx | shipped v1.0.0 | `authModel` |
44
44
  | security-auth-oauth2 | 10101-10899 | 11xx | shipped v1.0.0 | `authModel` |
45
45
  | security-auth-keycloak | 11101-11899 | 12xx | shipped v1.0.0 | `authModel` |
@@ -51,6 +51,13 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
51
51
  | application-dashboard | 19101-19899 | 20xx | shipped v1.0.0 | none |
52
52
  | application-notifications-in-app | 20101-20899 | 21xx | shipped v1.0.0 | none |
53
53
  | application-admin-console | 21101-21899 | 22xx | shipped v1.0.0 | none |
54
+ | application-empty-error-states | 22101-22899 | 23xx | shipped v1.0.0 | none |
55
+ | application-file-upload | 23101-23899 | 24xx | shipped v1.0.0 | none |
56
+ | application-forms-wizard | 24101-24899 | 25xx | shipped v1.0.0 | none |
57
+ | application-account-settings | 25101-25899 | 26xx | shipped v1.0.0 | none |
58
+ | application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
59
+ | persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
60
+ | object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
54
61
 
55
62
  US 10101-10111 sit at the LOW end of the 10101-10899 band on purpose. A project-side story that mechanically derives from a security-auth-oauth2 REQ id into the number `10111` would collide against security-auth-oauth2-US-10111 in this package; the band leaves headroom at the HIGH end (US 10181-10899) so a project's own stories anchored to security-auth-oauth2 REQs can allocate without conflict. The watchpost run4 lesson applies here too.
56
63
 
@@ -0,0 +1,11 @@
1
+ # security-secrets-management changelog
2
+
3
+ ## 1.0.1 - 2026-09-06
4
+
5
+ Additive minor: declares `capabilities: ["secretsProvider"]` on `blueprint.json` so consumer blueprints can gate composition on an applied secrets-management surface via the T-5 capability mechanism. No REQ / US / TAC / ADR contribution changes; the `secretRef` opaque-string contract, the elicited-parameters shape, and the shipped secretsSource semantics are unchanged. First consumer at v1.0.1: `object-storage-s3` v1.0.0 declares `requiresAppliedCapabilities: {capabilities: ["secretsProvider"], allowSkipFlag: "allow-no-secrets-yet", refusalMessageId: "object-storage-s3-no-secrets"}` so `rcf define blueprint add object-storage-s3` on a project that has not applied security-secrets-management exits 3 with the stable message id on stderr; the override records a note on `source.notes` for later reconciliation.
6
+
7
+ Landed via infra round 5 T-2 (spec section 5.2, Baz decision 6) folded into PR #157 per HQ ruling on the runner-gap find; same-PR minor pattern as round-4 T-4 auth minors.
8
+
9
+ ## 1.0.0 - 2026-08-31
10
+
11
+ Initial release. `secretRef` opaque-string contract, elicited-parameters (secretsSource, environment mapping), scope-global ADR on `secretsSource`.
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "slug": "security-secrets-management",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "category": "security",
5
+ "capabilities": ["secretsProvider"],
5
6
  "contributions": [
6
7
  { "id": "security-secrets-management-REQ-001", "kind": "req", "path": "requirements/security-secrets-management-req-001.json" },
7
8
  { "id": "security-secrets-management-REQ-002", "kind": "req", "path": "requirements/security-secrets-management-req-002.json" },
@@ -28,7 +28,7 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
28
28
  | persistence-data-sqlite | 5101-5899 | 6xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
29
29
  | delivery-ci-workflows | 6101-6899 | 7xx | shipped v2.0.0 (renamed from ci-pipeline) | `ciGates`, `strictCoverageGate`, `releaseArtefacts` |
30
30
  | observability-essentials | 7101-7899 | 8xx | shipped v2.0.0 | `statusPageContract` |
31
- | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.0 | `secretsSource` |
31
+ | security-secrets-management | 8101-8899 | 9xx | shipped v1.0.1 | `secretsSource` |
32
32
  | security-auth-clerk | 9101-9899 | 10xx | shipped v1.0.0 | `authModel` |
33
33
  | security-auth-oauth2 | 10101-10899 | 11xx | shipped v1.0.0 | `authModel` |
34
34
  | security-auth-keycloak | 11101-11899 | 12xx | shipped v1.0.0 | `authModel` |
@@ -40,6 +40,13 @@ This table is maintained shelf-wide across every blueprint's `docs/topics.md`. R
40
40
  | application-dashboard | 19101-19899 | 20xx | shipped v1.0.0 | none |
41
41
  | application-notifications-in-app | 20101-20899 | 21xx | shipped v1.0.0 | none |
42
42
  | application-admin-console | 21101-21899 | 22xx | shipped v1.0.0 | none |
43
+ | application-empty-error-states | 22101-22899 | 23xx | shipped v1.0.0 | none |
44
+ | application-file-upload | 23101-23899 | 24xx | shipped v1.0.0 | none |
45
+ | application-forms-wizard | 24101-24899 | 25xx | shipped v1.0.0 | none |
46
+ | application-account-settings | 25101-25899 | 26xx | shipped v1.0.0 | none |
47
+ | application-onboarding-tour | 26101-26899 | 27xx | shipped v1.0.0 | none |
48
+ | persistence-data-postgres | 27101-27899 | 28xx | shipped v1.0.0 | `persistenceStore`, `migrationDiscipline` |
49
+ | object-storage-s3 | 28101-28899 | 29xx | shipped v1.0.0 | `objectStorageContract` |
43
50
 
44
51
  US 8101-8110 sit at the LOW end of the 8101-8899 band on purpose. A project-side story that mechanically derives from a security-secrets-management REQ id into the number `8110` would collide against security-secrets-management-US-8110 in this package; the band leaves headroom at the HIGH end (US 8181-8899) so a project's own stories anchored to security-secrets-management REQs can allocate without conflict. The watchpost run4 lesson applies here too.
45
52
 
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "registerCanary": [
3
3
  {
4
- "id": "rc-2026-09-05-001",
5
- "createdAt": "2026-09-05T04:18:06.946Z",
6
- "buildVersion": "0.21.0-mockdriver",
4
+ "id": "rc-2026-09-07-001",
5
+ "createdAt": "2026-09-07T01:33:03.147Z",
6
+ "buildVersion": "0.22.0-mockdriver",
7
7
  "fixturePromptId": "canary-prompt-01",
8
8
  "responseWordCount": 55,
9
9
  "grades": {
@@ -34,9 +34,9 @@
34
34
  "shipDespiteFailReason": "mock canary driver used; no real subagent was dispatched. This record verifies canary infrastructure only, not the register itself."
35
35
  },
36
36
  {
37
- "id": "rc-2026-09-05-002",
38
- "createdAt": "2026-09-05T04:18:06.947Z",
39
- "buildVersion": "0.21.0-mockdriver",
37
+ "id": "rc-2026-09-07-002",
38
+ "createdAt": "2026-09-07T01:33:03.148Z",
39
+ "buildVersion": "0.22.0-mockdriver",
40
40
  "fixturePromptId": "canary-prompt-02",
41
41
  "responseWordCount": 55,
42
42
  "grades": {
@@ -67,9 +67,9 @@
67
67
  "shipDespiteFailReason": "mock canary driver used; no real subagent was dispatched. This record verifies canary infrastructure only, not the register itself."
68
68
  },
69
69
  {
70
- "id": "rc-2026-09-05-003",
71
- "createdAt": "2026-09-05T04:18:06.947Z",
72
- "buildVersion": "0.21.0-mockdriver",
70
+ "id": "rc-2026-09-07-003",
71
+ "createdAt": "2026-09-07T01:33:03.148Z",
72
+ "buildVersion": "0.22.0-mockdriver",
73
73
  "fixturePromptId": "canary-prompt-03",
74
74
  "responseWordCount": 55,
75
75
  "grades": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rcf-lite",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "type": "module",
5
5
  "description": "One-install tooling for the Requirements Confidence Framework (RCF): the unified `rcf` CLI grouped into the five RCF tool groups (discover, define, build, verify, audit) plus a small core set (init, doctor, guidance, mcp), an MCP server, the live tree viewer and the fresh-context adversarial ship-gate verifier. Consumes @stravica-ai/rcf-schemas.",
6
6
  "license": "Apache-2.0",
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-134",
3
+ "path": "../../blueprints/application-empty-error-states/blueprint.json",
4
+ "implementsAcIds": [
5
+ "AC-2401-1",
6
+ "AC-2401-2"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-06T15:39:29.738Z",
12
+ "updatedAt": "2026-09-06T15:39:29.738Z"
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "cnId": "CN-135",
3
+ "path": "../../blueprints/application-empty-error-states/probe-packs/application-empty-error-states.pack.mjs",
4
+ "implementsAcIds": [
5
+ "AC-2401-3"
6
+ ],
7
+ "dependencies": [],
8
+ "version": "0.1.0",
9
+ "status": "draft",
10
+ "createdAt": "2026-09-06T15:39:29.906Z",
11
+ "updatedAt": "2026-09-06T15:39:29.906Z"
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-136",
3
+ "path": "../../packages/rcf-lite/test/fixtures/probe-pack-application-empty-error-states/server.js",
4
+ "implementsAcIds": [
5
+ "AC-2401-4",
6
+ "AC-2401-5"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-06T15:39:30.074Z",
12
+ "updatedAt": "2026-09-06T15:39:30.074Z"
13
+ }