rcf-lite 0.20.0 → 0.21.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 (229) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/blueprints/application-admin-console/CHANGELOG.md +11 -0
  3. package/blueprints/application-admin-console/README.md +98 -0
  4. package/blueprints/application-admin-console/blueprint.json +226 -0
  5. package/blueprints/application-admin-console/contributions/adrs/adr-2201-application-admin-console-capability-vocabulary.json +25 -0
  6. package/blueprints/application-admin-console/contributions/adrs/adr-2202-application-admin-console-baseline-roles.json +25 -0
  7. package/blueprints/application-admin-console/contributions/adrs/adr-2203-application-admin-console-invite-transport.json +20 -0
  8. package/blueprints/application-admin-console/contributions/adrs/adr-2204-application-admin-console-audit-retention.json +20 -0
  9. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-001.json +18 -0
  10. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-002.json +18 -0
  11. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-003.json +18 -0
  12. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-004.json +18 -0
  13. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-005.json +18 -0
  14. package/blueprints/application-admin-console/contributions/requirements/application-admin-console-req-006.json +18 -0
  15. package/blueprints/application-admin-console/contributions/tacs/tac-2201-application-admin-console-shell.json +40 -0
  16. package/blueprints/application-admin-console/contributions/tacs/tac-2202-application-admin-console-capability-discovery.json +44 -0
  17. package/blueprints/application-admin-console/contributions/tacs/tac-2203-application-admin-console-permission-matrix.json +34 -0
  18. package/blueprints/application-admin-console/contributions/tacs/tac-2204-application-admin-console-audit-view.json +40 -0
  19. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21101.json +34 -0
  20. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21102.json +34 -0
  21. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21103.json +34 -0
  22. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21104.json +28 -0
  23. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21105.json +34 -0
  24. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21106.json +27 -0
  25. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21107.json +27 -0
  26. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21108.json +27 -0
  27. package/blueprints/application-admin-console/contributions/user-stories/application-admin-console-us-21109.json +33 -0
  28. package/blueprints/application-admin-console/docs/topics.md +35 -0
  29. package/blueprints/application-admin-console/guide/application-admin-console.md +29 -0
  30. package/blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs +182 -0
  31. package/blueprints/application-api-rest/docs/topics.md +5 -0
  32. package/blueprints/application-charts/CHANGELOG.md +12 -0
  33. package/blueprints/application-charts/README.md +73 -0
  34. package/blueprints/application-charts/blueprint.json +26 -0
  35. package/blueprints/application-charts/contributions/adrs/adr-1901-application-charts-engine-choice.json +25 -0
  36. package/blueprints/application-charts/contributions/adrs/adr-1902-application-charts-accessible-palette.json +25 -0
  37. package/blueprints/application-charts/contributions/adrs/adr-1903-application-charts-motion.json +25 -0
  38. package/blueprints/application-charts/contributions/requirements/application-charts-req-001.json +15 -0
  39. package/blueprints/application-charts/contributions/requirements/application-charts-req-002.json +15 -0
  40. package/blueprints/application-charts/contributions/requirements/application-charts-req-003.json +15 -0
  41. package/blueprints/application-charts/contributions/requirements/application-charts-req-004.json +15 -0
  42. package/blueprints/application-charts/contributions/tacs/tac-1901-application-charts-render-shell.json +42 -0
  43. package/blueprints/application-charts/contributions/tacs/tac-1902-application-charts-keyboard-traversal.json +40 -0
  44. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18101.json +35 -0
  45. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18102.json +35 -0
  46. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18103.json +35 -0
  47. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18104.json +35 -0
  48. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18105.json +35 -0
  49. package/blueprints/application-charts/contributions/user-stories/application-charts-us-18106.json +35 -0
  50. package/blueprints/application-charts/docs/topics.md +37 -0
  51. package/blueprints/application-charts/guide/application-charts.md +44 -0
  52. package/blueprints/application-charts/probe-packs/application-charts.pack.mjs +191 -0
  53. package/blueprints/application-dashboard/CHANGELOG.md +10 -0
  54. package/blueprints/application-dashboard/README.md +102 -0
  55. package/blueprints/application-dashboard/assets/guidance/dashboard-design.md +124 -0
  56. package/blueprints/application-dashboard/blueprint.json +29 -0
  57. package/blueprints/application-dashboard/contributions/adrs/adr-2001-application-dashboard-primary-kpi-enum.json +25 -0
  58. package/blueprints/application-dashboard/contributions/adrs/adr-2002-application-dashboard-timeframe-presets.json +25 -0
  59. package/blueprints/application-dashboard/contributions/adrs/adr-2003-application-dashboard-export-formats.json +25 -0
  60. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-001.json +15 -0
  61. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-002.json +15 -0
  62. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-003.json +15 -0
  63. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-004.json +15 -0
  64. package/blueprints/application-dashboard/contributions/requirements/application-dashboard-req-005.json +15 -0
  65. package/blueprints/application-dashboard/contributions/tacs/tac-2001-application-dashboard-tile-grid.json +47 -0
  66. package/blueprints/application-dashboard/contributions/tacs/tac-2002-application-dashboard-filter-chrome.json +41 -0
  67. package/blueprints/application-dashboard/contributions/tacs/tac-2003-application-dashboard-export-handle.json +35 -0
  68. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19101.json +35 -0
  69. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19102.json +35 -0
  70. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19103.json +35 -0
  71. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19104.json +35 -0
  72. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19105.json +35 -0
  73. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19106.json +35 -0
  74. package/blueprints/application-dashboard/contributions/user-stories/application-dashboard-us-19107.json +35 -0
  75. package/blueprints/application-dashboard/docs/topics.md +43 -0
  76. package/blueprints/application-dashboard/guide/application-dashboard.md +48 -0
  77. package/blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs +231 -0
  78. package/blueprints/application-datatable/CHANGELOG.md +8 -0
  79. package/blueprints/application-datatable/README.md +43 -0
  80. package/blueprints/application-datatable/blueprint.json +33 -0
  81. package/blueprints/application-datatable/contributions/adrs/adr-1801-application-datatable-pattern-choice.json +25 -0
  82. package/blueprints/application-datatable/contributions/adrs/adr-1802-application-datatable-url-state.json +20 -0
  83. package/blueprints/application-datatable/contributions/adrs/adr-1803-application-datatable-page-size.json +20 -0
  84. package/blueprints/application-datatable/contributions/adrs/adr-1804-application-datatable-selection-persistence.json +20 -0
  85. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-001.json +15 -0
  86. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-002.json +15 -0
  87. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-003.json +15 -0
  88. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-004.json +15 -0
  89. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-005.json +15 -0
  90. package/blueprints/application-datatable/contributions/requirements/application-datatable-req-006.json +15 -0
  91. package/blueprints/application-datatable/contributions/tacs/tac-1801-application-datatable-shell.json +50 -0
  92. package/blueprints/application-datatable/contributions/tacs/tac-1802-application-datatable-query-adapter.json +39 -0
  93. package/blueprints/application-datatable/contributions/tacs/tac-1803-application-datatable-selection-model.json +28 -0
  94. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17101.json +44 -0
  95. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17102.json +44 -0
  96. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17103.json +44 -0
  97. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17104.json +44 -0
  98. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17105.json +44 -0
  99. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17106.json +44 -0
  100. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17107.json +44 -0
  101. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17108.json +44 -0
  102. package/blueprints/application-datatable/contributions/user-stories/application-datatable-us-17109.json +44 -0
  103. package/blueprints/application-datatable/docs/topics.md +35 -0
  104. package/blueprints/application-datatable/guide/application-datatable.md +38 -0
  105. package/blueprints/application-datatable/probe-packs/application-datatable.pack.mjs +240 -0
  106. package/blueprints/application-error-handling/docs/topics.md +5 -0
  107. package/blueprints/application-notifications-in-app/CHANGELOG.md +9 -0
  108. package/blueprints/application-notifications-in-app/README.md +80 -0
  109. package/blueprints/application-notifications-in-app/blueprint.json +30 -0
  110. package/blueprints/application-notifications-in-app/contributions/adrs/adr-2101-application-notifications-in-app-live-region-role-mapping.json +25 -0
  111. package/blueprints/application-notifications-in-app/contributions/adrs/adr-2102-application-notifications-in-app-toast-timeout-floor.json +25 -0
  112. package/blueprints/application-notifications-in-app/contributions/adrs/adr-2103-application-notifications-in-app-retention-window.json +25 -0
  113. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-001.json +15 -0
  114. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-002.json +15 -0
  115. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-003.json +15 -0
  116. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-004.json +15 -0
  117. package/blueprints/application-notifications-in-app/contributions/requirements/application-notifications-in-app-req-005.json +15 -0
  118. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2101-application-notifications-in-app-live-region.json +46 -0
  119. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2102-application-notifications-in-app-centre.json +52 -0
  120. package/blueprints/application-notifications-in-app/contributions/tacs/tac-2103-application-notifications-in-app-preferences.json +40 -0
  121. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20101.json +35 -0
  122. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20102.json +35 -0
  123. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20103.json +35 -0
  124. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20104.json +35 -0
  125. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20105.json +35 -0
  126. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20106.json +26 -0
  127. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20107.json +26 -0
  128. package/blueprints/application-notifications-in-app/contributions/user-stories/application-notifications-in-app-us-20108.json +26 -0
  129. package/blueprints/application-notifications-in-app/docs/topics.md +39 -0
  130. package/blueprints/application-notifications-in-app/guide/application-notifications-in-app.md +47 -0
  131. package/blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs +328 -0
  132. package/blueprints/application-spa/docs/topics.md +5 -0
  133. package/blueprints/delivery-ci-workflows/docs/topics.md +5 -0
  134. package/blueprints/deploy-cloudflare-workers/docs/topics.md +5 -0
  135. package/blueprints/email-smtp-resend/docs/topics.md +5 -0
  136. package/blueprints/observability-essentials/docs/topics.md +5 -0
  137. package/blueprints/observability-logging/CHANGELOG.md +5 -0
  138. package/blueprints/observability-logging/README.md +1 -1
  139. package/blueprints/observability-logging/blueprint.json +113 -21
  140. package/blueprints/observability-logging/docs/topics.md +5 -0
  141. package/blueprints/observability-probe-endpoints/docs/topics.md +5 -0
  142. package/blueprints/persistence-data-d1/docs/topics.md +5 -0
  143. package/blueprints/persistence-data-sqlite/docs/topics.md +5 -0
  144. package/blueprints/security-auth-clerk/CHANGELOG.md +5 -0
  145. package/blueprints/security-auth-clerk/blueprint.json +2 -1
  146. package/blueprints/security-auth-clerk/docs/topics.md +5 -0
  147. package/blueprints/security-auth-keycloak/CHANGELOG.md +5 -0
  148. package/blueprints/security-auth-keycloak/blueprint.json +2 -1
  149. package/blueprints/security-auth-keycloak/docs/topics.md +5 -0
  150. package/blueprints/security-auth-magic-link/CHANGELOG.md +5 -0
  151. package/blueprints/security-auth-magic-link/blueprint.json +2 -1
  152. package/blueprints/security-auth-magic-link/docs/topics.md +5 -0
  153. package/blueprints/security-auth-oauth2/CHANGELOG.md +5 -0
  154. package/blueprints/security-auth-oauth2/blueprint.json +2 -1
  155. package/blueprints/security-auth-oauth2/docs/topics.md +5 -0
  156. package/blueprints/security-secrets-management/docs/topics.md +5 -0
  157. package/fixtures/canary-manifest.json +9 -9
  158. package/package.json +2 -2
  159. package/rcf/code-nodes/cn-106.json +13 -0
  160. package/rcf/code-nodes/cn-107.json +14 -0
  161. package/rcf/code-nodes/cn-108.json +13 -0
  162. package/rcf/code-nodes/cn-109.json +12 -0
  163. package/rcf/code-nodes/cn-110.json +12 -0
  164. package/rcf/code-nodes/cn-111.json +14 -0
  165. package/rcf/code-nodes/cn-112.json +14 -0
  166. package/rcf/code-nodes/cn-113.json +12 -0
  167. package/rcf/code-nodes/cn-114.json +13 -0
  168. package/rcf/code-nodes/cn-115.json +13 -0
  169. package/rcf/code-nodes/cn-116.json +12 -0
  170. package/rcf/code-nodes/cn-117.json +13 -0
  171. package/rcf/code-nodes/cn-118.json +13 -0
  172. package/rcf/code-nodes/cn-119.json +13 -0
  173. package/rcf/code-nodes/cn-120.json +13 -0
  174. package/rcf/code-nodes/cn-121.json +12 -0
  175. package/rcf/code-nodes/cn-122.json +12 -0
  176. package/rcf/code-nodes/cn-123.json +13 -0
  177. package/rcf/code-nodes/cn-124.json +13 -0
  178. package/rcf/code-nodes/cn-125.json +13 -0
  179. package/rcf/code-nodes/cn-126.json +13 -0
  180. package/rcf/code-nodes/cn-127.json +12 -0
  181. package/rcf/code-nodes/cn-128.json +14 -0
  182. package/rcf/code-nodes/cn-129.json +14 -0
  183. package/rcf/code-nodes/cn-130.json +14 -0
  184. package/rcf/code-nodes/cn-131.json +15 -0
  185. package/rcf/code-nodes/cn-132.json +12 -0
  186. package/rcf/code-nodes/cn-133.json +13 -0
  187. package/rcf/fbs/fbs-036.json +22 -0
  188. package/rcf/fbs/fbs-037.json +19 -0
  189. package/rcf/fbs/fbs-038.json +19 -0
  190. package/rcf/fbs/fbs-039.json +21 -0
  191. package/rcf/fbs/fbs-040.json +20 -0
  192. package/rcf/fbs/fbs-041.json +13 -0
  193. package/rcf/fbs/fbs-042.json +13 -0
  194. package/rcf/requirements/req-017.json +18 -0
  195. package/rcf/requirements/req-018.json +18 -0
  196. package/rcf/requirements/req-019.json +38 -0
  197. package/rcf/requirements/req-020.json +13 -0
  198. package/rcf/requirements/req-021.json +13 -0
  199. package/rcf/requirements/req-022.json +13 -0
  200. package/rcf/requirements/req-023.json +14 -0
  201. package/rcf/test-suites/ts-046.json +78 -0
  202. package/rcf/test-suites/ts-047.json +54 -0
  203. package/rcf/test-suites/ts-048.json +54 -0
  204. package/rcf/test-suites/ts-049.json +70 -0
  205. package/rcf/test-suites/ts-050.json +69 -0
  206. package/rcf/test-suites/ts-051.json +22 -0
  207. package/rcf/test-suites/ts-052.json +20 -0
  208. package/rcf/user-stories/us-1701.json +56 -0
  209. package/rcf/user-stories/us-1801.json +40 -0
  210. package/rcf/user-stories/us-1901.json +40 -0
  211. package/rcf/user-stories/us-2001.json +50 -0
  212. package/rcf/user-stories/us-2101.json +45 -0
  213. package/rcf/user-stories/us-2201.json +60 -0
  214. package/rcf/user-stories/us-2301.json +51 -0
  215. package/releases/releases.yaml +11 -1
  216. package/src/blueprint/apply.js +98 -1
  217. package/src/blueprint/capabilities.js +318 -0
  218. package/src/blueprint/loader.js +247 -0
  219. package/src/browser-verify/boot.js +180 -0
  220. package/src/browser-verify/index.js +13 -0
  221. package/src/browser-verify/manifest-writer.js +31 -6
  222. package/src/browser-verify/pack-browser.js +294 -0
  223. package/src/browser-verify/pack-loader.js +176 -0
  224. package/src/browser-verify/pack-runner.js +193 -0
  225. package/src/browser-verify/pack-schema.js +155 -0
  226. package/src/browser-verify/runner.js +24 -1
  227. package/src/cli/blueprint.js +92 -0
  228. package/src/cli/browser-verify.js +147 -7
  229. package/src/core/errors/index.js +7 -0
@@ -0,0 +1,12 @@
1
+ {
2
+ "cnId": "CN-122",
3
+ "path": "src/browser-verify/pack-browser.js#createPackBrowser",
4
+ "implementsAcIds": [
5
+ "AC-2001-7"
6
+ ],
7
+ "dependencies": [],
8
+ "version": "0.1.0",
9
+ "status": "draft",
10
+ "createdAt": "2026-09-04T22:10:00.000Z",
11
+ "updatedAt": "2026-09-04T22:10:00.000Z"
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-123",
3
+ "path": "../../blueprints/application-dashboard/blueprint.json",
4
+ "implementsAcIds": [
5
+ "AC-2001-1",
6
+ "AC-2001-2"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-04T22:10:00.000Z",
12
+ "updatedAt": "2026-09-04T22:10:00.000Z"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-124",
3
+ "path": "../../blueprints/application-notifications-in-app/blueprint.json",
4
+ "implementsAcIds": [
5
+ "AC-2101-1",
6
+ "AC-2101-2"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-04T23:59:00.000Z",
12
+ "updatedAt": "2026-09-04T23:59:00.000Z"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-125",
3
+ "path": "../../blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs",
4
+ "implementsAcIds": [
5
+ "AC-2101-3",
6
+ "AC-2101-5"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-04T23:59:00.000Z",
12
+ "updatedAt": "2026-09-04T23:59:00.000Z"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-126",
3
+ "path": "test/fixtures/probe-pack-application-notifications-in-app/server.js#startServer",
4
+ "implementsAcIds": [
5
+ "AC-2101-4",
6
+ "AC-2101-5"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-04T23:59:00.000Z",
12
+ "updatedAt": "2026-09-04T23:59:00.000Z"
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "cnId": "CN-127",
3
+ "path": "../../blueprints/application-notifications-in-app/README.md",
4
+ "implementsAcIds": [
5
+ "AC-2101-6"
6
+ ],
7
+ "dependencies": [],
8
+ "version": "0.1.0",
9
+ "status": "draft",
10
+ "createdAt": "2026-09-04T23:59:00.000Z",
11
+ "updatedAt": "2026-09-04T23:59:00.000Z"
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "cnId": "CN-128",
3
+ "path": "../../packages/rcf-lite/src/blueprint/loader.js",
4
+ "implementsAcIds": [
5
+ "AC-2201-1",
6
+ "AC-2201-2",
7
+ "AC-2201-3"
8
+ ],
9
+ "dependencies": [],
10
+ "version": "0.1.0",
11
+ "status": "draft",
12
+ "createdAt": "2026-09-05T01:30:00.000Z",
13
+ "updatedAt": "2026-09-05T01:30:00.000Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "cnId": "CN-129",
3
+ "path": "../../packages/rcf-lite/src/blueprint/apply.js",
4
+ "implementsAcIds": [
5
+ "AC-2201-4",
6
+ "AC-2201-5",
7
+ "AC-2201-7"
8
+ ],
9
+ "dependencies": [],
10
+ "version": "0.1.0",
11
+ "status": "draft",
12
+ "createdAt": "2026-09-05T01:30:00.000Z",
13
+ "updatedAt": "2026-09-05T01:30:00.000Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "cnId": "CN-130",
3
+ "path": "../../packages/rcf-lite/src/blueprint/capabilities.js",
4
+ "implementsAcIds": [
5
+ "AC-2201-6",
6
+ "AC-2201-8",
7
+ "AC-2201-9"
8
+ ],
9
+ "dependencies": [],
10
+ "version": "0.1.0",
11
+ "status": "draft",
12
+ "createdAt": "2026-09-05T01:30:00.000Z",
13
+ "updatedAt": "2026-09-05T01:30:00.000Z"
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "cnId": "CN-131",
3
+ "path": "../../blueprints/application-admin-console/blueprint.json",
4
+ "implementsAcIds": [
5
+ "AC-2301-1",
6
+ "AC-2301-2",
7
+ "AC-2301-3",
8
+ "AC-2301-4"
9
+ ],
10
+ "dependencies": [],
11
+ "version": "0.1.0",
12
+ "status": "draft",
13
+ "createdAt": "2026-09-05T01:30:00.000Z",
14
+ "updatedAt": "2026-09-05T01:30:00.000Z"
15
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "cnId": "CN-132",
3
+ "path": "../../blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs",
4
+ "implementsAcIds": [
5
+ "AC-2301-5"
6
+ ],
7
+ "dependencies": [],
8
+ "version": "0.1.0",
9
+ "status": "draft",
10
+ "createdAt": "2026-09-05T01:30:00.000Z",
11
+ "updatedAt": "2026-09-05T01:30:00.000Z"
12
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "cnId": "CN-133",
3
+ "path": "../../packages/rcf-lite/test/fixtures/probe-pack-application-admin-console/server.js",
4
+ "implementsAcIds": [
5
+ "AC-2301-6",
6
+ "AC-2301-7"
7
+ ],
8
+ "dependencies": [],
9
+ "version": "0.1.0",
10
+ "status": "draft",
11
+ "createdAt": "2026-09-05T01:30:00.000Z",
12
+ "updatedAt": "2026-09-05T01:30:00.000Z"
13
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "createdAt": "2026-09-04T18:00:20.529Z",
3
+ "updatedAt": "2026-09-04T18:51:45.216Z",
4
+ "acIds": [
5
+ "AC-1701-1",
6
+ "AC-1701-2",
7
+ "AC-1701-3",
8
+ "AC-1701-4",
9
+ "AC-1701-5",
10
+ "AC-1701-6",
11
+ "AC-1701-7",
12
+ "AC-1701-8"
13
+ ],
14
+ "fbsId": "FBS-036",
15
+ "prdId": "PRD-001",
16
+ "bsId": "BS-001",
17
+ "buildOrder": 36,
18
+ "executionStatus": "notStarted",
19
+ "title": "Browser-verify runner extension: blueprint-shipped probe pack loader, scoping predicate, aggregate verdict and --probe-pack CLI",
20
+ "summary": "T-0 of the ratified visual round (spec 2026-09-04, section 2.1): the browser-verify runner extension that lets a blueprint ship a Playwright probe pack under `blueprints/<slug>/probe-packs/` and have `rcf verify browser` discover, scope-check and run it as a required ship gate. Six ACs span the loader (schema + `.pack.js` and `.pack.mjs`), the applicability predicate (source-scan for one of the three legal scoping seams: route, tacIds or `blueprint:` tag), the check-id cross-check against the shipping blueprint's contributed AC ids, the runner pass (after invariants and auth-smoke, packs receive an injected browser and fetch), the aggregate verdict extension (block on any `severity: block` pack fail), the `--probe-pack <name>` CLI restriction, and the optional `preChecks[]` fast-fail slot with `dependsOn` skip semantics. Zero new npm dependencies; the pinned Playwright MCP the launcher provisions is the browser access seam. Unblocks T-1..T-5 (datatable, charts, dashboard, notifications-in-app, admin-console).",
21
+ "dependsOnFbsIds": []
22
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "createdAt": "2026-09-04T20:05:58.214Z",
3
+ "updatedAt": "2026-09-04T20:06:06.900Z",
4
+ "acIds": [
5
+ "AC-1801-1",
6
+ "AC-1801-2",
7
+ "AC-1801-3",
8
+ "AC-1801-4",
9
+ "AC-1801-5"
10
+ ],
11
+ "fbsId": "FBS-037",
12
+ "prdId": "PRD-001",
13
+ "bsId": "BS-001",
14
+ "buildOrder": 37,
15
+ "executionStatus": "notStarted",
16
+ "title": "application-datatable v1.0.0 blueprint on the shelf: 22 contributions, Playwright probe pack with six anchored checks, sample-app fixture",
17
+ "summary": "T-1 of the ratified visual round (spec 2026-09-04, section 5.1): the application-datatable v1.0.0 blueprint on the shelf. Ships 22 contributions (six REQs, nine USs, three TACs, four ADRs), a Playwright probe pack under blueprints/application-datatable/probe-packs/application-datatable.pack.js whose six checks (AC-17101-1 sort click, AC-17102-1 filter q, AC-17103-2 pagination aria-live, AC-17104-3 bulk-action focus return, AC-17105-1 four-state distinctness, AC-17106-1 column reorder keyboard) are anchored to blueprint AC ids per T-0 AC-1701-3, and a dependency-free sample-app fixture at packages/rcf-lite/test/fixtures/probe-pack-application-datatable/ the pack probes for real. Applies cleanly (validate 0, coverage strict 0, eval strict 0 on a scratch project). Consumes T-0's runner extension.",
18
+ "dependsOnFbsIds": []
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "createdAt": "2026-09-04T21:08:46.506Z",
3
+ "updatedAt": "2026-09-04T21:09:05.400Z",
4
+ "acIds": [
5
+ "AC-1901-1",
6
+ "AC-1901-2",
7
+ "AC-1901-3",
8
+ "AC-1901-4",
9
+ "AC-1901-5"
10
+ ],
11
+ "fbsId": "FBS-038",
12
+ "prdId": "PRD-001",
13
+ "bsId": "BS-001",
14
+ "buildOrder": 38,
15
+ "executionStatus": "notStarted",
16
+ "title": "application-charts v1.0.0 blueprint on the shelf: 15 contributions, Playwright probe pack with three anchored checks, sample-app fixture with negative-run switches",
17
+ "summary": "T-2 of the ratified visual round (spec 2026-09-04, section 5.2): the application-charts v1.0.0 blueprint on the shelf. Ships 15 contributions (four REQs on the chart form set, non-colour distinction, text-alternative table and keyboard traversal; six USs binding runtime-observable ACs; two TACs on the render shell and the keyboard traversal contract; three ADRs on chart engine choice, accessible palette and reduced-motion respect), a Playwright probe pack under blueprints/application-charts/probe-packs/application-charts.pack.mjs whose three checks (AC-18102-1 non-colour distinction, AC-18103-1 text-alternative table with cell-per-value contract, AC-18104-1 keyboard traversal with announced-string format and reduced-motion suppression) are anchored to blueprint AC ids per T-0 AC-1701-3 and each carries a description field per spec section 9, and a dependency-free sample-app fixture at packages/rcf-lite/test/fixtures/probe-pack-application-charts/ the pack probes for real. Applies cleanly (validate 0, coverage strict 0, eval strict 0 on a scratch project). Consumes T-0's runner extension; the leaf blueprint the T-3 application-dashboard build consumes.",
18
+ "dependsOnFbsIds": []
19
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "createdAt": "2026-09-04T22:10:00.000Z",
3
+ "updatedAt": "2026-09-04T22:10:00.000Z",
4
+ "acIds": [
5
+ "AC-2001-1",
6
+ "AC-2001-2",
7
+ "AC-2001-3",
8
+ "AC-2001-4",
9
+ "AC-2001-5",
10
+ "AC-2001-6",
11
+ "AC-2001-7"
12
+ ],
13
+ "fbsId": "FBS-039",
14
+ "prdId": "PRD-001",
15
+ "bsId": "BS-001",
16
+ "buildOrder": 39,
17
+ "executionStatus": "notStarted",
18
+ "title": "application-dashboard v1.0.0 blueprint on the shelf: 18 contributions, packaged design guidance, Playwright probe pack with three anchored checks, sample-app fixture with negative-run switches, pack-browser resize seam extension",
19
+ "summary": "T-3 of the ratified visual round (spec 2026-09-04, section 5.3): the application-dashboard v1.0.0 blueprint on the shelf. Ships 18 contributions (5 REQs on shell composition, primary-KPI visual hierarchy, per-tile four-state contract, timeframe and filter chrome refetch fan-out, and export handle with format delegation to charts; 7 USs binding runtime-observable ACs plus one on packaged-guidance adherence; 3 TACs on the tile grid with CSS Grid position semantics, the filter chrome and timeframe picker with the refetch fan-out contract, and the export handle; 3 ADRs on the primary-KPI kinds enum, the timeframe presets and the export formats), a packaged design-guidance asset carrying the eight sections and five https citations per spec 5.3.1, a Playwright probe pack whose three checks (AC-19102-1 primary-KPI position by DOM order and CSS Grid position at 1440/1024/360, AC-19104-1 timeframe refetch fan-out with same boundary and matching as-of ISO-8601 stamp, AC-19103-1 per-tile four-state contract with role region, aria-live polite and non-colour distinction) are anchored to blueprint AC ids per T-0 AC-1701-3 and each carries a description field per spec section 9, and a dependency-free sample-app fixture the pack probes for real. Extends the pack-browser seam with a resize(width, height) method the pack drives to probe the three breakpoints. Applies cleanly (validate 0, coverage strict 0, eval strict 0 on a scratch project). Consumes application-charts through the shared render shell (the dashboard's chart region reuses the charts sample-app markup shape); references application-datatable in the packaged guidance's when-a-table-beats-a-chart section.",
20
+ "dependsOnFbsIds": []
21
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "createdAt": "2026-09-04T23:59:00.000Z",
3
+ "updatedAt": "2026-09-04T23:59:00.000Z",
4
+ "acIds": [
5
+ "AC-2101-1",
6
+ "AC-2101-2",
7
+ "AC-2101-3",
8
+ "AC-2101-4",
9
+ "AC-2101-5",
10
+ "AC-2101-6"
11
+ ],
12
+ "fbsId": "FBS-040",
13
+ "prdId": "PRD-001",
14
+ "bsId": "BS-001",
15
+ "buildOrder": 40,
16
+ "executionStatus": "notStarted",
17
+ "title": "application-notifications-in-app v1.0.0 blueprint on the shelf: 19 contributions, Playwright probe pack with three anchored checks, sample-app fixture with four break switches, and the family-prefix reservation across the shelf registry",
18
+ "summary": "T-4 of the ratified visual round (spec 2026-09-04, section 5.4): the application-notifications-in-app v1.0.0 blueprint on the shelf. Ships 19 contributions (5 REQs on live-region preseeding, transient toast contract, notification centre inbox with acknowledge round-trip, per-user preferences UI with sibling delegation, and delivery-attempt log; 8 USs binding runtime-observable ACs plus three cross-cutting cases; 3 TACs on the live-region wrappers and toast factory, centre inbox and acknowledge round-trip, and preferences UI; 3 ADRs on the priority-to-role mapping polite/status vs assertive/alert per WCAG 4.1.3 and ARIA APG alert, the six-second toast timeout floor per WCAG 2.2.1 Timing Adjustable, and the thirty-day centre retention window), a Playwright probe pack whose three checks (AC-20101-1 live-region preseeded on every declared route, AC-20102-1 transient toast contract with priority-to-role mapping and timeout floor measured via data-shown-at/data-dismissed-at, AC-20103-1 centre acknowledge round-trip enumerated by data-notification-id with client + server request-log reconciliation) are anchored to blueprint AC ids per T-0 AC-1701-3 and each carries a description field per spec section 9 (with AC-20101-1 description carrying the word 'preseeded' per the T-4 row), and a dependency-free sample-app fixture the pack probes for real, with four break switches for the negative runs (preseed, role, timeout, ack). Reserves the family prefix application-notifications- for the sibling channels the shelf will grow into (email, push, webhook) as a doc-only reservation on the blueprint README and every applying blueprint's docs/topics.md registry row. Applies cleanly (validate 0, coverage strict 0, eval strict 0 on a scratch project).",
19
+ "dependsOnFbsIds": []
20
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "createdAt": "2026-09-05T01:30:00.000Z",
3
+ "updatedAt": "2026-09-05T01:30:00.000Z",
4
+ "acIds": ["AC-2201-1", "AC-2201-2", "AC-2201-3", "AC-2201-4", "AC-2201-5", "AC-2201-6", "AC-2201-7", "AC-2201-8", "AC-2201-9"],
5
+ "fbsId": "FBS-041",
6
+ "prdId": "PRD-001",
7
+ "bsId": "BS-001",
8
+ "buildOrder": 41,
9
+ "executionStatus": "notStarted",
10
+ "title": "Capability-declaration mechanism and four shelf auth blueprint 1.1.0/1.2.0 minor bumps",
11
+ "summary": "T-5 mechanism track of the ratified visual round (spec 2026-09-04, section 5.5). Introduces capabilities[], elicits[] and requiresAppliedCapabilities top-level fields on blueprint.json with shape validation in the loader; apply-time discovery via source read-back on manifest.blueprints[].source; the exit-3 refusal with the spec 5.5.1 verbatim message on bare-SPA applies; --allow-no-auth-yet operator override; elicitation phase reading --answer <id>=<value> (repeatable) and --answers <file> (JSON object) with kind coercion; per-project sidecar rcf/blueprints/${slug}.applied.json capturing appliedCapabilities and appliedElicitations; pack-runner extension for per-check applicability so an absent capability records applicable:false and the aggregate verdict treats the check as neither pass nor fail (spec section 3.3 T-5 residual cure). Bumps the four shelf auth blueprints to declare capabilities[]: magic-link 1.0.0 -> 1.1.0 [principalDirectory]; clerk 1.1.0 -> 1.2.0 [principalDirectory, roleModel]; oauth2 1.0.0 -> 1.1.0 [principalDirectory, roleModel]; keycloak 1.0.0 -> 1.1.0 [principalDirectory, roleModel]. docs/blueprint-authoring.md section 6a extended with the capability vocabulary table (principalDirectory, roleModel, tenancy, auditLog) and the sidecar contract description.",
12
+ "dependsOnFbsIds": []
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "createdAt": "2026-09-05T01:30:00.000Z",
3
+ "updatedAt": "2026-09-05T01:30:00.000Z",
4
+ "acIds": ["AC-2301-1", "AC-2301-2", "AC-2301-3", "AC-2301-4", "AC-2301-5", "AC-2301-6", "AC-2301-7"],
5
+ "fbsId": "FBS-042",
6
+ "prdId": "PRD-001",
7
+ "bsId": "BS-001",
8
+ "buildOrder": 42,
9
+ "executionStatus": "notStarted",
10
+ "title": "application-admin-console v1.0.0 blueprint on the shelf with capability-gated probe pack and sample-app fixture",
11
+ "summary": "T-5 shelf-blueprint track of the ratified visual round (spec 2026-09-04, section 5.5): the application-admin-console v1.0.0 blueprint on the shelf. Ships 23 contributions (6 REQs on console shell + users conditional principalDirectory + roles conditional roleModel with Owner+Admin+Member+Viewer baseline + orgs conditional tenancy + audit-log conditional auditLog + access-denied and request-access WCAG 2.2 AA; 9 USs 21101-21109 binding 16 runtime-observable ACs plus the conditional-refusal apply-time behaviour; 4 TACs 2201-2204 on the console shell reading the surface manifest + apply-time capability discovery + permission matrix as an ARIA APG grid + audit view consuming datatable T-1; 4 ADRs 2201-2204 on the capability vocabulary as free labels + Owner+Admin+Member+Viewer baseline elicited additions + invite transport email default delegated to email sibling elicited + audit-log retention window elicited), a Playwright probe pack whose four capability-gated checks (AC-21102-1 users when principalDirectory, AC-21103-1 permission matrix when roleModel, AC-21104-1 org switcher when tenancy, AC-21105-1 audit-log when auditLog) each declare a per-check appliesTo predicate reading the applied capability sidecar, and a dependency-free sample-app fixture with CAPS switch selecting surfaces, ARIA APG grid permission matrix, users directory with data-user-id enumeration, org switcher, audit-log with correlationId, access-denied with request-access control, and break switches for the negative runs (matrix-grid, denied, audit-fields). Consumes application-datatable (T-1) for the users and audit surfaces; suggestedCompanions logging and errorHandling; providesRoles absent per spec 5.5.3.",
12
+ "dependsOnFbsIds": ["FBS-041"]
13
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "createdAt": "2026-09-04T17:59:20.149Z",
3
+ "updatedAt": "2026-09-04T17:59:34.348Z",
4
+ "reqId": "REQ-017",
5
+ "prdId": "PRD-001",
6
+ "title": "Blueprint-shipped browser-verify probe packs with FBS-scoped applicability",
7
+ "description": "The rcf-lite browser-verify runner extension that lets a blueprint SHIP a Playwright probe pack under its own `probe-packs/` directory and have `rcf verify browser` load, scope and execute it as a required ship gate. The extension adds a pack loader (schema validation, applicability predicate, check-id cross-check against the blueprint's contributed AC ids), a runner pass that runs after invariants and auth-smoke, an aggregate verdict extension that blocks on any `severity: block` pack fail, a `probePacks[]` field on the composed browserVerification record, and one CLI option (`--probe-pack <name>`) that restricts one run to one pack. Enables the visual round T-1..T-5 blueprints (datatable, charts, dashboard, notifications-in-app, admin-console) to declare runtime-observable ACs and ship the browser checks that prove them, without adding any npm dependencies and without letting a pack fire on an FBS whose surface does not exist.",
8
+ "category": "functional",
9
+ "domain": "browser-verify",
10
+ "priority": "must",
11
+ "version": "0.1.0",
12
+ "status": "draft",
13
+ "shapeClassification": {
14
+ "shapes": [],
15
+ "reason": "content-pending",
16
+ "classifiedAt": "2026-09-04T17:59:20.168Z"
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "createdAt": "2026-09-04T20:05:06.758Z",
3
+ "updatedAt": "2026-09-04T20:05:16.473Z",
4
+ "reqId": "REQ-018",
5
+ "prdId": "PRD-001",
6
+ "title": "Application-datatable v1.0.0 blueprint on the shelf with its Playwright probe pack and sample-app fixture",
7
+ "description": "The rcf-lite shelf ships the application-datatable v1.0.0 blueprint (blueprints/application-datatable/) with 22 contributions (6 REQs, 9 USs with 27 runtime-observable ACs, 3 TACs, 4 ADRs), a shipped Playwright probe pack (blueprints/application-datatable/probe-packs/application-datatable.pack.js) whose six checks (AC-17101-1 sort click, AC-17102-1 filter q request, AC-17103-2 pagination aria-live announcement, AC-17104-3 bulk-action confirmation focus return, AC-17105-1 four-state distinctness, AC-17106-1 column reorder keyboard alternative) are anchored to blueprint AC ids, and a dependency-free sample-app fixture (packages/rcf-lite/test/fixtures/probe-pack-application-datatable/) the pack probes at the shelf's own gate. The blueprint is the first ratification of the ratified visual round T-1 (spec 2026-09-04 section 5.1) and the first shipped consumer of T-0's probe-pack runner extension.",
8
+ "category": "functional",
9
+ "domain": "application",
10
+ "priority": "must",
11
+ "version": "0.1.0",
12
+ "status": "draft",
13
+ "shapeClassification": {
14
+ "shapes": [],
15
+ "reason": "content-pending",
16
+ "classifiedAt": "2026-09-04T20:05:06.779Z"
17
+ }
18
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "createdAt": "2026-09-04T21:08:13.117Z",
3
+ "updatedAt": "2026-09-04T21:08:13.139Z",
4
+ "description": "The rcf-lite shelf ships the application-charts v1.0.0 blueprint (blueprints/application-charts/) with 15 contributions (4 REQs, 6 USs binding runtime-observable ACs, 2 TACs, 3 ADRs), a shipped Playwright probe pack (blueprints/application-charts/probe-packs/application-charts.pack.mjs) whose three checks (AC-18102-1 non-colour distinction, AC-18103-1 text-alternative table, AC-18104-1 keyboard traversal with reduced motion) are anchored to blueprint AC ids per T-0 AC-1701-3, and a dependency-free sample-app fixture (packages/rcf-lite/test/fixtures/probe-pack-application-charts/) the pack probes at the shelf gate. The blueprint is the ratification of the visual round T-2 (spec 2026-09-04 section 5.2), the second shipped consumer of T-0's probe-pack runner extension, and the leaf blueprint the application-dashboard T-3 consumes.",
5
+ "category": "functional",
6
+ "domain": "application",
7
+ "priority": "must",
8
+ "reqId": "REQ-019",
9
+ "prdId": "PRD-001",
10
+ "title": "Application-charts v1.0.0 blueprint on the shelf with its Playwright probe pack and sample-app fixture",
11
+ "version": "0.1.0",
12
+ "status": "draft",
13
+ "shapeClassification": {
14
+ "shapes": [
15
+ "webUi",
16
+ "persistence"
17
+ ],
18
+ "reason": "keyword-scan",
19
+ "classifiedAt": "2026-09-04T21:08:13.137Z",
20
+ "signals": [
21
+ {
22
+ "source": "description",
23
+ "shape": "webUi",
24
+ "match": "table"
25
+ },
26
+ {
27
+ "source": "description",
28
+ "shape": "persistence",
29
+ "match": "table"
30
+ },
31
+ {
32
+ "source": "description",
33
+ "shape": "webUi",
34
+ "match": "dashboard"
35
+ }
36
+ ]
37
+ }
38
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "createdAt": "2026-09-04T22:10:00.000Z",
3
+ "updatedAt": "2026-09-04T22:10:00.000Z",
4
+ "reqId": "REQ-020",
5
+ "prdId": "PRD-001",
6
+ "title": "Application-dashboard v1.0.0 blueprint on the shelf with its packaged design-guidance asset, Playwright probe pack and sample-app fixture",
7
+ "description": "The rcf-lite shelf ships the application-dashboard v1.0.0 blueprint (blueprints/application-dashboard/) with 18 contributions (5 REQs on the dashboard shell composition, the primary-KPI visual hierarchy, the per-tile four-state contract, the timeframe and filter chrome fan-out, and the export handle with format delegation to charts; 7 USs binding runtime-observable ACs plus one US on packaged-guidance adherence; 3 TACs on the tile grid with CSS Grid position semantics and breakpoint reflow, the filter chrome and timeframe picker with the refetch fan-out contract, and the export handle; 3 ADRs on the primary-KPI kinds enum, the timeframe presets and the export formats). Ships a packaged design-guidance asset at blueprints/application-dashboard/assets/guidance/dashboard-design.md covering primary KPI placement, tile density and count limits, timeframe and filter chrome, loading/empty/error states, colour and contrast, when a table beats a chart with delegation to application-datatable, refresh cadence and staleness, and anti-patterns (five https citations from NN/g, Few, Tufte, GOV.UK, WCAG). Ships a Playwright probe pack under blueprints/application-dashboard/probe-packs/application-dashboard.pack.mjs whose three checks (AC-19102-1 primary-KPI position by DOM order and CSS Grid position at 1440/1024/360, AC-19104-1 timeframe refetch fan-out with same boundary and matching as-of ISO-8601 stamp, AC-19103-1 per-tile four-state contract with role region, aria-live polite and non-colour distinction) are anchored to blueprint AC ids per T-0 AC-1701-3. Ships a dependency-free sample-app fixture at packages/rcf-lite/test/fixtures/probe-pack-application-dashboard/ with break switches for the negative runs. Extends the pack-browser seam with a resize(width, height) method (via the pinned Playwright MCP's browser_resize tool on the MCP route and page.setViewportSize on the project route) so probe packs can probe breakpoint reflow honestly. Third shipped consumer of T-0's probe-pack runner extension; consumes application-charts on the chart region and references application-datatable in the packaged guidance.",
8
+ "category": "functional",
9
+ "domain": "application",
10
+ "priority": "must",
11
+ "version": "0.1.0",
12
+ "status": "draft"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "createdAt": "2026-09-04T23:59:00.000Z",
3
+ "updatedAt": "2026-09-04T23:59:00.000Z",
4
+ "reqId": "REQ-021",
5
+ "prdId": "PRD-001",
6
+ "title": "Application-notifications-in-app v1.0.0 blueprint on the shelf with its Playwright probe pack and sample-app fixture",
7
+ "description": "The rcf-lite shelf ships the application-notifications-in-app v1.0.0 blueprint (blueprints/application-notifications-in-app/) with 19 contributions (5 REQs on live-region preseeding, the transient toast contract, the notification centre inbox with acknowledge round-trip, the per-user preferences UI with sibling-channel delegation, and the delivery-attempt log; 8 USs binding runtime-observable ACs plus three cross-cutting cases on the page load with backlog, the background event and the disjoint-content contract; 3 TACs on the live-region wrappers and the toast factory, the centre inbox with retention and acknowledge round-trip, and the preferences UI with sibling delegation; 3 ADRs on the priority-to-role mapping polite/status vs assertive/alert, the WCAG 2.2.1 six-second toast timeout floor, and the ADR-2103 thirty-day retention window). Reserves the family prefix application-notifications- for the sibling channels the shelf will grow into (email, push, webhook) as documented in the blueprint README and the shelf band registry. Ships a Playwright probe pack under blueprints/application-notifications-in-app/probe-packs/application-notifications-in-app.pack.mjs whose three checks (AC-20101-1 live-region preseeding on every declared route, AC-20102-1 transient toast contract with priority-to-role mapping and timeout floor measured via data-shown-at/data-dismissed-at timestamps, AC-20103-1 centre acknowledge round-trip through data-notification-id enumeration and reconciliation of client + server request logs) are anchored to blueprint AC ids per T-0 AC-1701-3. Ships a dependency-free sample-app fixture at packages/rcf-lite/test/fixtures/probe-pack-application-notifications-in-app/ with four break switches for the negative runs (preseed, role, timeout, ack). Fourth shipped consumer of T-0's probe-pack runner extension; consumes the logging companion for the delivery-log write path and the errorHandling companion for the assertive-slot alert boundary; adds no runner surface (reuses the T-3 pack-browser resize seam only for future minor bumps, none in v1.0.0).",
8
+ "category": "functional",
9
+ "domain": "application",
10
+ "priority": "must",
11
+ "version": "0.1.0",
12
+ "status": "draft"
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "createdAt": "2026-09-05T01:30:00.000Z",
3
+ "updatedAt": "2026-09-05T01:30:00.000Z",
4
+ "reqId": "REQ-022",
5
+ "prdId": "PRD-001",
6
+ "title": "Capability-declaration mechanism (capabilities[], elicits[], apply-time discovery, refusal and custom-auth elicitation) and four auth-blueprint 1.1.0 minors adopting it",
7
+ "description": "The rcf-lite blueprint loader accepts two additive optional top-level fields on blueprint.json: capabilities[] (a non-empty array of lower camelCase strings on the ^[a-z][a-zA-Z0-9]*$ pattern, matching the section 6a role naming convention; a blueprint declares what identity or platform capability it provides so consumer blueprints can gate surfaces on it) and elicits[] (a non-empty array of {id, prompt, kind: enum|string|boolean, default, when?} entries the apply verb reads at apply time to prompt the operator for per-project answers). The loader validates SHAPE; the vocabulary lives in the section 6a table (principalDirectory, roleModel, tenancy, auditLog) extended in the same docs edit. A third additive top-level field requiresAppliedCapabilities[] tells apply that the blueprint refuses to apply when none of the currently-applied blueprints declares any of the required capabilities (unless an allowSkipFlag matching --allow-no-auth-yet is passed); apply then reads back each applied blueprint's source blueprint.json (the applied-blueprint-record schema is closed and refuses new fields; the source-manifest read-back precedent from the T-2 core-companions train applies here) to compute the appliedCapabilities union across the project. When the union is empty AND the blueprint is admin-console AND --allow-no-auth-yet was not passed, the apply exits 3 with a stderr message naming security-auth-* (the spec 5.5.1 verbatim message) and lists the currently-applied blueprints. When --allow-no-auth-yet is passed, apply stamps a note field onto the applied record so a later rcf define validate can flag surfaces that never activated. The elicitation phase prompts on a TTY and reads --answer <id>=<value> (repeatable) plus --answers <file> (JSON object) non-interactively; each elicit's `when` predicate evaluates against the discovered applied-capability set so elicits like the tenancy shape only prompt when the tenancy capability is applied. Apply persists appliedCapabilities and appliedElicitations into a sidecar file at rcf/blueprints/${slug}.applied.json (the applied-blueprint-record schema is closed under additionalProperties:false so the manifest cannot carry them; the sidecar is read by consumer surfaces at runtime). The four shelf auth blueprints adopt capabilities[] in v1.1.0 minor bumps landing in the same PR per spec Q2 default: security-auth-magic-link 1.0.0 -> 1.1.0 capabilities: [principalDirectory]; security-auth-clerk 1.1.0 -> 1.2.0 capabilities: [principalDirectory, roleModel]; security-auth-oauth2 1.0.0 -> 1.1.0 capabilities: [principalDirectory, roleModel]; security-auth-keycloak 1.0.0 -> 1.1.0 capabilities: [principalDirectory, roleModel]. Per section 6 of blueprint-authoring.md, an additive optional field with no global-topic change is a minor bump.",
8
+ "category": "functional",
9
+ "domain": "application",
10
+ "priority": "must",
11
+ "version": "0.1.0",
12
+ "status": "draft"
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "createdAt": "2026-09-05T01:30:00.000Z",
3
+ "updatedAt": "2026-09-05T01:30:00.000Z",
4
+ "reqId": "REQ-023",
5
+ "prdId": "PRD-001",
6
+ "title": "Application-admin-console v1.0.0 blueprint on the shelf with capability-gated surfaces, a Playwright probe pack and a sample-app fixture",
7
+ "description": "The rcf-lite shelf ships the application-admin-console v1.0.0 blueprint (blueprints/application-admin-console/) with 23 contributions (6 REQs on the console shell with no dead links to unapplied capabilities, the users surface conditional on principalDirectory, the roles surface conditional on roleModel with Owner + Admin + Member + Viewer baseline, the orgs surface conditional on tenancy, the audit-log surface conditional on the auditLog logging companion, and the access-denied and request-access states per WCAG; 9 USs 21101-21109 binding runtime-observable ACs plus the conditional-refusal apply-time behaviour; 4 TACs 2201-2204 on the console shell reading the surface manifest, the apply-time capability discovery, the permission matrix as an ARIA APG grid, and the audit view consuming application-datatable; 4 ADRs 2201-2204 on the capability vocabulary, baseline roles with elicited additions, invite transport with email default delegated to the email sibling and elicited, and audit-log retention window elicited). The blueprint declares requiresAppliedCapabilities: [principalDirectory] and allowSkipFlag: allow-no-auth-yet so a bare-SPA apply refuses with exit 3 and the spec 5.5.1 verbatim message naming security-auth-*; the override records a note on the applied record. Declares elicits[] gating baselineRoles (only when roleModel is applied), tenancyShape (only when tenancy is applied), inviteTransport, and auditRetentionDays (only when auditLog is applied). Declares suggestedCompanions logging and errorHandling with the ratified spec section 5.5 reasons; providesRoles absent per spec 5.5.3 (the console is a consumer of principalDirectory, never a provider). Ships a Playwright probe pack under blueprints/application-admin-console/probe-packs/application-admin-console.pack.mjs whose four checks (AC-21102-1 users directory, AC-21103-1 permission matrix, AC-21104-1 org switcher, AC-21105-1 audit-log surface) each carry an appliesTo predicate that reads manifest.blueprints[] and the read-back capabilities so an inapplicable check records applicable: false and the aggregate verdict treats it as neither pass nor fail. Ships a dependency-free sample-app fixture at packages/rcf-lite/test/fixtures/probe-pack-application-admin-console/ with a CAPS env or query switch selecting which surfaces exist (mirrors the applied capability set so the sample app plays every fixture), a console shell whose nav only links applied surfaces, a users directory table with per-row invite and deactivate controls enumerated by data-user-id, a permission matrix rendered as an ARIA APG grid with role=grid, role=row, role=gridcell, role=rowheader on role rows and role=columnheader on permission columns announcing the exact permission string on focus (WCAG 4.1.3), an org switcher (only under tenancy), an audit-log table with actor / target / before / after / timestamp / correlation id enumerated by data-audit-id, an access-denied route with a request-access control, request log on window.__adminFetches and /__requests, and break switches for the negative runs (matrix-grid, denied, audit-fields). Reads applied capabilities from the rcf/blueprints/application-admin-console.applied.json sidecar or from an ADMIN_CONSOLE_CAPS env override so the fixture can play fixtures (b) SPA + magic-link, (c) SPA + clerk + logging, and (d) custom-auth elicited capabilities. Fifth shipped consumer of T-0's probe-pack runner extension; consumes application-datatable (T-1) for the users directory and audit views."
8
+ ,
9
+ "category": "functional",
10
+ "domain": "application",
11
+ "priority": "must",
12
+ "version": "0.1.0",
13
+ "status": "draft"
14
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "createdAt": "2026-09-04T18:00:42.492Z",
3
+ "updatedAt": "2026-09-04T18:51:45.216Z",
4
+ "purpose": "Cover AC-1701-1..8 via unit tests over the pack schema validator, the pack loader (both extensions, cross-check, applicability seams), the runner pack pass (aggregate verdict extension, browser and fetch injection, preChecks with dependsOn), the CLI --probe-pack option (unknown-name refusal, pack restriction, applicable=false record path), the Playwright-MCP pack-browser stdio client (evaluate-result parsing), and the boot fallback (reachability probe, spawn-and-wait, waitForSelector soft-timeout, cleanup on completion).",
5
+ "testLevel": "unit",
6
+ "acIds": [
7
+ "AC-1701-1",
8
+ "AC-1701-2",
9
+ "AC-1701-3",
10
+ "AC-1701-4",
11
+ "AC-1701-5",
12
+ "AC-1701-6",
13
+ "AC-1701-7",
14
+ "AC-1701-8"
15
+ ],
16
+ "id": "TS-046",
17
+ "usId": "US-1701",
18
+ "title": "Blueprint-shipped probe pack loader, scoping, cross-check, runner pass and CLI --probe-pack",
19
+ "testCases": [
20
+ {
21
+ "id": "TC-046-pack-loader-loads-both-pack-js-and-pack",
22
+ "acId": "AC-1701-1",
23
+ "description": "Pack loader loads both .pack.js and .pack.mjs; validates packName pattern and blueprint-slug prefix; refuses non-array checks[] with exit 2 diagnostic",
24
+ "status": "pending",
25
+ "testPointer": "test/browser-verify/pack-loader.test.js::loadProbePacks accepts .pack.js and .pack.mjs and reports one loaded pack per legal module"
26
+ },
27
+ {
28
+ "id": "TC-046-applicability-predicate-source-scan",
29
+ "acId": "AC-1701-2",
30
+ "description": "Applicability predicate source-scan refuses unqualified predicate () => true and refuses a predicate that references none of route, tacIds, blueprint:; appliesTo returning false records applicable=false",
31
+ "status": "pending",
32
+ "testPointer": "test/browser-verify/pack-loader.test.js::applicability predicate refuses unqualified default and records applicable=false when appliesTo returns false"
33
+ },
34
+ {
35
+ "id": "TC-046-loader-refuses-at-exit-2-a-pack-whose",
36
+ "acId": "AC-1701-3",
37
+ "description": "Loader refuses at exit 2 a pack whose checks[].id names an AC id the blueprint does not contribute; the diagnostic names the offending id and the contributed AC ids",
38
+ "status": "pending",
39
+ "testPointer": "test/browser-verify/pack-loader.test.js::loader refuses a pack whose check id names an AC the blueprint does not contribute"
40
+ },
41
+ {
42
+ "id": "TC-046-runner-pack-pass-invokes-each-check-s",
43
+ "acId": "AC-1701-4",
44
+ "description": "Runner pack pass invokes each check's run with injected browser and fetch, folds results into probePacks[], and aggregate verdict extension blocks on severity block fail and warns on severity warn fail",
45
+ "status": "pending",
46
+ "testPointer": "test/browser-verify/pack-runner.test.js::runProbePacksForFbs folds probePacks[] onto the record and the aggregate verdict extension blocks on a block-severity pack fail"
47
+ },
48
+ {
49
+ "id": "TC-046-cli-probe-pack-option-restricts-to-one",
50
+ "acId": "AC-1701-5",
51
+ "description": "CLI --probe-pack option restricts to one pack by name; unknown name exits 2 with a diagnostic naming the discovered packs; when omitted every discovered pack runs",
52
+ "status": "pending",
53
+ "testPointer": "test/cli/browser-verify-probe-pack.test.js::rcf verify browser --probe-pack restricts to one pack and exits 2 on unknown pack name"
54
+ },
55
+ {
56
+ "id": "TC-046-prechecks-runs-before-browser-checks-a",
57
+ "acId": "AC-1701-6",
58
+ "description": "preChecks[] runs before browser checks; a failing pre-check skips only browser checks that name it under dependsOn with verdict skipped and detail skipped-by-pre-check; other checks still run",
59
+ "status": "pending",
60
+ "testPointer": "test/browser-verify/pack-runner.test.js::preChecks fast-fail skips browser checks that dependsOn a failing pre-check"
61
+ },
62
+ {
63
+ "id": "TC-046-pack-browser-evaluate-parser",
64
+ "acId": "AC-1701-7",
65
+ "description": "The Playwright-MCP stdio client parses browser_evaluate result blocks (both the '### Result' fenced form used by MCP 0.0.80+ and the legacy 'Result:' trailer) into typed JS values so a pack's check can assert on the value directly",
66
+ "status": "pending",
67
+ "testPointer": "test/browser-verify/pack-browser.test.js::parseEvaluateResult returns a parsed JSON value when the MCP block ends with Result: <json>"
68
+ },
69
+ {
70
+ "id": "TC-046-boot-skips-when-runtime-reachable",
71
+ "acId": "AC-1701-8",
72
+ "description": "bootIfNeeded returns already-up when the runtime URL responds with any HTTP status; returns no-boot / no-boot-command when the pack declares no boot / no bootCommand; spawns bootCommand and reports started when the URL flips to reachable; SIGTERMs the child on stop()",
73
+ "status": "pending",
74
+ "testPointer": "test/browser-verify/boot.test.js::bootIfNeeded spawns bootCommand, polls until waitForUrl responds, then reports started"
75
+ }
76
+ ],
77
+ "status": "draft"
78
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "createdAt": "2026-09-04T20:05:51.932Z",
3
+ "updatedAt": "2026-09-04T20:09:33.956Z",
4
+ "purpose": "Cover AC-1801-1..5 via unit tests over the shipped application-datatable blueprint's contribution counts (six REQs, nine USs, three TACs, four ADRs, 27 ACs total), the pack-loader accepting the shipped pack file with every check id cross-checked against the blueprint's contributed AC ids, the pack schema accepting the pack's applicability predicate (references route and tacIds), and the sample-app fixture's exported startServer plus /api/rows shape.",
5
+ "testLevel": "unit",
6
+ "acIds": [
7
+ "AC-1801-1",
8
+ "AC-1801-2",
9
+ "AC-1801-3",
10
+ "AC-1801-4",
11
+ "AC-1801-5"
12
+ ],
13
+ "id": "TS-047",
14
+ "usId": "US-1801",
15
+ "title": "application-datatable v1.0.0 shelf shape and probe pack cross-check",
16
+ "testCases": [
17
+ {
18
+ "id": "TC-047-blueprint-json-declares-slug-application",
19
+ "acId": "AC-1801-1",
20
+ "description": "blueprint.json declares slug application-datatable, version 1.0.0, category application, 22 contributions in 6 REQ / 9 US / 3 TAC / 4 ADR groups, and suggestedCompanions declares logging and errorHandling",
21
+ "status": "pending",
22
+ "testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: blueprint.json declares the ratified shape (TC-047-blueprint-json-shape)"
23
+ },
24
+ {
25
+ "id": "TC-047-fresh-init-project-applies-the-blueprint",
26
+ "acId": "AC-1801-2",
27
+ "description": "Fresh init project applies the blueprint cleanly; walkTree produces zero errors; 6 REQs and 9 USs land under the application-datatable prefix",
28
+ "status": "pending",
29
+ "testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: applies cleanly on a fresh init project and adds 22 documents to the tree (TC-047-applies-clean)"
30
+ },
31
+ {
32
+ "id": "TC-047-every-pack-check-id-resolves-to-an-ac-id",
33
+ "acId": "AC-1801-3",
34
+ "description": "Every pack check id resolves to an AC id contributed by the blueprint; expected six check ids in the same order as the spec",
35
+ "status": "pending",
36
+ "testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: every AC id in each contributed US matches the pack check ids and vice versa where anchored (TC-047-pack-checks-cross-check)"
37
+ },
38
+ {
39
+ "id": "TC-047-sample-app-fixture-startserver-serves",
40
+ "acId": "AC-1801-4",
41
+ "description": "Sample-app fixture startServer serves /api/rows honouring sort, q, page and pageSize; loaders discovery finds the shipped pack against an applied scratch project",
42
+ "status": "pending",
43
+ "testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable sample-app fixture: startServer returns rows on /api/rows with sort, q, page and pageSize (TC-047-fixture-api-rows)"
44
+ },
45
+ {
46
+ "id": "TC-047-pack-loader-against-blueprint-discovers",
47
+ "acId": "AC-1801-5",
48
+ "description": "pack loader against blueprint discovers exactly one pack with six checks; the pack cross-check test proves the pack refuses ship on broken fixture at the section 9 T-1 row 3 gate the reviewer runs against a live server",
49
+ "status": "pending",
50
+ "testPointer": "test/blueprint/application-datatable-anatomy.test.js::application-datatable: pack loader discovers the shipped pack against an applied scratch project (TC-047-pack-loader-discovers)"
51
+ }
52
+ ],
53
+ "status": "draft"
54
+ }