rcf-lite 0.29.0 → 0.30.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 (737) hide show
  1. package/CHANGELOG.md +87 -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 +6 -6
  655. package/guidance/define-litmus.md +102 -0
  656. package/guidance/manifest.json +2 -1
  657. package/package.json +1 -1
  658. package/rcf/adrs/adr-4131-gates-bite-ack-recorded-override.json +30 -0
  659. package/rcf/code-nodes/cn-753.json +19 -0
  660. package/rcf/code-nodes/cn-754.json +17 -0
  661. package/rcf/code-nodes/cn-755.json +14 -0
  662. package/rcf/code-nodes/cn-756.json +15 -0
  663. package/rcf/code-nodes/cn-757.json +21 -0
  664. package/rcf/code-nodes/cn-758.json +16 -0
  665. package/rcf/code-nodes/cn-759.json +21 -0
  666. package/rcf/code-nodes/cn-760.json +19 -0
  667. package/rcf/code-nodes/cn-761.json +16 -0
  668. package/rcf/code-nodes/cn-762.json +18 -0
  669. package/rcf/code-nodes/cn-763.json +18 -0
  670. package/rcf/code-nodes/cn-764.json +15 -0
  671. package/rcf/code-nodes/cn-765.json +23 -0
  672. package/rcf/code-nodes/cn-766.json +17 -0
  673. package/rcf/code-nodes/cn-767.json +17 -0
  674. package/rcf/code-nodes/cn-768.json +19 -0
  675. package/rcf/code-nodes/cn-769.json +17 -0
  676. package/rcf/code-nodes/cn-770.json +18 -0
  677. package/rcf/fbs/fbs-202.json +69 -9
  678. package/rcf/requirements/req-174.json +2 -2
  679. package/rcf/requirements/req-175.json +2 -2
  680. package/rcf/requirements/req-177.json +31 -0
  681. package/rcf/requirements/req-178.json +31 -0
  682. package/rcf/requirements/req-179.json +31 -0
  683. package/rcf/tacs/tac-001.json +7 -7
  684. package/rcf/tacs/tac-002.json +23 -23
  685. package/rcf/tacs/tac-003.json +5 -5
  686. package/rcf/tacs/tac-004.json +9 -9
  687. package/rcf/tacs/tac-005.json +7 -7
  688. package/rcf/tacs/tac-006.json +21 -21
  689. package/rcf/tacs/tac-007.json +7 -7
  690. package/rcf/tacs/tac-008.json +7 -7
  691. package/rcf/tacs/tac-4101-feedback-cli.json +5 -5
  692. package/rcf/tacs/tac-4102-feedback-store.json +9 -9
  693. package/rcf/tacs/tac-4103-feedback-redact.json +5 -5
  694. package/rcf/tacs/tac-4104-feedback-fingerprint.json +3 -3
  695. package/rcf/tacs/tac-4105-feedback-render.json +7 -7
  696. package/rcf/tacs/tac-4106-feedback-destination.json +5 -5
  697. package/rcf/tacs/tac-4107-feedback-gh.json +7 -7
  698. package/rcf/tacs/tac-4108-feedback-hook.json +7 -7
  699. package/rcf/tacs/tac-4121-define-ledgers.json +3 -2
  700. package/rcf/tacs/tac-4122-define-gates.json +31 -3
  701. package/rcf/tacs/tac-4123-define-readiness.json +29 -3
  702. package/rcf/tacs/tac-4125-build-bundle-refuse-override-skip.json +43 -0
  703. package/rcf/tacs/tac-4126-define-validate-findings.json +32 -0
  704. package/rcf/tacs/tac-4128-define-guidance.json +8 -2
  705. package/rcf/tacs/tac-4129-define-questions.json +3 -3
  706. package/rcf/tacs/tac-4134-wespa-host-fixture.json +9 -9
  707. package/rcf/test-suites/ts-222.json +4 -4
  708. package/rcf/test-suites/ts-228.json +4 -4
  709. package/rcf/test-suites/ts-230.json +76 -0
  710. package/rcf/test-suites/ts-231.json +104 -0
  711. package/rcf/test-suites/ts-232.json +109 -0
  712. package/rcf/test-suites/ts-233.json +61 -0
  713. package/rcf/test-suites/ts-234.json +53 -0
  714. package/rcf/test-suites/ts-235.json +53 -0
  715. package/rcf/user-stories/us-17404.json +51 -0
  716. package/rcf/user-stories/us-17405.json +61 -0
  717. package/rcf/user-stories/us-17406.json +51 -0
  718. package/rcf/user-stories/us-17503.json +2 -2
  719. package/rcf/user-stories/us-17504.json +46 -0
  720. package/rcf/user-stories/us-17702.json +51 -0
  721. package/rcf/user-stories/us-17802.json +40 -0
  722. package/rcf/user-stories/us-17902.json +46 -0
  723. package/releases/releases.yaml +11 -1
  724. package/src/blueprint/consistency-lint.js +72 -3
  725. package/src/cli/build.js +206 -3
  726. package/src/cli/freeze.js +68 -18
  727. package/src/cli/readiness.js +136 -35
  728. package/src/cli/validate.js +8 -0
  729. package/src/define/concern-catalogue.js +130 -0
  730. package/src/define/freeze-record.js +74 -0
  731. package/src/define/probe-runner.js +55 -0
  732. package/src/define/validate-findings.js +256 -0
  733. package/src/query/gates.js +947 -12
  734. package/src/query/index.js +6 -1
  735. package/src/query/readiness.js +179 -2
  736. package/src/query/refuse-on-admissibility.js +137 -4
  737. package/src/ruleset/ruleset.json +35 -0
@@ -16,53 +16,53 @@
16
16
  "interfaces": [
17
17
  {
18
18
  "name": "rcf.read",
19
- "kind": "mcpTool",
20
- "description": "Read any RCF document by id over MCP."
19
+ "kind": "other",
20
+ "description": "Read any RCF document by id over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
21
21
  },
22
22
  {
23
23
  "name": "rcf.create",
24
- "kind": "mcpTool",
25
- "description": "Create a document with parent linkage over MCP."
24
+ "kind": "other",
25
+ "description": "Create a document with parent linkage over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
26
26
  },
27
27
  {
28
28
  "name": "rcf.update",
29
- "kind": "mcpTool",
30
- "description": "Update fields on a document over MCP."
29
+ "kind": "other",
30
+ "description": "Update fields on a document over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
31
31
  },
32
32
  {
33
33
  "name": "rcf.delete",
34
- "kind": "mcpTool",
35
- "description": "Delete a document with reference safety over MCP."
34
+ "kind": "other",
35
+ "description": "Delete a document with reference safety over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
36
36
  },
37
37
  {
38
38
  "name": "rcf.coverage",
39
- "kind": "mcpTool",
40
- "description": "Report coverage gaps over MCP."
39
+ "kind": "other",
40
+ "description": "Report coverage gaps over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
41
41
  },
42
42
  {
43
43
  "name": "rcf.trace",
44
- "kind": "mcpTool",
45
- "description": "Trace forward or back over MCP."
44
+ "kind": "other",
45
+ "description": "Trace forward or back over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
46
46
  },
47
47
  {
48
48
  "name": "rcf.impact",
49
- "kind": "mcpTool",
50
- "description": "Report impact over MCP."
49
+ "kind": "other",
50
+ "description": "Report impact over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
51
51
  },
52
52
  {
53
53
  "name": "rcf.view",
54
- "kind": "mcpTool",
55
- "description": "Generate the diagram and the static page over MCP."
54
+ "kind": "other",
55
+ "description": "Generate the diagram and the static page over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
56
56
  },
57
57
  {
58
58
  "name": "rcf.build.assemble",
59
- "kind": "mcpTool",
60
- "description": "Assemble a build prompt over MCP."
59
+ "kind": "other",
60
+ "description": "Assemble a build prompt over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
61
61
  },
62
62
  {
63
63
  "name": "rcf.build.markDone",
64
- "kind": "mcpTool",
65
- "description": "Mark a slice done over MCP."
64
+ "kind": "other",
65
+ "description": "Mark a slice done over MCP. [legacy kind: mcpTool; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
66
66
  }
67
67
  ],
68
68
  "dependencies": [
@@ -100,5 +100,5 @@
100
100
  "tradeoffs": "Local stdio sacrifices the convenience of a hosted MCP but is the only transport that preserves filesystem access; the trade is locked by the differentiator.",
101
101
  "notes": "The MCP surface mirrors the CLI verb set so behaviour is identical across surfaces.",
102
102
  "createdAt": "2026-06-25T00:00:00Z",
103
- "updatedAt": "2026-06-25T00:00:00Z"
103
+ "updatedAt": "2026-10-03T18:30:00Z"
104
104
  }
@@ -16,23 +16,23 @@
16
16
  "interfaces": [
17
17
  {
18
18
  "name": "RcfError",
19
- "kind": "type",
20
- "description": "The structured error type used throughout the tool."
19
+ "kind": "recordShape",
20
+ "description": "The structured error type used throughout the tool. [legacy kind: type; mapped to recordShape per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
21
21
  },
22
22
  {
23
23
  "name": "renderForTerminal",
24
- "kind": "function",
25
- "description": "Render an RcfError as human-readable terminal output."
24
+ "kind": "other",
25
+ "description": "Render an RcfError as human-readable terminal output. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
26
26
  },
27
27
  {
28
28
  "name": "renderForMcp",
29
- "kind": "function",
30
- "description": "Serialise an RcfError as a structured object for an MCP client."
29
+ "kind": "other",
30
+ "description": "Serialise an RcfError as a structured object for an MCP client. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
31
31
  }
32
32
  ],
33
33
  "dependencies": [],
34
34
  "tradeoffs": "A single error type across surfaces costs a small loss of surface-specific detail but guarantees that error reporting does not drift between CLI and MCP.",
35
35
  "notes": "Validation failures aggregate; the renderers preserve the full list, not just the first.",
36
36
  "createdAt": "2026-06-25T00:00:00Z",
37
- "updatedAt": "2026-06-25T00:00:00Z"
37
+ "updatedAt": "2026-10-03T18:30:00Z"
38
38
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "createdAt": "2026-07-20T17:01:52.768Z",
3
- "updatedAt": "2026-07-20T17:01:52.768Z",
3
+ "updatedAt": "2026-10-03T18:30:00Z",
4
4
  "purpose": "Ship the agent-facing method layer - the elicitation and build-cycle playbooks, the reference docs and the harness fragment - that teaches an AI agent how to run the RCF method well, served over MCP as resources and prompts and readable in place under guidance/.",
5
5
  "responsibilities": [
6
6
  "Carry the elicitation method (question frames, AC-depth bar, deploy-target elicitation, hosting-choice guidance) the eliciting agent runs with a human",
@@ -12,18 +12,18 @@
12
12
  "interfaces": [
13
13
  {
14
14
  "name": "rcf_elicit_requirements",
15
- "kind": "prompt",
16
- "description": "The elicitation playbook, served as an MCP prompt to the eliciting agent."
15
+ "kind": "other",
16
+ "description": "The elicitation playbook, served as an MCP prompt to the eliciting agent. [legacy kind: prompt; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
17
17
  },
18
18
  {
19
19
  "name": "rcf_execute_build_cycle",
20
- "kind": "prompt",
21
- "description": "The build-cycle playbook, served as an MCP prompt to the operating agent."
20
+ "kind": "other",
21
+ "description": "The build-cycle playbook, served as an MCP prompt to the operating agent. [legacy kind: prompt; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "harness fragment",
25
- "kind": "artifact",
26
- "description": "The RULE-bearing block rcf init writes into CLAUDE.md and AGENTS.md."
25
+ "kind": "fileFormat",
26
+ "description": "The RULE-bearing block rcf init writes into CLAUDE.md and AGENTS.md. [legacy kind: artifact; mapped to fileFormat per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  }
28
28
  ],
29
29
  "dependencies": [
@@ -17,13 +17,13 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "feedbackMain",
20
- "kind": "function",
21
- "description": "Argv-driven main; matches the core-verb signature the top-level dispatcher expects."
20
+ "kind": "other",
21
+ "description": "Argv-driven main; matches the core-verb signature the top-level dispatcher expects. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "HELP",
25
- "kind": "constant",
26
- "description": "Static help text asserted by the help-parity test."
25
+ "kind": "other",
26
+ "description": "Static help text asserted by the help-parity test. [legacy kind: constant; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  }
28
28
  ],
29
29
  "dependencies": [
@@ -73,5 +73,5 @@
73
73
  "tradeoffs": "A single core verb keeps the surface easy to reference in RULE 17 and in docs; the cost is a moderately sized sub-dispatcher, matched by preflight and other multi-verb families already in the tree.",
74
74
  "notes": "The verb is core, not grouped, because it spans discover-to-audit and is invoked from harness hooks; OLD_FLAT_MAP is untouched (no legacy form existed). Design section 9 decision: no MCP tool for feedback in v1 (rejected: an rcf_feedback_add MCP tool, adds a second code path to test before the first has users; add when an MCP-only harness appears).",
75
75
  "createdAt": "2026-09-16T13:45:23.000Z",
76
- "updatedAt": "2026-09-16T14:14:36Z"
76
+ "updatedAt": "2026-10-03T18:30:00Z"
77
77
  }
@@ -17,23 +17,23 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "readEntries",
20
- "kind": "function",
21
- "description": "Load and fold the JSONL log to current-state entries."
20
+ "kind": "other",
21
+ "description": "Load and fold the JSONL log to current-state entries. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "appendEntry",
25
- "kind": "function",
26
- "description": "Append one entry object as a JSONL line."
25
+ "kind": "other",
26
+ "description": "Append one entry object as a JSONL line. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  },
28
28
  {
29
29
  "name": "appendState",
30
- "kind": "function",
31
- "description": "Append one state-transition line for an existing id."
30
+ "kind": "other",
31
+ "description": "Append one state-transition line for an existing id. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
32
32
  },
33
33
  {
34
34
  "name": "feedbackGitignoreEntry",
35
- "kind": "constant",
36
- "description": "Managed-gitignore contribution consumed by src/setup/managed-gitignore.js."
35
+ "kind": "other",
36
+ "description": "Managed-gitignore contribution consumed by src/setup/managed-gitignore.js. [legacy kind: constant; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
37
37
  }
38
38
  ],
39
39
  "dependencies": [
@@ -46,5 +46,5 @@
46
46
  "tradeoffs": "Append-only JSONL is trivial to write correctly and to inspect by eye; the cost is a fold on every read, which is negligible at the entry counts a single project will ever see.",
47
47
  "notes": "Gitignored, not committed. Raw entries can hold what redaction removes; committing them would leak on the next push for a public project.",
48
48
  "createdAt": "2026-09-16T13:45:23.000Z",
49
- "updatedAt": "2026-09-16T13:45:23.000Z"
49
+ "updatedAt": "2026-10-03T18:30:00Z"
50
50
  }
@@ -17,13 +17,13 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "redact",
20
- "kind": "function",
21
- "description": "Redact one string with the eight rules; return the redacted text and the ledger."
20
+ "kind": "other",
21
+ "description": "Redact one string with the eight rules; return the redacted text and the ledger. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "RedactionContext",
25
- "kind": "type",
26
- "description": "projectRoot, projectName, operatorName, gitRemote, allowHosts."
25
+ "kind": "recordShape",
26
+ "description": "projectRoot, projectName, operatorName, gitRemote, allowHosts. [legacy kind: type; mapped to recordShape per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  }
28
28
  ],
29
29
  "dependencies": [
@@ -36,5 +36,5 @@
36
36
  "tradeoffs": "Rule-based redaction is testable with a fixture corpus and deterministic under review; the cost is that it will occasionally over-redact (a benign name that matches an entropy rule), which is what the disclosure ledger exists to catch.",
37
37
  "notes": "The stored entry is never mutated by redaction; the rendered output is what leaves.",
38
38
  "createdAt": "2026-09-16T13:45:23.000Z",
39
- "updatedAt": "2026-09-22T00:00:00Z"
39
+ "updatedAt": "2026-10-03T18:30:00Z"
40
40
  }
@@ -15,8 +15,8 @@
15
15
  "interfaces": [
16
16
  {
17
17
  "name": "fingerprint",
18
- "kind": "function",
19
- "description": "Compute the entry fingerprint from its canonical input."
18
+ "kind": "other",
19
+ "description": "Compute the entry fingerprint from its canonical input. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
20
20
  }
21
21
  ],
22
22
  "dependencies": [
@@ -29,5 +29,5 @@
29
29
  "tradeoffs": "A tiny fingerprint (12 hex = 48 bits) risks a collision at very large corpuses; at the scale of a single blueprint tracker it is safe, and issues carry the full-anchor context in the body so a maintainer resolves a rare collision by hand.",
30
30
  "notes": "The fingerprint appears twice in the body (visible line and HTML comment) so maintainer edits do not lose it.",
31
31
  "createdAt": "2026-09-16T13:45:23.000Z",
32
- "updatedAt": "2026-09-16T13:45:23.000Z"
32
+ "updatedAt": "2026-10-03T18:30:00Z"
33
33
  }
@@ -16,18 +16,18 @@
16
16
  "interfaces": [
17
17
  {
18
18
  "name": "renderIssue",
19
- "kind": "function",
20
- "description": "Return { title, body, labels[] } for a create call."
19
+ "kind": "other",
20
+ "description": "Return { title, body, labels[] } for a create call. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
21
21
  },
22
22
  {
23
23
  "name": "renderComment",
24
- "kind": "function",
25
- "description": "Return the comment body for a +1 add."
24
+ "kind": "other",
25
+ "description": "Return the comment body for a +1 add. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
26
26
  },
27
27
  {
28
28
  "name": "renderBundle",
29
- "kind": "function",
30
- "description": "Return the markdown bundle string for outbox files."
29
+ "kind": "other",
30
+ "description": "Return the markdown bundle string for outbox files. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
31
31
  }
32
32
  ],
33
33
  "dependencies": [
@@ -41,5 +41,5 @@
41
41
  "tradeoffs": "Static templates keep the shape reviewable by eye and byte-comparable in tests; the cost is that template drift requires golden updates, which is exactly the discipline the tests exist for.",
42
42
  "notes": "The docs-site \"submit a blueprint idea\" form reuses these templates verbatim so triage sees one shape from both producers.",
43
43
  "createdAt": "2026-09-16T13:45:23.000Z",
44
- "updatedAt": "2026-09-16T13:45:23.000Z"
44
+ "updatedAt": "2026-10-03T18:30:00Z"
45
45
  }
@@ -17,13 +17,13 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "resolve",
20
- "kind": "function",
21
- "description": "Given an entry and the manifest+registry, return the destination shape."
20
+ "kind": "other",
21
+ "description": "Given an entry and the manifest+registry, return the destination shape. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "CORE_REPO",
25
- "kind": "constant",
26
- "description": "The Stravica/rcf-lite constant; pinned to package.json:bugs.url in a test."
25
+ "kind": "other",
26
+ "description": "The Stravica/rcf-lite constant; pinned to package.json:bugs.url in a test. [legacy kind: constant; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  }
28
28
  ],
29
29
  "dependencies": [
@@ -36,5 +36,5 @@
36
36
  "tradeoffs": "A declared destination on library.json requires library owners to author one field; the cost is a one-time PR per library, in exchange for correctness on every consuming project.",
37
37
  "notes": "A library mirrored from a fork would have derivation pointing at the fork; the declared issues field is why derivation is only a fallback.",
38
38
  "createdAt": "2026-09-16T13:45:23.000Z",
39
- "updatedAt": "2026-09-17T13:46:24.000Z"
39
+ "updatedAt": "2026-10-03T18:30:00Z"
40
40
  }
@@ -15,18 +15,18 @@
15
15
  "interfaces": [
16
16
  {
17
17
  "name": "ghIssueCreate",
18
- "kind": "function",
19
- "description": "Create one issue on a repo with title, body and labels; return { url, number }."
18
+ "kind": "other",
19
+ "description": "Create one issue on a repo with title, body and labels; return { url, number }. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
20
20
  },
21
21
  {
22
22
  "name": "ghIssueSearch",
23
- "kind": "function",
24
- "description": "Search issues on a repo by body query; return matches."
23
+ "kind": "other",
24
+ "description": "Search issues on a repo by body query; return matches. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
25
25
  },
26
26
  {
27
27
  "name": "ghIssueComment",
28
- "kind": "function",
29
- "description": "Comment on an issue; return { url }."
28
+ "kind": "other",
29
+ "description": "Comment on an issue; return { url }. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
30
30
  }
31
31
  ],
32
32
  "dependencies": [
@@ -39,5 +39,5 @@
39
39
  "tradeoffs": "gh is a dependency the reporter chooses to install; the cost is a fallback bundle path when gh is missing, which the design considers a feature rather than a bug.",
40
40
  "notes": "A future MCP-only harness would call the CLI too; a native gh-lib port is not planned for v1.",
41
41
  "createdAt": "2026-09-16T13:45:23.000Z",
42
- "updatedAt": "2026-09-16T13:45:23.000Z"
42
+ "updatedAt": "2026-10-03T18:30:00Z"
43
43
  }
@@ -17,18 +17,18 @@
17
17
  "interfaces": [
18
18
  {
19
19
  "name": "shouldAsk",
20
- "kind": "function",
21
- "description": "Pure decision on the quiet rule; unit-tested across the full table."
20
+ "kind": "other",
21
+ "description": "Pure decision on the quiet rule; unit-tested across the full table. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
22
  },
23
23
  {
24
24
  "name": "emit",
25
- "kind": "function",
26
- "description": "Per-harness output; exit code and shape."
25
+ "kind": "other",
26
+ "description": "Per-harness output; exit code and shape. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
27
27
  },
28
28
  {
29
29
  "name": "installHooks",
30
- "kind": "function",
31
- "description": "Merge the hook entries into the two harness config files."
30
+ "kind": "other",
31
+ "description": "Merge the hook entries into the two harness config files. [legacy kind: function; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
32
32
  }
33
33
  ],
34
34
  "dependencies": [
@@ -42,5 +42,5 @@
42
42
  "tradeoffs": "Two harness config files to maintain and one handler; the cost is small (one merge pattern per file) and the benefit is one implementation of the quiet rule for both harnesses.",
43
43
  "notes": "The asked record is appended before the emit path, so a crash between emit and reply cannot cause a second ask.",
44
44
  "createdAt": "2026-09-16T13:45:23.000Z",
45
- "updatedAt": "2026-09-16T13:45:23.000Z"
45
+ "updatedAt": "2026-10-03T18:30:00Z"
46
46
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "createdAt": "2026-09-24T12:00:00Z",
3
- "updatedAt": "2026-10-02T16:40:00Z",
3
+ "updatedAt": "2026-10-03T13:30:00Z",
4
4
  "tacId": "TAC-4121-define-ledgers",
5
5
  "prdId": "PRD-001",
6
6
  "tadId": "TAD-001",
@@ -16,7 +16,8 @@
16
16
  "parseBriefFromFile splits by non-empty lines, strips leading '- ', '* ' or '<n>. ' bullets, defaults kind to 'capability', and threads --source through to every draft.",
17
17
  "src/cli/ledger.js: `rcf define ledger <name> <verb>` argv parsing; verbs add / resolve / list; ledger-specific flags for each; renderDecisionsList formats the #241 numbered layout; list --json emits { ledger, <arrayKey>: [...] }.",
18
18
  "bin/rcf.js: register GROUPS.define.ledger; src/cli/help.js: import LEDGER_HELP and wire into HELP_MAP.define.ledger + DEFINE_HELP + top-level DEFINE listing so per-verb help stays single-sourced.",
19
- "`update <id>` subverb patches named fields and re-runs full-body validation; `resolvedBy` is a closed pointer grammar (REQ-nnn, TAD.entity:<name>, PRD.user:<name>, TAD.system:<name>, TAC-nnnn, omitted:<reason>) validated by D2."
19
+ "`update <id>` subverb patches named fields and re-runs full-body validation; `resolvedBy` is a closed pointer grammar (REQ-nnn, TAD.entity:<name>, PRD.user:<name>, TAD.system:<name>, TAC-nnnn, omitted:<reason>) validated by D2.",
20
+ "concern ledger carries `applied`/`waived` entries keyed by `<REQ>:<concern>` (spec section 4 row 'D5 catalogue', 0.30.0 PR 6): `crosscut:catalogue` reads the concern-ledger body and matches each applicable `(reqShape, concern)` pair against an entry with that key. A `standards:<pack>` key names a waiver for `skeleton:standardsCited`. The ledger schema already carries `{ id, concern, reqId, disposition, reason?, addedAt, status, resolvedAt? }`; the `<REQ>:<concern>` key is composed by the gate from `concern` and `reqId` (no schema change)."
20
21
  ],
21
22
  "internalStructure": "The walker never reads under rcf/define/: subdirFor in src/core/store/loader.js returns null for anything that is not a known child kind (requirements, user-stories, tacs, adrs, fbs, test-suites, code-nodes, evals), so a ledger file sitting under rcf/define/ is never enumerated for schema validation. The walker-invisibility invariant is proved by a dedicated test that seeds the four ledger files plus a bug-bait req-shaped file under rcf/define/ and asserts zero walker error paths starting with rcf/define/ and no matching id in tree.byId. Validation is JSON-schema-shaped inline (no ajv, no @stravica-ai/rcf-schemas dependency) because the sidecars ride outside the shared schema until schemas 0.7 (ADR-4121).",
22
23
  "interfaces": [
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "createdAt": "2026-09-24T14:30:00Z",
3
- "updatedAt": "2026-10-03T00:00:00Z",
3
+ "updatedAt": "2026-10-03T20:30:00Z",
4
4
  "tacId": "TAC-4122-define-gates",
5
5
  "prdId": "PRD-001",
6
6
  "tadId": "TAD-001",
7
- "version": "0.1.0",
7
+ "version": "0.1.1",
8
8
  "status": "draft",
9
9
  "name": "define stage gates D1..D8",
10
10
  "purpose": "src/query/gates.js lands as a new pure module beside delta.js. Every stage has one exported check function that takes (tree, context) and returns the { stage, gate, state, checks[] } shape section 2.4 pins. computeReadiness (TAC-4123) is the composer; every gate function is otherwise consumable in isolation for tests and for future viewers that render one stage. No I/O, no state, no time: the caller supplies ledgers, profile, freeze, delta, validate errors, probe count and coverage rollups.",
@@ -22,7 +22,20 @@
22
22
  "ADR-4126 (0.29.0): own the per-check persona and question map; export `CHECK_PERSONA`, `CHECK_QUESTION`, `STAGE_FALLBACK_PERSONA`, `checkPersona(name)`, `checkQuestion(name)` and `parseInterfaceDraft(iface)`. Every entry in `stages[].checks[]` carries `persona` (productOwner | engineer) and a non-empty `question`; the `stage:<D>:scope` placeholder uses `STAGE_FALLBACK_PERSONA`.",
23
23
  "ADR-4126 (0.29.0): split `skeleton:reqFields` into `skeleton:reqIntent` (productOwner: description without TODO and domain, evaluated per REQ independently) and `skeleton:reqShape` (engineer: shapeClassification.shapes). Split `decisions:allAnswered` into `decisions:wellFormed` (productOwner: non-empty question + two or more options + a default naming one of them) and `decisions:allAnswered` (engineer: zero open).",
24
24
  "ADR-4126 (0.29.0): new D3 check `shapes:draftSettled` fails any interface whose `description` starts with `[draft]` (whitespace tolerated), id `<tacId>:<name>`, over delta, total = interfaces on TACs in scope; `tacHasInterface` counts a draft as present; `kindVocabulary` applies to drafts.",
25
- "`shapes:draftSettled` reports `[draft]` on `TAC.purpose`, `coreEntities[].description` and `TAC.interfaces[].description` with ids `<tacId>`, `TAD.entity:<name>` and `<tacId>:<name>` respectively (REQ-188, 0.30.0): `parseInterfaceDraft` reads the marker on all three homes with the same whitespace-tolerant rule; the draft pass enumerates across the three homes; nothing in the draft pass can fail a product-owner check."
25
+ "`shapes:draftSettled` reports `[draft]` on `TAC.purpose`, `coreEntities[].description` and `TAC.interfaces[].description` with ids `<tacId>`, `TAD.entity:<name>` and `<tacId>:<name>` respectively (REQ-188, 0.30.0): `parseInterfaceDraft` reads the marker on all three homes with the same whitespace-tolerant rule; the draft pass enumerates across the three homes; nothing in the draft pass can fail a product-owner check.",
26
+ "`shapes:templateMarkers` (per-kind marker presence on `interfaces[].description`) (ADR-4131, 0.30.0 PR 5): engineer, over delta, id `<tacId>:<name>`, `why` names the missing marker; `recordShape` needs `fields:`; `httpRoute` needs `method`, `path`, `request`, `response`, `errors`; `fixture` needs `instances:`; `event` needs `payload:`; `cliCommand` needs `usage:`; `uiRoute` needs `path`; `port` needs `protocol`; `fileFormat` needs `format:`; `other` needs a note. Drafts are included (a `[draft]` recordShape without `fields:` fails exactly as a settled one).",
27
+ "`shapes:entityJoin` (every `coreEntities[].name` named by exactly one `recordShape`) (ADR-4131, 0.30.0 PR 5): engineer, over tree; match on `name` or an `entity:` line in the template; fail ids `TAD.entity:<name>` with `no record shape` or `N record shapes`.",
28
+ "`shapes:pathsResolve` (any `path:`-like token in an interface description that looks like a repo path resolves on disk or the description carries `authoredAt: D3`) (ADR-4131, 0.30.0 PR 5): engineer, over delta; gates stay pure, the readiness CLI resolves candidate paths and passes `resolvedPaths` in the stage context; ids `<tacId>:<name>` with the unresolved path in `why`.",
29
+ "`ackable(stage)` (ADR-4131, 0.30.0 PR 5): exported helper that returns `true` for D3, D5, D6 and `false` for every other stage. `stagePolicy(stage)` is unchanged; `ackable` is the companion that names the three gates that accept a recorded `--ack` override.",
30
+ "`stories:closedSets` (0.30.0 PR 6, spec section 4 row 'D4 closed-set and ownerRef as findings'): engineer, over delta. An AC whose description contains an enumeration cue (`one of`, `any of`, `the following`, `types of`, `status is`) without an inline bracketed list or an `ownerRef` fails. Honours the shared quoted-cue guard with D6: a cue inside a double-quoted substring does not fire.",
31
+ "`stories:ownerRefResolves` (0.30.0 PR 6; widened under R11 in PR 9, spec section 17): engineer, over delta plus tree for ownerRef targets. Every ownerRef on an AC with a tacId OR adrId whose field names an existing field path on the owning document (bracket grammar: interfaces[<name>], responsibilities[<n>], dependencies[<name>], alternativesConsidered[<n>]; or a bare schema field name -- purpose, decision, internalStructure, etc.) resolves. Dotted grammar is refused. Failing ids name the AC and the unresolved pointer with the why string `ownerRef does not resolve`. Validate reuses this check via `resolveOwnerRefField` (PR 8 adds the finding row, PR 9 generalises both arms).",
32
+ "`crosscut:catalogue` (0.30.0 PR 6, spec section 4 row 'D5 catalogue'): engineer, over tree. For every REQ in scope, enumerate applicable `(reqShape, concern)` pairs through `src/define/concern-catalogue.js` (eight concerns keyed by REQ shape); each pair needs a concern-ledger entry keyed `<REQ>:<concern>` with disposition `applied` or `waived` (with a reason for waived). Failing ids are `<REQ>:<concern>`. Keys shared with the baseline catalogue where names coincide. D5 is ackable: readiness --check crosscut rides the same --ack fold as D3.",
33
+ "`skeleton:standardsCited` (0.30.0 PR 6, spec section 4 row 'Standards-ingestion check'): engineer, over tree. Every standards pack registered through `rcf define standards` (manifest.standards[].slug) is cited in a REQ `rationale` or an ADR, or waived by a concern-ledger entry with key `standards:<pack>`. Fail ids `standards:<pack>` with 'uncited and unwaived'.",
34
+ "`src/define/concern-catalogue.js` (0.30.0 PR 6): the eight-concern applicability map keyed by REQ shape: `auth` to `auth`/`httpApi`; `errorEnvelope` to `httpApi`/`cliCommand`; `loggingAudit` to all shapes but `other`; `retention` to `persistence`; `performance` to `httpApi`/`batch`; `secrets` to `auth`/`externalIntegration`; `timeAndTimezone` to `persistence`/`batch`; `concurrencyIdempotency` to `httpApi`/`persistence`. Exports `applicableConcernsFor(reqShape)` returning the concern keys that apply, plus `CONCERN_KEYS` and `CONCERN_APPLICABILITY` for tests. Pure; no I/O.",
35
+ "`consistency:contradictions` (0.30.0 PR 7, spec section 4 row 'D6 scans and the injectable probe runner'): engineer, over delta. Two ACs on one story sharing a `when` clause with a negated `then` fail the story; failing ids name the story and both AC ids. The named false-positive guard: a negation inside a double-quoted substring in a `then` does not fail the story (the shared quoted-substring guard with D4).",
36
+ "`consistency:unsatisfiable` (0.30.0 PR 7): engineer, over delta. A `then` naming a field that no `recordShape` defines fails the AC; a field defined in a `[draft]` recordShape counts as defined. Failing ids `<acId>:<field>`.",
37
+ "`consistency:duplicates` (0.30.0 PR 7): engineer, over tree. Identical AC descriptions across stories fail both ACs with id `<acId>` and why 'duplicate description'. The comparison trims leading whitespace and the leading `[class]` marker.",
38
+ "`consistency:orphanInterfaces` (0.30.0 PR 7): engineer, over tree. An interface on a TAC that no AC's `ownerRef` points at and that no REQ's `deliveredBy` reaches fails with id `<tacId>:<name>` and why 'no AC ownerRef and no REQ deliveredBy reaches it'. Shares the `interfaces[<name>]` pointer grammar with D4 `stories:ownerRefResolves`."
26
39
  ],
27
40
  "internalStructure": "Every stage function follows the same shape: 1) decide notApplicable per section 3.2 and return { state: 'notApplicable' } with a single-check summary; 2) build checks[] as a list of { name, ok, over, pass, total, failing: [{ id, why }] }; 3) fold to state: 'passed' if every ok is true; 'failing' otherwise, unless the stage is D3/D5/D6 AND freeze.gates[<gate>].state === 'acknowledged' AND freeze.gates[<gate>].at.hash === currentTreeHash, in which case state is 'acknowledged'. Blocking-vs-warn is a property of the stage, not of the state: D3/D5/D6 use the acknowledged fold, D1/D2/D4/D7/D8 do not. The caller (readiness) folds the array of stage results into freezeable and nextAction.",
28
41
  "interfaces": [
@@ -55,6 +68,21 @@
55
68
  "name": "parseInterfaceDraft",
56
69
  "kind": "other",
57
70
  "description": "[draft] True when an interface's `description` carries the leading `[draft]` marker (whitespace tolerated)."
71
+ },
72
+ {
73
+ "name": "parseInterfaceTemplate",
74
+ "kind": "other",
75
+ "description": "[draft] moduleApi (authoredAt: D3): parseInterfaceTemplate(iface) returns the per-kind marker presence for an interface: for a recordShape it reports whether `fields:` is present; for an httpRoute it reports whether each of method, path, request, response and errors is present; for fixture it reports `instances:`; for event, cliCommand, uiRoute, port, fileFormat and other it reports the per-kind markers from spec section 4 row 'D3 template parser'. Exported from src/query/gates.js for shapes:templateMarkers and for the validate step 6 notice (0.30.0 PR 5)."
76
+ },
77
+ {
78
+ "name": "ackable",
79
+ "kind": "other",
80
+ "description": "[draft] moduleApi (authoredAt: D3): ackable(stage) returns true for D3, D5 and D6 and false for every other stage. The CLI readiness and freeze verbs read it to gate --ack as the recorded override for just those three gates (ADR-4131)."
81
+ },
82
+ {
83
+ "name": "applicableConcernsFor",
84
+ "kind": "other",
85
+ "description": "[draft] moduleApi (authoredAt: D3): applicableConcernsFor(reqShape) returns the concern keys that apply to a REQ shape, per the eight-concern applicability map in src/define/concern-catalogue.js (0.30.0 PR 6). Pure. crosscut:catalogue reads this to decide which (reqShape, concern) pairs each REQ in scope must have a concern-ledger entry for."
58
86
  }
59
87
  ],
60
88
  "notes": "Slice-3 hook (rcf define freeze): reads state to refuse on any 'failing'; --ack <gate> --reason <text> writes freeze.gates[<gate>] = { state: 'acknowledged', at: { hash: <currentTreeHash>, reason: <text>, by: <id> } } and re-runs computeReadiness to check freezeable. Slice-5 hook (viewer): reads the same object end-to-end."
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "createdAt": "2026-09-24T14:30:00Z",
3
- "updatedAt": "2026-10-01T16:00:00Z",
3
+ "updatedAt": "2026-10-03T20:30:00Z",
4
4
  "tacId": "TAC-4123-define-readiness",
5
5
  "prdId": "PRD-001",
6
6
  "tadId": "TAD-001",
7
- "version": "0.1.0",
7
+ "version": "0.1.1",
8
8
  "status": "draft",
9
9
  "name": "computeReadiness compute and rcf define readiness CLI",
10
10
  "purpose": "src/query/readiness.js and src/cli/readiness.js land as a matched pair. The pure module composes computeDelta, computeImpact, the eight gate check functions from TAC-4122, computeCoverage, and the decisions ledger into the single-object contract section 2.4 pins; the CLI is its twin. Text output for readable status; --json for machine consumers and the viewer slice; --check <stage>|all for targeted inspection with the same 0-green / 4-red exit shape rcf audit coverage uses.",
@@ -22,7 +22,13 @@
22
22
  "ADR-4126 (0.29.0): `deriveNextAction(stages, persona?)` gains an optional persona argument. With no persona it behaves exactly as 0.28.4. With a persona it picks the first stage in D1..D8 order holding a failing check of that persona, then the check with the largest failing list; the command carries `--level intent` on the productOwner variant. `formatVerdictLines(result)` builds the two strings (`Intent-complete: yes/no...` and `Ready-to-build: yes/no...`) shared by the CLI (PR B) and the Readiness tab (PR C) so they cannot disagree.",
23
23
  "ADR-4126 (0.29.0): the levels and personas folds are additive; every 0.28.4 top-level field (tree, delta, stages, nextAction, coverage, decisions, freezeable) is present with its 0.28.4 type. No file under rcf/ is created or modified by any `rcf define readiness` invocation. The CLI flags (`--level`, `--persona`) and the viewer tab are PR B and PR C respectively; the compute lands first (PR A).",
24
24
  "ADR-4126 PR B (0.29.0): src/cli/readiness.js owns the --level intent|build and --persona productOwner|engineer dispatch. --level drives the exit code against levels.<which>.ok per spec section 3.2 (stricter than --check all on warn-with-ack failures per decision 4); --persona is a display filter that never affects the exit code or JSON content. parseLevelFlag and parsePersonaFlag share the usage-line shape with --check. Unknown values exit 2 with a usage line naming the accepted set. The CLI passes the resolved level into computeReadiness via the readiness context so _meta.level reflects the invocation (null when the flag was absent).",
25
- "ADR-4126 PR B (0.29.0): the text report prints both verdict lines (shared via formatVerdictLines) at the top; regroups blockers into one 'Product owner: N question(s)' and one 'Engineer: N check(s) blocking' section ordered by the profile register (productOwner-first or engineer-first; unstated and absent profile default to PO first); and renders the per-check line in the per-stage detail block with the persona inside the parenthesis after `over`. --persona X collapses the opposite-persona block to one 'hidden; run without --persona' line and restricts the per-stage detail to matching-persona checks."
25
+ "ADR-4126 PR B (0.29.0): the text report prints both verdict lines (shared via formatVerdictLines) at the top; regroups blockers into one 'Product owner: N question(s)' and one 'Engineer: N check(s) blocking' section ordered by the profile register (productOwner-first or engineer-first; unstated and absent profile default to PO first); and renders the per-check line in the per-stage detail block with the persona inside the parenthesis after `over`. --persona X collapses the opposite-persona block to one 'hidden; run without --persona' line and restricts the per-stage detail to matching-persona checks.",
26
+ "ADR-4131 (0.30.0 PR 5): collects candidate paths; the CLI resolves them on disk and passes `resolvedPaths` in the stage context so the `shapes:pathsResolve` check can decide a path:-like token against the real filesystem without turning the gates module into an I/O module. The compute remains pure: readiness.js owns the collection seam; cli/readiness.js owns the resolve-on-disk step before invoking the gate functions.",
27
+ "ADR-4131 (0.30.0 PR 5): the readiness CLI --check policy becomes bite-aware for D3. --check shapes exits 4 on an unacknowledged D3 failure and 0 when acked at the current hash (same recorded-override channel ADR-4124 pins). --check on D4, D5 and D6 keeps the 0.29.0 behaviour until their own PRs (6 and 7) bite. --level intent and --level build exits are unchanged.",
28
+ "ADR-4131 extended (0.30.0 PR 7, spec section 11.6): computeReadiness accepts an injectable `probeRunner` ({ reqId, tree }) => findings[], default null; findings land as probe-ledger entries in the result (merged into `ledgers.probes.probes[]` the gate reads) and count toward consistency:probeCount. With no probeRunner the result equals the 0.29.0 result on the same fixture. src/define/probe-runner.js lands as the seam only; no shipped runner (the harness is the runner through `ledger probes add`). The CLI never passes a probeRunner today; the seam is for test harnesses and for a later harness-driven call site.",
29
+ "ADR-4131 extended (0.30.0 PR 7; R9 amended 2026-10-03, w-2026-10-03-dave-011): --litmus <n> on readiness and freeze requires n distinct litmus readings at the current LITMUS HASH. A litmus reading is a probe-ledger entry whose `finding` begins `litmus:<reader>:` and whose text includes a `hash` matching `tree.litmusHash`. The litmus hash is the tree hash computed with the probes ledger excluded (new computeLitmusHash helper in src/query/readiness.js); the probes ledger is inside `tree.currentTreeHash` by ADR-4120, so a reader writing a probe-ledger entry that referenced `currentTreeHash` would shift the hash it just attested to. The litmus hash is the content-stable hash readers pin to: writes to the probes ledger do not shift it, so n readers can land `litmus:<reader>:` entries at the same hash; writes to the brief, decisions or concerns ledgers do shift it (the content under review has changed). One reader exits 4 naming the shortfall; n distinct readers at the hash pass. No process is spawned and no network call is made; the harness is the runner. `--litmus-attested` remains the default attestation path. Trade-off: litmus readings do not attest to probe findings written after them, which is acceptable because probe entries are themselves readings.",
30
+ "ADR-4131 extended (0.30.0 PR 7): the readiness CLI --check policy becomes bite-aware for D6. --check consistency exits 4 on an unacknowledged D6 failure and 0 when acked at the current hash (the one-line change: D6 joins the BITING_STAGES set in src/cli/readiness.js; the --ack channel D3/D5/D6 already share stays unchanged).",
31
+ "PR 9 (REQ-179 enforcement locus): the CLI computes readiness BEFORE calling `runWithAdmissibilityGate`, passing the computed `stages[]` and the validate-errors array via `defineStages` and `defineValidateErrors`; the wrap evaluates NV-DL-ADM-02 (failing D4), NV-DL-ADM-03 (failing D3) and NV-DL-ADM-04 (non-empty validate errors), honouring --ack-at-current-hash as the recordedInChain override for ADM-02/03. The compute still runs and prints under refusal (AC-17902-4)."
26
32
  ],
27
33
  "internalStructure": "readiness.js is a linear composer: 1) compute delta and its docHashes; 2) fan-out impacted / impactedFbs; 3) build stage context (freeze, delta, scope, ledgers, profile, validateErrors, probeOpenCount, coverageTree); 4) call the eight check functions; 5) fold freezeable and nextAction. The CLI parses flags, loads the tree once, loads the four ledgers and the freeze record once, computes the readiness, then routes to the text or JSON emitter. --check maps its argument to the STAGE_SHORT_NAMES map (brief -> D1 ... freeze -> D8) or accepts D1..D8 directly. The runWithAdmissibilityGate wrap sits inside main so refusals ride the same exit path as coverage's admissibility refusals.",
28
34
  "interfaces": [
@@ -55,6 +61,26 @@
55
61
  "name": "parsePersonaFlag",
56
62
  "kind": "other",
57
63
  "description": "[draft] Validate --persona against the closed value set (productOwner | engineer); return the value or null (flag absent) or throw a usage error for an unknown value."
64
+ },
65
+ {
66
+ "name": "parseLitmusFlag",
67
+ "kind": "other",
68
+ "description": "[draft] moduleApi (authoredAt: D3): parseLitmusFlag(raw) parses --litmus <n> as a positive integer; returns null (flag absent) or throws a usage error for a non-integer or non-positive value (0.30.0 PR 7, ADR-4131 extended)."
69
+ },
70
+ {
71
+ "name": "countLitmusReadersAtHash",
72
+ "kind": "other",
73
+ "description": "[draft] moduleApi (authoredAt: D3): countLitmusReadersAtHash(ledgers, hash) returns the set of distinct reader ids extracted from probe-ledger entries whose `finding` begins `litmus:<reader>:` and whose text includes `hash` (0.30.0 PR 7). Pure. The CLI exits 4 when the set size is below --litmus <n>. `hash` is `tree.litmusHash` (ADR-4131 extended R9, w-2026-10-03-dave-011), not `tree.currentTreeHash`: the probes ledger is inside currentTreeHash by ADR-4120, so a reader writing a probe-ledger entry that referenced currentTreeHash would shift the hash it just attested to."
74
+ },
75
+ {
76
+ "name": "computeLitmusHash",
77
+ "kind": "other",
78
+ "description": "[draft] moduleApi (authoredAt: D3): computeLitmusHash(tree, ledgers) returns the tree hash (`sha256:<hex>`) recomputed with the probes ledger excluded (ADR-4131 extended R9, w-2026-10-03-dave-011). Reuses hashDocument and computeTreeHash from src/query/delta.js. Pure. The result is stable under writes to the probes ledger (so n readers can pin litmus entries to the same hash) and shifts the same way currentTreeHash shifts under writes to the brief, decisions or concerns ledgers (which do change what the readers were attesting to)."
79
+ },
80
+ {
81
+ "name": "probeRunner",
82
+ "kind": "other",
83
+ "description": "[draft] moduleApi (authoredAt: D3): injectable runner shape `({ reqId, tree }) => findings[]`, default null. computeReadiness calls the runner (when set) over every REQ in scope and merges the returned findings into ledgers.probes.probes[] so the gate reads them (0.30.0 PR 7). No runner ships; src/define/probe-runner.js carries the seam only. Pure over its inputs; must not do I/O or spawn a process."
58
84
  }
59
85
  ],
60
86
  "notes": "Slice-3 hook (rcf define freeze) reads freezeable and stages[].state; --ack <gate> writes into freeze.gates[<gate>] and re-computes readiness. Slice-5 hook (viewer) fetches the same JSON object over the existing tab wire and renders the pill vocabulary + findings-list + diff components. Performance seam: computeImpact per id on a whole-tree delta (before freeze) may be quadratic on very large trees; the compute stays fast on the dogfood chain (~700 documents, sub-second) but the CLI notes the wall time in text mode so an operator can spot regression."
@@ -0,0 +1,43 @@
1
+ {
2
+ "createdAt": "2026-10-03T18:30:00Z",
3
+ "updatedAt": "2026-10-03T20:30:00Z",
4
+ "tacId": "TAC-4125-build-bundle-refuse-override-skip",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.1",
8
+ "status": "draft",
9
+ "name": "build bundle --next refusal, override and impacted-FBS skip",
10
+ "purpose": "0.30.0 PR 8 (spec section 4 bundle row, section 11.7 US-17702). `rcf build bundle --next` is tightened against the detection-model freeze record: without a freeze record the verb refuses with exit 4 naming `rcf define readiness`; `--override \"<reason>\"` writes `freeze.override { reason, by, at }` through saveFreezeRecord and proceeds; on a non-empty delta against the current tree, the next-item compute skips re-execute FBS impacted by the delta with the reason text in a line and hands out the next unimpacted FBS; when every actionable FBS is impacted and no override is given the verb refuses with exit 4 with the same message. On a frozen tree with an empty delta the verb's 0.29.0 shape is unchanged (AC-17702-5).",
11
+ "responsibilities": [
12
+ "refusal: on `bundle --next` with no freeze record, exit 4 with a usage line naming `rcf define readiness` (and `--override \"<reason>\"` as the override channel); the next-item compute does not run.",
13
+ "override: `--override \"<reason>\"` on `bundle --next` writes `freeze.override { reason, by, at }` through saveFreezeRecord before the next-item compute runs; `--override` without a non-empty reason is a usage refusal (exit 2); when a freeze record exists the override is still written and the override reason is named in the output.",
14
+ "skip: on a non-empty delta against the current tree hash, next-item selection filters re-execute FBS impacted by the delta out of the actionable queue with a stderr line naming each skipped FBS and the reason; the next unimpacted actionable FBS is handed out.",
15
+ "all-impacted refusal: when every actionable FBS is impacted by the delta and no override is given, the verb refuses with exit 4 and the same message pointing at `--override \"<reason>\"`.",
16
+ "unchanged on empty delta: on a frozen tree with an empty delta the verb's output and exit code are byte-for-byte unchanged from 0.29.0 (AC-17702-5).",
17
+ "override.by identity (PR 9, AC-17702-6): freeze.override.by is resolved by `resolveOverrideBy({projectRoot})` with the preference order `git config user.email` -> `GITHUB_ACTOR` -> `USER` -> `USERNAME` -> literal `operator`. Each failing arm falls through silently to the next; the write path cannot blow up on a stripped-down container."
18
+ ],
19
+ "internalStructure": "The next-item path in `src/cli/build.js` grows a pre-emit guard (`enforceBundleNextFreezeGate`) that loads the freeze record and the computed delta via loadFreezeRecord and computeDelta, applies the `--override` write (if given) before the next-item compute, and emits a refusal when the record is absent and no override is given. The impacted-FBS skip extends `selectNext` to accept an `impactedFbsIds` set and skip them with a stderr reason; the all-impacted case falls through to a refusal rather than an empty envelope. `freeze.override` records come through `saveFreezeRecord` so the existing schema and canonical-JSON contract are reused; a short writer `applyOverrideToFreezeRecord` writes `freeze.override` on the live freeze record (creating a minimal record stamped with `frozenAt=now`, `treeHash=currentTreeHash`, `docHashes=whole-tree`, `briefStatements=0` when none exists).",
20
+ "interfaces": [
21
+ {
22
+ "name": "enforceBundleNextFreezeGate",
23
+ "kind": "other",
24
+ "description": "`moduleApi` (`src/cli/build.js`). Signature: ({ tree, projectRoot, overrideReason, by }) -> { ok: boolean, exitCode?: 2|4, message?: string, impactedFbsIds?: Set<string>, override?: { reason, by, at } }. Reads the freeze record and `computeDelta(tree, { freeze })`, applies the override write when `overrideReason` is set, and either returns ok with the impacted-FBS set, or a refusal with exit 4 and the usage message. authoredAt: D3."
25
+ },
26
+ {
27
+ "name": "applyOverrideToFreezeRecord",
28
+ "kind": "other",
29
+ "description": "`moduleApi` (`src/define/freeze-record.js`). Signature: ({ projectRoot, reason, by, at }) -> { filePath }. Loads or creates a freeze record, sets its override to { reason, by, at }, writes through saveFreezeRecord. authoredAt: D3."
30
+ },
31
+ {
32
+ "name": "selectNext",
33
+ "kind": "other",
34
+ "description": "`moduleApi` (`src/build/queue.js`). Extended to accept an optional `{ impactedFbsIds, io }` parameter: when supplied, re-execute FBS whose id is in `impactedFbsIds` are skipped with a stderr line naming the FBS and the reason, and the next unimpacted FBS is returned; when every actionable FBS is impacted, returns `null` and the caller treats that as the all-impacted refusal."
35
+ },
36
+ {
37
+ "name": "resolveOverrideBy",
38
+ "kind": "other",
39
+ "description": "`moduleApi` (`src/cli/build.js`). Signature: ({ projectRoot }) -> Promise<string>. Resolves the identity for `freeze.override.by` under the R11 preference order (git config user.email, GITHUB_ACTOR, USER, USERNAME, operator). Pure of side effects beyond one bounded `git config --get user.email`. authoredAt: D3."
40
+ }
41
+ ],
42
+ "notes": "Spec amendment 2026-10-03 R9 does not alter this TAC: delta semantics are unchanged, the litmus hash is a readiness concern only. `freeze.override` writes do not shift `tree.currentTreeHash` or `tree.litmusHash` (the probes ledger is excluded from the litmus hash by R9; the override lives in the freeze record, not in a tree document). The brief named this TAC as `tac-4125*.json`; the file name follows the dash-prefixed naming convention of neighbouring TACs."
43
+ }