rcf-lite 0.29.0 → 0.31.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 (775) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +1 -1
  3. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +1 -1
  4. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +1 -1
  5. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +1 -1
  6. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +1 -1
  7. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +1 -1
  8. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +1 -1
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +1 -1
  10. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +4 -4
  11. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +2 -2
  12. package/blueprints/application-account-settings/contributions/tacs/tac-2603-application-account-settings-hosted-ui-bridge.json +2 -2
  13. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +7 -7
  14. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +3 -15
  15. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +2 -10
  16. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +3 -6
  17. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +4 -4
  18. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +1 -1
  19. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +1 -1
  20. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +1 -1
  21. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +1 -1
  22. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +1 -1
  23. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +1 -1
  24. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +1 -1
  25. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +1 -1
  26. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +1 -1
  27. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +1 -1
  28. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +4 -4
  29. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +7 -7
  30. package/blueprints/application-admin-console/contributions/tacs/tac-2203-application-admin-console-permission-matrix.json +2 -2
  31. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +2 -2
  32. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +3 -2
  33. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +2 -2
  34. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +3 -11
  35. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +4 -4
  36. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +2 -2
  37. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +2 -2
  38. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +1 -1
  39. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +1 -2
  40. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +1 -1
  41. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +1 -1
  42. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +1 -1
  43. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +4 -4
  44. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +4 -4
  45. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +4 -4
  46. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +4 -4
  47. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +4 -4
  48. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +4 -4
  49. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +1 -1
  50. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +1 -1
  51. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +4 -4
  52. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +2 -2
  53. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +1 -1
  54. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +1 -1
  55. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +1 -1
  56. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +1 -1
  57. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +2 -2
  58. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +4 -4
  59. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +4 -4
  60. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +1 -1
  61. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +4 -4
  62. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +4 -4
  63. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +2 -2
  64. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +1 -1
  65. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +4 -4
  66. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +4 -4
  67. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  68. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +1 -1
  69. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +1 -1
  70. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +1 -1
  71. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +1 -1
  72. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +1 -1
  73. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +1 -1
  74. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +1 -1
  75. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +1 -1
  76. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +2 -2
  77. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +1 -1
  78. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +2 -2
  79. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +5 -5
  80. package/blueprints/application-empty-error-states/contributions/tacs/tac-2302-application-empty-error-states-recovery-router.json +2 -2
  81. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +5 -5
  82. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +6 -6
  83. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +4 -4
  84. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +1 -1
  85. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +4 -4
  86. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +1 -1
  87. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +1 -1
  88. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +1 -1
  89. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +1 -1
  90. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +1 -1
  91. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +2 -2
  92. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +2 -2
  93. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +7 -7
  94. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +8 -8
  95. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +11 -11
  96. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +1 -1
  97. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +1 -1
  98. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +1 -1
  99. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +1 -1
  100. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +1 -1
  101. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +1 -1
  102. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +1 -1
  103. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +2 -2
  104. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +7 -7
  105. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -4
  106. package/blueprints/application-forms-wizard/contributions/tacs/tac-2503-application-forms-wizard-draft-store.json +4 -4
  107. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +1 -1
  108. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +1 -1
  109. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +1 -1
  110. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +1 -1
  111. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +1 -1
  112. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +2 -2
  113. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +2 -2
  114. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +6 -6
  115. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +9 -9
  116. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +4 -4
  117. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +1 -1
  118. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +1 -1
  119. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +2 -2
  120. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +4 -4
  121. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +1 -1
  122. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +1 -1
  123. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +1 -1
  124. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +1 -1
  125. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +1 -1
  126. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +1 -1
  127. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2701-application-onboarding-tour-step-runner.json +4 -4
  128. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -2
  129. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +2 -2
  130. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +2 -2
  131. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +1 -2
  132. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +1 -1
  133. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +1 -1
  134. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +1 -1
  135. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +1 -1
  136. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +1 -1
  137. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -4
  138. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +4 -4
  139. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +6 -6
  140. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +6 -6
  141. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +6 -6
  142. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +8 -8
  143. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +8 -8
  144. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +2 -2
  145. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +1 -1
  146. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +1 -1
  147. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +1 -1
  148. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +4 -4
  149. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +4 -4
  150. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +1 -1
  151. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +6 -6
  152. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +5 -5
  153. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +2 -2
  154. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +1 -1
  155. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +1 -1
  156. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +1 -1
  157. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +1 -1
  158. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +1 -1
  159. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +1 -1
  160. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +1 -1
  161. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +1 -1
  162. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +1 -1
  163. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +1 -1
  164. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +1 -1
  165. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +1 -1
  166. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +1 -1
  167. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +1 -1
  168. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +1 -1
  169. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +1 -1
  170. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +1 -1
  171. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +1 -1
  172. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +1 -1
  173. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +1 -1
  174. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +1 -1
  175. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +1 -1
  176. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +1 -1
  177. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-701-delivery-ci-workflows-gate-runner.json +6 -6
  178. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-702-delivery-ci-workflows-gate-report.json +4 -4
  179. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-703-delivery-ci-workflows-aggregate-report.json +4 -4
  180. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-704-delivery-ci-workflows-workflow-materialiser.json +6 -6
  181. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-705-delivery-ci-workflows-release-workflow.json +6 -6
  182. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-706-delivery-ci-workflows-scheduled-audit.json +4 -4
  183. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +1 -1
  184. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +1 -1
  185. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +1 -1
  186. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +1 -1
  187. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +1 -1
  188. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +1 -1
  189. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +1 -1
  190. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +1 -1
  191. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +1 -1
  192. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +1 -1
  193. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +1 -1
  194. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +1 -1
  195. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +1 -1
  196. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +1 -1
  197. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +1 -1
  198. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +1 -1
  199. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +1 -1
  200. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +1 -1
  201. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +1 -1
  202. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +1 -1
  203. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +1 -1
  204. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +1 -1
  205. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +1 -1
  206. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +1 -1
  207. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +1 -1
  208. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +1 -1
  209. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +1 -1
  210. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +1 -1
  211. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +1 -1
  212. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +1 -1
  213. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +1 -1
  214. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +1 -1
  215. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +1 -1
  216. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +6 -6
  217. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +8 -8
  218. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1303-deploy-cloudflare-workers-preview-url-resolver.json +6 -6
  219. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1304-deploy-cloudflare-workers-promote-gate.json +8 -8
  220. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1305-deploy-cloudflare-workers-served-surface-verifier.json +8 -8
  221. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1306-deploy-cloudflare-workers-deploy-ci-workflows.json +8 -8
  222. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +1 -1
  223. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +2 -2
  224. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +1 -1
  225. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +1 -1
  226. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +2 -2
  227. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +1 -1
  228. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +1 -1
  229. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +1 -1
  230. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +1 -1
  231. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +1 -1
  232. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +1 -1
  233. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +1 -1
  234. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +1 -1
  235. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3801-deploy-hetzner-server-provisioner.json +3 -2
  236. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3802-deploy-hetzner-server-manifest-schema.json +3 -2
  237. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3803-deploy-hetzner-server-cloud-init-template.json +3 -2
  238. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3804-deploy-hetzner-server-firewall-shape.json +3 -2
  239. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +4 -4
  240. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +3 -3
  241. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +4 -4
  242. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +2 -2
  243. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +2 -2
  244. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +3 -3
  245. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +2 -2
  246. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +2 -2
  247. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +2 -2
  248. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +1 -1
  249. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +1 -1
  250. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +1 -1
  251. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +1 -1
  252. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +1 -1
  253. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +1 -1
  254. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +1 -1
  255. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3501-edge-cloudflare-access-jwt-validator.json +6 -4
  256. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3502-edge-cloudflare-access-application-declaration.json +3 -2
  257. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3503-edge-cloudflare-access-policy-shape.json +3 -2
  258. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3504-edge-cloudflare-access-audit-sink.json +3 -2
  259. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +1 -1
  260. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +5 -5
  261. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +1 -1
  262. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +3 -3
  263. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +1 -1
  264. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +1 -1
  265. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +5 -5
  266. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +1 -1
  267. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +1 -1
  268. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +1 -1
  269. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +1 -1
  270. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +1 -1
  271. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +1 -1
  272. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +6 -4
  273. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3702-edge-cloudflare-rate-limiting-management-surface-doc.json +3 -2
  274. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +3 -2
  275. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +2 -2
  276. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +1 -1
  277. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +6 -6
  278. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +2 -2
  279. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +1 -1
  280. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +1 -1
  281. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +1 -1
  282. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +1 -1
  283. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +1 -1
  284. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +1 -1
  285. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +1 -1
  286. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +3 -2
  287. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4002-edge-cloudflare-tunnel-manifest-schema.json +3 -2
  288. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4003-edge-cloudflare-tunnel-access-binding.json +3 -2
  289. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +3 -2
  290. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +3 -3
  291. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +2 -2
  292. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +4 -4
  293. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +2 -2
  294. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +2 -2
  295. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +5 -5
  296. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +2 -2
  297. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +3 -3
  298. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +4 -4
  299. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +3 -3
  300. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +1 -1
  301. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +1 -1
  302. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +1 -1
  303. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +1 -1
  304. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +1 -1
  305. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +3 -2
  306. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +9 -6
  307. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3603-edge-cloudflare-turnstile-magic-link-hook.json +3 -2
  308. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +3 -3
  309. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +4 -4
  310. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +6 -6
  311. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +2 -2
  312. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +1 -1
  313. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +1 -1
  314. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +1 -1
  315. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +1 -1
  316. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +1 -1
  317. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +1 -1
  318. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +1 -1
  319. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +8 -8
  320. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +10 -10
  321. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +1 -1
  322. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +1 -1
  323. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +1 -1
  324. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +1 -1
  325. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +2 -2
  326. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +1 -1
  327. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +1 -1
  328. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +1 -1
  329. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +1 -1
  330. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +1 -1
  331. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +1 -1
  332. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +4 -4
  333. package/blueprints/jobs-background/contributions/tacs/tac-3102-jobs-background-scheduler.json +6 -6
  334. package/blueprints/jobs-background/contributions/tacs/tac-3103-jobs-background-run-log.json +6 -6
  335. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +1 -1
  336. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +3 -3
  337. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +1 -1
  338. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +4 -4
  339. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +1 -1
  340. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +1 -1
  341. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +1 -1
  342. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +1 -1
  343. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +1 -1
  344. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +1 -1
  345. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +1 -1
  346. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +1 -1
  347. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +1 -1
  348. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +1 -1
  349. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +1 -1
  350. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3001-messaging-queue-cloudflare-producer-facade.json +6 -6
  351. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3002-messaging-queue-cloudflare-consumer-registration.json +2 -2
  352. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3003-messaging-queue-cloudflare-event-sink.json +2 -2
  353. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +1 -1
  354. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +1 -1
  355. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +1 -1
  356. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +2 -2
  357. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +1 -1
  358. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +2 -2
  359. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +1 -1
  360. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +1 -1
  361. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +1 -1
  362. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +1 -1
  363. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +1 -1
  364. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +1 -1
  365. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +1 -1
  366. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +1 -1
  367. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +1 -1
  368. package/blueprints/object-storage-s3/contributions/tacs/tac-2901-object-storage-s3-facade.json +6 -6
  369. package/blueprints/object-storage-s3/contributions/tacs/tac-2902-object-storage-s3-multipart-uploader.json +2 -2
  370. package/blueprints/object-storage-s3/contributions/tacs/tac-2903-object-storage-s3-event-sink.json +2 -2
  371. package/blueprints/object-storage-s3/contributions/tacs/tac-2904-object-storage-s3-hetzner-endpoint-helper.json +2 -2
  372. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +1 -1
  373. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +1 -1
  374. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +2 -2
  375. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +1 -1
  376. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +2 -2
  377. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +1 -1
  378. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +1 -1
  379. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +1 -1
  380. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +1 -1
  381. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +1 -1
  382. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +1 -1
  383. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +1 -1
  384. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +1 -1
  385. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +1 -1
  386. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +1 -1
  387. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +1 -1
  388. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +1 -1
  389. package/blueprints/observability-essentials/contributions/tacs/tac-801-observability-essentials-liveness-probe.json +4 -4
  390. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +12 -12
  391. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +6 -6
  392. package/blueprints/observability-essentials/contributions/tacs/tac-804-observability-essentials-notification-outcome.json +8 -8
  393. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +1 -1
  394. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +3 -3
  395. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +2 -2
  396. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +1 -1
  397. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +1 -1
  398. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +1 -1
  399. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +1 -1
  400. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +1 -1
  401. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +1 -1
  402. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +8 -2
  403. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +6 -6
  404. package/blueprints/observability-logging/contributions/tacs/tac-1602-observability-logging-redaction-boundary.json +2 -2
  405. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +4 -4
  406. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +2 -2
  407. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +2 -2
  408. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +1 -1
  409. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +1 -1
  410. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +2 -2
  411. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +1 -1
  412. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +3 -3
  413. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +1 -1
  414. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +1 -1
  415. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +1 -1
  416. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +1 -1
  417. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +1 -1
  418. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +1 -1
  419. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +1 -1
  420. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +1 -1
  421. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1501-observability-probe-endpoints-profile-resolver.json +6 -6
  422. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1502-observability-probe-endpoints-handler-set.json +4 -4
  423. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1503-observability-probe-endpoints-listener-topology.json +6 -6
  424. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1504-observability-probe-endpoints-non-http-adapters.json +4 -4
  425. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +2 -2
  426. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +1 -1
  427. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +3 -3
  428. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +1 -1
  429. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +1 -1
  430. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +1 -1
  431. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +1 -1
  432. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +1 -1
  433. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +1 -1
  434. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +1 -1
  435. package/blueprints/persistence-data-d1/contributions/tacs/tac-1401-persistence-data-d1-facade.json +6 -6
  436. package/blueprints/persistence-data-d1/contributions/tacs/tac-1402-persistence-data-d1-migration-catalog.json +4 -4
  437. package/blueprints/persistence-data-d1/contributions/tacs/tac-1403-persistence-data-d1-deploy-gate.json +4 -4
  438. package/blueprints/persistence-data-d1/contributions/tacs/tac-1404-persistence-data-d1-recovery-runner.json +4 -4
  439. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +2 -2
  440. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +1 -1
  441. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +2 -2
  442. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +1 -1
  443. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +1 -1
  444. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +1 -1
  445. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +1 -1
  446. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +1 -1
  447. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +1 -1
  448. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +1 -1
  449. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2801-persistence-data-postgres-facade.json +6 -6
  450. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +4 -4
  451. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +2 -2
  452. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2804-persistence-data-postgres-recovery-runner.json +4 -4
  453. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +1 -1
  454. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +4 -4
  455. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +1 -1
  456. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +2 -2
  457. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +1 -1
  458. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +1 -1
  459. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +1 -1
  460. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +1 -1
  461. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +1 -1
  462. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +1 -1
  463. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +1 -1
  464. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +1 -1
  465. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +1 -1
  466. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +1 -1
  467. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +1 -1
  468. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +1 -1
  469. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +1 -1
  470. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +1 -1
  471. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +1 -1
  472. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +1 -1
  473. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +1 -1
  474. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-601-persistence-data-sqlite-store.json +6 -6
  475. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-602-persistence-data-sqlite-migration-runner.json +2 -2
  476. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-603-persistence-data-sqlite-migration-catalog.json +4 -4
  477. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-604-persistence-data-sqlite-backup-runner.json +2 -2
  478. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +2 -2
  479. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +1 -1
  480. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +1 -1
  481. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +1 -1
  482. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +2 -2
  483. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +1 -1
  484. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +1 -1
  485. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +1 -1
  486. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +1 -1
  487. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +1 -1
  488. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +6 -1
  489. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3302-platform-cloudflare-cron-triggers-expression-router.json +9 -2
  490. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3303-platform-cloudflare-cron-triggers-event-sink.json +6 -1
  491. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +6 -6
  492. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +5 -5
  493. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +3 -3
  494. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +4 -4
  495. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +4 -4
  496. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +4 -4
  497. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +3 -3
  498. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +1 -1
  499. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +1 -1
  500. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +1 -1
  501. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +1 -1
  502. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +1 -1
  503. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +1 -1
  504. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +1 -1
  505. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +1 -1
  506. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3401-platform-cloudflare-durable-objects-namespace-facade.json +6 -4
  507. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3402-platform-cloudflare-durable-objects-single-cell-shape.json +6 -4
  508. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3403-platform-cloudflare-durable-objects-alarm-handler.json +6 -4
  509. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3404-platform-cloudflare-durable-objects-websocket-hub.json +6 -4
  510. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3405-platform-cloudflare-durable-objects-event-sink.json +3 -2
  511. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +5 -5
  512. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +4 -4
  513. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +5 -5
  514. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +5 -5
  515. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +5 -5
  516. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +4 -4
  517. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +3 -3
  518. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +5 -5
  519. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +3 -3
  520. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +4 -4
  521. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +3 -3
  522. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +3 -3
  523. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +5 -5
  524. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +1 -1
  525. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +1 -1
  526. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +1 -1
  527. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +1 -1
  528. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +1 -1
  529. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +1 -1
  530. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +1 -1
  531. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3201-platform-cloudflare-kv-facade.json +3 -2
  532. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3202-platform-cloudflare-kv-cache-aside.json +3 -2
  533. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3203-platform-cloudflare-kv-event-sink.json +3 -2
  534. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +4 -4
  535. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +3 -3
  536. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +4 -4
  537. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +4 -4
  538. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +4 -4
  539. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +3 -3
  540. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +3 -3
  541. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +3 -3
  542. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +4 -4
  543. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +5 -5
  544. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +5 -5
  545. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +1 -1
  546. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +1 -1
  547. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +1 -1
  548. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +1 -1
  549. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +1 -1
  550. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +1 -1
  551. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +1 -1
  552. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3901-platform-docker-compose-host-compose-layout.json +3 -2
  553. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3902-platform-docker-compose-host-secrets-mount.json +3 -2
  554. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3903-platform-docker-compose-host-healthcheck-lint.json +3 -2
  555. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3904-platform-docker-compose-host-reverse-proxy-artefact.json +3 -2
  556. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +5 -5
  557. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +4 -4
  558. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +4 -4
  559. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +4 -4
  560. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +3 -3
  561. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +3 -3
  562. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +3 -3
  563. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +3 -3
  564. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +3 -3
  565. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +3 -3
  566. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +1 -1
  567. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +1 -1
  568. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +1 -1
  569. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +1 -1
  570. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +1 -1
  571. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +1 -1
  572. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +1 -1
  573. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +6 -6
  574. package/blueprints/security-auth-clerk/contributions/tacs/tac-1002-security-auth-clerk-authorisation-adapter.json +8 -3
  575. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +8 -8
  576. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +1 -1
  577. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +1 -1
  578. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +6 -6
  579. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +6 -6
  580. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +1 -1
  581. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +1 -1
  582. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +1 -1
  583. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +1 -1
  584. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +1 -1
  585. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +1 -1
  586. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +1 -1
  587. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +1 -1
  588. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +1 -1
  589. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +1 -1
  590. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +1 -1
  591. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +1 -1
  592. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +1 -1
  593. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +10 -10
  594. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -8
  595. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -8
  596. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +6 -6
  597. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +4 -4
  598. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +1 -1
  599. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +2 -2
  600. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +1 -1
  601. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +3 -3
  602. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +2 -2
  603. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +1 -1
  604. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +5 -5
  605. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +7 -7
  606. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +7 -7
  607. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +7 -7
  608. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +7 -7
  609. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +6 -6
  610. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +1 -1
  611. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +1 -1
  612. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +1 -1
  613. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +1 -1
  614. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +1 -1
  615. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +1 -1
  616. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +1 -1
  617. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +1 -1
  618. package/blueprints/security-auth-magic-link/contributions/tacs/tac-501-security-auth-magic-link-manager.json +6 -6
  619. package/blueprints/security-auth-magic-link/contributions/tacs/tac-502-security-auth-magic-link-session-manager.json +6 -6
  620. package/blueprints/security-auth-magic-link/contributions/tacs/tac-503-security-auth-magic-link-login-routes.json +10 -10
  621. package/blueprints/security-auth-magic-link/contributions/tacs/tac-504-security-auth-magic-link-email-delivery-adapter.json +2 -2
  622. package/blueprints/security-auth-magic-link/contributions/tacs/tac-505-security-auth-magic-link-principal-registry.json +2 -2
  623. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +2 -2
  624. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +1 -1
  625. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +1 -1
  626. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +1 -1
  627. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +1 -1
  628. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +1 -1
  629. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +1 -1
  630. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +1 -1
  631. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +1 -1
  632. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +1 -1
  633. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1101-security-auth-oauth2-flow-controller.json +24 -14
  634. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +4 -4
  635. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +10 -10
  636. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1104-security-auth-oauth2-provider-selector.json +8 -3
  637. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +1 -1
  638. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +1 -1
  639. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +5 -5
  640. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +1 -1
  641. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +1 -1
  642. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +1 -1
  643. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +1 -1
  644. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +1 -1
  645. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +1 -1
  646. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +1 -1
  647. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +1 -1
  648. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +1 -1
  649. package/blueprints/security-secrets-management/contributions/tacs/tac-901-security-secrets-management-manager-client.json +8 -8
  650. package/blueprints/security-secrets-management/contributions/tacs/tac-902-security-secrets-management-manifest.json +4 -4
  651. package/blueprints/security-secrets-management/contributions/tacs/tac-903-security-secrets-management-env-reflector.json +4 -4
  652. package/blueprints/security-secrets-management/contributions/tacs/tac-904-security-secrets-management-rotation-gate.json +8 -8
  653. package/blueprints/security-secrets-management/contributions/tacs/tac-905-security-secrets-management-agent-cli.json +4 -4
  654. package/fixtures/canary-manifest.json +9 -9
  655. package/guidance/define-draft-shapes.md +15 -10
  656. package/guidance/define-litmus.md +102 -0
  657. package/guidance/manifest.json +2 -1
  658. package/package.json +1 -1
  659. package/rcf/adrs/adr-4131-gates-bite-ack-recorded-override.json +30 -0
  660. package/rcf/adrs/adr-4137-standalone-theme-persistence.json +30 -0
  661. package/rcf/adrs/adr-4138-tree-wide-checks-before-scope-shortcircuit.json +35 -0
  662. package/rcf/code-nodes/cn-753.json +19 -0
  663. package/rcf/code-nodes/cn-754.json +17 -0
  664. package/rcf/code-nodes/cn-755.json +14 -0
  665. package/rcf/code-nodes/cn-756.json +15 -0
  666. package/rcf/code-nodes/cn-757.json +21 -0
  667. package/rcf/code-nodes/cn-758.json +16 -0
  668. package/rcf/code-nodes/cn-759.json +21 -0
  669. package/rcf/code-nodes/cn-760.json +19 -0
  670. package/rcf/code-nodes/cn-761.json +16 -0
  671. package/rcf/code-nodes/cn-762.json +18 -0
  672. package/rcf/code-nodes/cn-763.json +18 -0
  673. package/rcf/code-nodes/cn-764.json +15 -0
  674. package/rcf/code-nodes/cn-765.json +23 -0
  675. package/rcf/code-nodes/cn-766.json +17 -0
  676. package/rcf/code-nodes/cn-767.json +17 -0
  677. package/rcf/code-nodes/cn-768.json +19 -0
  678. package/rcf/code-nodes/cn-769.json +17 -0
  679. package/rcf/code-nodes/cn-770.json +18 -0
  680. package/rcf/code-nodes/cn-771.json +14 -0
  681. package/rcf/code-nodes/cn-772.json +14 -0
  682. package/rcf/code-nodes/cn-773.json +16 -0
  683. package/rcf/code-nodes/cn-774.json +20 -0
  684. package/rcf/code-nodes/cn-775.json +15 -0
  685. package/rcf/code-nodes/cn-776.json +17 -0
  686. package/rcf/code-nodes/cn-777.json +21 -0
  687. package/rcf/fbs/fbs-202.json +85 -9
  688. package/rcf/fbs/fbs-203.json +12 -4
  689. package/rcf/requirements/req-002.json +2 -2
  690. package/rcf/requirements/req-173.json +2 -2
  691. package/rcf/requirements/req-174.json +2 -2
  692. package/rcf/requirements/req-175.json +2 -2
  693. package/rcf/requirements/req-177.json +31 -0
  694. package/rcf/requirements/req-178.json +31 -0
  695. package/rcf/requirements/req-179.json +31 -0
  696. package/rcf/tacs/tac-001.json +7 -7
  697. package/rcf/tacs/tac-002.json +23 -23
  698. package/rcf/tacs/tac-003.json +5 -5
  699. package/rcf/tacs/tac-004.json +9 -9
  700. package/rcf/tacs/tac-005.json +7 -7
  701. package/rcf/tacs/tac-006.json +21 -21
  702. package/rcf/tacs/tac-007.json +7 -7
  703. package/rcf/tacs/tac-008.json +7 -7
  704. package/rcf/tacs/tac-4101-feedback-cli.json +5 -5
  705. package/rcf/tacs/tac-4102-feedback-store.json +9 -9
  706. package/rcf/tacs/tac-4103-feedback-redact.json +5 -5
  707. package/rcf/tacs/tac-4104-feedback-fingerprint.json +3 -3
  708. package/rcf/tacs/tac-4105-feedback-render.json +7 -7
  709. package/rcf/tacs/tac-4106-feedback-destination.json +5 -5
  710. package/rcf/tacs/tac-4107-feedback-gh.json +7 -7
  711. package/rcf/tacs/tac-4108-feedback-hook.json +7 -7
  712. package/rcf/tacs/tac-4121-define-ledgers.json +3 -2
  713. package/rcf/tacs/tac-4122-define-gates.json +36 -3
  714. package/rcf/tacs/tac-4123-define-readiness.json +29 -3
  715. package/rcf/tacs/tac-4125-build-bundle-refuse-override-skip.json +43 -0
  716. package/rcf/tacs/tac-4126-define-validate-findings.json +32 -0
  717. package/rcf/tacs/tac-4128-define-guidance.json +8 -2
  718. package/rcf/tacs/tac-4129-define-questions.json +3 -3
  719. package/rcf/tacs/tac-4134-wespa-host-fixture.json +9 -9
  720. package/rcf/test-suites/ts-007.json +1 -1
  721. package/rcf/test-suites/ts-215.json +64 -1
  722. package/rcf/test-suites/ts-216.json +18 -2
  723. package/rcf/test-suites/ts-219.json +10 -2
  724. package/rcf/test-suites/ts-220.json +18 -2
  725. package/rcf/test-suites/ts-222.json +4 -4
  726. package/rcf/test-suites/ts-225.json +10 -2
  727. package/rcf/test-suites/ts-228.json +4 -4
  728. package/rcf/test-suites/ts-229.json +49 -3
  729. package/rcf/test-suites/ts-230.json +100 -0
  730. package/rcf/test-suites/ts-231.json +119 -0
  731. package/rcf/test-suites/ts-232.json +109 -0
  732. package/rcf/test-suites/ts-233.json +61 -0
  733. package/rcf/test-suites/ts-234.json +53 -0
  734. package/rcf/test-suites/ts-235.json +53 -0
  735. package/rcf/test-suites/ts-236.json +44 -0
  736. package/rcf/user-stories/us-17302.json +36 -1
  737. package/rcf/user-stories/us-17401.json +11 -1
  738. package/rcf/user-stories/us-17402.json +6 -1
  739. package/rcf/user-stories/us-17403.json +11 -1
  740. package/rcf/user-stories/us-17404.json +66 -0
  741. package/rcf/user-stories/us-17405.json +66 -0
  742. package/rcf/user-stories/us-17406.json +51 -0
  743. package/rcf/user-stories/us-17503.json +2 -2
  744. package/rcf/user-stories/us-17504.json +46 -0
  745. package/rcf/user-stories/us-17702.json +51 -0
  746. package/rcf/user-stories/us-17802.json +40 -0
  747. package/rcf/user-stories/us-17902.json +46 -0
  748. package/rcf/user-stories/us-205.json +6 -1
  749. package/rcf/user-stories/us-206.json +25 -4
  750. package/rcf/user-stories/us-207.json +36 -0
  751. package/releases/releases.yaml +21 -1
  752. package/src/blueprint/consistency-lint.js +72 -3
  753. package/src/cli/build.js +206 -3
  754. package/src/cli/create.js +22 -2
  755. package/src/cli/freeze.js +68 -18
  756. package/src/cli/ledger.js +96 -4
  757. package/src/cli/readiness.js +151 -36
  758. package/src/cli/validate.js +8 -0
  759. package/src/core/errors/index.js +7 -1
  760. package/src/core/store/writer.js +181 -13
  761. package/src/define/concern-catalogue.js +130 -0
  762. package/src/define/freeze-record.js +74 -0
  763. package/src/define/ledgers.js +86 -7
  764. package/src/define/probe-runner.js +55 -0
  765. package/src/define/validate-findings.js +256 -0
  766. package/src/mcp/tools.js +1 -1
  767. package/src/query/gates.js +1235 -67
  768. package/src/query/index.js +6 -1
  769. package/src/query/readiness.js +179 -2
  770. package/src/query/refuse-on-admissibility.js +137 -4
  771. package/src/ruleset/ruleset.json +35 -0
  772. package/src/view/html-page.js +14 -2
  773. package/src/view/page-init.js +149 -8
  774. package/src/view/style.css +97 -18
  775. package/src/view/view-index.js +22 -0
@@ -17,6 +17,6 @@
17
17
  "updatedAt": "2026-08-30T00:00:00Z",
18
18
  "deliveredBy": {
19
19
  "tacId": "TAC-901-security-secrets-management-manager-client",
20
- "field": "responsibilities.boot"
20
+ "field": "responsibilities"
21
21
  }
22
22
  }
@@ -17,6 +17,6 @@
17
17
  "updatedAt": "2026-08-30T00:00:00Z",
18
18
  "deliveredBy": {
19
19
  "tacId": "TAC-904-security-secrets-management-rotation-gate",
20
- "field": "responsibilities.rotationDays"
20
+ "field": "responsibilities"
21
21
  }
22
22
  }
@@ -19,23 +19,23 @@
19
19
  "interfaces": [
20
20
  {
21
21
  "name": "vendorAdapter",
22
- "kind": "read-write-api",
23
- "description": "Project-supplied vendor binding implementing `readMany({ paths, credentials, environment })` returning `{ [name]: { value, lastRotatedAt } }` or an entry-level not-found marker, and `materialiseCredentials({ slicePaths, environment })` returning per-slice credentials the vendor deny-by-default enforces."
22
+ "kind": "other",
23
+ "description": "Project-supplied vendor binding implementing `readMany({ paths, credentials, environment })` returning `{ [name]: { value, lastRotatedAt } }` or an entry-level not-found marker, and `materialiseCredentials({ slicePaths, environment })` returning per-slice credentials the vendor deny-by-default enforces. (legacy kind: read-write-api)"
24
24
  },
25
25
  {
26
26
  "name": "manifest",
27
- "kind": "read-api",
28
- "description": "The manifest loader (TAC-902) resolving the current deployable's slice, per-environment paths, and `required` flags."
27
+ "kind": "other",
28
+ "description": "The manifest loader (TAC-902) resolving the current deployable's slice, per-environment paths, and `required` flags. (legacy kind: read-api)"
29
29
  },
30
30
  {
31
31
  "name": "auditSink",
32
- "kind": "callback",
33
- "description": "Structured-event sink invoked with `{ name, path, environment, principal, outcome, at }` on every fetch attempt; never invoked with the secret value."
32
+ "kind": "other",
33
+ "description": "Structured-event sink invoked with `{ name, path, environment, principal, outcome, at }` on every fetch attempt; never invoked with the secret value. (legacy kind: callback)"
34
34
  },
35
35
  {
36
36
  "name": "envSelector",
37
- "kind": "read-api",
38
- "description": "The boot-input resolver for the active environment: a process variable, a boot flag, or a project-authored selector. Returns exactly one environment string or refuses ambiguity."
37
+ "kind": "other",
38
+ "description": "The boot-input resolver for the active environment: a process variable, a boot flag, or a project-authored selector. Returns exactly one environment string or refuses ambiguity. (legacy kind: read-api)"
39
39
  }
40
40
  ],
41
41
  "dependencies": [
@@ -18,13 +18,13 @@
18
18
  "interfaces": [
19
19
  {
20
20
  "name": "fileSystem",
21
- "kind": "read-api",
22
- "description": "Project-supplied file reader accepting a repo-root-relative path and returning UTF-8 bytes; injected for test surface."
21
+ "kind": "other",
22
+ "description": "Project-supplied file reader accepting a repo-root-relative path and returning UTF-8 bytes; injected for test surface. (legacy kind: read-api)"
23
23
  },
24
24
  {
25
25
  "name": "yamlParser",
26
- "kind": "read-api",
27
- "description": "YAML parser accepting bytes and returning a plain object; injected so the project supplies its own dependency."
26
+ "kind": "other",
27
+ "description": "YAML parser accepting bytes and returning a plain object; injected so the project supplies its own dependency. (legacy kind: read-api)"
28
28
  }
29
29
  ],
30
30
  "dependencies": [],
@@ -17,13 +17,13 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "fileSystem",
20
- "kind": "read-write-api",
21
- "description": "Project-supplied file reader-writer supporting temp-file creation and atomic rename."
20
+ "kind": "other",
21
+ "description": "Project-supplied file reader-writer supporting temp-file creation and atomic rename. (legacy kind: read-write-api)"
22
22
  },
23
23
  {
24
24
  "name": "gitignoreCheck",
25
- "kind": "read-api",
26
- "description": "Project-supplied predicate answering whether a given path is gitignored (usually a shell-out to `git check-ignore`)."
25
+ "kind": "other",
26
+ "description": "Project-supplied predicate answering whether a given path is gitignored (usually a shell-out to `git check-ignore`). (legacy kind: read-api)"
27
27
  }
28
28
  ],
29
29
  "dependencies": [
@@ -18,23 +18,23 @@
18
18
  "interfaces": [
19
19
  {
20
20
  "name": "vendorAdapter",
21
- "kind": "read-api",
22
- "description": "The same vendor binding the Secrets Manager client uses (TAC-901), scoped to a rotation-metadata read (no value fetch is required for the gate's own operation)."
21
+ "kind": "other",
22
+ "description": "The same vendor binding the Secrets Manager client uses (TAC-901), scoped to a rotation-metadata read (no value fetch is required for the gate's own operation). (legacy kind: read-api)"
23
23
  },
24
24
  {
25
25
  "name": "overrideStore",
26
- "kind": "read-api",
27
- "description": "Reads the operator-authored override file (project-authored path; a JSON or YAML file listing per-name `{ author, expiresAt, reason }` entries)."
26
+ "kind": "other",
27
+ "description": "Reads the operator-authored override file (project-authored path; a JSON or YAML file listing per-name `{ author, expiresAt, reason }` entries). (legacy kind: read-api)"
28
28
  },
29
29
  {
30
30
  "name": "clock",
31
- "kind": "clock",
32
- "description": "Injectable millisecond wall clock for the elapsed-days arithmetic."
31
+ "kind": "other",
32
+ "description": "Injectable millisecond wall clock for the elapsed-days arithmetic. (legacy kind: clock)"
33
33
  },
34
34
  {
35
35
  "name": "auditSink",
36
- "kind": "callback",
37
- "description": "The same sink shape TAC-901 uses; the gate emits override-applied and rotation-expired events through it."
36
+ "kind": "other",
37
+ "description": "The same sink shape TAC-901 uses; the gate emits override-applied and rotation-expired events through it. (legacy kind: callback)"
38
38
  }
39
39
  ],
40
40
  "dependencies": [
@@ -18,13 +18,13 @@
18
18
  "interfaces": [
19
19
  {
20
20
  "name": "process",
21
- "kind": "read-api",
22
- "description": "The host process's argv, stdin, stdout, stderr, and env; the CLI reads argv and stdin, writes to stdout and stderr, and reads a small allow-listed env slice (audit principal id, active environment)."
21
+ "kind": "other",
22
+ "description": "The host process's argv, stdin, stdout, stderr, and env; the CLI reads argv and stdin, writes to stdout and stderr, and reads a small allow-listed env slice (audit principal id, active environment). (legacy kind: read-api)"
23
23
  },
24
24
  {
25
25
  "name": "logSink",
26
- "kind": "callback",
27
- "description": "The CLI's own log destination (stderr by default; a file when `--log-file` is set); every write passes through the redactor."
26
+ "kind": "other",
27
+ "description": "The CLI's own log destination (stderr by default; a file when `--log-file` is set); every write passes through the redactor. (legacy kind: callback)"
28
28
  }
29
29
  ],
30
30
  "dependencies": [
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "registerCanary": [
3
3
  {
4
- "id": "rc-2026-10-03-001",
5
- "createdAt": "2026-10-03T12:16:10.630Z",
6
- "buildVersion": "0.29.0-mockdriver",
4
+ "id": "rc-2026-10-05-001",
5
+ "createdAt": "2026-10-05T15:28:27.972Z",
6
+ "buildVersion": "0.31.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-10-03-002",
38
- "createdAt": "2026-10-03T12:16:10.631Z",
39
- "buildVersion": "0.29.0-mockdriver",
37
+ "id": "rc-2026-10-05-002",
38
+ "createdAt": "2026-10-05T15:28:27.972Z",
39
+ "buildVersion": "0.31.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-10-03-003",
71
- "createdAt": "2026-10-03T12:16:10.631Z",
72
- "buildVersion": "0.29.0-mockdriver",
70
+ "id": "rc-2026-10-05-003",
71
+ "createdAt": "2026-10-05T15:28:27.972Z",
72
+ "buildVersion": "0.31.0-mockdriver",
73
73
  "fixturePromptId": "canary-prompt-03",
74
74
  "responseWordCount": 55,
75
75
  "grades": {
@@ -2,19 +2,24 @@
2
2
 
3
3
  This document is the content of the `rcf_define_draft_shapes` MCP
4
4
  prompt served argument-free by the server. The agent reads it once
5
- per session and runs the draft pass after L1 is green. The product
6
- owner is not in the room; the agent populates `[draft]`-marked
7
- entities, components and interfaces so the engineer walks into a tree
8
- whose shape is honest about what is still owed.
5
+ per session and runs the draft pass alongside the PO loop. The
6
+ product owner may or may not be in the room; the agent populates
7
+ `[draft]`-marked entities, components and interfaces so the engineer
8
+ walks into a tree whose shape is honest about what is still owed.
9
9
 
10
10
  ## When to run
11
11
 
12
- Run this pass once `rcf define readiness --level intent` prints
13
- `levels.intentComplete.ok === true` and the product owner has stepped
14
- back. Not before. The draft pass reads only the brief ledger, the
15
- decisions ledger and the current tree; it writes only `[draft]`-marked
16
- content. `shapes:draftSettled` then lists exactly what the engineer
17
- has yet to own.
12
+ Run this pass in parallel with the product-owner intent loop and
13
+ reconcile when Intent completes (ruling R3 2026-10-05 under
14
+ w-2026-10-05-dave-001). Nothing in the draft pass changes the PO
15
+ question set, so drafting shapes while the owner answers questions
16
+ cannot destabilise the loop or create a question that was not there.
17
+ The draft pass reads only the brief ledger, the decisions ledger and
18
+ the current tree; it writes only `[draft]`-marked content.
19
+ `shapes:draftSettled` then lists exactly what the engineer has yet to
20
+ own. When Intent completes (`rcf define readiness --level intent`
21
+ prints `levels.intentComplete.ok === true`), the drafts are already
22
+ in place and the engineer walks into them.
18
23
 
19
24
  Nothing in the draft pass can fail a product-owner check. That is the
20
25
  property that keeps L1 and the draft pass independent. If an edit
@@ -0,0 +1,102 @@
1
+ # Litmus: landing n fresh-context readings at the current hash
2
+
3
+ This document is the content of the `rcf_define_litmus` MCP prompt
4
+ served argument-free by the server. The agent reads it once per
5
+ session and runs the litmus pass when the operator or the readiness
6
+ verb asks for it.
7
+
8
+ ## What a litmus reading is
9
+
10
+ A litmus reading is a probe-ledger entry whose `finding` field begins
11
+ `litmus:<reader>:` and whose text includes the current litmus hash.
12
+ It is written by `rcf define ledger probes add` just like any other
13
+ probe-ledger entry; the `litmus:` prefix is what the verb reads back
14
+ when it counts "distinct readers at this hash".
15
+
16
+ The litmus hash is the current tree hash computed with the probes
17
+ ledger excluded (ADR-4131 extended, 0.30.0 PR 7 R9). The probes
18
+ ledger is inside `tree.currentTreeHash` by ADR-4120, so a reader
19
+ writing an entry that references `currentTreeHash` would shift the
20
+ hash the reader just attested to. The litmus hash is the content-
21
+ stable version: writing to the probes ledger does not change it, so n
22
+ readers can land their entries at the same hash. Writes to the brief,
23
+ decisions or concerns ledgers do change the litmus hash the same way
24
+ they change `currentTreeHash`; those changes mean the content under
25
+ review has changed and stale litmus readings fall out of the count.
26
+ This trade-off is intentional: litmus readings do not attest to
27
+ probe findings written after them, because probe entries are
28
+ themselves readings.
29
+
30
+ The number of distinct readers is counted across the probe ledger; a
31
+ reader id appears at most once in the count regardless of how many
32
+ `litmus:<reader>:*` entries it has written.
33
+
34
+ ## When to run
35
+
36
+ Run this prompt whenever a verb reports the shortfall:
37
+
38
+ - `rcf define readiness --litmus <n>` exits 4 and prints a `[warn]`
39
+ line naming the current hash and the number of distinct readers
40
+ found. The shortfall is the number of fresh-context readers you
41
+ still owe before the verb will exit 0.
42
+ - `rcf define freeze --litmus <n>` refuses (exit 4) with the same
43
+ reason and writes nothing. The freeze is only legal when n distinct
44
+ readers have attested at the hash the verb was asked to freeze.
45
+
46
+ The harness is the runner. rcf-lite does not spawn processes and does
47
+ not make network calls at runtime. You spawn the readers; they land
48
+ the entries.
49
+
50
+ ## The shape
51
+
52
+ Each reading is one `rcf define ledger probes add` call:
53
+
54
+ ```
55
+ rcf define ledger probes add \
56
+ --req <reqId> \
57
+ --finding "litmus:<reader>: <one-line observation at hash <hash>>" \
58
+ --severity low
59
+ ```
60
+
61
+ Fill in:
62
+
63
+ - `<reader>` is a short id for this reader. Make it unique per fresh
64
+ context (for example `reader-01`, `reader-02`). The verb counts
65
+ distinct readers by this id.
66
+ - `<reqId>` is the REQ the reader is probing. On a readiness pass this
67
+ is typically the first failing REQ or a REQ the operator named; on a
68
+ freeze the ids come from the brief.
69
+ - `<hash>` is the current litmus hash. Read it from
70
+ `rcf define readiness --json` under `tree.litmusHash` (or from the
71
+ `[warn]` line the verb printed; the warn line names the litmus hash
72
+ explicitly).
73
+
74
+ A reading is "at the hash" when the `hash` substring appears anywhere
75
+ in the finding text, not in a separate field. Keep the hash in the
76
+ finding text so the entry is self-describing.
77
+
78
+ ## The loop
79
+
80
+ 1. Read `tree.litmusHash` from `rcf define readiness --json`.
81
+ 2. Spawn n fresh-context readers (one claude session per reader is
82
+ enough; a reader must not share context with another).
83
+ 3. Each reader lands one `litmus:<reader>:` probe-ledger entry at the
84
+ litmus hash. The entry's finding text includes the litmus hash and
85
+ one observation; the reader does not edit the tree.
86
+ 4. Re-run the verb that asked for `--litmus <n>`. The count is now
87
+ n and the verb exits 0 (readiness) or writes the freeze record
88
+ (freeze).
89
+
90
+ Writes to the probes ledger (adding litmus readings is itself one)
91
+ do not shift the litmus hash, so n readers landing their entries in
92
+ sequence all pin to the same hash and all count. A write to the
93
+ brief, decisions or concerns ledgers (changing the content under
94
+ review) does shift the litmus hash and makes earlier readings stale.
95
+ Hand the readers a hash that will still be current when the last
96
+ reading lands; a short freeze-prep window is the common case.
97
+
98
+ ## When n distinct readers have attested
99
+
100
+ The verb exits 0. Nothing else is said; the readings stay in the probe
101
+ ledger. A later tree change makes them stale and the next invocation
102
+ of the verb will require fresh readings at the new hash.
@@ -16,7 +16,8 @@
16
16
  {"name": "rcf_define_intent", "file": "define-intent.md", "description": "Drive the product-owner intent-complete loop with rcf_define_questions, write-backs through existing verbs, and the readiness verdict. Argument-free; starts with --persona productOwner and ends at levels.intentComplete.ok."},
17
17
  {"name": "rcf_define_intake", "file": "define-intake.md", "description": "Walk a document folder brief-first, write one statement file per source with [kind] and (source: ...) markers, run brief add --from once per source, and report the scan findings as open questions. Argument-free."},
18
18
  {"name": "rcf_define_draft_shapes", "file": "define-draft-shapes.md", "description": "Run the draft pass after L1 is green: pre-populate [draft] core entities per entity statement, [draft] TAC stubs per surface or externalSystem cluster, [draft] interfaces with real kinds inside each stub, and rcf discover req-classify over every REQ created in the loop. Argument-free."},
19
- {"name": "rcf_discover_prototype", "file": "discover-prototype.md", "description": "Record a prototype in DISCOVERY as evidence: classification, brief statements with prototype:<name>:<observation> source spans, the burn statement, and the salvage-by-re-derivation path. Argument-free."}
19
+ {"name": "rcf_discover_prototype", "file": "discover-prototype.md", "description": "Record a prototype in DISCOVERY as evidence: classification, brief statements with prototype:<name>:<observation> source spans, the burn statement, and the salvage-by-re-derivation path. Argument-free."},
20
+ {"name": "rcf_define_litmus", "file": "define-litmus.md", "description": "Spawn n fresh-context readers at the current tree hash and land their readings as probe-ledger entries whose finding begins litmus:<reader>:. Required by rcf define readiness --litmus and rcf define freeze --litmus. Argument-free."}
20
21
  ],
21
22
  "platformInvariants": [
22
23
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rcf-lite",
3
- "version": "0.29.0",
3
+ "version": "0.31.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,30 @@
1
+ {
2
+ "createdAt": "2026-10-03T10:50:00Z",
3
+ "updatedAt": "2026-10-05T12:00:00Z",
4
+ "adrId": "ADR-4131-gates-bite-ack-recorded-override",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "accepted",
9
+ "title": "The gates bite with --ack as the recorded override for D3, D5, D6",
10
+ "context": "DEFINE step 3 train (spec 2026-10-01) brings the substantive checks of proposal 3.2 into D3, D5 and D6 across PRs 5, 6 and 7. The 0.29.0 posture left those stages warn-with-ack: --check exits 0 with a stderr [warn] line, --ack as the recorded override. The spec section 4 gates-bite intro and decision 9 both pin the biting posture: --check exits 4 on D3, D5 and D6 as it does on blocking stages; --ack stays as the recorded override for those three because the ruleset's recordedInChain channel needs it (decision 8's pattern applied to gates, not retired with the verb). The compute remains pure; readiness.js collects candidate paths and the CLI resolves them on disk so the gate functions see a resolvedPaths map in the stage context. PR 5 lands the three D3 bite checks (shapes:templateMarkers, shapes:entityJoin, shapes:pathsResolve), the ackable(stage) companion to stagePolicy, and the --check shapes exit 4 policy; PRs 6 and 7 bite D5 and D6 on the same shape.",
11
+ "decision": "The gates bite with --ack as the recorded override for D3, D5 and D6. stagePolicy returns warnWithAck for D3, D5 and D6 and blocking for D1, D2, D4, D7 and D8 (ruling R4 2026-10-05: the honest label for an ackable stage is warnWithAck, and the viewer pill vocabulary and the CLI text report both key off that; the pre-R4 wording that said stagePolicy returned blocking for every stage with a separate ackable() is retired because it was never true in code, and ackable(stage) stays only as the sibling helper that the CLI --check and freeze verbs read to decide whether a failing stage honours an acknowledgement at the current hash). The readiness CLI --check <stage> policy follows that split: on a blocking stage, a failing state exits 4 (today's behaviour); on a warnWithAck stage, a failing state exits 4 unless the freeze record acknowledges that gate at the current tree hash, in which case it exits 0. --ack on any blocking stage stays a usage refusal with exit 2 (D1, D2, D4, D7, D8). The three D3 bite checks ship as pure engineer checks on src/query/gates.js: shapes:templateMarkers over delta (per-kind marker presence on interfaces[].description, ids <tacId>:<name>, why names the missing marker, drafts included), shapes:entityJoin over tree (every coreEntities[].name named by exactly one recordShape, ids TAD.entity:<name>; ruling R5 2026-10-05: the check evaluates before any scope early-return, via the shared helper ADR-4138 lands), shapes:pathsResolve over delta (any path:-like token resolves on disk against the resolvedPaths map in the stage context or the description carries authoredAt: D3; ruling R6 2026-10-05: the token scanner also honours a short whitelist of known bare repo names -- Dockerfile, Makefile, LICENSE, Procfile, Containerfile, Justfile, Rakefile, Gemfile, CODEOWNERS -- so the slash-or-extension rule stops silently skipping them). Validate findings only where a legacy tree can comply; the dogfood tree records any residual failure in KNOWN GAPS rather than weakening the check.",
12
+ "consequences": "A failing D3 bite now blocks CI unless the engineer either fixes the tree or writes a recorded override with --ack --reason at the current hash; the record stays visible in the freeze record (the chain of recordedInChain the ruleset reads). stagePolicy returns warnWithAck for D3/D5/D6 and blocking for D1/D2/D4/D7/D8 (ruling R4): the viewer pill vocabulary reads that directly, and the CLI --check text output names the policy label alongside the stage state. The readyToBuild fold stays unchanged because the fold reads the stage state (passed | failing | acknowledged | notApplicable), not the stage policy. The gate functions stay pure: the CLI is the module that resolves candidate paths on disk and the stage context carries the resolved map. The D3 bite surfaces three new engineer checks on the readiness tab and the text report; nothing on the productOwner side moves. --level intent and --level build exits are unchanged because the levels fold is already a derived view. Ruling R5 (shapes:entityJoin unconditional) and ruling R7 (skeleton:standardsCited tree-wide regardless of D2 scope) land through ADR-4138's shared helper, so a narrowed D2 or D3 scope that excludes every item in the local scope still reports the tree-wide finding instead of returning notApplicable. The dogfood tree keeps CI green by scoping its own readiness call as it already does; the three new checks pass on the dogfood chain because the shipped TACs name their markers truthfully.",
13
+ "alternativesConsidered": [
14
+ {
15
+ "name": "Retire --ack (make D3, D5, D6 plain blocking)",
16
+ "summary": "Drop the --ack verb everywhere and let a failing D3, D5 or D6 simply block CI with no override.",
17
+ "reasonNotChosen": "The ruleset's recordedInChain channel exists so a refuse at a hash can be acknowledged with a reason that becomes part of the chain. The gates bite is decision 8's pattern applied to gates (refuse with a recorded override), and retiring --ack removes the channel the ruleset depends on. The spec decision 9 pins this; this ADR records it in-chain."
18
+ },
19
+ {
20
+ "name": "Keep warn-with-ack: --check exits 0 with a [warn] on D3, D5, D6",
21
+ "summary": "Leave the 0.29.0 posture in place; let the bite only surface in validate and the viewer.",
22
+ "reasonNotChosen": "The whole point of the DEFINE step 3 train is to make D3, D5 and D6 bite: the substantive checks of proposal 3.2 land here, and CI must refuse on them for the engineer to feel the gate. Warn-with-ack kept them a soft signal; the spec moves them to blocking with --ack as the recorded override."
23
+ },
24
+ {
25
+ "name": "Make the gate functions impure and resolve paths inline",
26
+ "summary": "Let shapes:pathsResolve open the filesystem directly so the gate module decides path existence on its own.",
27
+ "reasonNotChosen": "gates.js is the one pure module every surface composes; folding I/O into it would re-couple the viewer and the CLI through disk access. The CLI already owns the project-root resolve for the walker and the ledgers; adding one more resolve step for candidate paths is a one-pass walk, and the stage context grows by one map. The viewer uses the same seam when it renders the Readiness tab server-side."
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "createdAt": "2026-10-04T14:00:00Z",
3
+ "updatedAt": "2026-10-05T12:30:00Z",
4
+ "adrId": "ADR-4137-standalone-theme-persistence",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "accepted",
9
+ "title": "The in-viewer theme control persists its setting under `rcf-view:v1:theme` in standalone mode only; under `embed=1` the control is absent and the key is never read or written",
10
+ "context": "The viewer UI refresh design (`2026-10-02_viewer-ui-refresh-design.md`) section 9 and section 11 recommendation 6 called for a three-state Light|Dark|Auto theme control hidden under `embed=1` that stores nothing. PR 1 (0.29.0) shipped the `?theme=` query param and the `rcf-view-theme` postMessage listener but omitted the visible control. Baz's 2026-10-04 review (`w-2026-10-04-dave-001`) found three gaps: (a) no visible control in the standalone viewer, (b) the FIND SearchButton hover and focus states are unreadable in dark, (c) no systematic WCAG AA pass across the stylesheet. On (a) the design decision 'storing nothing' was written for the embedded case: the viewer shares `localStorage` with the wespa SPA under `rcf-view:v1:`, so any key the viewer writes there is a key wespa sees too. In the standalone case there is no shared SPA; a theme control that resets to the system default on every reload is a worse product than the design intended.",
11
+ "decision": "In non-embed mode the three-state theme control writes the user's choice to `localStorage['rcf-view:v1:theme']` (one of `light`, `dark`, `auto`) and reads it back on boot. Under `embed=1` the control is absent from the DOM entirely (not merely hidden by CSS) and the key is never read or written on load, on a `rcf-view-theme` postMessage, or on any user action inside the viewer. Boot precedence: an explicit `?theme=` query parameter wins first; then (in non-embed mode only) the stored `rcf-view:v1:theme` value, provided it is one of `light`/`dark`/`auto`; then the default (`auto`, which maps to the `prefers-color-scheme` media query via `:root:not([data-theme])`). A live `rcf-view-theme` postMessage still applies in both modes and never writes to the key. The key sits under the shared `rcf-view:v1:` namespace so the PR 9 localStorage namespace lint stays green.",
12
+ "consequences": "Standalone viewer users (the Readiness / Build / Review audience Baz is coaching Remi through) get a theme control that remembers their choice between reloads, matching every other dev-facing viewer. Wespa (and any other embedder) see no behavioural change: `embed=1` is still a pure-render contract, the viewer still writes nothing on their behalf and reads nothing of theirs. The one deviation from the design doc's 'storing nothing' line is named here and in the CHANGELOG so a future reader can trace it. The embed check is at the storage boundary, not at the render boundary alone, so a future refactor cannot accidentally start writing the key under embed by re-rendering the control: the control's event handler reads `document.documentElement.getAttribute('data-embed') === '1'` and refuses the write in that branch. The PR 9 lint continues to protect the shared namespace. Known transient under embed: the production server renders one page for every client and does not see the request query, so the theme control is briefly painted under `embed=1` until `page-init.js` strips it on boot; the follow-up is for the server to pass `embed` from the request query into `renderPage` so the markup is never emitted (not implemented here). The boot theme is resolved and applied once; a `rcfPage.init()` re-run after an SSE swap never overrides a host postMessage or a control choice (PR 291 landing review F1). Verification: test/view/theme-control.test.js (TC-229-theme-control-renders-non-embed, TC-229-theme-control-persists, TC-229-theme-control-absent-embed, TC-229-theme-control-query-wins, and the F1 regressions TC-229-reinit-keeps-host-theme and TC-229-reinit-keeps-control-choice).",
13
+ "alternativesConsidered": [
14
+ {
15
+ "name": "Never persist anywhere (literal design doc reading)",
16
+ "summary": "Keep the theme control stateless in both modes: every reload resets to the default (`auto`), the control only remembers the current session.",
17
+ "reasonNotChosen": "A worse product in standalone mode and the only reason to refuse the write (shared localStorage with wespa) does not exist outside the embedded case. The design doc's 'storing nothing' line was written against the embed hazard; in standalone there is nothing to share with."
18
+ },
19
+ {
20
+ "name": "Persist in both modes",
21
+ "summary": "Write `rcf-view:v1:theme` under `embed=1` too; the shared-localStorage hazard is accepted and wespa can inspect the key if it wants.",
22
+ "reasonNotChosen": "Breaks Dex's wespa contract: wespa pins the embed-mode behaviour by exact version, and a new key under the shared namespace is a surface change that needs a release-note bump and a wespa-side change. The storage boundary is cheap to guard and keeps the embedded case byte-identical to pre-amendment."
23
+ },
24
+ {
25
+ "name": "Persist under a non-shared key",
26
+ "summary": "Write the theme to `sessionStorage` or a key outside the `rcf-view:v1:` namespace in standalone mode.",
27
+ "reasonNotChosen": "`sessionStorage` does not survive a browser restart (the standalone user still re-picks on every new window), and a key outside `rcf-view:v1:` would break the PR 9 localStorage namespace lint. The embed-boundary branch above is the smaller change that keeps both constraints green."
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "createdAt": "2026-10-05T12:00:00Z",
3
+ "updatedAt": "2026-10-05T19:00:00Z",
4
+ "adrId": "ADR-4138-tree-wide-checks-before-scope-shortcircuit",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.2",
8
+ "status": "accepted",
9
+ "title": "Tree-wide checks evaluate before any scope short-circuit",
10
+ "context": "DEFINE step 3 rulings R2 (draftSettled tree-wide), R5 (entityJoin unconditional) and R7 (standardsCited tree-wide) landed on the same shape: a stage whose scope narrows to nothing (D3 with no TAC and no shaped REQ, D2 with no resolving brief statement and no REQ/PRD/TAD) returns a `notApplicable` envelope before any check runs, which silently hides tree-wide findings. The hidden findings are real: a drafted TAD core entity is unjoined to any recordShape (R5), a registered standards pack is uncited (R7), or a `[draft]` marker sits on a TAC outside the narrowed scope (R2) even when the delta touched nothing in the stage's local scope. The pattern is the ruling, not the three instances: the review of rcf-lite PR 292 (d-2026-10-05-012, ruling R13 confirmed by Baz 2026-10-05) found three further tree-wide checks still hidden by the same short-circuit shape -- D5 `crosscut:securityArchitecture`, D5 `crosscut:operationalConcerns` and D2 `skeleton:deployAdr` -- all of which read tree-wide inputs (`tree.requirements`, `tree.userStories`, `tree.adrs`) and all of which disappear when the stage's own `reqInScope` / resolving-statement set is empty. D4 (`stories:closedSets`, `stories:ownerRefResolves` under their own `notApplicable` arm) and D6 (every check is tree-wide anyway, and the probe-ledger scan sits outside the scope early-return already) are unchanged. The fix is one shared helper the gates module applies at every stage with a tree-wide check.",
11
+ "decision": "A stage with a tree-wide check evaluates those checks before any scope-driven `notApplicable` early-return. `src/query/gates.js` has one shared module-internal helper `treeWideFailureEnvelope(stage, gate, treeWideChecks, freezeCtx)` that takes the already-computed per-check results as `[{ name, check }]` entries and returns either `null` (every tree-wide check ok -- the stage proceeds to its own scope early-return or full checks list) or the envelope `foldState(stage, gate, checks, freezeCtx)` returns over a `checks[]` carrying the `stage:<D>:scope` placeholder plus every tree-wide check: `{ stage, gate, state: 'failing' | 'acknowledged', checks }` with no `reason` field. The helper delegates the fold to `foldState` on every stage, so a single implementation owns the acknowledgement rule and the two cannot drift: a warn-with-ack stage (D3, D5, D6) acknowledged at the current tree hash folds to `acknowledged`, and a blocking stage (D2) always folds to `failing`. The stage function computes each tree-wide check once (so the viewer and the text report render the same check object), calls the helper first when the local scope is empty, and otherwise runs its full checks list with the tree-wide check(s) interleaved in the same slot in `checks[]`. The helper governs every tree-wide check: `shapes:draftSettled` (R2), `shapes:entityJoin` (R5), `skeleton:standardsCited` (R7), and the three R13 checks `crosscut:securityArchitecture` (D5), `crosscut:operationalConcerns` (D5), `skeleton:deployAdr` (D2). It does NOT govern delta-only checks: `shapes:templateMarkers`, `shapes:pathsResolve`, `stories:closedSets`, `stories:ownerRefResolves` and the D4 floors keep running against the stage scope and continue to short-circuit on an empty scope. R2 2026-10-05 flipped `shapes:draftSettled`'s `over` label from `delta` to `tree` to match the ruling; the other six tree-wide checks already carried `over: tree`. The CHECK_PERSONA and CHECK_QUESTION fields stay fixed to their spec section 4 values.",
12
+ "consequences": "A narrowed D2 scope that excludes every REQ/PRD/TAD/brief statement still reports an uncited standards pack through `skeleton:standardsCited` and a missing (or doubled) Deploy ADR through `skeleton:deployAdr`. A narrowed D3 scope that excludes every TAC and shaped REQ still reports a `[draft]` anywhere in the tree through `shapes:draftSettled` and an unjoined entity through `shapes:entityJoin`. A narrowed D5 scope that excludes every REQ still reports an empty `TAD.securityArchitecture` while an auth or httpApi REQ exists through `crosscut:securityArchitecture`, and an empty `TAD.operationalConcerns` while a deployed-scope AC exists through `crosscut:operationalConcerns`. The readiness compute stays pure (the helper is a function of the context, same shape as the stage functions). The `notApplicable` fold the viewer and CLI pills already read is unchanged in effect when nothing tree-wide fails. A failing envelope the helper returns carries no `reason`: the fold already lists the failing check names and the pre-R13 `reason` text (copied from the stage's `notApplicable` message) was misleading in the printed `readiness` line ('failing (no TAC ... in scope)'). The `over: tree` label flipped on `shapes:draftSettled` (R2); every other tree-wide check already carried it. Tests pin the ordering per newly governed check: a scope that excludes every item in the stage's local scope AND a tree-wide failure returns a `failing` envelope, not a `notApplicable` one.",
13
+ "alternativesConsidered": [
14
+ {
15
+ "name": "Keep the scope early-return and route tree-wide findings through D8 only",
16
+ "summary": "Let narrowed D2/D3/D5 scopes return `notApplicable` and surface the tree-wide failures only when D8 runs validate clean.",
17
+ "reasonNotChosen": "D8 is the freeze gate; a narrowed scope at D2/D3/D5 is used to triage work in flight, not to freeze. Making the engineer wait until the freeze pass to see an unjoined entity, an uncited standards pack, an empty securityArchitecture or a missing Deploy ADR hides the finding during the loop that should surface it. Spec section 4 names every tree-wide check with `over: tree`; the pre-R2/R5/R7/R13 ordering contradicted that."
18
+ },
19
+ {
20
+ "name": "Lift every tree-wide check to a new top-level pass before the stage dispatch",
21
+ "summary": "Add a `runTreeWideChecks(ctx)` compute at the readiness level that runs before every stage function and prepends its findings to the first failing stage.",
22
+ "reasonNotChosen": "Changes the readiness result shape and the viewer / CLI consumers that key off the per-stage `checks[]` array. The shared helper keeps every tree-wide check in its canonical stage so `stages[D2].checks[].name === 'skeleton:standardsCited'` still holds."
23
+ },
24
+ {
25
+ "name": "Duplicate the tree-wide check into D8",
26
+ "summary": "Mirror `shapes:entityJoin` and `skeleton:standardsCited` into D8's checks so a narrowed D2/D3 scope's miss still gets caught at freeze.",
27
+ "reasonNotChosen": "A failing D2 at freeze fails the freeze gate anyway (D8 `freeze:priorGates`). The duplication adds a second ownership for the same check and the viewer would need to pick which name wins. The helper preserves one owning stage per tree-wide check."
28
+ },
29
+ {
30
+ "name": "Limit the helper to the three checks R2/R5/R7 named and leave securityArchitecture / operationalConcerns / deployAdr behind the scope",
31
+ "summary": "Govern only the three checks the DEFINE step 3 spec section 18 named at R2/R5/R7 ship time and leave the three further checks the PR 292 review surfaced where they were.",
32
+ "reasonNotChosen": "The principle, not the inventory, is the ruling. Baz 2026-10-05 ratified every open ruling as recommended and confirmed R13 on the same cycle. Keeping half the tree-wide checks hidden by the scope would ship a half-fix; a narrowed D5 scope that excludes an auth REQ would still miss an empty securityArchitecture even though the whole stage computes it from the whole tree."
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "cnId": "CN-753",
3
+ "path": "src/query/gates.js",
4
+ "title": "DEFINE step 3 PR 5: D3 bite checks, parseInterfaceTemplate and ackable on the gates module",
5
+ "description": "src/query/gates.js grows the three D3 bite checks (shapes:templateMarkers over delta with per-kind marker presence on interfaces[].description; shapes:entityJoin over tree asserting every coreEntities[].name is named by exactly one recordShape with ids TAD.entity:<name>; shapes:pathsResolve over delta asserting any path:-like token resolves against the resolvedPaths map in the stage context or carries authoredAt: D3), the parseInterfaceTemplate(iface) helper that computes per-kind marker presence (exported for validate's step 6 notice), and the ackable(stage) helper that returns true for D3, D5 and D6. The CHECK_PERSONA, CHECK_QUESTION and STAGE_FALLBACK_PERSONA maps grow in step so every new check carries a persona and a question. Drafts are included in templateMarkers. The gate functions stay pure: readiness.js threads the resolvedPaths map through the stage context; the CLI resolves candidate paths on disk.",
6
+ "implementsAcIds": [
7
+ "AC-17404-1",
8
+ "AC-17404-2",
9
+ "AC-17404-3",
10
+ "AC-17404-4"
11
+ ],
12
+ "dependencies": [
13
+ "CN-725"
14
+ ],
15
+ "version": "0.1.0",
16
+ "status": "draft",
17
+ "createdAt": "2026-10-03T10:50:00Z",
18
+ "updatedAt": "2026-10-03T10:50:00Z"
19
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "cnId": "CN-754",
3
+ "path": "src/cli/readiness.js",
4
+ "title": "DEFINE step 3 PR 5: --check shapes exit 4 policy and resolvedPaths resolve-on-disk",
5
+ "description": "src/cli/readiness.js grows a bite-aware --check policy: --check shapes exits 4 on an unacknowledged D3 failure and 0 when the freeze record acknowledges define.shapes at the current tree hash; the warn-with-ack branch is kept for D5 and D6 until PRs 6 and 7 bite them. Before invoking computeReadiness the CLI collects candidate path tokens from in-scope TAC interface descriptions and passes a resolvedPaths map (local resolve on disk) through the stage context so the pure gate function shapes:pathsResolve can decide path existence without I/O. The decideExitCode helper reads ackable(stage) and the freeze.gates[<gate>] record to pick between 0 (warn-with-ack unacked or acked bite) and 4 (bite unacked at the current hash).",
6
+ "implementsAcIds": [
7
+ "AC-17404-5"
8
+ ],
9
+ "dependencies": [
10
+ "CN-727",
11
+ "CN-753"
12
+ ],
13
+ "version": "0.1.0",
14
+ "status": "draft",
15
+ "createdAt": "2026-10-03T10:50:00Z",
16
+ "updatedAt": "2026-10-03T10:50:00Z"
17
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "cnId": "CN-755",
3
+ "path": "src/cli/freeze.js",
4
+ "title": "DEFINE step 3 PR 5: freeze --ack on D1, D2, D4, D7 or D8 keeps exiting 2",
5
+ "description": "src/cli/freeze.js already refuses --ack on any gate outside D3, D5 and D6 with exit 2 and the usage line ADR-4124 pins. PR 5 confirms the invariant with AC-17404-6: ackable(stage) in gates.js is the single source of truth for the three ackable gates (freeze reads ACKABLE_GATES = STAGE_GATES.D3 | D5 | D6, which lines up with ackable()). No code change in this PR; this CN anchors the AC against the file that enforces the invariant so a future refactor cannot drop the exit-2 behaviour without flagging the AC.",
6
+ "implementsAcIds": [
7
+ "AC-17404-6"
8
+ ],
9
+ "dependencies": [],
10
+ "version": "0.1.0",
11
+ "status": "draft",
12
+ "createdAt": "2026-10-03T10:50:00Z",
13
+ "updatedAt": "2026-10-03T10:50:00Z"
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "cnId": "CN-756",
3
+ "path": "src/define/concern-catalogue.js",
4
+ "title": "DEFINE step 3 PR 6: the eight-concern applicability map keyed by REQ shape",
5
+ "description": "src/define/concern-catalogue.js lands as a new pure module beside ledgers.js. Exports CONCERN_KEYS (the eight concern names in canonical order), CONCERN_APPLICABILITY (the map { concern -> [req-shapes] } that spec section 4 row 'D5 catalogue' pins), and applicableConcernsFor(reqShape) which returns the concern keys that apply to a REQ shape. No I/O, no state. Keys shared with the baseline catalogue where names coincide (auth; the rest are new because the baseline-AC catalog does not name per-concern crosscut keys). Read by crosscut:catalogue in src/query/gates.js (PR 6) to enumerate the applicable (reqShape, concern) pairs for every REQ in scope.",
6
+ "implementsAcIds": [
7
+ "AC-17405-3",
8
+ "AC-17405-4"
9
+ ],
10
+ "dependencies": [],
11
+ "version": "0.1.0",
12
+ "status": "draft",
13
+ "createdAt": "2026-10-03T13:30:00Z",
14
+ "updatedAt": "2026-10-03T13:30:00Z"
15
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "cnId": "CN-757",
3
+ "path": "src/query/gates.js",
4
+ "title": "DEFINE step 3 PR 6: D4 closed-set and ownerRef findings, D5 catalogue, standards citation on the gates module",
5
+ "description": "src/query/gates.js grows four new engineer checks: stories:closedSets (over delta; AC description with an enumeration cue and no bracketed list or ownerRef fails, honouring the quoted-cue guard shared with D6); stories:ownerRefResolves (over delta plus tree for ownerRef targets; every ownerRef { tacId, field: interfaces[<name>] } on an AC resolves on that TAC, else fails with 'ownerRef does not resolve'); crosscut:catalogue (over tree; for every REQ in scope, every applicable (reqShape, concern) pair via src/define/concern-catalogue.js has a concern-ledger entry keyed <REQ>:<concern> with disposition applied or waived, else fails <REQ>:<concern>); skeleton:standardsCited (over tree; every manifest.standards[].slug is cited in a REQ rationale or an ADR, or waived by a concern-ledger entry keyed standards:<pack>, else fails standards:<pack> with 'uncited and unwaived'). The CHECK_PERSONA and CHECK_QUESTION maps grow in step. parseAcClass is already exported; closedSets re-uses the quoted-cue guard pattern.",
6
+ "implementsAcIds": [
7
+ "AC-17405-1",
8
+ "AC-17405-2",
9
+ "AC-17405-3",
10
+ "AC-17405-4",
11
+ "AC-17405-5"
12
+ ],
13
+ "dependencies": [
14
+ "CN-753",
15
+ "CN-756"
16
+ ],
17
+ "version": "0.1.0",
18
+ "status": "draft",
19
+ "createdAt": "2026-10-03T13:30:00Z",
20
+ "updatedAt": "2026-10-03T13:30:00Z"
21
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "cnId": "CN-758",
3
+ "path": "src/cli/readiness.js",
4
+ "title": "DEFINE step 3 PR 6: --check crosscut rides the D3 --ack fold with exit 4 unacked and 0 acked",
5
+ "description": "src/cli/readiness.js lifts the hard-coded D3-only bite branch so --check crosscut (and --check D5) honours the same --ack fold as --check shapes: an unacknowledged D5 failure exits 4; a D5 failure acknowledged at the current tree hash exits 0. The decision defers to gates.js's ackable(stage) rather than naming D5 inline, so a future bite on D6 is a one-line change. --check consistency keeps the 0.29.0 warn-with-ack posture until PR 7 bites D6; D1, D2, D4, D7, D8 keep exit 4 on a failure as blocking stages already do.",
6
+ "implementsAcIds": [
7
+ "AC-17405-3"
8
+ ],
9
+ "dependencies": [
10
+ "CN-754"
11
+ ],
12
+ "version": "0.1.0",
13
+ "status": "draft",
14
+ "createdAt": "2026-10-03T13:30:00Z",
15
+ "updatedAt": "2026-10-03T13:30:00Z"
16
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "cnId": "CN-759",
3
+ "path": "src/query/gates.js",
4
+ "title": "DEFINE step 3 PR 7: four D6 scans (consistency:contradictions/unsatisfiable/duplicates/orphanInterfaces)",
5
+ "description": "src/query/gates.js gains four new engineer checks on checkD6Consistency: contradictions (two ACs on one story sharing a when clause with a negated then, honouring the shared quoted-substring guard with D4), unsatisfiable (a then naming a field no recordShape defines; a field defined in a [draft] recordShape counts as defined), duplicates (identical AC descriptions across stories fail both ACs), and orphanInterfaces (an interface on any TAC that no AC ownerRef points at and that no REQ deliveredBy reaches fails). The four checks are registered in CHECK_PERSONA and CHECK_QUESTION; they ride the existing D6 ackable fold.",
6
+ "implementsAcIds": [
7
+ "AC-17406-1",
8
+ "AC-17406-2",
9
+ "AC-17406-3",
10
+ "AC-17406-4",
11
+ "AC-17406-5",
12
+ "AC-17406-6"
13
+ ],
14
+ "dependencies": [
15
+ "CN-757"
16
+ ],
17
+ "version": "0.1.0",
18
+ "status": "draft",
19
+ "createdAt": "2026-10-03T16:10:00Z",
20
+ "updatedAt": "2026-10-03T16:10:00Z"
21
+ }