rcf-lite 0.28.4 → 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 (882) hide show
  1. package/CHANGELOG.md +194 -1
  2. package/bin/rcf.js +4 -0
  3. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-001.json +1 -1
  4. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-002.json +1 -1
  5. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-003.json +1 -1
  6. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-004.json +1 -1
  7. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-005.json +1 -1
  8. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-006.json +1 -1
  9. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-007.json +1 -1
  10. package/blueprints/application-account-settings/contributions/requirements/application-account-settings-req-009.json +1 -1
  11. package/blueprints/application-account-settings/contributions/tacs/tac-2601-application-account-settings-shell.json +4 -4
  12. package/blueprints/application-account-settings/contributions/tacs/tac-2602-application-account-settings-capability-discovery.json +2 -2
  13. package/blueprints/application-account-settings/contributions/tacs/tac-2603-application-account-settings-hosted-ui-bridge.json +2 -2
  14. package/blueprints/application-account-settings/contributions/tacs/tac-2604-application-account-settings-session-store.json +7 -7
  15. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25105.json +3 -15
  16. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25106.json +2 -10
  17. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25111.json +3 -6
  18. package/blueprints/application-account-settings/contributions/user-stories/application-account-settings-us-25112.json +4 -4
  19. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +1 -1
  20. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +1 -1
  21. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +1 -1
  22. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +1 -1
  23. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +1 -1
  24. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +1 -1
  25. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-007.json +1 -1
  26. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-008.json +1 -1
  27. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-009.json +1 -1
  28. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-014.json +1 -1
  29. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +4 -4
  30. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +7 -7
  31. package/blueprints/application-admin-console/contributions/tacs/tac-2203-application-admin-console-permission-matrix.json +2 -2
  32. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +2 -2
  33. package/blueprints/application-admin-console/contributions/tacs/tac-2214-application-admin-console-access-gated-signin-surface.json +3 -2
  34. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +2 -2
  35. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21111.json +3 -11
  36. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21112.json +4 -4
  37. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21815.json +2 -2
  38. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21816.json +2 -2
  39. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-001.json +1 -1
  40. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-002.json +1 -2
  41. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-004.json +1 -1
  42. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-008.json +1 -1
  43. package/blueprints/application-api-rest/contributions/requirements/application-api-rest-req-016.json +1 -1
  44. package/blueprints/application-api-rest/contributions/tacs/tac-301-application-api-rest-request-pipeline.json +4 -4
  45. package/blueprints/application-api-rest/contributions/tacs/tac-302-application-api-rest-auth-middleware.json +4 -4
  46. package/blueprints/application-api-rest/contributions/tacs/tac-303-application-api-rest-contract-surface.json +4 -4
  47. package/blueprints/application-api-rest/contributions/tacs/tac-304-application-api-rest-resource-layer.json +4 -4
  48. package/blueprints/application-api-rest/contributions/tacs/tac-305-application-api-rest-observability.json +4 -4
  49. package/blueprints/application-api-rest/contributions/tacs/tac-306-application-api-rest-operability.json +4 -4
  50. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2102.json +1 -1
  51. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2103.json +1 -1
  52. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2104.json +4 -4
  53. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2105.json +2 -2
  54. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2108.json +1 -1
  55. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2110.json +1 -1
  56. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2111.json +1 -1
  57. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2118.json +1 -1
  58. package/blueprints/application-api-rest/contributions/user-stories/application-api-rest-us-2119.json +2 -2
  59. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +4 -4
  60. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +4 -4
  61. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +1 -1
  62. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +4 -4
  63. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +4 -4
  64. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +2 -2
  65. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +1 -1
  66. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +4 -4
  67. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +4 -4
  68. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +2 -2
  69. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +1 -1
  70. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +1 -1
  71. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +1 -1
  72. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +1 -1
  73. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-001.json +1 -1
  74. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-002.json +1 -1
  75. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-003.json +1 -1
  76. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-004.json +1 -1
  77. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-005.json +2 -2
  78. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-006.json +1 -1
  79. package/blueprints/application-empty-error-states/contributions/requirements/application-empty-error-states-req-007.json +2 -2
  80. package/blueprints/application-empty-error-states/contributions/tacs/tac-2301-application-empty-error-states-state-machine.json +5 -5
  81. package/blueprints/application-empty-error-states/contributions/tacs/tac-2302-application-empty-error-states-recovery-router.json +2 -2
  82. package/blueprints/application-empty-error-states/contributions/tacs/tac-2303-application-empty-error-states-offline-buffer.json +5 -5
  83. package/blueprints/application-error-handling/contributions/tacs/tac-1701-application-error-handling-boundary.json +6 -6
  84. package/blueprints/application-error-handling/contributions/tacs/tac-1702-application-error-handling-record-factory.json +4 -4
  85. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16101.json +1 -1
  86. package/blueprints/application-error-handling/contributions/user-stories/application-error-handling-us-16107.json +4 -4
  87. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-001.json +1 -1
  88. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-002.json +1 -1
  89. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-003.json +1 -1
  90. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-004.json +1 -1
  91. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-005.json +1 -1
  92. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-006.json +2 -2
  93. package/blueprints/application-file-upload/contributions/requirements/application-file-upload-req-007.json +2 -2
  94. package/blueprints/application-file-upload/contributions/tacs/tac-2401-application-file-upload-input.json +7 -7
  95. package/blueprints/application-file-upload/contributions/tacs/tac-2402-application-file-upload-transport.json +8 -8
  96. package/blueprints/application-file-upload/contributions/tacs/tac-2403-application-file-upload-progress-announcer.json +11 -11
  97. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23102.json +1 -1
  98. package/blueprints/application-file-upload/contributions/user-stories/application-file-upload-us-23105.json +1 -1
  99. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-001.json +1 -1
  100. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-002.json +1 -1
  101. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-003.json +1 -1
  102. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-004.json +1 -1
  103. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-005.json +1 -1
  104. package/blueprints/application-forms-wizard/contributions/requirements/application-forms-wizard-req-006.json +2 -2
  105. package/blueprints/application-forms-wizard/contributions/tacs/tac-2501-application-forms-wizard-task-list.json +7 -7
  106. package/blueprints/application-forms-wizard/contributions/tacs/tac-2502-application-forms-wizard-error-summary.json +4 -4
  107. package/blueprints/application-forms-wizard/contributions/tacs/tac-2503-application-forms-wizard-draft-store.json +4 -4
  108. package/blueprints/application-forms-wizard/contributions/user-stories/application-forms-wizard-us-24101.json +1 -1
  109. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +1 -1
  110. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +1 -1
  111. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +1 -1
  112. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +1 -1
  113. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +2 -2
  114. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-006.json +2 -2
  115. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +6 -6
  116. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +9 -9
  117. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +4 -4
  118. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +1 -1
  119. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +1 -1
  120. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +2 -2
  121. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +4 -4
  122. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-001.json +1 -1
  123. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-002.json +1 -1
  124. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-003.json +1 -1
  125. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-004.json +1 -1
  126. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-005.json +1 -1
  127. package/blueprints/application-onboarding-tour/contributions/requirements/application-onboarding-tour-req-006.json +1 -1
  128. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2701-application-onboarding-tour-step-runner.json +4 -4
  129. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2702-application-onboarding-tour-checklist-slot.json +2 -2
  130. package/blueprints/application-onboarding-tour/contributions/tacs/tac-2703-application-onboarding-tour-completion-store.json +2 -2
  131. package/blueprints/application-onboarding-tour/contributions/user-stories/application-onboarding-tour-us-26108.json +2 -2
  132. package/blueprints/application-spa/contributions/requirements/application-spa-req-004.json +1 -2
  133. package/blueprints/application-spa/contributions/requirements/application-spa-req-007.json +1 -1
  134. package/blueprints/application-spa/contributions/requirements/application-spa-req-014.json +1 -1
  135. package/blueprints/application-spa/contributions/requirements/application-spa-req-015.json +1 -1
  136. package/blueprints/application-spa/contributions/requirements/application-spa-req-017.json +1 -1
  137. package/blueprints/application-spa/contributions/requirements/application-spa-req-018.json +1 -1
  138. package/blueprints/application-spa/contributions/tacs/tac-201-application-spa-app-shell.json +4 -4
  139. package/blueprints/application-spa/contributions/tacs/tac-202-application-spa-theme-system.json +4 -4
  140. package/blueprints/application-spa/contributions/tacs/tac-207-application-spa-token-adherence-probe.json +6 -6
  141. package/blueprints/application-spa/contributions/tacs/tac-208-application-spa-icon-adherence-probe.json +6 -6
  142. package/blueprints/application-spa/contributions/tacs/tac-209-application-spa-csp-styled-adherence-probe.json +6 -6
  143. package/blueprints/application-spa/contributions/tacs/tac-210-application-spa-external-dependency-provisioning-probe.json +8 -8
  144. package/blueprints/application-spa/contributions/tacs/tac-211-application-spa-core-flow-e2e-probe.json +8 -8
  145. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1101.json +2 -2
  146. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1102.json +1 -1
  147. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1107.json +1 -1
  148. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1117.json +1 -1
  149. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1129.json +4 -4
  150. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1130.json +4 -4
  151. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1131.json +1 -1
  152. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1132.json +6 -6
  153. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1133.json +5 -5
  154. package/blueprints/application-spa/contributions/user-stories/application-spa-us-1134.json +2 -2
  155. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-001.json +1 -1
  156. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-002.json +1 -1
  157. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-003.json +1 -1
  158. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-004.json +1 -1
  159. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-005.json +1 -1
  160. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-006.json +1 -1
  161. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-007.json +1 -1
  162. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-008.json +1 -1
  163. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-009.json +1 -1
  164. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-010.json +1 -1
  165. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-011.json +1 -1
  166. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-012.json +1 -1
  167. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-013.json +1 -1
  168. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-014.json +1 -1
  169. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-015.json +1 -1
  170. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-016.json +1 -1
  171. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-017.json +1 -1
  172. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-018.json +1 -1
  173. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-019.json +1 -1
  174. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-020.json +1 -1
  175. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-021.json +1 -1
  176. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-022.json +1 -1
  177. package/blueprints/delivery-ci-workflows/contributions/requirements/delivery-ci-workflows-req-023.json +1 -1
  178. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-701-delivery-ci-workflows-gate-runner.json +6 -6
  179. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-702-delivery-ci-workflows-gate-report.json +4 -4
  180. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-703-delivery-ci-workflows-aggregate-report.json +4 -4
  181. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-704-delivery-ci-workflows-workflow-materialiser.json +6 -6
  182. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-705-delivery-ci-workflows-release-workflow.json +6 -6
  183. package/blueprints/delivery-ci-workflows/contributions/tacs/tac-706-delivery-ci-workflows-scheduled-audit.json +4 -4
  184. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6101.json +1 -1
  185. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6102.json +1 -1
  186. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6103.json +1 -1
  187. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6104.json +1 -1
  188. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6106.json +1 -1
  189. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6107.json +1 -1
  190. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6109.json +1 -1
  191. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6110.json +1 -1
  192. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6111.json +1 -1
  193. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6113.json +1 -1
  194. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6115.json +1 -1
  195. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6116.json +1 -1
  196. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6117.json +1 -1
  197. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6118.json +1 -1
  198. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6119.json +1 -1
  199. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6120.json +1 -1
  200. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6122.json +1 -1
  201. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6123.json +1 -1
  202. package/blueprints/delivery-ci-workflows/contributions/user-stories/delivery-ci-workflows-us-6124.json +1 -1
  203. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-001.json +1 -1
  204. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-002.json +1 -1
  205. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-003.json +1 -1
  206. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-004.json +1 -1
  207. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-005.json +1 -1
  208. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-006.json +1 -1
  209. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-007.json +1 -1
  210. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-008.json +1 -1
  211. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-009.json +1 -1
  212. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-010.json +1 -1
  213. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-011.json +1 -1
  214. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-012.json +1 -1
  215. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-013.json +1 -1
  216. package/blueprints/deploy-cloudflare-workers/contributions/requirements/deploy-cloudflare-workers-req-014.json +1 -1
  217. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1301-deploy-cloudflare-workers-deploy-adapter.json +6 -6
  218. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1302-deploy-cloudflare-workers-wrangler-manifest.json +8 -8
  219. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1303-deploy-cloudflare-workers-preview-url-resolver.json +6 -6
  220. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1304-deploy-cloudflare-workers-promote-gate.json +8 -8
  221. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1305-deploy-cloudflare-workers-served-surface-verifier.json +8 -8
  222. package/blueprints/deploy-cloudflare-workers/contributions/tacs/tac-1306-deploy-cloudflare-workers-deploy-ci-workflows.json +8 -8
  223. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12101.json +1 -1
  224. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12102.json +2 -2
  225. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12105.json +1 -1
  226. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12109.json +1 -1
  227. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12113.json +2 -2
  228. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12114.json +1 -1
  229. package/blueprints/deploy-cloudflare-workers/contributions/user-stories/deploy-cloudflare-workers-us-12115.json +1 -1
  230. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-001.json +1 -1
  231. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-002.json +1 -1
  232. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-003.json +1 -1
  233. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-004.json +1 -1
  234. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-005.json +1 -1
  235. package/blueprints/deploy-hetzner-server/contributions/requirements/deploy-hetzner-server-req-006.json +1 -1
  236. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3801-deploy-hetzner-server-provisioner.json +3 -2
  237. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3802-deploy-hetzner-server-manifest-schema.json +3 -2
  238. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3803-deploy-hetzner-server-cloud-init-template.json +3 -2
  239. package/blueprints/deploy-hetzner-server/contributions/tacs/tac-3804-deploy-hetzner-server-firewall-shape.json +3 -2
  240. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37101.json +4 -4
  241. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37102.json +3 -3
  242. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37103.json +4 -4
  243. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37104.json +2 -2
  244. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37105.json +2 -2
  245. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37106.json +3 -3
  246. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37107.json +2 -2
  247. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37108.json +2 -2
  248. package/blueprints/deploy-hetzner-server/contributions/user-stories/deploy-hetzner-server-us-37109.json +2 -2
  249. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-001.json +1 -1
  250. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-002.json +1 -1
  251. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-003.json +1 -1
  252. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-004.json +1 -1
  253. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-005.json +1 -1
  254. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-006.json +1 -1
  255. package/blueprints/edge-cloudflare-access/contributions/requirements/edge-cloudflare-access-req-007.json +1 -1
  256. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3501-edge-cloudflare-access-jwt-validator.json +6 -4
  257. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3502-edge-cloudflare-access-application-declaration.json +3 -2
  258. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3503-edge-cloudflare-access-policy-shape.json +3 -2
  259. package/blueprints/edge-cloudflare-access/contributions/tacs/tac-3504-edge-cloudflare-access-audit-sink.json +3 -2
  260. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34101.json +1 -1
  261. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34102.json +5 -5
  262. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34103.json +1 -1
  263. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34104.json +3 -3
  264. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34105.json +1 -1
  265. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34106.json +1 -1
  266. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34107.json +5 -5
  267. package/blueprints/edge-cloudflare-access/contributions/user-stories/edge-cloudflare-access-us-34110.json +1 -1
  268. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-001.json +1 -1
  269. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-002.json +1 -1
  270. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-003.json +1 -1
  271. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-004.json +1 -1
  272. package/blueprints/edge-cloudflare-rate-limiting/contributions/requirements/edge-cloudflare-rate-limiting-req-005.json +1 -1
  273. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3701-edge-cloudflare-rate-limiting-manifest-schema.json +6 -4
  274. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3702-edge-cloudflare-rate-limiting-management-surface-doc.json +3 -2
  275. package/blueprints/edge-cloudflare-rate-limiting/contributions/tacs/tac-3703-edge-cloudflare-rate-limiting-drift-audit-runner.json +3 -2
  276. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36101.json +2 -2
  277. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36103.json +1 -1
  278. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36104.json +6 -6
  279. package/blueprints/edge-cloudflare-rate-limiting/contributions/user-stories/edge-cloudflare-rate-limiting-us-36106.json +2 -2
  280. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-001.json +1 -1
  281. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-002.json +1 -1
  282. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-003.json +1 -1
  283. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-004.json +1 -1
  284. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-005.json +1 -1
  285. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-006.json +1 -1
  286. package/blueprints/edge-cloudflare-tunnel/contributions/requirements/edge-cloudflare-tunnel-req-007.json +1 -1
  287. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4001-edge-cloudflare-tunnel-connector-shape.json +3 -2
  288. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4002-edge-cloudflare-tunnel-manifest-schema.json +3 -2
  289. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4003-edge-cloudflare-tunnel-access-binding.json +3 -2
  290. package/blueprints/edge-cloudflare-tunnel/contributions/tacs/tac-4004-edge-cloudflare-tunnel-zone-and-hostname-apply.json +3 -2
  291. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39101.json +3 -3
  292. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39102.json +2 -2
  293. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39103.json +4 -4
  294. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39104.json +2 -2
  295. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39105.json +2 -2
  296. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39106.json +5 -5
  297. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39107.json +2 -2
  298. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39108.json +3 -3
  299. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39109.json +4 -4
  300. package/blueprints/edge-cloudflare-tunnel/contributions/user-stories/edge-cloudflare-tunnel-us-39110.json +3 -3
  301. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-001.json +1 -1
  302. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-002.json +1 -1
  303. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-003.json +1 -1
  304. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-004.json +1 -1
  305. package/blueprints/edge-cloudflare-turnstile/contributions/requirements/edge-cloudflare-turnstile-req-005.json +1 -1
  306. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3601-edge-cloudflare-turnstile-widget-mount.json +3 -2
  307. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3602-edge-cloudflare-turnstile-server-verifier.json +9 -6
  308. package/blueprints/edge-cloudflare-turnstile/contributions/tacs/tac-3603-edge-cloudflare-turnstile-magic-link-hook.json +3 -2
  309. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35101.json +3 -3
  310. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35102.json +4 -4
  311. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35103.json +6 -6
  312. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35104.json +2 -2
  313. package/blueprints/edge-cloudflare-turnstile/contributions/user-stories/edge-cloudflare-turnstile-us-35105.json +1 -1
  314. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-001.json +1 -1
  315. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-002.json +1 -1
  316. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-003.json +1 -1
  317. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-004.json +1 -1
  318. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-005.json +1 -1
  319. package/blueprints/email-smtp-resend/contributions/requirements/email-smtp-resend-req-006.json +1 -1
  320. package/blueprints/email-smtp-resend/contributions/tacs/tac-401-email-smtp-resend-send-adapter.json +8 -8
  321. package/blueprints/email-smtp-resend/contributions/tacs/tac-402-email-smtp-resend-webhook-verifier.json +10 -10
  322. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4101.json +1 -1
  323. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4102.json +1 -1
  324. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4103.json +1 -1
  325. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4105.json +1 -1
  326. package/blueprints/email-smtp-resend/contributions/user-stories/email-smtp-resend-us-4106.json +2 -2
  327. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-001.json +1 -1
  328. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-002.json +1 -1
  329. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-003.json +1 -1
  330. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-004.json +1 -1
  331. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-005.json +1 -1
  332. package/blueprints/jobs-background/contributions/requirements/jobs-background-req-006.json +1 -1
  333. package/blueprints/jobs-background/contributions/tacs/tac-3101-jobs-background-job-definition.json +4 -4
  334. package/blueprints/jobs-background/contributions/tacs/tac-3102-jobs-background-scheduler.json +6 -6
  335. package/blueprints/jobs-background/contributions/tacs/tac-3103-jobs-background-run-log.json +6 -6
  336. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30101.json +1 -1
  337. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30102.json +3 -3
  338. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30103.json +1 -1
  339. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30104.json +4 -4
  340. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30105.json +1 -1
  341. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30106.json +1 -1
  342. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30107.json +1 -1
  343. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30108.json +1 -1
  344. package/blueprints/jobs-background/contributions/user-stories/jobs-background-us-30109.json +1 -1
  345. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-001.json +1 -1
  346. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-002.json +1 -1
  347. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-003.json +1 -1
  348. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-004.json +1 -1
  349. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-005.json +1 -1
  350. package/blueprints/messaging-queue-cloudflare/contributions/requirements/messaging-queue-cloudflare-req-006.json +1 -1
  351. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3001-messaging-queue-cloudflare-producer-facade.json +6 -6
  352. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3002-messaging-queue-cloudflare-consumer-registration.json +2 -2
  353. package/blueprints/messaging-queue-cloudflare/contributions/tacs/tac-3003-messaging-queue-cloudflare-event-sink.json +2 -2
  354. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29101.json +1 -1
  355. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29102.json +1 -1
  356. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29103.json +1 -1
  357. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29104.json +2 -2
  358. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29105.json +1 -1
  359. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29106.json +2 -2
  360. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29107.json +1 -1
  361. package/blueprints/messaging-queue-cloudflare/contributions/user-stories/messaging-queue-cloudflare-us-29108.json +1 -1
  362. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-001.json +1 -1
  363. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-002.json +1 -1
  364. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-003.json +1 -1
  365. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-004.json +1 -1
  366. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-005.json +1 -1
  367. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-006.json +1 -1
  368. package/blueprints/object-storage-s3/contributions/requirements/object-storage-s3-req-101.json +1 -1
  369. package/blueprints/object-storage-s3/contributions/tacs/tac-2901-object-storage-s3-facade.json +6 -6
  370. package/blueprints/object-storage-s3/contributions/tacs/tac-2902-object-storage-s3-multipart-uploader.json +2 -2
  371. package/blueprints/object-storage-s3/contributions/tacs/tac-2903-object-storage-s3-event-sink.json +2 -2
  372. package/blueprints/object-storage-s3/contributions/tacs/tac-2904-object-storage-s3-hetzner-endpoint-helper.json +2 -2
  373. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28101.json +1 -1
  374. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28102.json +1 -1
  375. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28103.json +2 -2
  376. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28104.json +1 -1
  377. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28105.json +2 -2
  378. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28106.json +1 -1
  379. package/blueprints/object-storage-s3/contributions/user-stories/object-storage-s3-us-28110.json +1 -1
  380. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-001.json +1 -1
  381. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-002.json +1 -1
  382. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-003.json +1 -1
  383. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-004.json +1 -1
  384. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-005.json +1 -1
  385. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-006.json +1 -1
  386. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-007.json +1 -1
  387. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-008.json +1 -1
  388. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-009.json +1 -1
  389. package/blueprints/observability-essentials/contributions/requirements/observability-essentials-req-010.json +1 -1
  390. package/blueprints/observability-essentials/contributions/tacs/tac-801-observability-essentials-liveness-probe.json +4 -4
  391. package/blueprints/observability-essentials/contributions/tacs/tac-802-observability-essentials-readiness-probe.json +12 -12
  392. package/blueprints/observability-essentials/contributions/tacs/tac-803-observability-essentials-status-page.json +6 -6
  393. package/blueprints/observability-essentials/contributions/tacs/tac-804-observability-essentials-notification-outcome.json +8 -8
  394. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7101.json +1 -1
  395. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7103.json +3 -3
  396. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7106.json +2 -2
  397. package/blueprints/observability-essentials/contributions/user-stories/observability-essentials-us-7107.json +1 -1
  398. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-001.json +1 -1
  399. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-002.json +1 -1
  400. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-003.json +1 -1
  401. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-004.json +1 -1
  402. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-005.json +1 -1
  403. package/blueprints/observability-logging/contributions/requirements/observability-logging-req-006.json +8 -2
  404. package/blueprints/observability-logging/contributions/tacs/tac-1601-observability-logging-logger-factory.json +6 -6
  405. package/blueprints/observability-logging/contributions/tacs/tac-1602-observability-logging-redaction-boundary.json +2 -2
  406. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15101.json +4 -4
  407. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15103.json +2 -2
  408. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15104.json +2 -2
  409. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15105.json +1 -1
  410. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15106.json +1 -1
  411. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15107.json +2 -2
  412. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15108.json +1 -1
  413. package/blueprints/observability-logging/contributions/user-stories/observability-logging-us-15109.json +3 -3
  414. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-001.json +1 -1
  415. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-002.json +1 -1
  416. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-003.json +1 -1
  417. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-004.json +1 -1
  418. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-005.json +1 -1
  419. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-006.json +1 -1
  420. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-007.json +1 -1
  421. package/blueprints/observability-probe-endpoints/contributions/requirements/observability-probe-endpoints-req-008.json +1 -1
  422. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1501-observability-probe-endpoints-profile-resolver.json +6 -6
  423. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1502-observability-probe-endpoints-handler-set.json +4 -4
  424. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1503-observability-probe-endpoints-listener-topology.json +6 -6
  425. package/blueprints/observability-probe-endpoints/contributions/tacs/tac-1504-observability-probe-endpoints-non-http-adapters.json +4 -4
  426. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14101.json +2 -2
  427. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14102.json +1 -1
  428. package/blueprints/observability-probe-endpoints/contributions/user-stories/observability-probe-endpoints-us-14105.json +3 -3
  429. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-001.json +1 -1
  430. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-002.json +1 -1
  431. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-003.json +1 -1
  432. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-004.json +1 -1
  433. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-005.json +1 -1
  434. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-006.json +1 -1
  435. package/blueprints/persistence-data-d1/contributions/requirements/persistence-data-d1-req-007.json +1 -1
  436. package/blueprints/persistence-data-d1/contributions/tacs/tac-1401-persistence-data-d1-facade.json +6 -6
  437. package/blueprints/persistence-data-d1/contributions/tacs/tac-1402-persistence-data-d1-migration-catalog.json +4 -4
  438. package/blueprints/persistence-data-d1/contributions/tacs/tac-1403-persistence-data-d1-deploy-gate.json +4 -4
  439. package/blueprints/persistence-data-d1/contributions/tacs/tac-1404-persistence-data-d1-recovery-runner.json +4 -4
  440. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13101.json +2 -2
  441. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13102.json +1 -1
  442. package/blueprints/persistence-data-d1/contributions/user-stories/persistence-data-d1-us-13107.json +2 -2
  443. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-001.json +1 -1
  444. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-002.json +1 -1
  445. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-003.json +1 -1
  446. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-004.json +1 -1
  447. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-005.json +1 -1
  448. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-006.json +1 -1
  449. package/blueprints/persistence-data-postgres/contributions/requirements/persistence-data-postgres-req-007.json +1 -1
  450. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2801-persistence-data-postgres-facade.json +6 -6
  451. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2802-persistence-data-postgres-migration-runner.json +4 -4
  452. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2803-persistence-data-postgres-transaction-helper.json +2 -2
  453. package/blueprints/persistence-data-postgres/contributions/tacs/tac-2804-persistence-data-postgres-recovery-runner.json +4 -4
  454. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27101.json +1 -1
  455. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27102.json +4 -4
  456. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27103.json +1 -1
  457. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27104.json +2 -2
  458. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27105.json +1 -1
  459. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27106.json +1 -1
  460. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27107.json +1 -1
  461. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27108.json +1 -1
  462. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27109.json +1 -1
  463. package/blueprints/persistence-data-postgres/contributions/user-stories/persistence-data-postgres-us-27110.json +1 -1
  464. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-001.json +1 -1
  465. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-002.json +1 -1
  466. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-003.json +1 -1
  467. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-004.json +1 -1
  468. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-005.json +1 -1
  469. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-006.json +1 -1
  470. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-007.json +1 -1
  471. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-008.json +1 -1
  472. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-009.json +1 -1
  473. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-010.json +1 -1
  474. package/blueprints/persistence-data-sqlite/contributions/requirements/persistence-data-sqlite-req-011.json +1 -1
  475. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-601-persistence-data-sqlite-store.json +6 -6
  476. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-602-persistence-data-sqlite-migration-runner.json +2 -2
  477. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-603-persistence-data-sqlite-migration-catalog.json +4 -4
  478. package/blueprints/persistence-data-sqlite/contributions/tacs/tac-604-persistence-data-sqlite-backup-runner.json +2 -2
  479. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5101.json +2 -2
  480. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5103.json +1 -1
  481. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5104.json +1 -1
  482. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5106.json +1 -1
  483. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5110.json +2 -2
  484. package/blueprints/persistence-data-sqlite/contributions/user-stories/persistence-data-sqlite-us-5111.json +1 -1
  485. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-001.json +1 -1
  486. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-002.json +1 -1
  487. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-003.json +1 -1
  488. package/blueprints/platform-cloudflare-cron-triggers/contributions/requirements/platform-cloudflare-cron-triggers-req-004.json +1 -1
  489. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3301-platform-cloudflare-cron-triggers-scheduled-handler.json +6 -1
  490. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3302-platform-cloudflare-cron-triggers-expression-router.json +9 -2
  491. package/blueprints/platform-cloudflare-cron-triggers/contributions/tacs/tac-3303-platform-cloudflare-cron-triggers-event-sink.json +6 -1
  492. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32101.json +6 -6
  493. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32102.json +5 -5
  494. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32103.json +3 -3
  495. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32104.json +4 -4
  496. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32105.json +4 -4
  497. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32106.json +4 -4
  498. package/blueprints/platform-cloudflare-cron-triggers/contributions/user-stories/platform-cloudflare-cron-triggers-us-32107.json +3 -3
  499. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-001.json +1 -1
  500. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-002.json +1 -1
  501. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-003.json +1 -1
  502. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-004.json +1 -1
  503. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-005.json +1 -1
  504. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-006.json +1 -1
  505. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-007.json +1 -1
  506. package/blueprints/platform-cloudflare-durable-objects/contributions/requirements/platform-cloudflare-durable-objects-req-008.json +1 -1
  507. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3401-platform-cloudflare-durable-objects-namespace-facade.json +6 -4
  508. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3402-platform-cloudflare-durable-objects-single-cell-shape.json +6 -4
  509. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3403-platform-cloudflare-durable-objects-alarm-handler.json +6 -4
  510. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3404-platform-cloudflare-durable-objects-websocket-hub.json +6 -4
  511. package/blueprints/platform-cloudflare-durable-objects/contributions/tacs/tac-3405-platform-cloudflare-durable-objects-event-sink.json +3 -2
  512. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33101.json +5 -5
  513. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33102.json +4 -4
  514. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33103.json +5 -5
  515. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33104.json +5 -5
  516. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33105.json +5 -5
  517. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33106.json +4 -4
  518. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33107.json +3 -3
  519. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33108.json +5 -5
  520. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33109.json +3 -3
  521. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33110.json +4 -4
  522. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33111.json +3 -3
  523. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33112.json +3 -3
  524. package/blueprints/platform-cloudflare-durable-objects/contributions/user-stories/platform-cloudflare-durable-objects-us-33113.json +5 -5
  525. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-001.json +1 -1
  526. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-002.json +1 -1
  527. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-003.json +1 -1
  528. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-004.json +1 -1
  529. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-005.json +1 -1
  530. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-006.json +1 -1
  531. package/blueprints/platform-cloudflare-kv/contributions/requirements/platform-cloudflare-kv-req-007.json +1 -1
  532. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3201-platform-cloudflare-kv-facade.json +3 -2
  533. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3202-platform-cloudflare-kv-cache-aside.json +3 -2
  534. package/blueprints/platform-cloudflare-kv/contributions/tacs/tac-3203-platform-cloudflare-kv-event-sink.json +3 -2
  535. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31101.json +4 -4
  536. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31102.json +3 -3
  537. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31103.json +4 -4
  538. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31104.json +4 -4
  539. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31105.json +4 -4
  540. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31106.json +3 -3
  541. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31107.json +3 -3
  542. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31108.json +3 -3
  543. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31109.json +4 -4
  544. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31110.json +5 -5
  545. package/blueprints/platform-cloudflare-kv/contributions/user-stories/platform-cloudflare-kv-us-31111.json +5 -5
  546. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-001.json +1 -1
  547. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-002.json +1 -1
  548. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-003.json +1 -1
  549. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-004.json +1 -1
  550. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-005.json +1 -1
  551. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-006.json +1 -1
  552. package/blueprints/platform-docker-compose-host/contributions/requirements/platform-docker-compose-host-req-007.json +1 -1
  553. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3901-platform-docker-compose-host-compose-layout.json +3 -2
  554. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3902-platform-docker-compose-host-secrets-mount.json +3 -2
  555. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3903-platform-docker-compose-host-healthcheck-lint.json +3 -2
  556. package/blueprints/platform-docker-compose-host/contributions/tacs/tac-3904-platform-docker-compose-host-reverse-proxy-artefact.json +3 -2
  557. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38101.json +5 -5
  558. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38102.json +4 -4
  559. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38103.json +4 -4
  560. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38104.json +4 -4
  561. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38105.json +3 -3
  562. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38106.json +3 -3
  563. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38107.json +3 -3
  564. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38108.json +3 -3
  565. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38109.json +3 -3
  566. package/blueprints/platform-docker-compose-host/contributions/user-stories/platform-docker-compose-host-us-38110.json +3 -3
  567. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-001.json +1 -1
  568. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-002.json +1 -1
  569. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-003.json +1 -1
  570. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-004.json +1 -1
  571. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-006.json +1 -1
  572. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-010.json +1 -1
  573. package/blueprints/security-auth-clerk/contributions/requirements/security-auth-clerk-req-011.json +1 -1
  574. package/blueprints/security-auth-clerk/contributions/tacs/tac-1001-security-auth-clerk-middleware.json +6 -6
  575. package/blueprints/security-auth-clerk/contributions/tacs/tac-1002-security-auth-clerk-authorisation-adapter.json +8 -3
  576. package/blueprints/security-auth-clerk/contributions/tacs/tac-1003-security-auth-clerk-session-verifier.json +8 -8
  577. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9102.json +1 -1
  578. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9108.json +1 -1
  579. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9112.json +6 -6
  580. package/blueprints/security-auth-clerk/contributions/user-stories/security-auth-clerk-us-9113.json +6 -6
  581. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-002.json +1 -1
  582. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-003.json +1 -1
  583. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-004.json +1 -1
  584. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-005.json +1 -1
  585. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-006.json +1 -1
  586. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-011.json +1 -1
  587. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-013.json +1 -1
  588. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-014.json +1 -1
  589. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-015.json +1 -1
  590. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-016.json +1 -1
  591. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-017.json +1 -1
  592. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-018.json +1 -1
  593. package/blueprints/security-auth-keycloak/contributions/requirements/security-auth-keycloak-req-019.json +1 -1
  594. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1201-security-auth-keycloak-discovery-client.json +10 -10
  595. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1202-security-auth-keycloak-jwt-verifier.json +8 -8
  596. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1203-security-auth-keycloak-introspection-client.json +8 -8
  597. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1204-security-auth-keycloak-provider-router.json +6 -6
  598. package/blueprints/security-auth-keycloak/contributions/tacs/tac-1205-security-auth-keycloak-role-adapter.json +4 -4
  599. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11102.json +1 -1
  600. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11103.json +2 -2
  601. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11104.json +1 -1
  602. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11106.json +3 -3
  603. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11111.json +2 -2
  604. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11114.json +1 -1
  605. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11115.json +5 -5
  606. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11116.json +7 -7
  607. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11117.json +7 -7
  608. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11118.json +7 -7
  609. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11119.json +7 -7
  610. package/blueprints/security-auth-keycloak/contributions/user-stories/security-auth-keycloak-us-11120.json +6 -6
  611. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-002.json +1 -1
  612. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-003.json +1 -1
  613. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-004.json +1 -1
  614. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-005.json +1 -1
  615. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-008.json +1 -1
  616. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-009.json +1 -1
  617. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-010.json +1 -1
  618. package/blueprints/security-auth-magic-link/contributions/requirements/security-auth-magic-link-req-011.json +1 -1
  619. package/blueprints/security-auth-magic-link/contributions/tacs/tac-501-security-auth-magic-link-manager.json +6 -6
  620. package/blueprints/security-auth-magic-link/contributions/tacs/tac-502-security-auth-magic-link-session-manager.json +6 -6
  621. package/blueprints/security-auth-magic-link/contributions/tacs/tac-503-security-auth-magic-link-login-routes.json +10 -10
  622. package/blueprints/security-auth-magic-link/contributions/tacs/tac-504-security-auth-magic-link-email-delivery-adapter.json +2 -2
  623. package/blueprints/security-auth-magic-link/contributions/tacs/tac-505-security-auth-magic-link-principal-registry.json +2 -2
  624. package/blueprints/security-auth-magic-link/contributions/user-stories/security-auth-magic-link-us-3111.json +2 -2
  625. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-002.json +1 -1
  626. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-003.json +1 -1
  627. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-005.json +1 -1
  628. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-006.json +1 -1
  629. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-008.json +1 -1
  630. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-009.json +1 -1
  631. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-011.json +1 -1
  632. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-012.json +1 -1
  633. package/blueprints/security-auth-oauth2/contributions/requirements/security-auth-oauth2-req-013.json +1 -1
  634. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1101-security-auth-oauth2-flow-controller.json +24 -14
  635. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1102-security-auth-oauth2-provider-adapter.json +4 -4
  636. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1103-security-auth-oauth2-session-bridge.json +10 -10
  637. package/blueprints/security-auth-oauth2/contributions/tacs/tac-1104-security-auth-oauth2-provider-selector.json +8 -3
  638. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10111.json +1 -1
  639. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10112.json +1 -1
  640. package/blueprints/security-auth-oauth2/contributions/user-stories/security-auth-oauth2-us-10114.json +5 -5
  641. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-001.json +1 -1
  642. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-002.json +1 -1
  643. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-003.json +1 -1
  644. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-004.json +1 -1
  645. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-005.json +1 -1
  646. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-006.json +1 -1
  647. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-007.json +1 -1
  648. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-008.json +1 -1
  649. package/blueprints/security-secrets-management/contributions/requirements/security-secrets-management-req-009.json +1 -1
  650. package/blueprints/security-secrets-management/contributions/tacs/tac-901-security-secrets-management-manager-client.json +8 -8
  651. package/blueprints/security-secrets-management/contributions/tacs/tac-902-security-secrets-management-manifest.json +4 -4
  652. package/blueprints/security-secrets-management/contributions/tacs/tac-903-security-secrets-management-env-reflector.json +4 -4
  653. package/blueprints/security-secrets-management/contributions/tacs/tac-904-security-secrets-management-rotation-gate.json +8 -8
  654. package/blueprints/security-secrets-management/contributions/tacs/tac-905-security-secrets-management-agent-cli.json +4 -4
  655. package/fixtures/canary-manifest.json +9 -9
  656. package/guidance/define-draft-shapes.md +89 -0
  657. package/guidance/define-intake.md +97 -0
  658. package/guidance/define-intent.md +107 -0
  659. package/guidance/define-litmus.md +102 -0
  660. package/guidance/discover-prototype.md +67 -0
  661. package/guidance/discovery-prototypes.md +69 -0
  662. package/guidance/harness-template.md +34 -0
  663. package/guidance/managed/agent-instructions-block.hash +1 -1
  664. package/guidance/managed/agent-instructions-block.md +34 -0
  665. package/guidance/manifest.json +10 -2
  666. package/package.json +1 -1
  667. package/rcf/adrs/adr-4124-define-freeze-verb.json +30 -0
  668. package/rcf/adrs/adr-4126-persona-tagged-blockers-two-levels.json +40 -0
  669. package/rcf/adrs/adr-4127-readiness-tab-order-and-register.json +40 -0
  670. package/rcf/adrs/adr-4129-questions-harness-driven-loop.json +25 -0
  671. package/rcf/adrs/adr-4130-intake-harness-split-tool-scanned.json +20 -0
  672. package/rcf/adrs/adr-4131-gates-bite-ack-recorded-override.json +30 -0
  673. package/rcf/adrs/adr-4132-prototypes-in-discovery-as-evidence.json +20 -0
  674. package/rcf/adrs/adr-4133-dag-dependency-depth-layout.json +40 -0
  675. package/rcf/adrs/adr-4134-index-json-route.json +35 -0
  676. package/rcf/adrs/adr-4135-readiness-po-register-and-adapter.json +35 -0
  677. package/rcf/adrs/adr-4136-embedding-host-fixture.json +35 -0
  678. package/rcf/code-nodes/cn-725.json +18 -2
  679. package/rcf/code-nodes/cn-726.json +10 -2
  680. package/rcf/code-nodes/cn-727.json +13 -4
  681. package/rcf/code-nodes/cn-728.json +18 -2
  682. package/rcf/code-nodes/cn-729.json +10 -2
  683. package/rcf/code-nodes/cn-730.json +13 -3
  684. package/rcf/code-nodes/cn-731.json +20 -0
  685. package/rcf/code-nodes/cn-732.json +14 -0
  686. package/rcf/code-nodes/cn-733.json +14 -0
  687. package/rcf/code-nodes/cn-734.json +14 -0
  688. package/rcf/code-nodes/cn-735.json +20 -0
  689. package/rcf/code-nodes/cn-736.json +14 -0
  690. package/rcf/code-nodes/cn-737.json +14 -0
  691. package/rcf/code-nodes/cn-738.json +14 -0
  692. package/rcf/code-nodes/cn-739.json +18 -0
  693. package/rcf/code-nodes/cn-740.json +19 -0
  694. package/rcf/code-nodes/cn-741.json +16 -0
  695. package/rcf/code-nodes/cn-742.json +16 -0
  696. package/rcf/code-nodes/cn-743.json +15 -0
  697. package/rcf/code-nodes/cn-744.json +22 -0
  698. package/rcf/code-nodes/cn-745.json +16 -0
  699. package/rcf/code-nodes/cn-746.json +14 -0
  700. package/rcf/code-nodes/cn-747.json +18 -0
  701. package/rcf/code-nodes/cn-748.json +16 -0
  702. package/rcf/code-nodes/cn-749.json +16 -0
  703. package/rcf/code-nodes/cn-750.json +15 -0
  704. package/rcf/code-nodes/cn-751.json +18 -0
  705. package/rcf/code-nodes/cn-752.json +14 -0
  706. package/rcf/code-nodes/cn-753.json +19 -0
  707. package/rcf/code-nodes/cn-754.json +17 -0
  708. package/rcf/code-nodes/cn-755.json +14 -0
  709. package/rcf/code-nodes/cn-756.json +15 -0
  710. package/rcf/code-nodes/cn-757.json +21 -0
  711. package/rcf/code-nodes/cn-758.json +16 -0
  712. package/rcf/code-nodes/cn-759.json +21 -0
  713. package/rcf/code-nodes/cn-760.json +19 -0
  714. package/rcf/code-nodes/cn-761.json +16 -0
  715. package/rcf/code-nodes/cn-762.json +18 -0
  716. package/rcf/code-nodes/cn-763.json +18 -0
  717. package/rcf/code-nodes/cn-764.json +15 -0
  718. package/rcf/code-nodes/cn-765.json +23 -0
  719. package/rcf/code-nodes/cn-766.json +17 -0
  720. package/rcf/code-nodes/cn-767.json +17 -0
  721. package/rcf/code-nodes/cn-768.json +19 -0
  722. package/rcf/code-nodes/cn-769.json +17 -0
  723. package/rcf/code-nodes/cn-770.json +18 -0
  724. package/rcf/fbs/fbs-196.json +13 -5
  725. package/rcf/fbs/fbs-198.json +42 -0
  726. package/rcf/fbs/fbs-199.json +59 -0
  727. package/rcf/fbs/fbs-200.json +46 -0
  728. package/rcf/fbs/fbs-201.json +49 -0
  729. package/rcf/fbs/fbs-202.json +170 -0
  730. package/rcf/fbs/fbs-203.json +100 -0
  731. package/rcf/requirements/req-002.json +2 -2
  732. package/rcf/requirements/req-173.json +2 -2
  733. package/rcf/requirements/req-174.json +10 -4
  734. package/rcf/requirements/req-175.json +10 -4
  735. package/rcf/requirements/req-176.json +25 -0
  736. package/rcf/requirements/req-177.json +31 -0
  737. package/rcf/requirements/req-178.json +31 -0
  738. package/rcf/requirements/req-179.json +31 -0
  739. package/rcf/requirements/req-180.json +31 -0
  740. package/rcf/requirements/req-181.json +31 -0
  741. package/rcf/requirements/req-182.json +25 -0
  742. package/rcf/requirements/req-186.json +25 -0
  743. package/rcf/requirements/req-187.json +31 -0
  744. package/rcf/requirements/req-188.json +25 -0
  745. package/rcf/tacs/tac-001.json +7 -7
  746. package/rcf/tacs/tac-002.json +23 -23
  747. package/rcf/tacs/tac-003.json +5 -5
  748. package/rcf/tacs/tac-004.json +9 -9
  749. package/rcf/tacs/tac-005.json +7 -7
  750. package/rcf/tacs/tac-006.json +21 -21
  751. package/rcf/tacs/tac-007.json +7 -7
  752. package/rcf/tacs/tac-008.json +7 -7
  753. package/rcf/tacs/tac-4101-feedback-cli.json +5 -5
  754. package/rcf/tacs/tac-4102-feedback-store.json +9 -9
  755. package/rcf/tacs/tac-4103-feedback-redact.json +5 -5
  756. package/rcf/tacs/tac-4104-feedback-fingerprint.json +3 -3
  757. package/rcf/tacs/tac-4105-feedback-render.json +7 -7
  758. package/rcf/tacs/tac-4106-feedback-destination.json +5 -5
  759. package/rcf/tacs/tac-4107-feedback-gh.json +7 -7
  760. package/rcf/tacs/tac-4108-feedback-hook.json +7 -7
  761. package/rcf/tacs/tac-4121-define-ledgers.json +16 -3
  762. package/rcf/tacs/tac-4122-define-gates.json +69 -5
  763. package/rcf/tacs/tac-4123-define-readiness.json +66 -4
  764. package/rcf/tacs/tac-4124-define-freeze.json +28 -0
  765. package/rcf/tacs/tac-4125-build-bundle-refuse-override-skip.json +43 -0
  766. package/rcf/tacs/tac-4126-define-validate-findings.json +32 -0
  767. package/rcf/tacs/tac-4127-readiness-view.json +49 -0
  768. package/rcf/tacs/tac-4128-define-guidance.json +59 -0
  769. package/rcf/tacs/tac-4129-define-questions.json +45 -0
  770. package/rcf/tacs/tac-4130-define-intake-brief.json +35 -0
  771. package/rcf/tacs/tac-4131-build-dag-view.json +39 -0
  772. package/rcf/tacs/tac-4132-id-lookup.json +42 -0
  773. package/rcf/tacs/tac-4133-readiness-po-layer.json +37 -0
  774. package/rcf/tacs/tac-4134-wespa-host-fixture.json +54 -0
  775. package/rcf/test-suites/ts-016.json +3 -3
  776. package/rcf/test-suites/ts-215.json +148 -4
  777. package/rcf/test-suites/ts-216.json +19 -3
  778. package/rcf/test-suites/ts-218.json +78 -0
  779. package/rcf/test-suites/ts-219.json +70 -0
  780. package/rcf/test-suites/ts-220.json +78 -0
  781. package/rcf/test-suites/ts-221.json +78 -0
  782. package/rcf/test-suites/ts-222.json +100 -0
  783. package/rcf/test-suites/ts-223.json +94 -0
  784. package/rcf/test-suites/ts-224.json +70 -0
  785. package/rcf/test-suites/ts-225.json +78 -0
  786. package/rcf/test-suites/ts-226.json +158 -0
  787. package/rcf/test-suites/ts-227.json +38 -0
  788. package/rcf/test-suites/ts-228.json +86 -0
  789. package/rcf/test-suites/ts-229.json +83 -0
  790. package/rcf/test-suites/ts-230.json +76 -0
  791. package/rcf/test-suites/ts-231.json +104 -0
  792. package/rcf/test-suites/ts-232.json +109 -0
  793. package/rcf/test-suites/ts-233.json +61 -0
  794. package/rcf/test-suites/ts-234.json +53 -0
  795. package/rcf/test-suites/ts-235.json +53 -0
  796. package/rcf/user-stories/us-17302.json +50 -0
  797. package/rcf/user-stories/us-17401.json +14 -2
  798. package/rcf/user-stories/us-17402.json +55 -0
  799. package/rcf/user-stories/us-17403.json +60 -0
  800. package/rcf/user-stories/us-17404.json +51 -0
  801. package/rcf/user-stories/us-17405.json +61 -0
  802. package/rcf/user-stories/us-17406.json +51 -0
  803. package/rcf/user-stories/us-17502.json +60 -0
  804. package/rcf/user-stories/us-17503.json +65 -0
  805. package/rcf/user-stories/us-17504.json +46 -0
  806. package/rcf/user-stories/us-17601.json +58 -0
  807. package/rcf/user-stories/us-17702.json +51 -0
  808. package/rcf/user-stories/us-17802.json +40 -0
  809. package/rcf/user-stories/us-17902.json +46 -0
  810. package/rcf/user-stories/us-18001.json +55 -0
  811. package/rcf/user-stories/us-18002.json +35 -0
  812. package/rcf/user-stories/us-18101.json +35 -0
  813. package/rcf/user-stories/us-18202.json +40 -0
  814. package/rcf/user-stories/us-18601.json +55 -0
  815. package/rcf/user-stories/us-18602.json +50 -0
  816. package/rcf/user-stories/us-18603.json +45 -0
  817. package/rcf/user-stories/us-18701.json +50 -0
  818. package/rcf/user-stories/us-18702.json +50 -0
  819. package/rcf/user-stories/us-18801.json +45 -0
  820. package/rcf/user-stories/us-204.json +59 -0
  821. package/rcf/user-stories/us-205.json +64 -0
  822. package/rcf/user-stories/us-206.json +54 -0
  823. package/releases/releases.yaml +21 -1
  824. package/src/blueprint/consistency-lint.js +72 -3
  825. package/src/cli/build.js +206 -3
  826. package/src/cli/freeze.js +780 -0
  827. package/src/cli/help.js +12 -0
  828. package/src/cli/ledger.js +228 -12
  829. package/src/cli/questions.js +288 -0
  830. package/src/cli/readiness.js +393 -74
  831. package/src/cli/validate.js +8 -0
  832. package/src/cli/view.js +29 -0
  833. package/src/define/concern-catalogue.js +130 -0
  834. package/src/define/freeze-record.js +104 -15
  835. package/src/define/ledgers.js +210 -11
  836. package/src/define/probe-runner.js +55 -0
  837. package/src/define/validate-findings.js +256 -0
  838. package/src/intake/index.js +1 -1
  839. package/src/intake/orchestrator.js +117 -0
  840. package/src/mcp/tools.js +354 -0
  841. package/src/query/delta.js +6 -0
  842. package/src/query/gates.js +1258 -48
  843. package/src/query/index.js +22 -3
  844. package/src/query/questions.js +438 -0
  845. package/src/query/readiness.js +427 -9
  846. package/src/query/refuse-on-admissibility.js +137 -4
  847. package/src/ruleset/ruleset.json +35 -0
  848. package/src/server/index.js +24 -2
  849. package/src/server/routes.js +68 -1
  850. package/src/setup/identity-seed.js +17 -0
  851. package/src/view/build-dag.js +563 -0
  852. package/src/view/components/badge.js +41 -0
  853. package/src/view/components/diff.js +72 -0
  854. package/src/view/components/doc-row.js +62 -0
  855. package/src/view/components/empty-state.js +35 -0
  856. package/src/view/components/entity-selector.js +137 -0
  857. package/src/view/components/filter-bar.js +97 -0
  858. package/src/view/components/findings-list.js +49 -0
  859. package/src/view/components/index.js +12 -0
  860. package/src/view/components/pill.js +46 -0
  861. package/src/view/components/sub-tab-strip.js +43 -0
  862. package/src/view/components/toast.js +25 -0
  863. package/src/view/components-fixture.js +265 -0
  864. package/src/view/doc-renderers/architecture.js +304 -0
  865. package/src/view/doc-renderers/build.js +160 -0
  866. package/src/view/doc-renderers/index.js +2 -0
  867. package/src/view/doc-renderers/prd.js +35 -6
  868. package/src/view/html-page.js +700 -602
  869. package/src/view/index.js +96 -3
  870. package/src/view/live-client.js +39 -6
  871. package/src/view/needs-work.js +79 -0
  872. package/src/view/page-init.js +2193 -0
  873. package/src/view/readiness/phrasebook.js +115 -0
  874. package/src/view/readiness/po-layer.js +288 -0
  875. package/src/view/readiness/question-adapter.js +329 -0
  876. package/src/view/readiness/stage-legend.js +71 -0
  877. package/src/view/readiness.js +505 -0
  878. package/src/view/style.css +2017 -382
  879. package/src/view/test-host/embed-client.js +121 -0
  880. package/src/view/test-host/fixture.js +183 -0
  881. package/src/view/test-host/lints.js +220 -0
  882. package/src/view/view-index.js +323 -0
@@ -0,0 +1,49 @@
1
+ {
2
+ "createdAt": "2026-10-01T18:00:00Z",
3
+ "updatedAt": "2026-10-01T18:00:00Z",
4
+ "tacId": "TAC-4127-readiness-view",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "Readiness viewer tab and shared pill, findings-list and diff components",
10
+ "purpose": "Render the computeReadiness object as tab 1 of the HTML review surface so the viewer and `rcf define readiness --json` share one source of truth. Factor the three visual roles the tab needs (status pill, items list, before-after) into stable modules every tab can call. The tab is pure: it never recomputes readiness; the renderer takes the result object and the profile and emits one HTML string.",
11
+ "responsibilities": [
12
+ "src/view/readiness.js: renderReadinessPanel(result, { profile }) returns the eleven ordered blocks in spec section 5 as one HTML string: tree line (formatTreeLine), two verdict pills with formatVerdictLines strings as labels, two per-persona next-action lines, D1..D8 state chips with reason/acknowledgement text on hover, blockers grouped by persona (register orders the pair; non-register group collapses with count visible, never omitted), delta list grouped by REQ ancestor with document-level diff on changed items, per-stage check detail with persona pill and findings list when not ok, coverage tree-versus-delta with re-verify and re-execute counts, decisions outstanding in the #241 numbered format, a Freeze now control enabled iff levels.readyToBuild.ok, and the loaded freeze record.",
13
+ "src/view/readiness.js: deliberately imports nothing from src/query/ that is not already exported from src/query/index.js (formatVerdictLines, formatTreeLine, shortHash); the renderer never calls computeReadiness and never loads anything from disk.",
14
+ "src/view/components/pill.js: pill({ value, variant, title?, href? }) returns `<span class=\"rcf-pill rcf-pill--<variant> rcf-pill--<normalisedValue>\" title?>{value}</span>` or an anchor when href is set; the normalisedValue is lowercased and `/` or spaces are collapsed to `-`.",
15
+ "src/view/components/findings-list.js: findingsList({ heading, count, items }) returns `<div class=\"rcf-findings-list\"><h4>{heading} <span class=\"rcf-findings-list__count\">{count}</span></h4><ul>...<li><a href={anchor}>{id}</a>: {why}</li>...</ul></div>` with ids capped at 20 and a `... N more suppressed` line beyond.",
16
+ "src/view/components/diff.js: diff(before, after) returns a two-column rendering of two document bodies for the delta list; criterion-level before-and-after is deferred per ADR-4127.",
17
+ "src/view/html-page.js: Readiness button and tabpanel are the first entries; the former Overview button and panel are relabelled PRD; the data-tab=overview and id=tab-overview identifiers are preserved so existing hash anchors still resolve; the inline-script TABS array gains 'readiness' as the first entry (default active tab) and keeps the existing four entries in order.",
18
+ "src/view/index.js: renderModelToPage loads the freeze record, ledgers, test pointers and profile text once, invokes computeReadiness via the pure src/query/ seam, and threads the result into the model so renderPage and renderContent carry one computed object; the SSE tree-update broadcast rewalks and recomputes on every change under rcf/."
19
+ ],
20
+ "internalStructure": "readiness.js is a sequence of eleven small block builders calling the three shared components; each block consumes exactly one top-level field of the readiness result so a wire-level JSON diff ties to a visible block. The register ordering is picked once at the top via pickRegister (same helper the CLI uses) and threaded down. Hash anchors are built with the same `#<docId>` convention the existing tabs use so blocker-id links open the right tab and expand the right <details> through the existing resolveHash routine.",
21
+ "interfaces": [
22
+ {
23
+ "name": "renderReadinessPanel",
24
+ "kind": "other",
25
+ "description": "[draft] Build the Readiness tab inner HTML from the readiness result and the operator profile; pure, no I/O, no recompute."
26
+ },
27
+ {
28
+ "name": "pill",
29
+ "kind": "other",
30
+ "description": "[draft] Render one rcf-pill span (or anchor) with a vocabulary class per value."
31
+ },
32
+ {
33
+ "name": "findingsList",
34
+ "kind": "other",
35
+ "description": "[draft] Render a heading plus id-anchor list with per-id why strings; ids capped at 20."
36
+ },
37
+ {
38
+ "name": "diff",
39
+ "kind": "other",
40
+ "description": "[draft] Render two document bodies side by side; document-level only in 0.29.0."
41
+ },
42
+ {
43
+ "name": "pickRegister",
44
+ "kind": "other",
45
+ "description": "[draft] Decide persona ordering from profile.md text; same contract as the CLI helper (productOwner | engineer | unstated)."
46
+ }
47
+ ],
48
+ "notes": "The 0.29.0 scope keeps the diff component document-level only; criterion-level before-and-after is deferred to the UX review per ADR-4127. The pill component is additive and never changes the Product Map `pm-mini` or Requirements `status-chip` markup in this PR; those swaps are follow-ups once a mechanical mapping is established."
49
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "createdAt": "2026-10-02T18:00:00Z",
3
+ "updatedAt": "2026-10-03T16:10:00Z",
4
+ "tacId": "TAC-4128-define-guidance",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "DEFINE-stage guidance, prompts and managed rules",
10
+ "purpose": "serve the DEFINE-stage guidance pages, the argument-free MCP prompts and the managed-block rules that steer the harness through intake and the question loop.",
11
+ "responsibilities": [
12
+ "guidance/define-intent.md: the PO-register loop content from spec section 1.1, 1.2 and 1.4 as operator prose; wording rules for the PO register; what to print at the end.",
13
+ "guidance/elicitation-playbook.md: the L-sized restructure named in spec section 6 (sections 2 to 8 around D1 to D8 over the delta, the PO loop as the first worked example and the CSV feature as the second).",
14
+ "guidance/managed/agent-instructions-block.md: the two rules of spec section 6 last row - the PO-session rule and the prototype rule. The managed block regeneration never removes an existing rule.",
15
+ "guidance/manifest.json: register the new slug `define-intent`, the `rcf://docs/define-intent` resource, and the two new argument-free prompts `rcf_define_intent` and `rcf_define_intake`.",
16
+ "serves `rcf_define_intent` and `rcf_define_intake` prompts and the two managed-block rules of REQ-186 and REQ-187.",
17
+ "serves `rcf_define_draft_shapes` and `rcf_discover_prototype` prompts and `guidance/discovery-prototypes.md` (REQ-188, REQ-182 amended): the draft-shapes prompt walks the agent through pre-populating `[draft]` core entities, TAC stubs and interfaces after L1; the discovery-prototype prompt walks the agent through recording a prototype in DISCOVERY as evidence; `guidance/discovery-prototypes.md` carries the doctrine and the ledger conventions and is also served as `rcf://docs/discovery-prototypes`; the managed block gains one prototype rule (ADR-4132) stating that a statement sourced to `prototype:` is evidence and a document citing prototype code as its implementation is a D2 finding the engineer resolves by re-deriving.",
18
+ "serves `rcf_define_litmus` prompt (0.30.0 PR 7, spec section 6 row): the argument-free markdown walks the harness through spawning n fresh-context readers and landing their readings as probe-ledger entries whose `finding` begins `litmus:<reader>:` and whose text includes the current `hash`. Registered through `guidance/manifest.json` and served through the existing MCP prompt plumbing. No new resource URI."
19
+ ],
20
+ "internalStructure": "The MCP prompt and resource plumbing (src/mcp/prompts.js, src/mcp/resources.js) already serves manifest-registered entries byte-faithfully; this TAC only adds entries and markdown files. The managed block is regenerated by `rcf doctor` from the fragment in guidance/harness-template.md; the two new rules append to that fragment, and the regeneration pass preserves rules the project authored outside the managed markers.",
21
+ "interfaces": [
22
+ {
23
+ "name": "rcf_define_intent",
24
+ "kind": "other",
25
+ "description": "Argument-free MCP prompt served from guidance/define-intent.md."
26
+ },
27
+ {
28
+ "name": "rcf_define_intake",
29
+ "kind": "other",
30
+ "description": "Argument-free MCP prompt served from the intake prompt markdown."
31
+ },
32
+ {
33
+ "name": "rcf://docs/define-intent",
34
+ "kind": "other",
35
+ "description": "Resource URI backed by guidance/define-intent.md."
36
+ },
37
+ {
38
+ "name": "rcf_define_draft_shapes",
39
+ "kind": "other",
40
+ "description": "Argument-free MCP prompt served from guidance/define-draft-shapes.md: walks the agent through pre-populating [draft] core entities, TAC stubs and interfaces after L1 is green."
41
+ },
42
+ {
43
+ "name": "rcf_discover_prototype",
44
+ "kind": "other",
45
+ "description": "Argument-free MCP prompt served from guidance/discover-prototype.md: walks the agent through recording a prototype in DISCOVERY as evidence (classification, brief statements with prototype: source spans, the burn statement, the salvage-by-re-derivation path)."
46
+ },
47
+ {
48
+ "name": "rcf://docs/discovery-prototypes",
49
+ "kind": "other",
50
+ "description": "Resource URI backed by guidance/discovery-prototypes.md: the doctrine and the ledger conventions for prototypes in DISCOVERY (ADR-4132)."
51
+ },
52
+ {
53
+ "name": "rcf_define_litmus",
54
+ "kind": "other",
55
+ "description": "Argument-free MCP prompt served from guidance/define-litmus.md: walks the harness through spawning n fresh-context readers at the current tree hash and landing their readings as probe-ledger entries whose `finding` begins `litmus:<reader>:` and whose text includes the hash (0.30.0 PR 7)."
56
+ }
57
+ ],
58
+ "notes": "This TAC was authored by PR 2 after the guidance slice did not land on origin/main under its reserved id ADR-4128 / TAC-4128; the shift is recorded in the PR 2 report. Later DEFINE PRs may expand it with further prompts and managed rules."
59
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "createdAt": "2026-10-02T18:00:00Z",
3
+ "updatedAt": "2026-10-03T18:30:00Z",
4
+ "tacId": "TAC-4129-define-questions",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "the questions compute and the questions verb",
10
+ "purpose": "compute and print the persona question set.",
11
+ "responsibilities": [
12
+ "src/query/questions.js exposes computeQuestions(readiness, { tree, ledgers, profileText, persona }). It reads levels.intentComplete.blockedBy for persona productOwner or personas.engineer.blockers for persona engineer, expands each blocker's failing items into one question each via a per-check template, orders them D1 then D2 then D4 then D7 then by source span, carries one writeBack entry per `when` case the template defines, groups by source span, and never creates or modifies a file under rcf/.",
13
+ "src/cli/questions.js registers `rcf define questions [--json] [--persona productOwner|engineer] [--stage <D|short>] [--limit <n>]`. Persona default comes from the profile register, else productOwner. Text mode prints groups and asks; --json emits the computeQuestions object. Exit 0 always; unknown persona exits 2 with usage naming productOwner and engineer. Writes nothing under rcf/.",
14
+ "src/mcp/tools.js adds `rcf_define_questions` (same object as the verb's --json), `rcf_define_readiness` (the readiness object), and `rcf_define_ledger` (thin wrapper over the ledger handler). All three share the envelope the existing query and write tools use."
15
+ ],
16
+ "internalStructure": "computeQuestions is a pure function: it folds the readiness blockers into questions through a per-check template table, deterministically ids each question from (stage, check, itemId), carries writeBack commands verbatim, and groups by source span (the trailing `(source: path:line-span)` marker on brief statements, else `tree`). The CLI verb runs the same walkTree + loadAllLedgers + loadFreezeRecord + readProfileText path readiness.js uses, calls computeReadiness, then computeQuestions. The MCP tools reuse the handler shape of the existing query tools (walkTree, okResult, usageErrorResult).",
17
+ "interfaces": [
18
+ {
19
+ "name": "computeQuestions",
20
+ "kind": "other",
21
+ "description": "Compute the persona question set from a readiness result, a tree, the four ledgers and the profile text. Returns an object with treeHash, persona, level, ok, remaining, groups[], questions[], optional[] and engineer (collapsed count on the PO return). [legacy kind: moduleApi; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
22
+ },
23
+ {
24
+ "name": "rcf define questions",
25
+ "kind": "cliCommand",
26
+ "description": "Print or JSON-emit the persona question set. --persona defaults to the profile register. --stage narrows to one stage; --limit caps the questions array. Writes nothing under rcf/."
27
+ },
28
+ {
29
+ "name": "rcf_define_questions",
30
+ "kind": "other",
31
+ "description": "MCP tool: same structuredContent as the verb's --json output."
32
+ },
33
+ {
34
+ "name": "rcf_define_readiness",
35
+ "kind": "other",
36
+ "description": "MCP tool: the readiness object."
37
+ },
38
+ {
39
+ "name": "rcf_define_ledger",
40
+ "kind": "other",
41
+ "description": "MCP tool: thin wrapper over the ledger handler, taking { name, verb, ...flags }."
42
+ }
43
+ ],
44
+ "notes": "The viewer owns the Readiness tab PO-facing surface (viewer refresh PR 8); this TAC supplies only the data shape and the verb. Prompts and guidance land under TAC-4128."
45
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "createdAt": "2026-10-02T16:40:00Z",
3
+ "updatedAt": "2026-10-02T16:40:00Z",
4
+ "tacId": "TAC-4130-define-intake-brief",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "document intake into the brief ledger",
10
+ "purpose": "marker parser, scan wiring, `--findings` to open-question statements for `brief add --from`.",
11
+ "responsibilities": [
12
+ "src/define/ledgers.js parseBriefFromFile parses a leading `[kind]` marker and a trailing `(source: ...)` marker on each non-empty line; a line without `[kind]` takes `--kind` (default `capability`); a line without `(source: ...)` takes `--source` or the file path; `?`-, `TBC`-, `TBD`-, `Open:`- and `Question:`-leading lines kind `openQuestion` unless a marker says otherwise; an unknown `[kind]` raises LedgerError code 'usage' before any write; a 0.29.0 line-per-statement file parses unchanged.",
13
+ "src/cli/ledger.js `brief add` wires `--scan` / `--no-scan` (default on with `--from`, off with `--text`); runs the mechanical scans in src/intake/orchestrator.js over new statements against existing ones; `--findings <path>` accepts the shape `rcf discover intake --input` takes and makes one `openQuestion` statement per finding with `source: scan:<name>:<ids>`; `--dry-run` prints added + findings and writes nothing; `--json` emits `{ added: [...], findings: [...] }`; `--no-scan` together with `--findings` exits 2.",
14
+ "On a frozen tree the comparison set is every existing statement. Two statement files added in sequence scan the second against the first and the finding's `scan:` source names ids from both."
15
+ ],
16
+ "internalStructure": "parseBriefFromFile returns drafts { text, kind, source } one per non-empty line. The CLI mints statements through addEntry; when scans are on it calls runIntakeScansOnDelta(newStatements, existingStatements) over the just-minted ids and the pre-existing body, then appends one openQuestion per finding whose source names the scan and the involved ids. `--findings` reads a JSON object with a `validationFindings[]` array (the same shape `rcf discover intake --input` accepts) and converts each entry to an openQuestion statement whose text is `detail` and whose source is `scan:<kind>`. `--dry-run` composes the full plan with every finding already converted and writes nothing.",
17
+ "interfaces": [
18
+ {
19
+ "name": "parseStatementFile",
20
+ "kind": "other",
21
+ "description": "[draft] Parse a statement file into drafts { text, kind, source } one per non-empty line, honouring the leading [kind] and trailing (source: ...) markers and the kind defaults the caller supplies."
22
+ },
23
+ {
24
+ "name": "runIntakeScansOnDelta",
25
+ "kind": "other",
26
+ "description": "[draft] Run the mechanical intake scans over the newly minted statements against every existing statement and return a flat findings array."
27
+ },
28
+ {
29
+ "name": "rcf define ledger brief add --from --scan --no-scan --findings --dry-run --json",
30
+ "kind": "cliCommand",
31
+ "description": "Add brief statements from a statement file, optionally running the intake scans and converting operator-supplied findings into openQuestion statements."
32
+ }
33
+ ],
34
+ "notes": "This TAC covers the writer-side intake wiring only. The question-computation surface and the Register-prompt replacement land in PR 2 and are not covered here."
35
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "createdAt": "2026-10-02T18:00:00Z",
3
+ "updatedAt": "2026-10-02T18:00:00Z",
4
+ "tacId": "TAC-4131-build-dag-view",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "Build/DAG sub-tab: DagToolbar, DagCanvas, DagInspector and the unconnected lane",
10
+ "purpose": "Render the Build tab's DAG sub-tab as the dependency-depth layout the design doc section 7 names: a toolbar with Status / Area / Buildable-now / Critical-path / Show-unconnected filters, a scrollable canvas with HTML nodes and inline SVG edges laid by `dependsOnFbsIds` depth and `buildOrder` rows, an inspector with needs and waits-on links, and a toggled unconnected lane. The renderer is pure: it takes the built tree model, emits one HTML string, mounts no inline script and reads from no provider other than the model.",
11
+ "responsibilities": [
12
+ "src/view/doc-renderers/build.js (or an adjacent src/view/build-dag.js shared from it): renderBuildDag(model, { buildableIds, cycleIds }) returns the full DAG sub-panel HTML string - toolbar + grid + inspector shell + hidden unconnected lane - with every FBS node carrying `data-fbs-id`, `data-status`, `data-domain`, `data-depth`, `data-buildable`, `data-critical`, `data-unconnected` so the client wiring can filter and highlight without re-rendering.",
13
+ "Layout: columns are 0..maxDepth; depth is the longest chain length from `dependsOnFbsIds` to the root (0 for no dependency). Rows inside a column are `buildOrder` ascending with `fbsId` lexicographic tie-break. Nodes are fixed-width buttons; edges are cubic SVG paths with arrowheads from dependency to dependant. Cycle members are excluded from the depth layout and surfaced as a finding; non-cycle FBS still render.",
14
+ "Unconnected lane: FBS with no incoming and no outgoing dependency. Hidden by default; the toggle's count equals that set's size.",
15
+ "Critical path: longest chain by node count across the DAG (because `estimatedHours` is sparse per the gap in design doc section 7); members get `data-critical=1`.",
16
+ "src/view/page-init.js: wireBuildDag() mounts click-to-highlight (upstream outlines link, downstream outlines warning, rest dim), writes `#tab=build&sub=dag&entity=<id>` through the existing writeHash on select, reads `entity=` on load to restore the selection and auto-opens the unconnected lane when the selected id is unconnected; filter toggles mirror the toolbar state onto node data attrs and keep the current selection.",
17
+ "html-page.js: renderBuildPanel swaps the PR 5 placeholder for `renderBuildDag(model, ...)`; the Build/Specs sub-tab is unchanged, the SubTabStrip wiring from PR 5 is unchanged, the Build tab's BuildStats and page head stay in place.",
18
+ "style.css: adds `.rcf-dag-*` tokens (toolbar, grid, canvas, node, edge, inspector, unconnected lane) sized against the shared Stravica tokens so both light and dark themes work; the canvas owns its own vertical and horizontal overflow so the viewer never scrolls horizontally."
19
+ ],
20
+ "internalStructure": "Three composition seams. (1) a pure graph helper (buildDagLayout(fbsItems)) returns `{ nodes: [{ id, title, status, domain, depth, buildOrder, acCount, size, buildable, direct: { needs, waits }, closure: { upstream, downstream }, critical, unconnected }], edges: [{ from, to }], cycles: string[], unconnectedIds: string[], criticalPathIds: string[], maxDepth }`; (2) renderDagToolbar / renderDagCanvas / renderDagInspector compose one HTML string from the layout; (3) page-init.js's wireBuildDag reads from the DOM only (data attrs on nodes, aria-pressed on toggles) and never recomputes the layout. Needs and waits-on in the inspector resolve from the same closure sets the layout carries, so the two surfaces cannot disagree.",
21
+ "interfaces": [
22
+ {
23
+ "name": "renderBuildDag",
24
+ "kind": "other",
25
+ "description": "[draft] Build the Build/DAG sub-tab HTML - toolbar, canvas, inspector shell, unconnected lane - from the built tree model and the pre-computed buildable set."
26
+ },
27
+ {
28
+ "name": "buildDagLayout",
29
+ "kind": "other",
30
+ "description": "[draft] Pure projection of `fbsItems[].dependsOnFbsIds` into DAG nodes, edges, depth columns, closures, critical path and unconnected ids; cycles surface as a `cycles` list and their members are excluded from the depth layout."
31
+ },
32
+ {
33
+ "name": "wireBuildDag",
34
+ "kind": "other",
35
+ "description": "[draft] Client-side wiring for the DAG canvas: click-to-highlight, filters, `#tab=build&sub=dag&entity=` round-trip, hash-driven selection restore, Open-in-Specs navigation. Reads from the DOM; sends no outbound postMessage."
36
+ }
37
+ ],
38
+ "notes": "The v1 rcf-tools DAG is the reference: keep its tiers, click-to-highlight, filters and stats; fix its dark-only palette, missing inspector, orphan pile-up, missing deep links and two-direction scrolling. No new TS, FBS or CN entry is minted - viewer-code PRs do not grow the build-step graph. The pill component (REQ-181) renders every status pill in the inspector; the shared `findings-list` module reports the cycle finding so the toolbar carries the same vocabulary as the rest of the tabs."
39
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "createdAt": "2026-10-02T19:00:00Z",
3
+ "updatedAt": "2026-10-02T19:00:00Z",
4
+ "tacId": "TAC-4132-id-lookup",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "ID lookup: ./index.json route, LookupModal, Cmd/Ctrl+F keyboard binding",
10
+ "purpose": "Build `./index.json` from `BuiltTreeModel` on every rewalk - one row per document id plus one per AC, carrying `{ id, kind, title, snippet, parent, tab }` - and render the LookupModal that opens from the SearchButton or Cmd/Ctrl+F, ranks results per design doc section 6 and picks `#tab=<tab>&entity=<id>` through the existing writeHash so `embed` and `theme` survive. The index is a new route, fetched lazily on first open and refreshed when the SSE tree-changed event lands.",
11
+ "responsibilities": [
12
+ "src/view/view-index.js: buildViewIndex(model) returns `{ rows: Array<{ id, kind, title, snippet, parent, tab }> }` from a BuiltTreeModel. One row per PRD, REQ, US, TAD, TAC, ADR, BS, FBS, TS; one row per AC under each US; snippet is the first 110 chars of the document's description (or purpose / summary / context, the kind's prose field) with whitespace collapsed; parent is the walker-visible parent id (US for an AC, REQ for a US, PRD for a REQ, TAD for a TAC or ADR, BS for a FBS, US for a TS); tab is the viewer tab that owns the id (overview / requirements / architecture / build; TS carry the US's tab).",
13
+ "src/server/routes.js + src/server/index.js: new route `GET /index.json` returns `{ rows }` as application/json. Built once per rewalk (so the first fetch is served from an in-memory snapshot) and broadcast as part of the tree-update event version so the client knows to refetch.",
14
+ "src/view/html-page.js: a SearchButton (<button class=\"rcf-search-btn\" data-rcf-search>) renders inside the shell's `<div class=\"tools\">` right of the tabstrip, with the aria-label `Find any document or AC`. One hidden LookupModal (<div class=\"rcf-lookup\" data-rcf-lookup hidden>) renders outside #rcf-live-content (next to the toast) so the SSE innerHTML swap cannot blow it away. The modal shell carries an input, a results list, an empty state and the reload affordance; results are rendered client-side.",
15
+ "src/view/page-init.js: wireLookup() lazily fetches `./index.json` on first open (XMLHttpRequest, same relative-script policy as PR 1), caches the parsed rows, listens for `rcf-tree-update` and marks the cache dirty for the next open; binds `(ctrl|meta)+F` (but not Shift+F) on `keydown` with preventDefault; drives type-ahead ranking (id-first exact/prefix/contains; then word match on title above snippet; single character is id-only; 20 result cap; matches marked); keyboard navigation up/down/Enter/Esc; a pick calls writeHash so `?embed=` and `?theme=` are preserved per PR 1's Dex contract.",
16
+ "src/view/style.css: `.rcf-search-btn` and `.rcf-lookup*` tokens aligned with the Stravica brand palette; focus trap and visible focus ring; empty-state and reload affordance in both themes."
17
+ ],
18
+ "internalStructure": "Three composition seams. (1) `buildViewIndex(model)` is a pure projection of the model into a row list; it reads nothing beyond the model and returns a plain object. (2) The server snapshots the stringified index per rewalk alongside the content HTML; the route reads from the snapshot and never from disk. (3) `wireLookup` reads from the DOM only after the fetch resolves: the modal's input, the results list, up/down/Enter/Esc. The rank function is a pure function from (query, rows) to ordered results; the renderer paints one row per hit using the shared snippet-mark helper.",
19
+ "interfaces": [
20
+ {
21
+ "name": "GET /index.json",
22
+ "kind": "httpRoute",
23
+ "description": "[draft] Returns `{ rows: Array<{ id, kind, title, snippet, parent, tab }> }` for the current tree. Built once per rewalk; content-type application/json; relative to the viewer mount so wespa's reverse proxy sees `./index.json` under the mount point."
24
+ },
25
+ {
26
+ "name": "buildViewIndex",
27
+ "kind": "other",
28
+ "description": "[draft] Pure projection of BuiltTreeModel into the index row list used by the LookupModal; one row per document id plus one per AC."
29
+ },
30
+ {
31
+ "name": "renderLookupModal",
32
+ "kind": "other",
33
+ "description": "[draft] Emits the LookupModal shell HTML (input, results list, empty state, reload affordance) for the shell page; results are rendered client-side after the index fetch resolves."
34
+ },
35
+ {
36
+ "name": "wireLookup",
37
+ "kind": "other",
38
+ "description": "[draft] Client-side wiring for the LookupModal: Cmd/Ctrl+F keyboard binding (page-init), SearchButton open, lazy `./index.json` fetch, SSE-driven cache invalidation, type-ahead ranking per design doc section 6, up/down/Enter/Esc keyboard navigation, pick writes `#tab=<tab>&entity=<id>` through writeHash so `embed` and `theme` survive."
39
+ }
40
+ ],
41
+ "notes": "Depends on PR 1's Router (writeHash, resolveHash, parseHashParams, findByDocId, openAncestorDetails) and the relative-script policy (no leading slash, no inline script). The release notes name `./index.json` as a new route so wespa's proxy allow-list is extended before the version pin bump (Dex contract, design section 9). No outbound postMessage is added; the modal does not persist search terms. The route is the fourth or later such release-noted route (PR 1 landed `./page-init.js` as the first)."
42
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "createdAt": "2026-10-02T19:30:00Z",
3
+ "updatedAt": "2026-10-02T19:30:00Z",
4
+ "tacId": "TAC-4133-readiness-po-layer",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "Readiness tab PO layer: VerdictCard, QuestionCard, NextStep, ReqWorkTable, StageLegend, phrasebook, For-engineers DocRow",
10
+ "purpose": "Render the Readiness tab PO layer: VerdictCard, QuestionCard, NextStep, ReqWorkTable, StageLegend, phrasebook, and the For-engineers DocRow. Four blocks for the product owner (two VerdictCards at equal height with the chain term muted beside the plain label; QuestionCards grouped by source span; a what-happens-next paragraph; a Requirements that still need work table) plus one DocRow at the foot that collapses the full engineer view inside without removing anything from the DOM. The adapter seam `toQuestions(readiness)` is a pure module that reads blockers and the phrasebook today and switches to `readiness.questions` when DEFINE step 3 PR 2 ships `computeQuestions`.",
11
+ "responsibilities": [
12
+ "src/view/readiness/phrasebook.js: a plain data module keyed by check id; every row of design doc section 8's PO question table has an entry carrying `{ heading, ask, hint }` and an `optional` flag for decisions-with-a-default. The strings are the PO wording verbatim; no em-dashes. The phrasebook never duplicates the stage-gate meanings those live in STAGE_GATES (section 4 of the design).",
13
+ "src/view/readiness/question-adapter.js: `toQuestions(readiness)` is a pure function that returns `{ groups: Array<{ label, items: Array<{ heading, ask, hint, detail, checkId }> }> }`. When `readiness.questions` exists (DEFINE step 3 PR 2 feature-detected via `preferReadinessQuestions(readiness)`), it reads from there; otherwise it reads `personas.productOwner.blockers`, groups by source span (`brief:<n>` for brief checks; the REQ id for stories/skeleton checks; otherwise the stage), and fills asks from the phrasebook. Decisions-with-a-default land in an optional group that never holds up the hand-over.",
14
+ "src/view/readiness/po-layer.js: `renderReadinessPO(readiness, { persona, phrasebook })` emits the four PO blocks plus the For-engineers DocRow. Two VerdictCards share a `rcf-po-verdicts` grid so the browser lays them out at equal height; each card carries the plain label and the chain term (`intent-complete`, `ready-to-build`) muted beside it. The For-engineers DocRow is closed when `persona === 'productOwner'` (and `unstated`); open when `persona === 'engineer'`.",
15
+ "src/view/readiness/stage-legend.js: `renderStageLegend(stages)` emits the StageLegend dialog with D1..D8 by name, one-line meaning and posture, read from STAGE_GATES and the readiness stages[].state. Every D-chip and D-prefixed check name carries a hover title and opens the legend on click; wiring in page-init.js.",
16
+ "src/view/readiness.js: `renderReadinessPanel` keeps its signature but now returns the PO layer followed by the For-engineers DocRow (whose body is the former engineer rendering structurally identical). The CLI verdict strings (`formatVerdictLines`) still render inside For-engineers so parity with `rcf define readiness --json` is unchanged (AC-18002-3)."
17
+ ],
18
+ "internalStructure": "Five composition seams. (1) phrasebook.js is a static data module. (2) question-adapter.js is a pure function: `(readiness) => { groups }`; `preferReadinessQuestions(readiness)` is the feature detect that flips the source when DEFINE step 3 lands. (3) po-layer.js is a server-rendered HTML string builder; no inline script added to the page. (4) stage-legend.js is a server-rendered dialog whose client wiring lives in page-init.js (`wireStageLegend`). (5) readiness.js wraps the engineer rendering in a `<details id=\"rcf-readiness-engineer\" class=\"rcf-po-engineer\">` that opens by default when the register is engineer; the body carries the full existing engineer view unchanged.",
19
+ "interfaces": [
20
+ {
21
+ "name": "renderReadinessPO",
22
+ "kind": "other",
23
+ "description": "[draft] renderReadinessPO(readiness, { persona, phrasebook }) returns the four PO blocks plus the For-engineers DocRow as one HTML string."
24
+ },
25
+ {
26
+ "name": "toQuestions",
27
+ "kind": "other",
28
+ "description": "[draft] toQuestions(readiness) is a pure function that returns `{ groups: Array<{ label, items: Array<{ heading, ask, hint, detail, checkId }> }> }` built from the phrasebook over blockers today and from readiness.questions tomorrow (feature-detected via preferReadinessQuestions)."
29
+ },
30
+ {
31
+ "name": "renderStageLegend",
32
+ "kind": "other",
33
+ "description": "[draft] renderStageLegend(stages) returns the StageLegend dialog HTML (D1..D8 by name, one-line meaning, posture)."
34
+ }
35
+ ],
36
+ "notes": "Depends on PR 2's DocRow component, PR 1's AppShell and relative-script policy, and PR 2's SubTabStrip (not used here but shared vocabulary). Amends TAC-4127-readiness-view: the old engineer rendering is kept but is now the body of the For-engineers DocRow at the foot of the panel; nothing is removed from the engineer-level DOM (AC-18002-3). The phrasebook ships now (design doc section 11 recommendation 4); when DEFINE step 3 PR 2 lands `readiness.questions`, the adapter switches source with a one-line feature detect and the call site is unchanged. No em-dash is ever written in the phrasebook strings."
37
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "createdAt": "2026-10-02T20:00:00Z",
3
+ "updatedAt": "2026-10-03T18:30:00Z",
4
+ "tacId": "TAC-4134-wespa-host-fixture",
5
+ "prdId": "PRD-001",
6
+ "tadId": "TAD-001",
7
+ "version": "0.1.0",
8
+ "status": "draft",
9
+ "name": "Wespa host fixture: /test-host.html and the three embedding lints",
10
+ "purpose": "Serve a same-origin test-host fixture page that mimics the wespa shell (a 56px header, a resizable 64/200-400px sidebar, a content pane carrying `<iframe src=\"./?embed=1&theme=light\">`) and ship three CI lints (framing headers, `target=\"_top\"` grep, localStorage namespace grep) that keep wespa's embedding contract honest over time. The fixture is off the default route surface so wespa's reverse-proxy allow-list is unaffected; it is gated on a `--test-host` CLI flag or the `RCF_VIEW_TEST_HOST=1` env var and never served under production use.",
11
+ "responsibilities": [
12
+ "src/view/test-host/fixture.js: `renderTestHostPage()` returns the HTML for the fixture (56px header with Light/Dark/Auto theme toggle buttons, a resizable sidebar with a drag handle and a Collapse/Expand control, a content pane containing the single `<iframe id=\"rcf-test-host-iframe\" src=\"./?embed=1&theme=light\">` sized to 100% of its box). No inline script; the page references `./test-host.js` as a relative script.",
13
+ "src/view/test-host/embed-client.js: classic (non-module) browser script that wires the theme toggle buttons to `iframe.contentWindow.postMessage({ type: \"rcf-view-theme\", theme }, window.location.origin)`, the sidebar drag handle to a live width update (clamped to 64-400px) and the Collapse/Expand button to a 64px <-> 200px snap. The script posts nothing beyond `rcf-view-theme`, does not read event.origin itself (the viewer does), and writes nothing to localStorage so a passing run proves the iframe honours the message.",
14
+ "src/view/test-host/lints.js: `assertFramingHeaders(response)` scans a GET / response for `X-Frame-Options`, CSP `frame-ancestors` and `X-Content-Type-Options` oddities (any present or any `frame-ancestors` directive forbidding `self` fails); `assertNoTargetTop(renderedHtml)` scans the HTML for any `target=\"_top\"` or `target='_top'` occurrence and refuses on a non-zero count; `assertLocalStorageNamespace(sourceTree)` scans every `.js` file under `src/view/**` (not vendored, not `.min.js`) for `localStorage.(setItem|getItem|removeItem)(` and `storage.(setItem|getItem|removeItem)(` call sites and refuses on any key literal that does not start with `rcf-view:v1:`.",
15
+ "src/server/routes.js: when `deps.testHost === true`, register `GET /test-host.html` returning `renderTestHostPage()` with `content-type: text/html` and no framing-blocking header; register `GET /test-host.js` returning the embed-client script as `application/javascript` with no framing-blocking header. Off the default route surface: both routes 404 unless `testHost` is on.",
16
+ "src/server/index.js: plumb an optional `testHost: boolean` option through `startServer(args)` into the router; default false. Wire the embed-client asset at startup via `loadStaticAsset`, same discipline as `./live-client.js`.",
17
+ "src/cli/view.js: parse `--test-host` into `opts.testHost`; precedence is flag beats `RCF_VIEW_TEST_HOST=1` env beats default (false). Pass `testHost` through to `startServer`. Help text names the flag and marks it a test-suite fixture, not a shipped UI.",
18
+ "test/view/wespa-host-fixture.test.js: end-to-end node-level checks that boot the router with `testHost: true` over `http.createServer`, GET /, GET /test-host.html, GET /test-host.js, assert the three lints green, parse the iframe `src` from the fixture HTML and assert `./?embed=1&theme=light` exactly, assert the fixture carries no inline `<script>` block, assert the viewer's rendered HTML carries `<html data-embed=\"1\">` wiring (via page-init.js) and that the fixture page does not persist theme to localStorage."
19
+ ],
20
+ "internalStructure": "Three composition seams. (1) `renderTestHostPage()` is a pure function (no reads, no I/O) that emits the host HTML and references the relative embed-client script; swap the host markup in one place. (2) The embed-client script is served as a snapshotted asset at startup; it is the only client-side JS the fixture carries. (3) `src/view/test-host/lints.js` exports three pure assertions keyed on their inputs (response object, HTML string, source tree root) so each lint composes into any test that needs it and the test file is the sole caller.",
21
+ "interfaces": [
22
+ {
23
+ "name": "GET /test-host.html",
24
+ "kind": "httpRoute",
25
+ "description": "[draft] Returns the host fixture HTML (`renderTestHostPage()`). Served only when `startServer({ testHost: true })` is on (CLI `--test-host` or env `RCF_VIEW_TEST_HOST=1`); 404 otherwise. No `X-Frame-Options`, no CSP `frame-ancestors` directive. Relative script `./test-host.js` is the only client-side JS. Not under the production root; the viewer's `/` surface is untouched."
26
+ },
27
+ {
28
+ "name": "GET /test-host.js",
29
+ "kind": "httpRoute",
30
+ "description": "[draft] Returns the embed-client script that wires the theme toggle, sidebar drag and Collapse/Expand to postMessage and sidebar width updates. `application/javascript`; snapshotted at startup. Same `testHost` gate as the HTML route."
31
+ },
32
+ {
33
+ "name": "assertFramingHeaders",
34
+ "kind": "other",
35
+ "description": "[draft] `assertFramingHeaders(response)` on a `GET /` response. Refuses if `X-Frame-Options` is present, if a CSP `frame-ancestors` directive forbids `self`, or if `X-Content-Type-Options: nosniff` is set in a way that breaks the fixture (today it does not; the lint still records absence). Returns `{ ok: true }` or throws with the first failure. [legacy kind: moduleApi; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
36
+ },
37
+ {
38
+ "name": "assertNoTargetTop",
39
+ "kind": "other",
40
+ "description": "[draft] `assertNoTargetTop(renderedHtml)` greps the server-rendered HTML for `target=\"_top\"` and `target='_top'` and refuses on any match. Returns `{ ok: true, count: 0 }` or `{ ok: false, count: n, matches: [...] }`. [legacy kind: moduleApi; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
41
+ },
42
+ {
43
+ "name": "assertLocalStorageNamespace",
44
+ "kind": "other",
45
+ "description": "[draft] `assertLocalStorageNamespace(sourceTreeRoot)` walks every `.js` file under `src/view/**` (excluding vendored and `.min.js`), finds every `localStorage.(setItem|getItem|removeItem)(KEY)` and `storage.(setItem|getItem|removeItem)(KEY)` call site, and asserts that the key literal starts with `rcf-view:v1:` (or references `STORAGE_NS` which equals `rcf-view:v1:`). Returns `{ ok: true, scanned: n }` or `{ ok: false, violations: [...] }`. [legacy kind: moduleApi; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
46
+ },
47
+ {
48
+ "name": "renderTestHostPage",
49
+ "kind": "other",
50
+ "description": "[draft] Pure function that emits the fixture HTML (56px header, resizable 64/200-400px sidebar, iframe content pane). No inline script; references `./test-host.js` as the single client-side JS. [legacy kind: moduleApi; mapped to other per DEFINE spec \u00a75.2 closed vocabulary, 0.30.0 PR 8]"
51
+ }
52
+ ],
53
+ "notes": "Depends on PR 1's `embed` and `theme` contract (page-init.js stamping `<html data-embed=\"1\">` and `<html data-theme>`, origin-checked `rcf-view-theme` listener, hash navigation preserving the host query string), on PR 1's relative-script policy (no inline script, no leading-slash references) and on live-client.js's existing `STORAGE_NS = 'rcf-view:v1:'` namespace. The test-host route surface is behind `--test-host` / `RCF_VIEW_TEST_HOST=1`; the release notes mark it as a test-suite fixture, not a shipped UI, so wespa's proxy allow-list is unaffected. The three lints are called from the viewer's test suite; wespa smoke on the live wespa shell is Dex's side."
54
+ }
@@ -14,9 +14,9 @@
14
14
  {
15
15
  "id": "TC-016-tools-list-structured-schemas",
16
16
  "acId": "AC-601-1",
17
- "description": "an MCP client listing tools sees all eleven rcf tools with input and output schemas",
17
+ "description": "an MCP client listing tools sees all fourteen rcf tools with input and output schemas",
18
18
  "status": "pending",
19
- "testPointer": "test/mcp/stdio.e2e.test.js::e2e: tools/list returns all eleven tools with schemas"
19
+ "testPointer": "test/mcp/stdio.e2e.test.js::e2e: tools/list returns all fourteen tools with schemas"
20
20
  },
21
21
  {
22
22
  "id": "TC-016-mcp-coverage-cli-parity",
@@ -34,4 +34,4 @@
34
34
  }
35
35
  ],
36
36
  "status": "draft"
37
- }
37
+ }
@@ -1,17 +1,35 @@
1
1
  {
2
2
  "createdAt": "2026-09-24T12:00:00Z",
3
- "updatedAt": "2026-09-24T12:00:00Z",
4
- "purpose": "Cover the four sidecar ledgers, the rcf define ledger CLI (add / resolve / list with --json) and the walker-invisibility invariant on rcf/define/ against AC-17301-1..4 on US-17301.",
3
+ "updatedAt": "2026-10-02T16:40:00Z",
4
+ "purpose": "Cover the four sidecar ledgers, the rcf define ledger CLI (add / resolve / list with --json) and the walker-invisibility invariant on rcf/define/ (AC-17301-1..4 on US-17301), the update subverb and the closed resolvedBy pointer grammar (AC-17302-1..6 on US-17302), the statement-file markers (AC-18701-1..6 on US-18701) and the scan wiring (AC-18702-1..6 on US-18702).",
5
5
  "testLevel": "integration",
6
6
  "acIds": [
7
7
  "AC-17301-1",
8
8
  "AC-17301-2",
9
9
  "AC-17301-3",
10
- "AC-17301-4"
10
+ "AC-17301-4",
11
+ "AC-17302-1",
12
+ "AC-17302-2",
13
+ "AC-17302-3",
14
+ "AC-17302-4",
15
+ "AC-17302-5",
16
+ "AC-17302-6",
17
+ "AC-18701-1",
18
+ "AC-18701-2",
19
+ "AC-18701-3",
20
+ "AC-18701-4",
21
+ "AC-18701-5",
22
+ "AC-18701-6",
23
+ "AC-18702-1",
24
+ "AC-18702-2",
25
+ "AC-18702-3",
26
+ "AC-18702-4",
27
+ "AC-18702-5",
28
+ "AC-18702-6"
11
29
  ],
12
30
  "id": "TS-215",
13
31
  "usId": "US-17301",
14
- "title": "Sidecar ledgers, rcf define ledger and walker invisibility",
32
+ "title": "Sidecar ledgers, rcf define ledger and walker invisibility (extended for update + intake markers + scans)",
15
33
  "testCases": [
16
34
  {
17
35
  "id": "TC-215-brief-add-text",
@@ -61,6 +79,132 @@
61
79
  "description": "walkTree run over a project seeded with rcf/define/freeze.json, the four ledger files and a bug-bait req-999.json under rcf/define/ never surfaces any rcf/define/ path in errors or byId.",
62
80
  "status": "pending",
63
81
  "testPointer": "test/store/walker-invisible-define.test.js::walkTree never surfaces rcf/define/ files as documents in byId"
82
+ },
83
+ {
84
+ "id": "TC-215-brief-update-fields-and-preserve-id",
85
+ "acId": "AC-17302-1",
86
+ "description": "updateEntry patches brief fields (kind, resolvedBy) and preserves id and addedAt; the CLI brief update subverb returns 0 and the write lands on the ledger with the patched fields.",
87
+ "status": "pending",
88
+ "testPointer": "test/define/ledgers.test.js::updateEntry (AC-17302-1): patches brief fields and preserves id / addedAt"
89
+ },
90
+ {
91
+ "id": "TC-215-decisions-update-wellformed",
92
+ "acId": "AC-17302-2",
93
+ "description": "decisions update patches options and default so decisions:wellFormed shape passes (two options + a default).",
94
+ "status": "pending",
95
+ "testPointer": "test/define/ledgers.test.js::updateEntry (AC-17302-2): decisions update patches options and default and passes wellFormed shape"
96
+ },
97
+ {
98
+ "id": "TC-215-resolvedby-grammar-each-form",
99
+ "acId": "AC-17302-3",
100
+ "description": "Each resolvedBy pointer form (REQ-nnn, TAD.entity:<name>, PRD.user:<name>, TAD.system:<name>, TAC-nnnn, omitted:<reason>) resolves on the fixture and D2's skeleton:resolvedBy passes it.",
101
+ "status": "pending",
102
+ "testPointer": "test/query/gates.test.js::gates (REQ-173, AC-17302-3): each pointer form resolves on the fixture"
103
+ },
104
+ {
105
+ "id": "TC-215-update-refuses-nongrammar",
106
+ "acId": "AC-17302-4",
107
+ "description": "brief update --resolved-by with a free-text pointer exits 2 naming the grammar and the ledger is unchanged.",
108
+ "status": "pending",
109
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-17302-4): brief update --resolved-by outside the grammar exits 2 and writes nothing"
110
+ },
111
+ {
112
+ "id": "TC-215-d2-dangling-pointer-fails",
113
+ "acId": "AC-17302-5",
114
+ "description": "A statement with resolvedBy REQ-999 on a tree with no REQ-999 fails skeleton:resolvedBy with 'pointer does not resolve'.",
115
+ "status": "pending",
116
+ "testPointer": "test/query/gates.test.js::gates (REQ-173, AC-17302-5): REQ-999 fails with \"pointer does not resolve\""
117
+ },
118
+ {
119
+ "id": "TC-215-d2-title-hit-dropped",
120
+ "acId": "AC-17302-6",
121
+ "description": "In 0.30.0 skeleton:resolvedBy no longer passes a statement on a REQ-title text hit alone; a resolvedBy pointer is required.",
122
+ "status": "pending",
123
+ "testPointer": "test/query/gates.test.js::gates (REQ-173, AC-17302-6): a text-title hit alone does NOT pass in 0.30.0"
124
+ },
125
+ {
126
+ "id": "TC-215-markers-kind-and-source",
127
+ "acId": "AC-18701-1",
128
+ "description": "parseBriefFromFile parses a leading [kind] and a trailing (source: ...) marker; the CLI brief add --from mints a statement with that kind, text and source.",
129
+ "status": "pending",
130
+ "testPointer": "test/define/ledgers.test.js::parseBriefFromFile (AC-18701-1): leading [kind] and trailing (source: ...) markers mint one statement"
131
+ },
132
+ {
133
+ "id": "TC-215-defaults-from-flags",
134
+ "acId": "AC-18701-2",
135
+ "description": "A line without markers inherits --kind and --source from CLI flags.",
136
+ "status": "pending",
137
+ "testPointer": "test/define/ledgers.test.js::parseBriefFromFile (AC-18701-2): a line without markers inherits --kind and --source"
138
+ },
139
+ {
140
+ "id": "TC-215-question-heuristic",
141
+ "acId": "AC-18701-3",
142
+ "description": "A trailing '?' or a TBC/TBD/Open:/Question: prefix with no [kind] marker kinds the statement openQuestion.",
143
+ "status": "pending",
144
+ "testPointer": "test/define/ledgers.test.js::parseBriefFromFile (AC-18701-3): a question-mark trailing line is kinded openQuestion"
145
+ },
146
+ {
147
+ "id": "TC-215-029-line-per-statement-unchanged",
148
+ "acId": "AC-18701-4",
149
+ "description": "A 0.29.0 line-per-statement file (no markers) parses to the same drafts as the 0.29.0 code path produced.",
150
+ "status": "pending",
151
+ "testPointer": "test/define/ledgers.test.js::parseBriefFromFile (AC-18701-4): a 0.29.0 line-per-statement file parses unchanged"
152
+ },
153
+ {
154
+ "id": "TC-215-unknown-kind-exits-2",
155
+ "acId": "AC-18701-5",
156
+ "description": "A line with an unknown [kind] exits 2 naming the accepted kinds and writes nothing to the ledger.",
157
+ "status": "pending",
158
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18701-5): brief add --from with an unknown [kind] exits 2 before writing"
159
+ },
160
+ {
161
+ "id": "TC-215-dry-run-no-write",
162
+ "acId": "AC-18701-6",
163
+ "description": "brief add --from --dry-run never creates or modifies rcf/define/brief-ledger.json.",
164
+ "status": "pending",
165
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18701-6, --dry-run): writes nothing"
166
+ },
167
+ {
168
+ "id": "TC-215-scan-mints-openquestion",
169
+ "acId": "AC-18702-1",
170
+ "description": "A new statement that the contradiction scan flags against an existing statement adds one openQuestion statement with source scan:contradiction:<id>,<id>.",
171
+ "status": "pending",
172
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18702-1): mechanical scan on brief add mints an openQuestion with scan: source"
173
+ },
174
+ {
175
+ "id": "TC-215-findings-mints-openquestions",
176
+ "acId": "AC-18702-2",
177
+ "description": "--findings <path> accepts rcf discover intake --input shape and mints one openQuestion per finding with source scan:<name>.",
178
+ "status": "pending",
179
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18702-2): --findings file mints one openQuestion per finding with scan: source"
180
+ },
181
+ {
182
+ "id": "TC-215-scans-compare-every-existing",
183
+ "acId": "AC-18702-3",
184
+ "description": "runIntakeScansOnDelta compares every new statement against every existing statement (the frozen set is every statement).",
185
+ "status": "pending",
186
+ "testPointer": "test/intake/validate.test.js::runIntakeScansOnDelta (AC-18702-3): on a frozen set the comparison set is every existing statement"
187
+ },
188
+ {
189
+ "id": "TC-215-json-emits-added-and-findings",
190
+ "acId": "AC-18702-4",
191
+ "description": "brief add --json emits { added: [...], findings: [...] } on stdout.",
192
+ "status": "pending",
193
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18702-4, --json): emits { added, findings }"
194
+ },
195
+ {
196
+ "id": "TC-215-no-scan-plus-findings-exits-2",
197
+ "acId": "AC-18702-5",
198
+ "description": "--no-scan combined with --findings exits 2 naming the conflict.",
199
+ "status": "pending",
200
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18702-5): --no-scan with --findings exits 2"
201
+ },
202
+ {
203
+ "id": "TC-215-text-runs-no-scan",
204
+ "acId": "AC-18702-6",
205
+ "description": "brief add --text runs no scan and appends no openQuestion statement.",
206
+ "status": "pending",
207
+ "testPointer": "test/cli/ledger.test.js::ledger CLI (AC-18702-6): --text runs no scan and appends no openQuestion"
64
208
  }
65
209
  ],
66
210
  "status": "draft"