@adia-ai/a2ui-corpus 0.3.2 → 0.3.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.
- package/CHANGELOG.md +89 -0
- package/README.md +64 -0
- package/catalog-a2ui_0_9.json +721 -39
- package/catalog-a2ui_0_9_rules.txt +29 -0
- package/chunks/_index.json +5 -5
- package/chunks/agent-activity-feed.json +1 -1
- package/chunks/agent-reasoning-collapsed.json +1 -1
- package/chunks/auth-account-deleted-actions.json +1 -1
- package/chunks/auth-account-deleted.json +1 -1
- package/chunks/auth-card-content.json +1 -1
- package/chunks/auth-card-header.json +1 -1
- package/chunks/auth-email-entry.json +1 -1
- package/chunks/auth-email-verify-confirm.json +1 -1
- package/chunks/auth-email-verify.json +1 -1
- package/chunks/auth-forbidden-actions.json +1 -1
- package/chunks/auth-forbidden.json +1 -1
- package/chunks/auth-invite-actions.json +1 -1
- package/chunks/auth-invite-team-card.json +1 -1
- package/chunks/auth-link-expired-form.json +1 -1
- package/chunks/auth-link-expired.json +1 -1
- package/chunks/auth-locked-account.json +1 -1
- package/chunks/auth-locked-recovery-options.json +1 -1
- package/chunks/auth-mfa-enrollment-submit.json +1 -1
- package/chunks/auth-mfa-enrollment.json +1 -1
- package/chunks/auth-mfa-fallback-actions.json +1 -1
- package/chunks/auth-mfa-recovery.json +1 -1
- package/chunks/auth-new-password-form.json +1 -1
- package/chunks/auth-new-password.json +1 -1
- package/chunks/auth-oauth-fallback-actions.json +1 -1
- package/chunks/auth-oauth-interstitial.json +1 -1
- package/chunks/auth-password-challenge.json +1 -1
- package/chunks/auth-password-reset-form.json +1 -1
- package/chunks/auth-password-reset.json +1 -1
- package/chunks/auth-profile-form.json +1 -1
- package/chunks/auth-profile-setup.json +1 -1
- package/chunks/auth-reset-sent.json +1 -1
- package/chunks/auth-session-expired-actions.json +1 -1
- package/chunks/auth-session-expired.json +1 -1
- package/chunks/auth-signin-card-email.json +1 -1
- package/chunks/auth-signin-card-magic-link.json +1 -1
- package/chunks/auth-signin-card-mfa.json +1 -1
- package/chunks/auth-signin-card-otp.json +1 -1
- package/chunks/auth-signin-card-password.json +1 -1
- package/chunks/auth-signin-card-recovery.json +1 -1
- package/chunks/auth-signout-actions.json +1 -1
- package/chunks/auth-signout.json +1 -1
- package/chunks/auth-signup-email-entry.json +1 -1
- package/chunks/auth-signup-entry.json +1 -1
- package/chunks/auth-signup-social-auths.json +1 -1
- package/chunks/auth-signup-verify.json +1 -1
- package/chunks/auth-social-auths.json +1 -1
- package/chunks/auth-sso-providers.json +1 -1
- package/chunks/auth-sso-required.json +1 -1
- package/chunks/auth-team-invite.json +1 -1
- package/chunks/chat-streaming-surface.json +1 -1
- package/chunks/{command-palette-grouped.json → command-palette.json} +2 -2
- package/chunks/commerce-pricing-tiers.json +1 -1
- package/chunks/conversion-funnel-6step.json +1 -1
- package/chunks/dashboard-acquisition-panel.json +1 -1
- package/chunks/dashboard-admin-page.json +2 -2
- package/chunks/dashboard-audience-kpis.json +1 -1
- package/chunks/dashboard-audience-panel.json +1 -1
- package/chunks/dashboard-behavior-panel.json +1 -1
- package/chunks/dashboard-chart-recent.json +1 -1
- package/chunks/dashboard-cohort-retention.json +1 -1
- package/chunks/dashboard-conversion-panel.json +1 -1
- package/chunks/dashboard-country-list.json +1 -1
- package/chunks/dashboard-filter-bar.json +1 -1
- package/chunks/dashboard-funnel.json +1 -1
- package/chunks/dashboard-kpi-grid.json +1 -1
- package/chunks/dashboard-notifications-feed.json +1 -1
- package/chunks/dashboard-notifications-panel.json +1 -1
- package/chunks/dashboard-overview-panel.json +1 -1
- package/chunks/dashboard-page-header.json +1 -1
- package/chunks/dashboard-pages-table.json +1 -1
- package/chunks/dashboard-quick-actions.json +1 -1
- package/chunks/dashboard-reports-panel.json +1 -1
- package/chunks/dashboard-reports-table.json +1 -1
- package/chunks/dashboard-spark-cards.json +1 -1
- package/chunks/dashboard-storage-card.json +1 -1
- package/chunks/dashboard-tabs.json +1 -1
- package/chunks/dashboard-team-actions-storage.json +1 -1
- package/chunks/dashboard-team-list.json +1 -1
- package/chunks/dashboard-traffic-channels.json +1 -1
- package/chunks/dashboard-transactions-table.json +1 -1
- package/chunks/destructive-confirm-modal.json +1 -1
- package/chunks/drawer-2fa-key.json +1 -1
- package/chunks/drawer-2fa-sms.json +1 -1
- package/chunks/drawer-2fa-totp.json +1 -1
- package/chunks/drawer-cancel-sub.json +1 -1
- package/chunks/drawer-change-plan.json +1 -1
- package/chunks/drawer-custom-roles.json +1 -1
- package/chunks/drawer-data-start.json +1 -1
- package/chunks/drawer-delete-account.json +1 -1
- package/chunks/drawer-delete-workspace.json +1 -1
- package/chunks/drawer-discord.json +1 -1
- package/chunks/drawer-figma.json +1 -1
- package/chunks/drawer-first-dashboard.json +1 -1
- package/chunks/drawer-gcal.json +1 -1
- package/chunks/drawer-github.json +1 -1
- package/chunks/drawer-invite.json +1 -1
- package/chunks/drawer-payment-method.json +1 -1
- package/chunks/drawer-report.json +1 -1
- package/chunks/drawer-revoke-session.json +1 -1
- package/chunks/drawer-role.json +1 -1
- package/chunks/drawer-slack.json +1 -1
- package/chunks/drawer-smtp.json +1 -1
- package/chunks/drawer-source.json +1 -1
- package/chunks/drawer-transaction.json +1 -1
- package/chunks/editor-code-pane.json +1 -1
- package/chunks/editor-page-shell.json +1 -1
- package/chunks/editor-preview-pane.json +1 -1
- package/chunks/error-404-actions.json +1 -1
- package/chunks/error-404.json +1 -1
- package/chunks/error-500-actions.json +1 -1
- package/chunks/error-500.json +1 -1
- package/chunks/error-maintenance-actions.json +1 -1
- package/chunks/error-maintenance.json +1 -1
- package/chunks/error-page-shell.json +1 -1
- package/chunks/form-page-shell.json +4 -4
- package/chunks/kanban-board-3col.json +1 -1
- package/chunks/marketing-hero-cta.json +1 -1
- package/chunks/marketing-page-shell.json +1 -1
- package/chunks/member-edit-drawer.json +1 -1
- package/chunks/onb-completion.json +1 -1
- package/chunks/onb-extension-install.json +1 -1
- package/chunks/onb-hero-welcome.json +1 -1
- package/chunks/onb-import-picker.json +1 -1
- package/chunks/onb-mobile-handoff.json +1 -1
- package/chunks/onb-notification-prefs.json +1 -1
- package/chunks/onb-persona-picker.json +1 -1
- package/chunks/onb-provider-tiles.json +1 -1
- package/chunks/onb-settings-review.json +1 -1
- package/chunks/onb-step-footer.json +1 -1
- package/chunks/onb-step-header.json +1 -1
- package/chunks/onb-step-progress.json +1 -1
- package/chunks/onb-step-shell.json +1 -1
- package/chunks/onb-story-pane.json +1 -1
- package/chunks/onb-tutorial-steps.json +1 -1
- package/chunks/playground-a2ui.json +1 -1
- package/chunks/playground-app-shell.json +1 -1
- package/chunks/playground-chat.json +1 -1
- package/chunks/playground-construct-canvas.json +1 -1
- package/chunks/playground-gen-ui.json +1 -1
- package/chunks/playground-render-preview.json +1 -1
- package/chunks/playground-streams-bridge.json +2 -2
- package/chunks/playground-table-toolbar.json +1 -1
- package/chunks/reg-address-form.json +1 -1
- package/chunks/reg-billing-card.json +1 -1
- package/chunks/reg-brand-scrape.json +1 -1
- package/chunks/reg-departments-toggle.json +1 -1
- package/chunks/reg-extended-profile.json +1 -1
- package/chunks/reg-final-done.json +1 -1
- package/chunks/reg-helpdesk-grid.json +1 -1
- package/chunks/reg-import-picker.json +1 -1
- package/chunks/reg-integrations-grid.json +1 -1
- package/chunks/reg-invite-form.json +1 -1
- package/chunks/reg-legal-entity.json +1 -1
- package/chunks/reg-org-chart-review.json +1 -1
- package/chunks/reg-profile-identity.json +1 -1
- package/chunks/reg-step-footer.json +1 -1
- package/chunks/reg-step-header.json +1 -1
- package/chunks/reg-step-progress.json +1 -1
- package/chunks/reg-step-shell.json +1 -1
- package/chunks/reg-story-pane.json +1 -1
- package/chunks/reg-success-summary.json +1 -1
- package/chunks/reg-team-size.json +1 -1
- package/chunks/reg-usecase-picker.json +1 -1
- package/chunks/reg-workspace-name.json +1 -1
- package/chunks/settings-billing-plan.json +1 -1
- package/chunks/settings-general-form.json +1 -1
- package/chunks/settings-integrations.json +1 -1
- package/chunks/settings-members-invite.json +1 -1
- package/chunks/settings-notifications.json +1 -1
- package/chunks/settings-page-shell.json +1 -1
- package/chunks/settings-profile-security.json +1 -1
- package/chunks/user-profile-card.json +1 -1
- package/chunks/users-table-badge.json +1 -1
- package/compositions/{form → forms}/data-import-wizard.json +1 -1
- package/exemplars/README.md +49 -0
- package/fragments/layout/auth-card-header.json +64 -0
- package/package.json +2 -2
- package/scripts/chunk-library.js +14 -6
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,99 @@ compositions, exemplars, held-out eval fixtures, feedback registry,
|
|
|
7
7
|
gap registry. Consumed by `@adia-ai/a2ui-retrieval` and
|
|
8
8
|
`@adia-ai/a2ui-mcp`.
|
|
9
9
|
|
|
10
|
+
> **Historical note (2026-05-05):** Entries dated before v0.3.0 reference
|
|
11
|
+
> "all 8 published `@adia-ai/*` packages" — that was the package count at
|
|
12
|
+
> the time. The lockstep policy expanded to 9 packages at v0.3.0 when
|
|
13
|
+
> `@adia-ai/llm` joined; see the [0.3.0] entry below for the transition
|
|
14
|
+
> details. References to "8 packages" in older entries are factually
|
|
15
|
+
> correct as of the date they were written and are preserved per
|
|
16
|
+
> Keep-A-Changelog convention (don't rewrite history).
|
|
17
|
+
|
|
10
18
|
## [Unreleased]
|
|
11
19
|
|
|
12
20
|
_No pending changes._
|
|
13
21
|
|
|
22
|
+
## [0.3.4] - 2026-05-07
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **Component catalog regenerated** — 100 → 107 yamls (+7 from new admin-* CSS-only structural children added in `@adia-ai/web-modules`). `catalog-a2ui_0_9.json` + `catalog-a2ui_0_9_rules.txt` regenerated by `scripts/build/components.mjs`.
|
|
27
|
+
|
|
28
|
+
- **New catalog entries** for the bespoke shell-tier family per ADR-0023:
|
|
29
|
+
- `AdminSidebar` (admin-sidebar) — JS-bearing
|
|
30
|
+
- `AdminCommand` (admin-command) — JS-bearing
|
|
31
|
+
- `AdminContent` / `AdminTopbar` / `AdminStatusbar` / `AdminScroll` / `AdminPage` / `AdminPageHeader` / `AdminPageBody` — CSS-only structural
|
|
32
|
+
|
|
33
|
+
The catalog is consumed by `@adia-ai/a2ui-retrieval` for protocol-vocabulary composition. Composers (zettel, chunk-zettel) now have addressable entries for shell sub-regions instead of falling back to chunk-name retrieval.
|
|
34
|
+
|
|
35
|
+
### No source changes
|
|
36
|
+
|
|
37
|
+
Corpus chunks, fragments, compositions, and patterns are byte-identical to v0.3.3. The only change is the regenerated catalog manifest.
|
|
38
|
+
|
|
39
|
+
## [0.3.3] - 2026-05-07
|
|
40
|
+
|
|
41
|
+
**Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` ranges stay at `^0.3.0` (patch-cut asymmetry — caret floats `0.3.x`).
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- **`fragments/layout/auth-card-header.json`** — first fragment
|
|
46
|
+
promoted from chunk corpus. Was 23 instances across user-flow auth
|
|
47
|
+
pages (sign-in, sign-up, recovery, account-deleted, email-verify,
|
|
48
|
+
forbidden) + error pages (404, 500, maintenance), all sharing the
|
|
49
|
+
same shape: `Header > Column[align=center,gap=1] >
|
|
50
|
+
[Link>Image, Text(h1), Text]`. 4 slots
|
|
51
|
+
(logo-href, logo-src, title, description). Promotion provides 23×
|
|
52
|
+
leverage over chunk-by-chunk emission. Zettel retrieval test:
|
|
53
|
+
score 88 vs 48 next alternative. (closes backlog #65)
|
|
54
|
+
|
|
55
|
+
- **`A2UI_DISABLE_EMBEDDINGS` env-var override** in
|
|
56
|
+
`scripts/chunk-library.js`. When set, `searchChunksAsync()` falls
|
|
57
|
+
through to keyword-only search instead of attempting embeddings.
|
|
58
|
+
Used by the new top-level `npm run eval:keyword-only` script.
|
|
59
|
+
Latency drops from 100-400ms to 0-1ms with same scores; proves
|
|
60
|
+
keyword path is independently healthy. (closes backlog #11)
|
|
61
|
+
|
|
62
|
+
- **Glossary section** in README.md — chunk vs pattern vs fragment
|
|
63
|
+
vs composition. Four overlapping concepts circulate through this
|
|
64
|
+
package; the glossary disambiguates. (closes backlog #94)
|
|
65
|
+
|
|
66
|
+
- **Catalog manifest documentation** — README updated to clarify
|
|
67
|
+
that `retrieval/catalog.js` is **hand-written** (a CatalogManifest
|
|
68
|
+
module that dynamically reads per-component `<c>.a2ui.json`
|
|
69
|
+
sidecars at runtime), NOT a generated artifact. The actual
|
|
70
|
+
generated artifacts are `traits/_catalog.json` and per-component
|
|
71
|
+
`<name>.a2ui.json` sidecars. (companion to AGENTS.md hard-rule #7
|
|
72
|
+
correction; closes backlog #57)
|
|
73
|
+
|
|
74
|
+
## [0.3.2] - 2026-05-06
|
|
75
|
+
|
|
76
|
+
**9-package lockstep patch cut to v0.3.2.** All lockstep members share
|
|
77
|
+
one version per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
|
|
78
|
+
Internal `@adia-ai/*` dep ranges unchanged at `^0.3.0`.
|
|
79
|
+
|
|
80
|
+
### Added
|
|
81
|
+
|
|
82
|
+
- **Corpus re-harvest** — 173 unique chunks (from 160), 322 instances.
|
|
83
|
+
13 new block patterns (`command-palette-grouped`, `agent-activity-feed`,
|
|
84
|
+
`agent-reasoning-collapsed`, `user-profile-card`, `kanban-board-3col`,
|
|
85
|
+
`chat-streaming-surface`, `settings-notifications`, `marketing-hero-cta`,
|
|
86
|
+
`conversion-funnel-6step`, `users-table-badge`, `destructive-confirm-modal`,
|
|
87
|
+
`editor-code-pane`, `editor-preview-pane`) + 5 new page shells
|
|
88
|
+
(`settings-page-shell`, `form-page-shell`, `marketing-page-shell`,
|
|
89
|
+
`error-page-shell`, `editor-page-shell`).
|
|
90
|
+
- **Harvester source expansion** — `apps/` added alongside `site/pages/`;
|
|
91
|
+
`apps/generic-shells/app/` contributes the 5 generic page shells.
|
|
92
|
+
|
|
93
|
+
### Fixed
|
|
94
|
+
|
|
95
|
+
- **`data-chunk-slot` preservation** — `stripChunkAttrs()` regex narrowed
|
|
96
|
+
to only strip `data-chunk` + `data-chunk-kind`; no longer strips
|
|
97
|
+
`data-chunk-slot` (composer runtime dependency for slot-finding).
|
|
98
|
+
|
|
99
|
+
### Changed
|
|
100
|
+
|
|
101
|
+
- `version`: `0.3.1` → `0.3.2`.
|
|
102
|
+
|
|
14
103
|
## [0.3.1] - 2026-05-06
|
|
15
104
|
|
|
16
105
|
**9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
|
package/README.md
CHANGED
|
@@ -22,6 +22,30 @@ web-components ◀─reads── a2ui-corpus (exemplars use AdiaUI tags)
|
|
|
22
22
|
No back-writes. No circular reads. Web-components ships UI atoms only;
|
|
23
23
|
corpus lives here; runtime lives in a2ui-compose.
|
|
24
24
|
|
|
25
|
+
## Glossary
|
|
26
|
+
|
|
27
|
+
Four overlapping concepts circulate through this package. Knowing which
|
|
28
|
+
is which prevents reading bugs from creeping into authoring.
|
|
29
|
+
|
|
30
|
+
| Term | Source of truth | Granularity | What it carries | Engine that consumes it |
|
|
31
|
+
| --- | --- | --- | --- | --- |
|
|
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) |
|
|
33
|
+
| **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) |
|
|
36
|
+
|
|
37
|
+
**One-line distinctions:**
|
|
38
|
+
|
|
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 + 3× 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).
|
|
42
|
+
|
|
43
|
+
**When in doubt, follow the engine:**
|
|
44
|
+
|
|
45
|
+
- 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**.
|
|
48
|
+
|
|
25
49
|
## Layout
|
|
26
50
|
|
|
27
51
|
```
|
|
@@ -107,6 +131,46 @@ Consumers who want embedding-based retrieval either:
|
|
|
107
131
|
fall through to keyword scoring when the index file is absent
|
|
108
132
|
(`chunk-embedding-retriever.js` returns `null` gracefully).
|
|
109
133
|
|
|
134
|
+
### Embedding model pinning
|
|
135
|
+
|
|
136
|
+
The `provider` and `model` recorded in each `*-embeddings.json` header
|
|
137
|
+
are the **source of truth** at query time. The retrievers
|
|
138
|
+
(`chunk-embedding-retriever.js`, `embedding-retriever.js`) re-resolve
|
|
139
|
+
the same embedder from those header fields — they do **not** auto-pick
|
|
140
|
+
a different provider when the recorded one's API key is unset, because
|
|
141
|
+
cross-model cosine similarity is meaningless and same-provider/
|
|
142
|
+
different-model emits different-dim vectors that `cosine()`
|
|
143
|
+
short-circuits to 0 (silent retrieval failure).
|
|
144
|
+
|
|
145
|
+
Currently pinned defaults:
|
|
146
|
+
|
|
147
|
+
| Provider | Model | Dims | Env |
|
|
148
|
+
|---|---|---:|---|
|
|
149
|
+
| openai | `text-embedding-3-small` | 1536 | `OPENAI_API_KEY` |
|
|
150
|
+
| voyage | `voyage-3-lite` | 1024 | `VOYAGE_API_KEY` |
|
|
151
|
+
|
|
152
|
+
`detectProvider()` (in `packages/a2ui/retrieval/embedding/embedding-provider.js`)
|
|
153
|
+
prefers Voyage when both keys are present (denser vectors, lower cost).
|
|
154
|
+
The `build:embeddings*` scripts record the chosen provider/model into the
|
|
155
|
+
`.json` header, so subsequent reads always re-bind to the same model.
|
|
156
|
+
|
|
157
|
+
When upgrading to a new model (e.g. `text-embedding-3-small` →
|
|
158
|
+
`text-embedding-3-large`):
|
|
159
|
+
|
|
160
|
+
1. Update the default in `embedding-provider.js`.
|
|
161
|
+
2. Rebuild **both** indexes (`npm run build:embeddings:all`).
|
|
162
|
+
3. Verify with `npm run check:embeddings-fresh` that both index headers
|
|
163
|
+
record the new model.
|
|
164
|
+
4. Re-run `npm run eval:diff -- --engine zettel` to confirm the new
|
|
165
|
+
model doesn't regress retrieval quality (different models score
|
|
166
|
+
queries differently — thresholds in `chunk-synthesizer.js` may
|
|
167
|
+
need a re-look, though the absolute keyword score floor remains
|
|
168
|
+
independent).
|
|
169
|
+
|
|
170
|
+
Don't mix models. If one index records `voyage-3-lite` and the other
|
|
171
|
+
records `text-embedding-3-small`, the retrievers will load both fine
|
|
172
|
+
but the rankings will be incomparable across the two corpora.
|
|
173
|
+
|
|
110
174
|
## Scripts
|
|
111
175
|
|
|
112
176
|
All run from repo root via npm:
|