@adia-ai/a2ui-corpus 0.4.2 → 0.4.4

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 (452) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +59 -51
  3. package/catalog-a2ui_0_9.json +318 -15
  4. package/catalog-a2ui_0_9_rules.txt +18 -0
  5. package/chunks/_index.json +1263 -496
  6. package/chunks/agent-activity-feed.json +1 -1
  7. package/chunks/agent-canvas-shell.json +1 -1
  8. package/chunks/agent-reasoning-collapsed.json +1 -1
  9. package/chunks/auth-account-deleted-actions.json +1 -1
  10. package/chunks/auth-account-deleted.json +1 -1
  11. package/chunks/auth-card-content.json +1 -1
  12. package/chunks/auth-card-header.json +1 -1
  13. package/chunks/auth-email-entry.json +1 -1
  14. package/chunks/auth-email-verify-confirm.json +1 -1
  15. package/chunks/auth-email-verify.json +1 -1
  16. package/chunks/auth-forbidden-actions.json +1 -1
  17. package/chunks/auth-forbidden.json +1 -1
  18. package/chunks/auth-invite-actions.json +1 -1
  19. package/chunks/auth-invite-team-card.json +1 -1
  20. package/chunks/auth-link-expired-form.json +1 -1
  21. package/chunks/auth-link-expired.json +1 -1
  22. package/chunks/auth-locked-account.json +1 -1
  23. package/chunks/auth-locked-recovery-options.json +1 -1
  24. package/chunks/auth-mfa-enrollment-submit.json +1 -1
  25. package/chunks/auth-mfa-enrollment.json +224 -2
  26. package/chunks/auth-mfa-fallback-actions.json +1 -1
  27. package/chunks/auth-mfa-recovery.json +1 -1
  28. package/chunks/auth-new-password-form.json +1 -1
  29. package/chunks/auth-new-password.json +156 -2
  30. package/chunks/auth-oauth-fallback-actions.json +1 -1
  31. package/chunks/auth-oauth-interstitial.json +1 -1
  32. package/chunks/auth-password-challenge.json +1 -1
  33. package/chunks/auth-password-reset-form.json +1 -1
  34. package/chunks/auth-password-reset.json +151 -1
  35. package/chunks/auth-profile-form.json +1 -1
  36. package/chunks/auth-profile-setup.json +1 -1
  37. package/chunks/auth-reset-sent.json +1 -1
  38. package/chunks/auth-session-expired-actions.json +1 -1
  39. package/chunks/auth-session-expired.json +1 -1
  40. package/chunks/auth-signin-card-email.json +190 -2
  41. package/chunks/auth-signin-card-magic-link.json +119 -2
  42. package/chunks/auth-signin-card-mfa.json +162 -1
  43. package/chunks/auth-signin-card-otp.json +116 -2
  44. package/chunks/auth-signin-card-password.json +202 -2
  45. package/chunks/auth-signin-card-recovery.json +1 -1
  46. package/chunks/auth-signout-actions.json +1 -1
  47. package/chunks/auth-signout.json +1 -1
  48. package/chunks/auth-signup-email-entry.json +1 -1
  49. package/chunks/auth-signup-entry.json +191 -1
  50. package/chunks/auth-signup-social-auths.json +1 -1
  51. package/chunks/auth-signup-verify.json +1 -1
  52. package/chunks/auth-social-auths.json +1 -1
  53. package/chunks/auth-sso-providers.json +1 -1
  54. package/chunks/auth-sso-required.json +1 -1
  55. package/chunks/auth-team-invite.json +1 -1
  56. package/chunks/card-header-with-description.json +12 -0
  57. package/chunks/chat-page-shell.json +1 -1
  58. package/chunks/chat-streaming-surface.json +1 -1
  59. package/chunks/command-palette.json +1 -1
  60. package/chunks/commerce-pricing-tiers.json +1 -1
  61. package/chunks/conversion-funnel-6step.json +1 -1
  62. package/chunks/dashboard-acquisition-panel.json +162 -1
  63. package/chunks/dashboard-admin-page.json +2879 -4
  64. package/chunks/dashboard-audience-kpis.json +1 -1
  65. package/chunks/dashboard-audience-panel.json +488 -1
  66. package/chunks/dashboard-behavior-panel.json +91 -1
  67. package/chunks/dashboard-chart-recent.json +474 -3
  68. package/chunks/dashboard-cohort-retention.json +1 -1
  69. package/chunks/dashboard-conversion-panel.json +196 -1
  70. package/chunks/dashboard-country-list.json +1 -1
  71. package/chunks/dashboard-filter-bar.json +1 -1
  72. package/chunks/dashboard-funnel.json +1 -1
  73. package/chunks/dashboard-kpi-grid.json +1 -1
  74. package/chunks/dashboard-notifications-feed.json +1 -1
  75. package/chunks/dashboard-notifications-panel.json +383 -1
  76. package/chunks/dashboard-overview-panel.json +1363 -1
  77. package/chunks/dashboard-page-header.json +140 -1
  78. package/chunks/dashboard-pages-table.json +1 -1
  79. package/chunks/dashboard-quick-actions.json +1 -1
  80. package/chunks/dashboard-reports-panel.json +97 -1
  81. package/chunks/dashboard-reports-table.json +1 -1
  82. package/chunks/dashboard-spark-cards.json +1 -1
  83. package/chunks/dashboard-storage-card.json +1 -1
  84. package/chunks/dashboard-tabs.json +1 -1
  85. package/chunks/dashboard-team-actions-storage.json +502 -1
  86. package/chunks/dashboard-team-list.json +1 -1
  87. package/chunks/dashboard-traffic-channels.json +1 -1
  88. package/chunks/dashboard-transactions-table.json +1 -1
  89. package/chunks/destructive-confirm-modal.json +1 -1
  90. package/chunks/doc-editor-shell.json +1 -1
  91. package/chunks/drawer-2fa-key.json +1 -1
  92. package/chunks/drawer-2fa-sms.json +1 -1
  93. package/chunks/drawer-2fa-totp.json +1 -1
  94. package/chunks/drawer-cancel-sub.json +1 -1
  95. package/chunks/drawer-change-plan.json +1 -1
  96. package/chunks/drawer-custom-roles.json +5 -3
  97. package/chunks/drawer-data-start.json +1 -1
  98. package/chunks/drawer-delete-account.json +1 -1
  99. package/chunks/drawer-delete-workspace.json +1 -1
  100. package/chunks/drawer-discord.json +1 -1
  101. package/chunks/drawer-figma.json +1 -1
  102. package/chunks/drawer-first-dashboard.json +1 -1
  103. package/chunks/drawer-gcal.json +1 -1
  104. package/chunks/drawer-github.json +5 -3
  105. package/chunks/drawer-invite.json +1 -1
  106. package/chunks/drawer-payment-method.json +1 -1
  107. package/chunks/drawer-report.json +1 -1
  108. package/chunks/drawer-revoke-session.json +1 -1
  109. package/chunks/drawer-role.json +1 -1
  110. package/chunks/drawer-slack.json +1 -1
  111. package/chunks/drawer-smtp.json +5 -3
  112. package/chunks/drawer-source.json +1 -1
  113. package/chunks/drawer-transaction.json +1 -1
  114. package/chunks/editor-code-pane.json +1 -1
  115. package/chunks/editor-page-shell.json +1 -1
  116. package/chunks/editor-preview-pane.json +1 -1
  117. package/chunks/error-404-actions.json +1 -1
  118. package/chunks/error-404.json +161 -3
  119. package/chunks/error-500-actions.json +1 -1
  120. package/chunks/error-500.json +166 -3
  121. package/chunks/error-maintenance-actions.json +1 -1
  122. package/chunks/error-maintenance.json +158 -3
  123. package/chunks/error-page-shell.json +1 -1
  124. package/chunks/footer-primary-only.json +12 -0
  125. package/chunks/form-page-shell.json +1 -1
  126. package/chunks/gallery-page-shell.json +1 -1
  127. package/chunks/icon-text-row.json +16 -0
  128. package/chunks/image-tile.json +12 -0
  129. package/chunks/kanban-board-3col.json +5 -3
  130. package/chunks/kanban-page-shell.json +1 -1
  131. package/chunks/labeled-textarea.json +14 -0
  132. package/chunks/linked-record-row.json +57 -0
  133. package/chunks/marketing-hero-cta.json +1 -1
  134. package/chunks/marketing-page-shell.json +1 -1
  135. package/chunks/member-edit-drawer.json +1 -1
  136. package/chunks/metadata-description-list.json +14 -0
  137. package/chunks/onb-completion.json +1 -1
  138. package/chunks/onb-extension-install.json +1 -1
  139. package/chunks/onb-hero-welcome.json +1 -1
  140. package/chunks/onb-import-picker.json +1 -1
  141. package/chunks/onb-mobile-handoff.json +1 -1
  142. package/chunks/onb-notification-prefs.json +1 -1
  143. package/chunks/onb-persona-picker.json +1 -1
  144. package/chunks/onb-provider-tiles.json +1 -1
  145. package/chunks/onb-settings-review.json +1 -1
  146. package/chunks/onb-step-footer.json +1 -1
  147. package/chunks/onb-step-header.json +1 -1
  148. package/chunks/onb-step-progress.json +1 -1
  149. package/chunks/onb-step-shell.json +249 -1
  150. package/chunks/onb-story-pane.json +1 -1
  151. package/chunks/onb-tutorial-steps.json +1 -1
  152. package/chunks/playground-a2ui.json +1 -1
  153. package/chunks/playground-app-shell.json +2 -2
  154. package/chunks/playground-chat.json +2 -2
  155. package/chunks/playground-construct-canvas.json +4 -6
  156. package/chunks/playground-gen-ui.json +2 -2
  157. package/chunks/playground-render-preview.json +1 -1
  158. package/chunks/playground-streams-bridge.json +1 -1
  159. package/chunks/playground-table-toolbar.json +1 -1
  160. package/chunks/reg-address-form.json +1 -1
  161. package/chunks/reg-billing-card.json +1 -1
  162. package/chunks/reg-brand-scrape.json +1 -1
  163. package/chunks/reg-departments-toggle.json +1 -1
  164. package/chunks/reg-extended-profile.json +1 -1
  165. package/chunks/reg-final-done.json +1 -1
  166. package/chunks/reg-helpdesk-grid.json +1 -1
  167. package/chunks/reg-import-picker.json +1 -1
  168. package/chunks/reg-integrations-grid.json +1 -1
  169. package/chunks/reg-invite-form.json +1 -1
  170. package/chunks/reg-legal-entity.json +1 -1
  171. package/chunks/reg-org-chart-review.json +1 -1
  172. package/chunks/reg-profile-identity.json +1 -1
  173. package/chunks/reg-step-footer.json +1 -1
  174. package/chunks/reg-step-header.json +1 -1
  175. package/chunks/reg-step-progress.json +1 -1
  176. package/chunks/reg-step-shell.json +565 -1
  177. package/chunks/reg-story-pane.json +1 -1
  178. package/chunks/reg-success-summary.json +1 -1
  179. package/chunks/reg-team-size.json +1 -1
  180. package/chunks/reg-usecase-picker.json +1 -1
  181. package/chunks/reg-workspace-name.json +1 -1
  182. package/chunks/section-with-stack.json +12 -0
  183. package/chunks/settings-appearance.json +26 -0
  184. package/chunks/settings-billing-plan.json +1 -1
  185. package/chunks/settings-general-form.json +1 -1
  186. package/chunks/settings-integrations.json +154 -3
  187. package/chunks/settings-members-invite.json +5 -3
  188. package/chunks/settings-notifications.json +1 -1
  189. package/chunks/settings-page-shell.json +1 -1
  190. package/chunks/settings-profile-security.json +1 -1
  191. package/chunks/text-card.json +14 -0
  192. package/chunks/user-identity-row.json +16 -0
  193. package/chunks/user-profile-card.json +1 -1
  194. package/chunks/users-table-badge.json +1 -1
  195. package/compositions/agent/ai-streaming-response.json +55 -9
  196. package/compositions/agent/alert-banner.json +46 -10
  197. package/compositions/agent/chat-interface.json +15 -7
  198. package/compositions/agent/command-palette.json +2 -2
  199. package/compositions/agent/empty-state.json +70 -11
  200. package/compositions/agent/error-state-retry.json +100 -17
  201. package/compositions/agent/loading-skeleton.json +76 -12
  202. package/compositions/agent/notification-preferences.json +386 -23
  203. package/compositions/agent/toast-stack.json +42 -7
  204. package/compositions/data/activity-feed.json +231 -17
  205. package/compositions/data/audit-log-viewer.json +453 -44
  206. package/compositions/data/bookmark-list.json +188 -16
  207. package/compositions/data/bulk-action-toolbar.json +137 -19
  208. package/compositions/data/changelog-feed.json +296 -30
  209. package/compositions/data/chart-dashboard.json +96 -11
  210. package/compositions/data/cohort-retention.json +392 -40
  211. package/compositions/data/column-manager.json +316 -52
  212. package/compositions/data/data-table-paginated.json +96 -18
  213. package/compositions/data/email-inbox-list.json +224 -13
  214. package/compositions/data/funnel-analytics.json +424 -26
  215. package/compositions/data/heatmap-calendar.json +140 -27
  216. package/compositions/data/invoice-table.json +107 -18
  217. package/compositions/data/kpi-overview.json +187 -17
  218. package/compositions/data/notification-center.json +224 -16
  219. package/compositions/data/object-inspector.json +463 -43
  220. package/compositions/data/product-specs-card.json +66 -12
  221. package/compositions/data/progress-tracker.json +140 -13
  222. package/compositions/data/review-card.json +94 -14
  223. package/compositions/data/saved-views-filter-bar.json +232 -37
  224. package/compositions/data/shopping-cart-summary.json +173 -21
  225. package/compositions/data/stat-card-dashboard.json +219 -18
  226. package/compositions/data/status-page.json +337 -30
  227. package/compositions/data/virtualized-table.json +269 -38
  228. package/compositions/data/weather-widget.json +77 -13
  229. package/compositions/forms/change-password-form.json +123 -16
  230. package/compositions/forms/color-picker-panel.json +85 -11
  231. package/compositions/forms/contact-form.json +127 -17
  232. package/compositions/forms/credit-card-payment-form.json +137 -16
  233. package/compositions/forms/data-import-mapper.json +244 -33
  234. package/compositions/forms/data-import-wizard.json +268 -29
  235. package/compositions/forms/date-time-picker-form.json +114 -13
  236. package/compositions/forms/destructive-confirm.json +206 -21
  237. package/compositions/forms/feedback-form.json +96 -14
  238. package/compositions/forms/file-upload-form.json +82 -11
  239. package/compositions/forms/login-form.json +122 -14
  240. package/compositions/forms/multi-step-wizard.json +133 -15
  241. package/compositions/forms/newsletter-subscription-form.json +83 -12
  242. package/compositions/forms/otp-verification-form.json +88 -13
  243. package/compositions/forms/password-reset-form.json +83 -12
  244. package/compositions/forms/permission-matrix.json +177 -28
  245. package/compositions/forms/profile-edit-form.json +125 -16
  246. package/compositions/forms/radio-group-form.json +110 -15
  247. package/compositions/forms/search-filters.json +112 -13
  248. package/compositions/forms/settings-toggles-page.json +188 -16
  249. package/compositions/forms/signup-form.json +129 -17
  250. package/compositions/forms/slider-range-form.json +65 -10
  251. package/compositions/forms/tag-input-form.json +89 -14
  252. package/compositions/forms/team-members-rbac.json +669 -107
  253. package/compositions/layout/accordion-settings.json +450 -42
  254. package/compositions/layout/badge-variants-display.json +121 -18
  255. package/compositions/layout/bento-overview.json +399 -33
  256. package/compositions/layout/calendar-month-view.json +96 -30
  257. package/compositions/layout/code-block.json +65 -11
  258. package/compositions/layout/comparison-table.json +113 -21
  259. package/compositions/layout/divider-with-label.json +40 -8
  260. package/compositions/layout/drawer-panel.json +105 -12
  261. package/compositions/layout/embed-iframe.json +62 -12
  262. package/compositions/layout/faq-accordion.json +35 -28
  263. package/compositions/layout/feature-grid.json +197 -22
  264. package/compositions/layout/footer-nav.json +188 -23
  265. package/compositions/layout/hero-cta.json +69 -13
  266. package/compositions/layout/image-gallery.json +112 -13
  267. package/compositions/layout/image-with-caption.json +48 -9
  268. package/compositions/layout/kanban-board.json +199 -31
  269. package/compositions/layout/keyboard-shortcuts.json +145 -12
  270. package/compositions/layout/markdown-editor-preview.json +6 -6
  271. package/compositions/layout/media-player.json +85 -13
  272. package/compositions/layout/modal-form.json +97 -12
  273. package/compositions/layout/onboarding-checklist.json +92 -14
  274. package/compositions/layout/popover-tooltip.json +74 -12
  275. package/compositions/layout/pricing-tiers.json +229 -31
  276. package/compositions/layout/product-card.json +97 -17
  277. package/compositions/layout/sidebar-layout.json +157 -16
  278. package/compositions/layout/tabs-panel.json +115 -13
  279. package/compositions/layout/testimonial-grid.json +240 -23
  280. package/compositions/layout/three-pane-shell.json +278 -63
  281. package/compositions/layout/toolbar-actions.json +81 -13
  282. package/compositions/navigation/nav-menu-with-icons.json +119 -14
  283. package/compositions/navigation/pagination-controls.json +2 -2
  284. package/compositions/navigation/workspace-switcher.json +296 -22
  285. package/compositions/settings/api-keys.json +592 -47
  286. package/compositions/settings/feature-flags.json +423 -22
  287. package/compositions/settings/integrations-gallery.json +839 -44
  288. package/compositions/settings/session-device-mgmt.json +619 -42
  289. package/compositions/settings/usage-quota-meter.json +214 -23
  290. package/compositions/settings/webhooks.json +429 -45
  291. package/package.json +2 -4
  292. package/patterns/agent/command-palette.json +1 -1
  293. package/patterns/agent/loading-skeleton.json +0 -6
  294. package/patterns/agent/toast-notification.json +6 -9
  295. package/patterns/data/admin-dashboard-with-charts.json +0 -4
  296. package/patterns/data/api-key-table.json +1 -1
  297. package/patterns/data/bookmark-list-categories.json +537 -128
  298. package/patterns/data/dashboard.json +3 -3
  299. package/patterns/data/data-table-view.json +34 -10
  300. package/patterns/data/email-inbox.json +22 -22
  301. package/patterns/data/event-calendar-details.json +20 -22
  302. package/patterns/data/inventory-table.json +1 -1
  303. package/patterns/data/leaderboard.json +1 -1
  304. package/patterns/data/notification-center.json +57 -25
  305. package/patterns/data/onboarding-checklist.json +10 -35
  306. package/patterns/data/order-tracking.json +8 -8
  307. package/patterns/data/pagination-nav.json +2 -2
  308. package/patterns/data/progress-dashboard.json +4 -16
  309. package/patterns/data/progress-tracker.json +3 -6
  310. package/patterns/data/restaurant-menu.json +241 -59
  311. package/patterns/forms/auth-signup.json +5 -13
  312. package/patterns/forms/bleed-design-settings.json +3 -11
  313. package/patterns/forms/credit-card-payment.json +8 -8
  314. package/patterns/forms/data-import.json +1 -2
  315. package/patterns/forms/login-form.json +4 -12
  316. package/patterns/forms/notification-filters.json +19 -68
  317. package/patterns/forms/notification-preferences.json +125 -39
  318. package/patterns/forms/otp-verification.json +1 -2
  319. package/patterns/forms/password-reset.json +1 -1
  320. package/patterns/forms/radio-group-selection.json +13 -45
  321. package/patterns/forms/radio-group.json +11 -35
  322. package/patterns/forms/survey-rating-scales.json +41 -121
  323. package/patterns/forms/two-factor-auth.json +211 -61
  324. package/patterns/forms/wizard-steps.json +32 -9
  325. package/patterns/layout/accordion-settings.json +63 -119
  326. package/patterns/layout/avatar-group.json +19 -40
  327. package/patterns/layout/badge-showcase.json +51 -89
  328. package/patterns/layout/code-block.json +9 -15
  329. package/patterns/layout/cta-banner.json +9 -17
  330. package/patterns/layout/divider-label.json +6 -10
  331. package/patterns/layout/drawer-panel.json +29 -48
  332. package/patterns/layout/embed-content.json +7 -9
  333. package/patterns/layout/feature-carousel.json +20 -20
  334. package/patterns/layout/feature-grid.json +30 -56
  335. package/patterns/layout/hero-section.json +18 -26
  336. package/patterns/layout/image-carousel.json +12 -12
  337. package/patterns/layout/kbd-shortcuts.json +6 -6
  338. package/patterns/layout/popover-menu.json +23 -27
  339. package/patterns/layout/pricing-tiers.json +50 -96
  340. package/patterns/layout/product-carousel.json +24 -24
  341. package/patterns/layout/tabs-panels.json +29 -55
  342. package/patterns/layout/team-carousel.json +16 -16
  343. package/patterns/layout/testimonials-carousel.json +12 -12
  344. package/patterns/layout/testimonials-grid.json +54 -92
  345. package/patterns/layout/toolbar-buttons.json +42 -70
  346. package/patterns/layout/tooltip-buttons.json +26 -44
  347. package/exemplars/AUDIT-REPORT.md +0 -116
  348. package/exemplars/README.md +0 -49
  349. package/exemplars/_shell.css +0 -88
  350. package/exemplars/blocks-reference.md +0 -409
  351. package/exemplars/index.html +0 -21
  352. package/exemplars/prose/auth-login/auth-login.yaml +0 -38
  353. package/exemplars/prose/auth-login/index.html +0 -542
  354. package/exemplars/prose/cta/README.md +0 -3
  355. package/exemplars/prose/cta/cta.yaml +0 -38
  356. package/exemplars/prose/cta/data.json +0 -6
  357. package/exemplars/prose/cta/index.html +0 -125
  358. package/exemplars/prose/feature-grid/README.md +0 -3
  359. package/exemplars/prose/feature-grid/data.json +0 -13
  360. package/exemplars/prose/feature-grid/feature-grid.yaml +0 -35
  361. package/exemplars/prose/feature-grid/index.html +0 -93
  362. package/exemplars/prose/footer/README.md +0 -3
  363. package/exemplars/prose/footer/data.json +0 -10
  364. package/exemplars/prose/footer/footer.yaml +0 -32
  365. package/exemplars/prose/footer/index.html +0 -109
  366. package/exemplars/prose/hero/README.md +0 -3
  367. package/exemplars/prose/hero/data.json +0 -6
  368. package/exemplars/prose/hero/hero.yaml +0 -38
  369. package/exemplars/prose/hero/index.html +0 -217
  370. package/exemplars/prose/pricing/README.md +0 -3
  371. package/exemplars/prose/pricing/data.json +0 -9
  372. package/exemplars/prose/pricing/index.html +0 -298
  373. package/exemplars/prose/pricing/pricing.yaml +0 -38
  374. package/exemplars/prose/steps/README.md +0 -3
  375. package/exemplars/prose/steps/data.json +0 -31
  376. package/exemplars/prose/steps/index.html +0 -176
  377. package/exemplars/prose/steps/setup.js +0 -12
  378. package/exemplars/prose/steps/steps.yaml +0 -38
  379. package/exemplars/prose/testimonials/README.md +0 -3
  380. package/exemplars/prose/testimonials/data.json +0 -14
  381. package/exemplars/prose/testimonials/index.html +0 -297
  382. package/exemplars/prose/testimonials/testimonials.yaml +0 -33
  383. package/exemplars/ui/auth-login/auth-login.yaml +0 -38
  384. package/exemplars/ui/auth-login/index.html +0 -372
  385. package/fragments/_schema.json +0 -72
  386. package/fragments/action/dual-cta-row.json +0 -29
  387. package/fragments/action/dual-cta-row.yaml +0 -34
  388. package/fragments/action/footer-cancel-save.json +0 -31
  389. package/fragments/action/footer-cancel-save.yaml +0 -34
  390. package/fragments/action/footer-primary-only.json +0 -23
  391. package/fragments/action/footer-primary-only.yaml +0 -26
  392. package/fragments/content/calendar-day-cell.json +0 -29
  393. package/fragments/content/column-config-atom.json +0 -121
  394. package/fragments/content/credential-entry-atom.json +0 -126
  395. package/fragments/content/directory-entry-atom.json +0 -148
  396. package/fragments/content/email-row.json +0 -35
  397. package/fragments/content/email-row.yaml +0 -43
  398. package/fragments/content/faq-item.json +0 -54
  399. package/fragments/content/health-entry-atom.json +0 -85
  400. package/fragments/content/icon-text-row.json +0 -29
  401. package/fragments/content/icon-text-row.yaml +0 -36
  402. package/fragments/content/icon-title-description.json +0 -30
  403. package/fragments/content/icon-title-description.yaml +0 -37
  404. package/fragments/content/image-tile.json +0 -28
  405. package/fragments/content/image-tile.yaml +0 -32
  406. package/fragments/content/incident-row.json +0 -107
  407. package/fragments/content/kbd-shortcut-row.json +0 -29
  408. package/fragments/content/kbd-shortcut-row.yaml +0 -33
  409. package/fragments/content/key-value-row.json +0 -29
  410. package/fragments/content/key-value-row.yaml +0 -36
  411. package/fragments/content/labeled-progress.json +0 -29
  412. package/fragments/content/labeled-progress.yaml +0 -33
  413. package/fragments/content/link-list-column.json +0 -33
  414. package/fragments/content/link-list-column.yaml +0 -41
  415. package/fragments/content/linked-record-row.json +0 -95
  416. package/fragments/content/marketplace-tile-atom.json +0 -147
  417. package/fragments/content/metadata-description-list.json +0 -28
  418. package/fragments/content/metadata-description-list.yaml +0 -36
  419. package/fragments/content/pending-invite-row.json +0 -113
  420. package/fragments/content/release-entry.json +0 -155
  421. package/fragments/content/rollout-entry-atom.json +0 -168
  422. package/fragments/content/signed-in-entry-atom.json +0 -157
  423. package/fragments/content/stage-entry-atom.json +0 -115
  424. package/fragments/content/stat-card.json +0 -31
  425. package/fragments/content/stat-card.yaml +0 -39
  426. package/fragments/content/user-identity-row.json +0 -33
  427. package/fragments/content/user-identity-row.yaml +0 -43
  428. package/fragments/content/user-notification-row.json +0 -35
  429. package/fragments/content/user-notification-row.yaml +0 -50
  430. package/fragments/content/wizard-step-row.json +0 -96
  431. package/fragments/form/labeled-checkbox.json +0 -26
  432. package/fragments/form/labeled-checkbox.yaml +0 -36
  433. package/fragments/form/labeled-input.json +0 -28
  434. package/fragments/form/labeled-input.yaml +0 -38
  435. package/fragments/form/labeled-slider.json +0 -34
  436. package/fragments/form/labeled-slider.yaml +0 -50
  437. package/fragments/form/labeled-textarea.json +0 -28
  438. package/fragments/form/labeled-textarea.yaml +0 -39
  439. package/fragments/form/labeled-toggle.json +0 -29
  440. package/fragments/form/labeled-toggle.yaml +0 -43
  441. package/fragments/layout/card-header-heading.json +0 -35
  442. package/fragments/layout/card-header-heading.yaml +0 -27
  443. package/fragments/layout/card-header-with-badge.json +0 -30
  444. package/fragments/layout/card-header-with-badge.yaml +0 -40
  445. package/fragments/layout/card-header-with-description.json +0 -29
  446. package/fragments/layout/card-header-with-description.yaml +0 -32
  447. package/fragments/layout/pricing-tier-card.json +0 -37
  448. package/fragments/layout/pricing-tier-card.yaml +0 -50
  449. package/fragments/layout/section-with-stack.json +0 -46
  450. package/fragments/layout/section-with-stack.yaml +0 -39
  451. package/fragments/layout/text-card.json +0 -28
  452. package/fragments/layout/text-card.yaml +0 -30
package/CHANGELOG.md CHANGED
@@ -19,6 +19,69 @@ gap registry. Consumed by `@adia-ai/a2ui-retrieval` and
19
19
 
20
20
  _No pending changes._
21
21
 
22
+ ## [0.4.4] - 2026-05-12
23
+
24
+ ### Changed — corpus simplification arc (§36-§51, 2026-05-12)
25
+
26
+ **verify:corpus warns: 993 → 148 (-845, -85%)** across §43-§51. Headline state: composition library boot reports `compositionCount=127, handAuthored=100, annotatedChunks=27`.
27
+
28
+ #### Removed
29
+
30
+ - **`corpus/exemplars/` retired (§36).** -3.4K lines. Exemplars had been speculative records without consumers; replaced by the growing annotated-chunk system.
31
+ - **`corpus/fragments/` retired (§37).** 41 fragment JSON files + schema + categorical indices deleted (-99.6 KB). 85 hand-authored compositions inlined with previously-referenced fragment content (slot machinery removed); 10 fragment shapes migrated to chunks via `data-chunk` markers added in production HTML; remaining 29 fragments dropped as speculative/superseded. Net: 3 corpus formats → 2.
32
+
33
+ #### Added
34
+
35
+ - **`data-chunk-*` source-HTML annotation system (§40).** Chunks can now carry retrieval metadata authored directly on production HTML elements:
36
+ - `data-chunk-kind="<page|panel|block|field>"`
37
+ - `data-chunk-domain="<auth|dashboard|error|onboarding|...>"`
38
+ - `data-chunk-description="<concrete one-liner>"`
39
+ - `data-chunk-keywords="<space-separated tokens>"`
40
+ - `data-chunk-related="<comma-separated chunk names>"`
41
+ - `data-chunk-tags-<key>="<value>"` (per-tag attributes for the tags object)
42
+
43
+ Harvester (`scripts/build/harvest-chunks.mjs`, repo-level) reads these and produces chunks with a `metadata` field. Index schema bumped `@1` → `@2` to surface metadata for retrieval-without-load.
44
+
45
+ - **Nested-expand-then-transpile (§42).** Annotated chunks with nested children get their `<!-- nested: <name> -->` placeholders recursively expanded then transpiled to flat A2UI templates at harvest time, making them retrievable as compositions via zettel. Cycle-safe via `visited` set.
46
+
47
+ - **`verify:corpus` drift validator (§39, wired in §39; observability extended through §47/§51).** Walks every JSON in `corpus/{patterns,compositions,chunks}/**.json` against canonical component schemas. Surfaces unknown-component criticals + unknown-prop / enum-out-of-range / known-hallucination warns. §47 added `data-*` + `aria-*` HTML attribute skip rules; §42 added `annotated-chunk-no-template` warn for chunks with metadata but no template (caught the nested-expansion gaps).
48
+
49
+ - **27 retrievable annotated chunks** seeded across 6 domains (§40 / §45 / §46 / §48):
50
+ - **Settings/data seeds (§40, 3 chunks):** `linked-record-row`, `settings-integrations`, `auth-signin-card-email`.
51
+ - **Auth (§45, 8 chunks):** `auth-signin-card-{password,otp,magic-link,mfa}`, `auth-signup-entry`, `auth-password-reset`, `auth-new-password`, `auth-mfa-enrollment`.
52
+ - **Dashboard (§46, 11 chunks):** `dashboard-admin-page` (427-component template, the full surface), `dashboard-page-header`, `dashboard-{overview,audience,acquisition,behavior,conversion,reports,notifications}-panel`, `dashboard-chart-recent`, `dashboard-team-actions-storage`.
53
+ - **Error + onboarding (§48, 5 chunks):** `error-404`, `error-500`, `error-maintenance`, `reg-step-shell`, `onb-step-shell`.
54
+
55
+ #### Changed
56
+
57
+ - **Shape B → Shape A codemod (§43, -486 warns).** 475 records / 79 files. Top transformations: `Text.color="muted"` → `variant="caption"` (244 records); `Text.weight="semibold"` → `strong: true` (146 records); `*.attrs: {...}` → flattened to top-level (146 records); `Text.content` → `textContent`, `Button.content` → `text`, `Badge.content` → `text` (84 records); 109 empty `attrs:{}` objects removed; 5 manual-review (Text.color=primary/success — needs design call).
58
+ - **Yaml-gap renames + dead-prop deletes (§44, -301 warns).** 105 records / 48 files. Renames: `Button.block` → `stretch` (23), `Button.ariaLabel` → `aria-label` (16), `Badge.color="primary"` → `variant="primary"` (11, 1:1 mapping), `Table.rows` → `Table.data` (6), `Toast.title` → `Toast.text` (6). Deletes (runtime ignores): `Text.grow` (20, no `:scope[grow]` in text.css), `Progress.max` (15, runtime hardcodes max=100), `Skeleton.variant` (8, runtime silently drops), `Toast.description` (6, runtime only has `text`).
59
+ - **§43 manual-review backlog retired (§50, -42 warns).** 74 records / 25 files. Subagent A's foundational finding: `attrs:{}` has zero runtime effect — no renderer/host spreads it onto the element. So every key inside `attrs:` is dead-letter; flatten or delete is always safe. Promoted 33 records from §43's MANUAL_REVIEW to HIGH-confidence codemod: `Toggle.attrs.checked` → top-level (6), `Text.attrs.muted=true` → `color: "muted"` (17), `Avatar.attrs.alt` → `text` (8, avatar.js:68 auto-mirrors name → `<img alt>`), `Avatar.attrs.fallback` → DELETE (5, redundant with auto-derived initials at avatar.js:96-110), `Divider.attrs.orientation="vertical"` → `vertical: true` (2), `Button.attrs.triggers` → DELETE (1, hallucinated wiring). Companion yaml-gap renames (§50): `Kbd.text`/`Kbd.keys` → `textContent` (10), `Pagination.totalPages`/`currentPage` → `total`/`page` (6), `Divider.orientation` → `vertical: true` (3), `Input.icon` → `prefix` (4), `Option.text` → `heading` (5).
60
+ - **Search → Input migration (§42, 5 critical → 0).** 5 compositions migrated from deprecated `Search` component to `Input type="search" prefix="magnifying-glass"`. `Search` deliberately remains absent from the registry per registry.js line 57.
61
+ - **Input.inputMode → Input.inputmode (§51, 3 records).** HTML standard is lowercase `inputmode`. Companion to the §51 renderer kebab-casing fix in `@adia-ai/a2ui-runtime`.
62
+
63
+ ### Harvester (`scripts/build/harvest-chunks.mjs`, repo-level)
64
+
65
+ The harvester is repo-tooling (`scripts/build/`), not a corpus package member, but its changes power this arc's corpus output:
66
+
67
+ - **§40 `data-chunk-*` attribute extraction** — reads sibling attributes from `data-chunk` elements; populates the chunk record's `metadata` field.
68
+ - **§42 nested-expand-then-transpile pass** — after collection, recursively expands `<!-- nested: <name> -->` placeholders in annotated chunks, then transpiles the expanded HTML to A2UI templates via `transpileHTML(html, { mode: 'instant' })`.
69
+ - **§45 source-aware tier-1 expansion fix** — replaces §42's "first wins" canonical-html rule with directory-aware selection. **Bug**: `auth-card-content` has 24 instances; the 404 page sorted alphabetically first, so EVERY auth chunk silently inlined 404 page content from §41 landing through §45 discovery (smoke tests only checked retrieval strategy, not template content). **Fix**: Tier 1 exact directory match → Tier 2 deepest common directory prefix → Tier 3 alphabetical. Without it, `apps/user-flow/app/auth/sign-in/` shares depth with `apps/user-flow/app/auth/sign-in/mfa/` and tie-break would pick wrong sibling.
70
+
71
+ See root [CHANGELOG.md `[Unreleased]`](../../../CHANGELOG.md) for the cross-cutting arc narrative + [docs/journal/2026/05/2026-05-12.md](../../../docs/journal/2026/05/2026-05-12.md) §§ 36-51 for per-§ details.
72
+
73
+ ## [0.4.3] - 2026-05-11
74
+
75
+ ### Changed
76
+
77
+ - **`catalog-a2ui_0_9.json` regenerated** to pick up the new `locale` prop on `<input-ui type="number">` from `@adia-ai/web-components@0.4.3`. The yaml `props:` entry drives retrieval signal for locale-aware numeric-input intents.
78
+ - **`chunks/` re-harvested** (181 files touched). New chunk `settings-appearance.json` — multi-instance record covering both `catalog/ui-patterns/app/settings-appearance/` (primary=card-ui, standalone block pattern composing `<theme-panel>`) and `apps/saas/app/settings-page/` (primary=div, Workspace-level Appearance section). Plus a sweep of `captured_at` timestamps + `source:` field updates from the ADR-0026 reorg follow-up. Harvest now produces 180 unique chunks (was 179 in v0.4.2; +1 from the new `settings-appearance` pattern).
79
+ - **Harvester scope fix** — `scripts/build/harvest-chunks.mjs` `SOURCES = ['site/pages', 'apps']` hadn't been updated after ADR-0026 split `apps/` → `apps/` + `playgrounds/` + `catalog/` on 2026-05-10. Every `npm run harvest:chunks` since silently dropped 26 chunks (179 unique → 152 visible) without warning. Fix adds both new sibling directories to SOURCES. (Note: harvest-chunks.mjs lives in the repo's `scripts/build/` tree, not the package; this corpus regen captures the FULL chunk set restored by the fix. Lesson captured as Category E imperative-drift in user-memory entry `feedback_build_script_sources_list_after_rename.md`.)
80
+
81
+ ### Lockstep
82
+
83
+ 9-package coordinated PATCH cut to v0.4.3. Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry). Rides alongside `@adia-ai/web-components` v0.4.3 (input-ui locale rewrite) and `@adia-ai/a2ui-compose` + `@adia-ai/a2ui-retrieval` v0.4.3 (process.env browser-compat fix). See root [CHANGELOG.md `## [0.4.3]`](../../../CHANGELOG.md).
84
+
22
85
  ## [0.4.2] - 2026-05-11
23
86
 
24
87
  ### Changed
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @adia-ai/a2ui-corpus
2
2
 
3
3
  Corpus and operational-learning artifacts for the gen-UI pipeline —
4
- patterns, fragments, compositions, exemplars, feedback, gaps, eval
4
+ patterns, fragments, compositions, chunks, feedback, gaps, eval
5
5
  fixtures. Pure data plus the scripts that maintain it. No runtime.
6
6
 
7
7
  > The pipeline reads this package; this package never reads the pipeline.
@@ -11,40 +11,56 @@ fixtures. Pure data plus the scripts that maintain it. No runtime.
11
11
  > registry, streams, wiring),
12
12
  > [`@adia-ai/a2ui-mcp`](../mcp) for the MCP server.
13
13
 
14
+ ## Install
15
+
16
+ ```bash
17
+ npm install @adia-ai/a2ui-corpus
18
+ ```
19
+
20
+ Pure data — typically consumed transitively by [`@adia-ai/a2ui-compose`](../compose) and [`@adia-ai/a2ui-mcp`](../mcp), which list it as a runtime dependency. Direct installs are useful for offline eval tooling or building bespoke retrieval layers.
21
+
14
22
  ## Dependency direction
15
23
 
16
24
  ```
17
25
  a2ui-compose ──reads──▶ a2ui-corpus
18
26
  a2ui-mcp ──reads──▶ a2ui-compose, a2ui-corpus
19
- web-components ◀─reads── a2ui-corpus (exemplars use AdiaUI tags)
27
+ web-components ──used-by──▶ apps/, playgrounds/, catalog/ (chunk sources)
20
28
  ```
21
29
 
22
30
  No back-writes. No circular reads. Web-components ships UI atoms only;
23
- corpus lives here; runtime lives in a2ui-compose.
31
+ corpus lives here; runtime lives in a2ui-compose. The chunk pipeline
32
+ harvests `data-chunk`-tagged regions from the apps that consume
33
+ web-components, so the read-direction stays one-way.
24
34
 
25
35
  ## Glossary
26
36
 
27
- Four overlapping concepts circulate through this package. Knowing which
37
+ Three overlapping concepts circulate through this package. Knowing which
28
38
  is which prevents reading bugs from creeping into authoring.
29
39
 
30
40
  | Term | Source of truth | Granularity | What it carries | Engine that consumes it |
31
41
  | --- | --- | --- | --- | --- |
32
- | **chunk** | `chunks/<id>.json` (one file per chunk) + `_index.json` | Smallest — a single labeled HTML region, harvested via `data-chunk` markers | `html`, `intent`, `domain`, `kind` (`block` / `data-chunk` / `field`), `keywords` | `chunk-zettel` (retrieve → synthesize) |
42
+ | **chunk** | `chunks/<id>.json` (one file per chunk) + `_index.json` | Smallest — a single labeled HTML region, harvested via `data-chunk` markers | `html`, `intent`, `domain`, `kind` (`block` / `data-chunk` / `field`), `keywords` | `chunk-zettel` + `monolithic-pro` (retrieve → synthesize or inject as structural reference) |
33
43
  | **pattern** | `patterns/<domain>/<name>.json` | Full-canvas A2UI template (≈whole-page) | A2UI message tree, retrieval keywords, exemplar provenance | `monolithic-instant` / `monolithic-pro` (retrieve → emit verbatim) |
34
- | **fragment** | `fragments/<domain>/<name>.json` | Atomic shape re-usable across compositions | A2UI sub-tree, slot bindings, `metrics.leverage` | `zettel` (retrieve → compose into compositions) |
35
- | **composition** | `compositions/<domain>/<name>.json` | Pre-assembled set of fragments | Ordered fragment refs, slot wiring, keywords + tags, `links.used_by` | `zettel` (retrieve → emit verbatim or refine) |
44
+ | **composition** | `compositions/<domain>/<name>.json` | Multi-section A2UI surface (between pattern and chunk) | Flat A2UI template, keywords + tags | `zettel` (retrieve → emit verbatim) |
36
45
 
37
46
  **One-line distinctions:**
38
47
 
39
- - **Chunk vs fragment** — chunks are *harvested*, fragments are *authored*. A chunk is whatever HTML region a `data-chunk` marker pointed at; a fragment is a deliberately-shaped A2UI sub-tree with named slots and leverage metrics.
40
- - **Fragment vs composition** — a fragment is *one shape*; a composition is *several fragments arranged together* into a coherent surface (e.g. `pricing-tiers` composition = header fragment + tier-card fragments + footer fragment).
41
- - **Composition vs pattern** — both are full-surface, but compositions are *fragment-graph* native (zettel reuses the fragment library) while patterns are *flat A2UI templates* (monolithic emits them whole).
48
+ - **Chunk vs composition** — chunks are *harvested* from `data-chunk` markers in real production HTML. Compositions are *authored* A2UI templates that don't necessarily correspond to a real page surface.
49
+ - **Composition vs pattern** — both are full-surface A2UI trees. Patterns are flat (single-page idea), compositions are multi-section (composed surface). The distinction is fuzzy and may converge over time.
42
50
 
43
51
  **When in doubt, follow the engine:**
44
52
 
45
53
  - Looking at `monolithic-*` retrieval? You want a **pattern**.
46
- - Looking at `zettel` retrieval? You want a **composition** (or a fragment, if synthesis is composing one).
47
- - Looking at `chunk-zettel`? You want a **chunk**.
54
+ - Looking at `zettel` retrieval? You want a **composition**.
55
+ - Looking at `chunk-zettel` or chunk-aware monolithic-pro injection? You want a **chunk**.
56
+
57
+ > **Note:** *Fragments* (atomic A2UI sub-trees with named slots) were
58
+ > a fourth concept until §37 (2026-05-12). They were retired because
59
+ > the slot-binding machinery added authoring + maintenance cost
60
+ > without enough payoff (10/41 fragments had production examples,
61
+ > 31/41 were stale). Their compositions were inlined into flat A2UI
62
+ > templates per Option C (LLM handles parameterization at gen-time).
63
+ > See [docs/journal/2026/05/2026-05-12.md §37](../../../docs/journal/2026/05/2026-05-12.md).
48
64
 
49
65
  ## Layout
50
66
 
@@ -55,25 +71,16 @@ a2ui/corpus/
55
71
  │ ├── _components.json canonical name + aliases map (Carousel → Swiper)
56
72
  │ └── _taxonomy.json concept synonyms (auth → [login, signup, otp])
57
73
 
58
- ├── fragments/ atomic shapes building blocks for Zettel
59
- │ ├── action/ button rows, toolbars, inline CTAs
60
- │ ├── content/ stat cards, list items, media blocks
61
- │ ├── form/ field, field-row, field-group recipes
62
- │ └── layout/ section, grid, card scaffolding
63
-
64
- ├── compositions/ named multi-fragment recipes
74
+ ├── compositions/ named multi-section A2UI templates (flat,
65
75
  │ ├── agent/ data/ form/ layout/ navigation/ settings/
66
- │ each = pre-assembled fragment set with keywords + tags
67
-
68
- ├── exemplars/ hand-authored HTML sources
69
- │ ├── ui/ component-level exemplars
70
- │ └── prose/ prose + mixed-content exemplars
71
- │ extract.js compiles these → chunks/ + catalog
76
+ ~100 surfaces; each = flat A2UI template
77
+ with keywords + tags. Inlined per §37 —
78
+ │ no $fragment refs remain.
72
79
 
73
80
  ├── evals/ held-out.jsonl + eval fixtures
74
- ├── chunks/ gen-UI training chunks (702 unique, 852 instances)
81
+ ├── chunks/ gen-UI training chunks (329 unique, ~852 instances)
75
82
  │ — harvested from data-chunk markers across
76
- │ site/pages/* + corpus exemplars (since 0.0.3).
83
+ │ site/pages/*, apps/*, playgrounds/*, catalog/*.
77
84
  │ Powers compose_from_chunks in @adia-ai/a2ui-mcp.
78
85
  ├── pages/ extracted full-page A2UI (build output)
79
86
  ├── feedback/ daily JSONL — user feedback events
@@ -98,8 +105,7 @@ a2ui/corpus/
98
105
  |----------------------------|:---------:|:----------------:|----------------------------------------|
99
106
  | Patterns (`patterns/`) | ✓ | ✓ | Hand-authored JSON |
100
107
  | Fragments/compositions | ✓ | ✓ | Hand-authored JSON |
101
- | Exemplars (`exemplars/`) | ✓ | ✓ | Hand-authored HTML |
102
- | Extracted chunks/pages | ✓ | ✓ | `scripts/extract.js` (from exemplars) |
108
+ | Chunks (`chunks/`) | ✓ | ✓ | `scripts/build/harvest-chunks.mjs` (from `data-chunk` markers across site/pages, apps, playgrounds, catalog) |
103
109
  | `catalog-a2ui_0_9.json` | ✓ | ✓ | `scripts/build-catalog.js` (aggregated)|
104
110
  | `chunk-embeddings.json` | ✓ | **✗ since 0.2.1**| `scripts/build/embeddings-chunks.mjs` |
105
111
  | `pattern-embeddings.json` | ✓ | **✗ since 0.2.1**| `scripts/build/embeddings.mjs` |
@@ -193,9 +199,9 @@ Script inventory (`scripts/`):
193
199
 
194
200
  | Script | Purpose |
195
201
  |---------------------------|------------------------------------------------------|
196
- | `extract.js` | Exemplar HTML A2UI chunks & pages |
197
- | `ingest.js` | Index extracted chunks into the retrieval corpus |
198
- | `run-pipeline.mjs` | Orchestrates harvest extract ingest index |
202
+ | `extract.js` | **Retired** fed the exemplar→chunks pipeline (removed 2026-05-11). Kept on disk for archaeology only. |
203
+ | `ingest.js` | **Retired** same vintage. Still imported by `run-pipeline.mjs` for back-compat; no-op without exemplars. |
204
+ | `run-pipeline.mjs` | Pipeline orchestrator now mostly a no-op on the extract/ingest side; chunks come from `harvest-chunks.mjs` instead |
199
205
  | `build-pattern-index.mjs` | Computes the keyword inverted index (`patterns/_index.json`) |
200
206
  | `chunk-library.js` | In-memory loader + keyword/semantic search over `chunks/` |
201
207
  | `feedback-report.js` | Aggregates feedback JSONL into a readable digest |
@@ -206,9 +212,9 @@ Repo-side build scripts (not in tarball; run from the workspace root):
206
212
 
207
213
  | Script | Purpose |
208
214
  |-------------------------------------|----------------------------------------------------------|
209
- | `npm run harvest:chunks` | Walks site/pages/* + corpus exemplars, harvests every `[data-chunk]` element, writes `chunks/<name>.json` + `_index.json` |
215
+ | `npm run harvest:chunks` | Walks site/pages/*, apps/*, playgrounds/*, catalog/*, harvests every `[data-chunk]` element, writes `chunks/<name>.json` + `_index.json` |
210
216
  | `npm run build:embeddings` | Generates `pattern-embeddings.json` (113 patterns × 1536d) |
211
- | `npm run build:embeddings:chunks` | Generates `chunk-embeddings.json` (702 chunks × 1536d) |
217
+ | `npm run build:embeddings:chunks` | Generates `chunk-embeddings.json` (329 chunks × 1536d) |
212
218
  | `npm run build:embeddings:all` | Both embedding indices in sequence |
213
219
 
214
220
  ## Exports
@@ -223,32 +229,34 @@ import aliases from '@adia-ai/a2ui-corpus/patterns';
223
229
  // Held-out eval fixture
224
230
  import fixture from '@adia-ai/a2ui-corpus/evals/held-out.jsonl?raw';
225
231
 
226
- // Exemplar source (for scripts + docs)
227
- import html from '@adia-ai/a2ui-corpus/exemplars/ui/pricing-tiers.html?raw';
228
-
229
232
  // Chunk corpus (since 0.0.3 / 0.0.4)
230
233
  import chunkIndex from '@adia-ai/a2ui-corpus/chunks'; // _index.json (metadata only)
231
234
  import { searchChunks, searchChunksAsync, getChunk }
232
235
  from '@adia-ai/a2ui-corpus/chunk-library'; // in-memory query API
233
236
  ```
234
237
 
235
- ## Authoring order — demo page → exemplar → training
238
+ ## Authoring order — demo page → `data-chunk` marker → training
236
239
 
237
240
  When adding coverage for a new intent:
238
241
 
239
- 1. **Site demo page** — author the HTML in `site/pages/examples/**`
240
- using pure primitive composition (no `<style>` block, no inline
241
- styles, only real components). See repo-root `AGENTS.md`.
242
- 2. **Exemplar** — copy the working markup into
243
- `a2ui/corpus/exemplars/ui/<name>.html`. Strip non-essential chrome;
244
- keep attributes that encode intent.
245
- 3. **Extract + ingest** `npm run pipeline`. The scripts write
246
- `chunks/`, `pages/`, and refresh the catalog.
247
- 4. **Verify** — `npm run eval:diff -- --engine zettel` should still hold
248
- coverage 100%, avgScore 88. Regression thresholds in `AGENTS.md`.
249
-
250
- See `data-flow.md` for the full 4-signal pipeline (exemplars
251
- fragments compositions feedback).
242
+ 1. **Live demo page** — author the HTML in
243
+ `apps/<name>/app/<demo>/<demo>.contents.html` (or under
244
+ `playgrounds/` / `catalog/`) using pure primitive composition. See
245
+ repo-root `AGENTS.md`.
246
+ 2. **Tag the reusable region** — add `data-chunk="<slug>"` +
247
+ `data-chunk-kind="<kind>"` (block / page / panel / field) on the
248
+ element. The harvester extracts the bounding HTML on the next
249
+ build. See `docs/specs/genui-chunk-marker.md` for the marker
250
+ convention.
251
+ 3. **Harvest + ingest** `npm run harvest:chunks` writes
252
+ `chunks/<slug>.json` and refreshes `_index.json`. `npm run pipeline`
253
+ does the full extract ingest catalog refresh.
254
+ 4. **Verify** `npm run eval:diff -- --engine zettel` should still
255
+ hold coverage ≥ 83%, avgScore ≥ 88 (per the regression floors in
256
+ `AGENTS.md`).
257
+
258
+ See `data-flow.md` for the full pipeline (chunks → fragments →
259
+ compositions → feedback).
252
260
 
253
261
  ## Regression floors
254
262